{"id":1567,"job_id":2962,"problem_id":1,"lane_id":null,"type":"explore","user_id":34,"model":"deepseek-v4-flash","provider":"deepseek","report_md":"# Job #2962 — Route 128 (pursue): the deficit is complete at 10, every flag is substantive, and one document was already repaired\n\nAttempt `a73b84ee96bff090d84d8b52f5851b6c` · session `4ba3b08fd3f9de9293497a02` · run\n`bf10-b5d01219af2aa43c` · route **128** rev 3 (`active`) · stage **pursue** · basis: #1556 (pending),\n#1402 (recorded), #1400 (recorded), #305 (recorded).\n\nRead for this job: `GET /research-routes/128`, return #1556 in full (report, evidence, file list and\nshas), its served instrument `reversion_sweep2.py` (fetched by sha `44a64185…`), the local copies of\n#1400's and #1402's packages, and the serving layer itself: `/docs` listings, `/history/<path>`, and\nthe version blobs at `/files/<sha>`.\n\n**Price paid, announced before the run:** endpoint-only, 1,211 `GET /history` reads plus the blobs of\nthe discarded revisions and the two `QUESTIONS.md` layouts — **1,211 network calls, ~3.2 minutes wall,\n≈0.01 CPU h**, against the assignment's 4 CPU h. Every response is cached by URL, so the analysis\nre-runs offline in 10 s with **0 network calls** (measured), which is what makes the next step\ncheap.\n\n## 1. The audited population, measured rather than derived\n\nThe two instruments already on the record sweep *subsets*: #1400 read the 141 documents of\n`research/*.md`; #1556 read **56 candidate paths** taken from the served return records'\n`revision_path` field, so a reverted document whose revision no return names cannot appear there.\nThis audit asks the serving layer what it holds:\n\n* the `/docs` listings walk to **1,211 files in 20 directories** (`research/` 1,136, `paper/` 21,\n  `attestation/` 20, `web/` 13, `tools/` 9, `bench/` 5, 7 at the root);\n* **12 of the 1,211 carry a version record at all** (1,199 answer `/history` with no versions);\n* so the audited population is 12 documents, and the counts below range over all of them.\n\nA serving-layer property found while building the control: **`/history/<absent path>` answers HTTP\n200 with `versions: []`** — the same answer as a document that exists but was never tracked — while\n`/docs/<absent path>` answers 404. The first version of that control asserted a 404 and *failed*, which\nis how the property was found. It bounds the audit honestly: for the 1,199 untracked files the\nquestion \"is an accepted revision not being served?\" cannot even be posed at this endpoint.\n\n## 2. The reverted set: 10 historically, 9 still serving the pre-cut content\n\nThe general form of the defect is not \"three versions\" but **the newest version's content equals an\nearlier version's content, with a distinct verified revision in between** — a cut that re-imports a\npre-cut file publishes an OLD sha as the NEWEST version. Over the 12 version-tracked documents:\n\n| document | versions | revert at | discarded revision | serves reverted content now? |\n|---|---|---|---|---|\n| `research/QUESTIONS.md` | 3 | v3 | #80 (verified Benjaminsen) | **yes** |\n| `research/centered-discrepancy-estimate.md` | 3 | v3 | #83 | **yes** |\n| `research/corner-correlation.md` | 3 | v3 | #92 | **yes** |\n| `research/fold-arithmetic-bridge.md` | 3 | v3 | #101 | **yes** |\n| `research/global-factor-signs.md` | 3 | v3 | #153 | **yes** |\n| `research/history/staging/derive-0904-L7-transfer.md` | 3 | v3 | #152 | **yes** |\n| `research/history/staging/xchan-at29-prereg.md` | 3 | v3 | #85 | **yes** |\n| `paper/beta2-note.md` | 3 | v3 | #20 | **yes** |\n| `paper/proposals/prop-staircase-note.md` | 3 | v3 | #13 | **yes** |\n| `research/fixed-endpoint-discrepancy.md` | **4** | v3 | #151 | **no — re-applied 2026-09-19** |\n\nSo the count is **10 historical / 9 current**, and the ninth-plus-one row is the finding in §4. The\n9 still-current documents and their discarded returns are *exactly* #1556's nine — an independent\nagreement, reached from the whole tree instead of from its candidate list. #1556's \"candidates 56 →\nreverts 9\" is therefore confirmed **and** upgraded: 9 is not a count over a derived candidate set, it\nis the complete count over every document the serving layer keeps versions for.\n\n## 3. Every flag matters — the route's weakest assumption, answered per document\n\nThe route's central uncertainty is whether the flags are substantive or ordinary mirror filtering, and\nits own weakest assumption is \"that the remaining flags matter\". Each revert was diffed against the\ndiscarded blob three ways: raw, whitespace-normalised, and **link-stripped as well** (a mirror pass\nthat strips markdown links is the one benign mechanism that would explain a large raw count).\n\n| document | raw | ws | ws+link | what the discarded revision carries that the served one does not |\n|---|---:|---:|---:|---|\n| `paper/beta2-note.md` | 247 | 228 | **228** | a whole heading `3. The interval application, and why the remainder does not explode`; the served copy instead carries `6. HONESTY SECTION — every step not fully justified here` (structurally divergent revisions) |\n| `paper/proposals/prop-staircase-note.md` | 86 | 85 | **85** | `Theorem 8, the certified twin floors, is VERIFIED at six tile levels, @11 through @29` |\n| `research/fold-arithmetic-bridge.md` | 69 | 52 | **52** | the whole section `## 4b. All-depth sub-2 certificate (2026-09-11)`: Proposition 6, the certified `c*_real` table and its proof |\n| `research/corner-correlation.md` | 22 | 21 | **19** | a substantive passage on the prime-power reading, with return #58's measurements, plus one restored review link |\n| `research/centered-discrepancy-estimate.md` | 6 | 6 | **6** | `status: ANSWERED` where the served copy reads `PARTIAL` |\n| `research/global-factor-signs.md` | 4 | 4 | **4** | `status: ANSWERED` where the served copy reads `PARTIAL` |\n| `research/QUESTIONS.md` | 4 | 4 | **4** | the retired `Q-shadow-prereg` row: `ANSWERED` where the served copy reads `OPEN` |\n| `research/history/staging/xchan-at29-prereg.md` | 4 | 4 | **4** | `status: ANSWERED` where the served copy reads `OPEN` |\n| `research/history/staging/derive-0904-L7-transfer.md` | 2 | 2 | **2** | a different verdict line for the L7 transfer question |\n\n**9 of 9 survive both normalisations** — 0 cosmetic, 0 identical. So the answer to the route's central\nuncertainty is *all of them*, not \"some\": the reverted copy of these nine documents is the pre-cut\nstate of the record, and for five of them that state is a **status or verdict** text (three explicit\n`status:` lines, one verdict line, one registry row).\n\n**Two rows correct #1402's reading.** That return reported `corner-correlation.md` as *\"0 (22) —\nreflow/link-stripping only\"* and `fold-arithmetic-bridge.md` as *\"3 (69)\"*; under whitespace\nnormalisation this audit measures 21 and 52 changed lines, and under link-stripping 19 and 52. So the\none document the earlier triage classified as cosmetic is not cosmetic: its discarded revision carries\ncontent the served one lacks. The route's pre-registered FAILURE branch (\"all flagged diffs are mirror\nfiltering\") therefore does not fire anywhere in the set.\n\n## 4. The repair has begun — and the record already contains it\n\n`research/fixed-endpoint-discrepancy.md` was reverted at v3 (like the others) and then **repaired**: it\nnow has a fourth version, v4 = return **#1333**, created `2026-09-22T22:58:59Z`, verified by\nBenjaminsen, and the served bytes hash to v4. The served text carries the repair in its own words:\n\n```\nRe-applied 2026-09-19 (job #2680, review #154): the 2026-09-16 mirror cut (history v3) re-imported\nthe pre-#151 file; this version restores accepted return #151 (v2, 21dce4f3) unchanged except for\nthis line.\n```\n\nTwo consequences, both measured rather than argued:\n\n1. **The route's \"exact remaining gap: the repair\" is no longer empty.** One of the ten reverted\n   documents has been re-applied, by job #2680, and the repair is a served artifact with provenance.\n   The other nine still serve the pre-cut content, and the registry row still reads `OPEN`.\n2. **The re-application is not a byte copy.** Served v4 differs from the discarded v2 in 8\n   whitespace-normalised lines, one of which is the `BFI II + III Theorem A` table row — and the served\n   row itself marks the difference: `(corrected 2026-09-19; the row previously read \"no absolute\n   values\")`. Both changes are therefore documented in the served text, by the same author and date as\n   the repair; a reader who takes \"unchanged except for this line\" literally will be surprised by the\n   table row, and that is the one line in this audit worth a human eye.\n3. **A detector consequence, found by my own instrument failing first.** My first run used #1556's\n   fixed shape — `sha(v3) == sha(v1) != sha(v2)` — and classified this document as `many_versions`:\n   *neither reverted nor repaired*. A re-run of the route's pre-registered check (\"require reverts = 0\n   after regeneration\") with that shape would report the repair as nothing at all. The audit now uses\n   the stable rule (newest content equals an older version's content, with a distinct verified revision\n   in between), which classifies all ten, and reports the repaired one as re-revisioned rather than\n   dropping it. The instrument's own misclassification is recorded here because it is the reason the\n   next step's criterion is stated differently.\n\n## 5. The registry flip reproduces\n\nComparing the served `QUESTIONS.md` with its discarded v2, row for row. **The row count is\nparser-scoped and the flip is not.** This audit's rule (`| `Q-…` | status |`) matches **554 rows in\neach layout**; re-implementing #1556's stricter rule (lowercase slug class, `[A-Z]+` status, four\ncells) matches **482** — the 72 extra rows are slugs carrying an uppercase letter or a dot\n(`Q-DP1-mechanism`, `Q-L-own-law`, `Q-T2a-prediction`, …), which its slug class excludes, and the six\n`MIXED (…)` statuses are dropped by its status class. Both parsers name the **same single flipped\nrow** — `Q-shadow-prereg`, served `OPEN`, discarded `ANSWERED` — and neither reports a row present in\none layout and absent from the other: `only_in_served` and `only_in_discarded` are empty under both.\nSo #1556's \"1 of 482\" and this audit's \"1 of 554\" are one finding read by two parsers, and the flip\nsurvives the filter that changes the denominator. Nothing else in the registry moved.\n\n## 6. Controls (five, one of which failed and changed the instrument)\n\n| control | result |\n|---|---|\n| positive: review #154's documents | `QUESTIONS.md` and `global-factor-signs.md` both fire as reverts; the third, `fixed-endpoint-discrepancy.md`, is asserted **repaired**: its served bytes equal its latest version, it has 4 versions, and the re-application marker is present — `holds: true` |\n| negative: single-version documents | 0 of them flagged |\n| negative: pattern-without-reversion | no document has the sha pattern with the served bytes elsewhere |\n| negative (property): absent path | `/history` 200 with 0 versions, `/docs` 404 — `holds: true`; this control **failed its first form** (expected 404) and produced §1's finding |\n| determinism | a second full run over the cache: identical counts, **0 network calls** |\n\n## 7. Verdict and next step\n\n**Result, at a stated scope.** The deficit is counted completely over the population that can carry it\n(10 historical, 9 current), every flag is substantive under two normalisations, the registry flip is\nreproduced, and the repair has been shown to exist and to be recorded — for one document. What remains\nis the same maintenance item the route names, now with a sharper detector and a measured baseline to\ncompare against.\n\nNext step, bounded and endpoint-only: re-run `reversion-audit.py` after the remaining nine are\nre-applied (or recorded as superseded) and the registry is regenerated, and require **(a)**\n`still_serving_the_reverted_content == []`, **(b)** `registry status_flips == []`, **(c)** for every one\nof the ten, a served revision *newer* than the discarded one and a re-application marker in the served\ntext (the `fixed-endpoint` pattern), and **(d)** the controls unchanged. Budget 0.5 CPU h.\n\n## 8. What this does not claim\n\nNo route's conclusion is shown to change: this is the state of the documents routes cite, not their\nmathematics. The diff classification is a text-level reading (whitespace-normalised, and separately\nlink-stripped) — it shows what the discarded revision *says*, not that any estimate moved; the\ndocuments themselves say \"no estimate, status or margin changes\" and this audit did not test that\nclaim. The 1,199 untracked files are outside the audit's reach by the endpoint's own answer. No\ncitation-level sweep was run: whether some other served document restates a status the discarded\nrevision contradicts is **not measured here** (it needs 1,211 more reads and a keyword rule that would\nover-count, so it is named rather than guessed). Nothing mathematical about `G_2`, `beta_2` or\ntwin-prime infinitude is touched.\n\n## 9. Outstanding work, usage, and the queue\n\n* This run's ledger holds exactly this one attempt; it is settled by this return.\n* The assignment's turn was still open when the return was built: the transcript is the turn cut from\n  the harness database, with usage attached where the harness has closed the row, and any residue is\n  recorded as pending rather than estimated (never counted twice).\n* **87 of @maxime-fleury's returns wait for a verdict** (46 on `deepseek-v4-flash`), the oldest since\n  2026-09-13; the project queue is 405. They need a trusted reviewer or a person granted trust — not\n  this session, which is neither.\n\n## 10. Reproduce\n\n```\npython3 reversion-audit.py --state <run dir>      # 1,211 history reads, ~3 min, writes served-reversion-audit.json\npython3 reversion-audit.py --state <run dir>      # cached: identical counts, 0 network calls\npython3 diff-detail.py --state <run dir> research/corner-correlation.md research/fold-arithmetic-bridge.md research/fixed-endpoint-discrepancy.md\n```\n\nEverything is endpoint-only and deterministic; the cache is keyed by URL, and no output carries an\nabsolute path or a timing field.\n","patch":null,"cpu_hours":0.1,"hashes":{"inventory.txt":"be2590ae6e67379d0b5ec2555b6d167baae673855224bbb69656c81fb26bbc18","diff-detail.py":"611d6a134d3bae941f020eac2d3b666bf5cbe28cf451a37e4f9362c3d97e591b","report-2962.md":"c243c6dc1b6bf22d1b2b0790a1e052f0930d52994a81cb4c1c055f7ec465bc3d","diff-detail.txt":"b14f3a494bc4c6c04b567f14e387ad5ab02f15a92a9332de4f69157f1bd4c514","evidence_md.txt":"04030ba3887506a7d60f0132c38e99d196548b21ed2de382f191eb95b39d0b6c","repair-note.txt":"7e77e71482766a0cc5ff5f2d2dc1b50e9acd7f6c950d028148155f656a05b21a","prior_art_md.txt":"95901d6db8ae114dde9c655724b4d308d5ac7e4595adb93e237ec2cfcdff5c23","audit-summary.txt":"15181b45d9135d4ee7aab00bc445fad3bbb667000f4ce6faf65a75e4cf04cc62","bundle-evidence.py":"5eca8cc6caf096640f2c6ed5ac8295c45147ade04ff265329ef55c0b1281af9f","reversion-audit.py":"8536543de07b000d155de61e39dfb401a45961c44bceb62c3f55d9c789388967","build-payload-2962.py":"13f1c5c0a549d5adbe988a36f86878d4ebed0a4b3f2a1d144634134c26861fa2","reversion-evidence.json":"fa37a8b574573481882958fc1102948a4a65c374dd2e0e8059fa4db1a197c87c","verify-served-reversion.py":"87efc5cf777fa0e3e8287b2007ccc28bc5b466e4458692d1a100c066e315c7ae","served-reversion-audit.json":"b5efe108bd9ead6f0aa0ba720e65f9419e3a2aa6151919c8f9600017fbf4ad9b","served-1556-reversion_sweep2.py":"44a64185f5e2f26c8746f46b606f379636a640e09ce51afe78fb2e1cf1ae2ac6","transcript-2962-turn.clean.jsonl":"5096d6ebc41ed62ffe5c163782b10b53215f31e8022da6974d7821e37bae3141","04030ba3887506a7d60f0132c38e99d196548b21ed2de382f191eb95b39d0b6c":"evidence_md.txt","13f1c5c0a549d5adbe988a36f86878d4ebed0a4b3f2a1d144634134c26861fa2":"build-payload-2962.py","15181b45d9135d4ee7aab00bc445fad3bbb667000f4ce6faf65a75e4cf04cc62":"audit-summary.txt","44a64185f5e2f26c8746f46b606f379636a640e09ce51afe78fb2e1cf1ae2ac6":"served-1556-reversion_sweep2.py","5096d6ebc41ed62ffe5c163782b10b53215f31e8022da6974d7821e37bae3141":"transcript-2962-turn.clean.jsonl","5eca8cc6caf096640f2c6ed5ac8295c45147ade04ff265329ef55c0b1281af9f":"bundle-evidence.py","611d6a134d3bae941f020eac2d3b666bf5cbe28cf451a37e4f9362c3d97e591b":"diff-detail.py","7e77e71482766a0cc5ff5f2d2dc1b50e9acd7f6c950d028148155f656a05b21a":"repair-note.txt","8536543de07b000d155de61e39dfb401a45961c44bceb62c3f55d9c789388967":"reversion-audit.py","87efc5cf777fa0e3e8287b2007ccc28bc5b466e4458692d1a100c066e315c7ae":"verify-served-reversion.py","95901d6db8ae114dde9c655724b4d308d5ac7e4595adb93e237ec2cfcdff5c23":"prior_art_md.txt","b14f3a494bc4c6c04b567f14e387ad5ab02f15a92a9332de4f69157f1bd4c514":"diff-detail.txt","b5efe108bd9ead6f0aa0ba720e65f9419e3a2aa6151919c8f9600017fbf4ad9b":"served-reversion-audit.json","be2590ae6e67379d0b5ec2555b6d167baae673855224bbb69656c81fb26bbc18":"inventory.txt","c243c6dc1b6bf22d1b2b0790a1e052f0930d52994a81cb4c1c055f7ec465bc3d":"report-2962.md","fa37a8b574573481882958fc1102948a4a65c374dd2e0e8059fa4db1a197c87c":"reversion-evidence.json"},"author_rung":"verified","status":"accepted","final_rung":"verified","created_at":"2026-09-24T00:18:26.896Z","repo_url":null,"commit":null,"cites":{"files":[],"handles":[],"returns":[1556,1402,1400,305,1333],"messages":[]},"tokens":{"log":"custom","input":391049,"models":{"deepseek-v4-flash":83355},"output":83355,"source":"custom-jsonl","entries":1,"cache_read":7246080,"cache_write":0,"observed_models":["deepseek-v4-flash"]},"paper_slug":null,"revision_path":null,"revision_sha":null,"recipe_md":null,"verification":"spot","target":null,"finding":null,"human_md":null,"provisional":false,"effects_applied_at":"2026-09-25T00:26:36.321Z","effort":"max","also_fix":null,"transcript_omitted":{"share":0,"omitted":0,"outputs":0},"patch_hash":null,"superseded_by":null,"duplicate_of":null,"transcript_resubmitted_at":null,"file_notes":null,"research":{"outcome":"result","route_id":128,"next_step":{"method":"Re-run `reversion-audit.py --state <run dir>` (endpoint-only, deterministic, cached) and `verify-served-reversion.py --bundle <fresh bundle>` after the regeneration, then require (a) no document whose newest version repeats an earlier version's content, (b) `registry.status_flips == []` under BOTH the wide and the #1556-strict row rules, (c) for each of the ten documents a served revision newer than the discarded one and a re-application marker in its served text (the fixed-endpoint pattern), and (d) the five controls unchanged. The detector must be the stable rule, not the fixed three-version shape: the repaired document has four versions and the fixed shape reports it as nothing.","compute":{"ram_gb":2,"disk_gb":1,"cpu_hours":0.5},"failure":"Any document still serves the pre-cut content after the regeneration, or a re-application is claimed but the served bytes carry no marker (a silent re-file), or the registry flip survives -- then the maintenance item is open and is recorded as such rather than closed.","success":"Zero still-serving reverts, zero registry flips, and a newer served revision carrying the re-application marker for every one of the ten; the audit's own controls fire throughout.","question":"After the remaining nine discarded revisions are re-applied (or recorded as superseded) and the registry is regenerated, does the served tree still serve any pre-cut content, and does the Q-shadow-prereg row return to ANSWERED?","budget_hours":0.5,"required_tools":["python3"],"required_sources":["docs-endpoint","history-endpoint","files-endpoint"]},"depends_on":[1556,1402,1400],"evidence_md":"Population, measured not derived. #1556 swept 56 candidate paths from return records' revision_path;\n#1400 swept research/*.md (141). This audit walks the /docs listings instead: 1,211 files in 20\ndirectories, one /history read each. Only **12 of the 1,211 carry any version record** (1,199\nanswer versions: []), so the population is 12 and the counts range over all of it -- with one property\nfound by a failing control: /history/<absent path> answers 200 with versions: [], /docs/<absent path>\n404.\n\nThe reverted set: 10 historically, 9 still serving. The defect's general form is not \"three versions\"\nbut **the newest version's content equals an earlier version's content with a distinct verified\nrevision between them** (a cut that re-imports a pre-cut file publishes an OLD sha as the NEWEST\nversion). Reverted at v3, still serving, discarded return: QUESTIONS.md 80, centered-discrepancy-\nestimate.md 83, corner-correlation.md 92, fold-arithmetic-bridge.md 101, global-factor-signs.md 153,\nhistory/staging/derive-0904-L7-transfer.md 152, history/staging/xchan-at29-prereg.md 85,\npaper/beta2-note.md 20, paper/proposals/prop-staircase-note.md 13. Identical to #1556's nine but\nreached from the whole tree instead of a candidate list, so 9 is complete over every document the\nserving layer keeps versions for, not a count over a derived subset.\n\nEvery flag is substantive (the route's weakest assumption). Changed lines served-vs-discarded, raw /\nwhitespace-normalised / link-stripped: beta2-note 247/228/228 (different headings);\nprop-staircase-note 86/85/85 (\"Theorem 8, the certified\ntwin floors, is VERIFIED at six tile levels\"); fold-arithmetic-bridge 69/52/52 (the whole \"## 4b.\nAll-depth sub-2 certificate\" section); corner-correlation 22/21/19 (a prime-power passage with #58's\nmeasurements, plus a restored link); centered-discrepancy-estimate 6/6/6 and global-factor-signs 4/4/4\n(`status: ANSWERED` vs served PARTIAL); QUESTIONS.md and xchan-at29-prereg 4/4/4 (ANSWERED vs OPEN);\nderive-0904-L7-transfer 2/2/2 (a different verdict line). **9 of 9 survive both normalisations: 0\ncosmetic, 0 identical** (for five, it is a STATUS or VERDICT). Two rows correct\n#1402's readings: \"0 (22) reflow/link-stripping only\" for corner-correlation.md (19 survive) and\n\"3 (69)\" for fold-arithmetic-bridge.md (52 survive); the pre-registered FAILURE branch fires nowhere.\n\nThe repair has begun and the record names it. research/fixed-endpoint-discrepancy.md has 4 versions:\nreverted at v3, then v4 = return #1333 (2026-09-22T22:58:59Z, verified Benjaminsen) is served, and its\nown text records the repair (\"Re-applied 2026-09-19, job #2680\"), so the route's \"exact remaining\ngap: the repair\" is no longer empty for that one document. The re-application is not a byte\ncopy: v4 differs from the discarded v2 in 8 whitespace-normalised lines, one the BFI II+III Theorem A\nrow the served text itself marks \"(corrected 2026-09-19; the row previously read 'no absolute\nvalues')\". Detector consequence: the fixed three-version shape classifies it as neither reverted nor\nrepaired (4 versions fall through its len(vs)==3 branch), so a re-run after repair reports the repair\nas nothing.\n\nRegistry: the row count is parser-scoped, the flip is not. My rule matches **554 rows in each\nlayout**; #1556's stricter rule finds **482** (lowercase slug, `[A-Z]+` status, four cells) -- the 72 extra\nare slugs with an uppercase letter or a dot; **both find the same single flip**: Q-shadow-prereg, served OPEN,\ndiscarded ANSWERED. Controls: review #154's two still-reverted documents fire, the third is asserted\nrepaired (served == latest, 4 versions, marker present); 0 single-version documents flagged; no\npattern-without-reversion instance; a cached second run is identical with 0 network calls. Not\nmeasured: whether another served document restates a contradicted status (1,211 more reads); the\n1,199 untracked files, where the question cannot be posed at this endpoint; and\nany claim that an estimate moved.","prior_art_md":"The route's own prior-art note says external work is not consulted because the audit is about the\nproject's own serving layer. The brief still asks for an updated online search, so one was run\n(2026-09-23/24) on the three things this audit is actually an instance of, and the result is recorded\nwith the same honesty the route uses: none of them covers the contribution, and two of them are the\nCONTROL this defect argues for.\n\nQueries: [\"serving an older revision than the latest published artifact version skew detection mirror\nre-import audit\"]; [\"immutable artifact repository cannot overwrite existing version Maven Central\nGitHub immutable releases enforce immutability\"]; [\"detecting reversion of a web resource Memento Time\nTravel archive change detection revert previous version\"].\n\nSources inspected, and what each actually gives:\n* **Central Repository (Maven Central) immutability requirements** -- `central.sonatype.org/publish/\n  requirements/immutability`: a published version cannot be replaced; checksums and signatures let a\n  consumer prove today's download equals yesterday's. This is precisely the control that would make the\n  2026-09-16 re-import impossible: the defect re-published an OLD content under a NEW version number,\n  which immutability rules forbid. It is a publishing POLICY for one store, not an audit of a serving\n  layer that already drifted.\n* **GitHub immutable releases** (GA 2025-10-28; docs.github.com \"Immutable releases\") -- releases and\n  their assets cannot be altered or deleted after publication, explicitly to stop tag/branch\n  \"resurrection\" after publication. Same class as the above: prevention, and at the release layer\n  rather than at the document-mirror layer.\n* **Version-skew policies** (e.g. Kubernetes' version skew policy) and the general \"version skew\"\n  literature -- they assume the newer version is the one being served and bound how far apart two\n  components may be. They do not detect a store serving OLDER content than its own newest version.\n* **Memento / Time Travel for the Web** (arXiv:0911.1112; mementoweb.org) -- the standard framework for\n  addressing prior representations of a resource by datetime. It gives a reader the OLD version on\n  request; it does not compare the served bytes against the version list to say which one is being\n  served, and it has no notion of an accepted-and-verified revision being lost.\n* **Artifact Registry / repository audit logging** (Google Cloud docs) -- logs who did what to a\n  repository, not whether the served bytes are the latest revision.\n\nExact remaining gap: **no searched source audits a serving layer for \"an accepted, verified revision is\nnot being served\"**; the nearest practice is immutability enforcement at the store or release layer\n(which this project's mirror does not have), and the nearest framework is archival time travel (which\nserves old versions without noticing that the newest one reverted). The contribution this return\nmeasures -- a complete count of reverted documents over the population that can carry versions, a\nper-document substantive/cosmetic classification under two normalisations, and the one documented\nrepair with its non-byte-faithful diff -- is a project-internal audit and is not claimed as novel\noutside it. Access gaps: none encountered; the search engine returned results for all three queries\n(unlike the 2026-09-17 note in the shared tool index, which recorded external search as dead from this\nmachine -- it is working again on 2026-09-24 and that change is worth knowing)."},"research_route_id":128,"verification_plan":{"cost":{"ram_gb":1,"disk_gb":1,"minutes":1,"cpu_hours":0.02,"judgment_minutes":10},"claim":"Over the 12 documents the serving layer keeps a version record for (of 1,211 walked), exactly 9 are reverted and still serving: the newest recorded version's bytes equal an earlier version's bytes while a distinct verified revision sits between them, and the served /docs bytes hash to that newest version. For those 9 the served text differs from the discarded revision's blob by the registered line counts under raw, whitespace-normalised and link-stripped comparison (e.g. corner-correlation.md 22/21/19, fold-arithmetic-bridge.md 69/52/52), so none is cosmetic. A tenth document (research/fixed-endpoint-discrepancy.md) was reverted and then repaired by return #1333, and the registry flip is exactly one row under BOTH a wide row rule (554 rows) and #1556's strict rule (482 rows): Q-shadow-prereg served OPEN / discarded ANSWERED.","scope":"the serving endpoint's version records and the served bytes of the 12 version-tracked documents, plus the two QUESTIONS.md layouts for the registry. The 1,199 version-less documents are outside it: /history gives them no versions, so the question cannot be posed there. Nothing mathematical is claimed, and no route's conclusion is shown to change.","tools":["python3"],"inputs":["fa37a8b574573481882958fc1102948a4a65c374dd2e0e8059fa4db1a197c87c","b5efe108bd9ead6f0aa0ba720e65f9419e3a2aa6151919c8f9600017fbf4ad9b","5eca8cc6caf096640f2c6ed5ac8295c45147ade04ff265329ef55c0b1281af9f","8536543de07b000d155de61e39dfb401a45961c44bceb62c3f55d9c789388967"],"checker":"87efc5cf777fa0e3e8287b2007ccc28bc5b466e4458692d1a100c066e315c7ae","command":"python3 verify-served-reversion.py --bundle reversion-evidence.json --audit served-reversion-audit.json","targets":["reversion-evidence.json","served-reversion-audit.json"],"coverage":"decisive","expected":"exit 0, `verdict` PASS, `differences` empty, `controls_all_detected` true: the nine registered documents still serving with the nine registered line counts under all three comparisons, the repaired document at 4 versions classified reverted-then-revisioned with the marker present, the registry at 554 rows (wide rule) and 482 rows (#1556's strict rule) with the same single flip, and the published audit JSON agreeing with the bytes on all five keys.","manifest":[{"path":"verify-served-reversion.py","role":"checker","sha256":"87efc5cf777fa0e3e8287b2007ccc28bc5b466e4458692d1a100c066e315c7ae"},{"path":"reversion-evidence.json","role":"target","sha256":"fa37a8b574573481882958fc1102948a4a65c374dd2e0e8059fa4db1a197c87c"},{"path":"bundle-evidence.py","role":"input","sha256":"5eca8cc6caf096640f2c6ed5ac8295c45147ade04ff265329ef55c0b1281af9f"},{"path":"reversion-audit.py","role":"input","sha256":"8536543de07b000d155de61e39dfb401a45961c44bceb62c3f55d9c789388967"},{"path":"served-reversion-audit.json","role":"target","sha256":"b5efe108bd9ead6f0aa0ba720e65f9419e3a2aa6151919c8f9600017fbf4ad9b"}],"supports":"establishes the finite claim of this return from the raw bytes alone, including that the flip survives two different row parsers and that the pre-cut content of the nine differs substantively (not by reflow or link stripping). It does NOT establish: whether the other 1,199 documents carry a contradicted status (no version record exists to ask); whether the re-applied document is byte-faithful to the discarded revision (it is not -- 8 whitespace-normalised lines differ, one marked in the served text); or any mathematical consequence.","comparison":"exact integer equality of the nine registered (raw, ws, ws+link) triples and of the two row counts; exact set equality of the still-serving paths and of the single flipped row; no tolerance is used anywhere.","assumptions":"the version list returned by /history is the serving layer's own record of what was published, and the served /docs bytes are what it serves; SHA-256 equality of document bytes decides every classification, and the changed-line counts are a text-level reading under the two normalisations named.","coverage_md":"all 12 version-tracked documents, each read from its /history answer and the blob bytes of every version; the 9 reverts diffed three ways; the repaired document and both two-version documents classified; both registry rules applied. Excluded: the 1,199 version-less documents, the mathematical content of the documents, and any statement about what the serving layer would do after a repair.","environment":"python3 (3.14.6), standard library only, NO network and NO credential: the checker reads the attached bundle, which holds the raw /history answers, the served documents and every version blob. The bundle itself is reproducible offline from the audit's cache (`bundle-evidence.py`), and the audit is re-runnable live with a token (`reversion-audit.py --state <run dir>`).","availability":{"status":"complete","details":"the checker, the bundle, the published audit JSON and the instrument are all attached to this return; the check needs only python3 and runs in about ten seconds","network":false,"required_sources":[]},"schema_version":1},"verification_fingerprint":"71ad1f592aea21bf850e31783a6b2eb69e29e0841e9a9dae1e4649210ca77776","review_admitted_at":"2026-09-24T00:18:26.896Z","department_id":"dept_bd08e49ed9621cfd852f9b04","run_id":"run_75ebbb0ccb02ffb90568766e","triage_lead":null,"revision_base_sha":null,"integration":null,"resolves":null,"handle":"maxime-fleury","job_brief":"First update the online prior-work search for this experiment. If existing work covers it, record that and stop; otherwise run this bounded sprint on the uncovered uncertainty. Use cited published numbers during pursuit; their reproduction belongs in later validation. Build on the supplied findings; do not reconstruct earlier research. Return concrete progress and its cheapest credible check, a useful result for review, or a precisely scoped obstacle. Continued investment requires a distinct experiment.\n\nRead GET <project base>/research-routes/128 and return #1556. Return the ordinary report and transcript plus research: {route_id: 128, outcome: \"promising|progress|blocked|inconclusive|known|result\", evidence_md: \"what the evidence changes, <=4000 chars\", prior_art_md: \"updated online search record, sources and exact remaining gap, <=4000\", next_step: {question, method, success, failure, budget_hours} <only for continued pursuit>, obstacle: {kind, statement, assumptions, evidence, revisit_when} <for blocked/inconclusive>, depends_on: [<return ids actually required>]}. A result with a distinct next_step requests review and continues pursuit concurrently; omit next_step when no further experiment is warranted. Use known with prior_art_md and no next_step or obstacle when cited prior work already covers the proposed contribution; it stops automatic investigation without requesting review. The evidence grade is separate. Do not close a broad route because one proof attempt failed.","review_deferred":false,"in_triage":false,"triage":[],"verification_runs":[],"verification_state":{"execution":"not_attempted","conflict":false,"unresolved_conflict":false,"latest_receipt_id":0,"receipt_count":0,"resolution":null},"verification_summary":{"execution":"not_attempted","headline":"No worker claimed the check within 24 hours; judgment proceeds without execution, and the missing capacity is part of what to assess.","lines":["Claim: Over the 12 documents the serving layer keeps a version record for (of 1,211 walked), exactly 9 are reverted and still serving: the newest recorded version's bytes equal an earlier version's bytes while a distinct verified revision sits between them, and the served /docs bytes hash to that newest v… (shortened; full text on the return) Scope: the serving endpoint's version records and the served bytes of the 12 version-tracked documents, plus the two QUESTIONS.md layouts for the registry. The 1,199 version-less documents are outside it: /… (shortened; full text on the return)","Assumptions declared by the author: the version list returned by /history is the serving layer's own record of what was published, and the served /docs bytes are what it serves; SHA-256 equality of document bytes decides every classification, and the changed-line counts are a text-level reading under the two normalisations named.","Why the check supports the claim, as the author argues it: establishes the finite claim of this return from the raw bytes alone, including that the flip survives two different row parsers and that the pre-cut content of the nine differs substantively (not by reflow or link stripping). It does NOT establish: whether the other 1,199 documents carry a contrad… (shortened; full text on the return)","Coverage declared by the author: decisive for this scope (a claim for review). all 12 version-tracked documents, each read from its /history answer and the blob bytes of every version; the 9 reverts diffed three ways; the repaired document and both two-version documents classified; both registry rules applied. Exclud… (shortened; full text on the return)","Accepted at verified by trusted review (@Benjaminsen) without naming a receipt: The bundle blobs hash to their keys and match the live /history version prefixes for all 12 documents. The stable rule, both registry parsers, the ws and ws+link counts and the pre-snapshot population (12 of 1,211) reproduce exactly, and r…"],"coverage":"decisive","method":null,"controls":{"reported":false,"itemised":false,"detected":null,"total":null,"missed":[]},"receipts":{"total":0,"independent":0,"pass":0,"fail":0,"unable":0,"reused":0,"excluded":0},"pending_check":"expired","unresolved_conflict":false,"latest_receipt_id":null,"basis":{"claim":"Over the 12 documents the serving layer keeps a version record for (of 1,211 walked), exactly 9 are reverted and still serving: the newest recorded version's bytes equal an earlier version's bytes while a distinct verified revision sits between them, and the served /docs bytes hash to that newest version. For those 9 the served text differs from the discarded revision's blob by the registered line counts under raw, whitespace-normalised and link-stripped comparison (e.g. corner-correlation.md 22/21/19, fold-arithmetic-bridge.md 69/52/52), so none is cosmetic. A tenth document (research/fixed-endpoint-discrepancy.md) was reverted and then repaired by return #1333, and the registry flip is exactly one row under BOTH a wide row rule (554 rows) and #1556's strict rule (482 rows): Q-shadow-prereg served OPEN / discarded ANSWERED.","scope":"the serving endpoint's version records and the served bytes of the 12 version-tracked documents, plus the two QUESTIONS.md layouts for the registry. The 1,199 version-less documents are outside it: /history gives them no versions, so the question cannot be posed there. Nothing mathematical is claimed, and no route's conclusion is shown to change.","assumptions":"the version list returned by /history is the serving layer's own record of what was published, and the served /docs bytes are what it serves; SHA-256 equality of document bytes decides every classification, and the changed-line counts are a text-level reading under the two normalisations named.","supports":"establishes the finite claim of this return from the raw bytes alone, including that the flip survives two different row parsers and that the pre-cut content of the nine differs substantively (not by reflow or link stripping). It does NOT establish: whether the other 1,199 documents carry a contradicted status (no version record exists to ask); whether the re-applied document is byte-faithful to the discarded revision (it is not -- 8 whitespace-normalised lines differ, one marked in the served text); or any mathematical consequence.","coverage_md":"all 12 version-tracked documents, each read from its /history answer and the blob bytes of every version; the 9 reverts diffed three ways; the repaired document and both two-version documents classified; both registry rules applied. Excluded: the 1,199 version-less documents, the mathematical content of the documents, and any statement about what the serving layer would do after a repair.","comparison":"exact integer equality of the nine registered (raw, ws, ws+link) triples and of the two row counts; exact set equality of the still-serving paths and of the single flipped row; no tolerance is used anywhere."},"coverages":[],"caveats":[],"judgment":{"status":"accepted","provisional":false,"by":"trusted","rung":"verified","trusted_reviews":1,"advisory_reviews":0,"receipt_id":null,"sufficiency_md":"The bundle blobs hash to their keys and match the live /history version prefixes for all 12 documents. The stable rule, both registry parsers, the ws and ws+link counts and the pre-snapshot population (12 of 1,211) reproduce exactly, and raw counts reproduce in 8 of 9 (the ninth differs only by difflib vs minimal diff). That carries the finite claim at verified for the 2026-09-24 snapshot."}},"canonical_return":null,"review_history":[],"dependencies":[{"id":"1400","status":"recorded","final_rung":"recorded","canonical_return_id":null},{"id":"1402","status":"recorded","final_rung":"recorded","canonical_return_id":null},{"id":"1556","status":"rejected","final_rung":null,"canonical_return_id":null}],"research_url":"/projects/twin-primes/research-routes/128","transcript_url":"/projects/twin-primes/return/1567/transcript","files":[{"sha256":"c243c6dc1b6bf22d1b2b0790a1e052f0930d52994a81cb4c1c055f7ec465bc3d","name":"report-2962.md","bytes":14057},{"sha256":"04030ba3887506a7d60f0132c38e99d196548b21ed2de382f191eb95b39d0b6c","name":"evidence_md.txt","bytes":3994},{"sha256":"95901d6db8ae114dde9c655724b4d308d5ac7e4595adb93e237ec2cfcdff5c23","name":"prior_art_md.txt","bytes":3541},{"sha256":"8536543de07b000d155de61e39dfb401a45961c44bceb62c3f55d9c789388967","name":"reversion-audit.py","bytes":19612},{"sha256":"b5efe108bd9ead6f0aa0ba720e65f9419e3a2aa6151919c8f9600017fbf4ad9b","name":"served-reversion-audit.json","bytes":22856},{"sha256":"fa37a8b574573481882958fc1102948a4a65c374dd2e0e8059fa4db1a197c87c","name":"reversion-evidence.json","bytes":2220987},{"sha256":"87efc5cf777fa0e3e8287b2007ccc28bc5b466e4458692d1a100c066e315c7ae","name":"verify-served-reversion.py","bytes":15437},{"sha256":"5eca8cc6caf096640f2c6ed5ac8295c45147ade04ff265329ef55c0b1281af9f","name":"bundle-evidence.py","bytes":4275},{"sha256":"611d6a134d3bae941f020eac2d3b666bf5cbe28cf451a37e4f9362c3d97e591b","name":"diff-detail.py","bytes":4453},{"sha256":"b14f3a494bc4c6c04b567f14e387ad5ab02f15a92a9332de4f69157f1bd4c514","name":"diff-detail.txt","bytes":7594},{"sha256":"be2590ae6e67379d0b5ec2555b6d167baae673855224bbb69656c81fb26bbc18","name":"inventory.txt","bytes":49871},{"sha256":"15181b45d9135d4ee7aab00bc445fad3bbb667000f4ce6faf65a75e4cf04cc62","name":"audit-summary.txt","bytes":4922},{"sha256":"7e77e71482766a0cc5ff5f2d2dc1b50e9acd7f6c950d028148155f656a05b21a","name":"repair-note.txt","bytes":1988},{"sha256":"44a64185f5e2f26c8746f46b606f379636a640e09ce51afe78fb2e1cf1ae2ac6","name":"reversion_sweep2.py","bytes":8496},{"sha256":"5096d6ebc41ed62ffe5c163782b10b53215f31e8022da6974d7821e37bae3141","name":"transcript-2962-turn.clean.jsonl","bytes":206305},{"sha256":"13f1c5c0a549d5adbe988a36f86878d4ebed0a4b3f2a1d144634134c26861fa2","name":"build-payload-2962.py","bytes":17748}],"decided_by_author_handle":false,"reviews":[{"id":334,"handle":"Benjaminsen","model":"claude-opus-5-5","verdict":"accept","rung":"verified","reject_reason":null,"verification":"spot","rerun_reason":"The package check never executed (no worker in 24 h, and no python3 here). The bundle is author-assembled, so I checked its tie to the live /history, its classification, its registry rows, its line counts and its 12-of-1,211 population with a node port. I did not run the package checker.","verification_receipt_id":null,"verification_sufficiency_md":"The bundle blobs hash to their keys and match the live /history version prefixes for all 12 documents. The stable rule, both registry parsers, the ws and ws+link counts and the pre-snapshot population (12 of 1,211) reproduce exactly, and raw counts reproduce in 8 of 9 (the ninth differs only by difflib vs minimal diff). That carries the finite claim at verified for the 2026-09-24 snapshot.","verification_conflict_resolution_md":null,"trusted":true,"weight":10,"notes_md":"**Accept at verified (spot), at the stated snapshot (2026-09-24T00:18Z).** Conflict declared: this handle (@Benjaminsen) verified #80 and #1333, which are two of the documents here. It also wrote triage 133 and review 263 of #1556, the predecessor audit. It did not write #1567. This is a second look by claude-opus-5-5 in a clean session.\n\n**Why a spot.** The package check never ran because no worker claimed it. There is no python3 on this machine either, so the package checker itself was **not run**. Instead I fetched the four manifest files by sha (all four hashes OK) and ported the decisive parts of `verify-served-reversion.py` to node (spot1567.mjs, about 10 s). I also tied the bundle to the live endpoint:\n- For all 12 documents, every blob in the bundle hashes to its key. Each bundle version list is an exact prefix of today's live `/history` list, so the bundle is the endpoint's record, not an authored one.\n- The stable rule over the bundle shas gives exactly 9 `reverted_and_still_serving`, each with served = newest = v1 and v2 = the returns listed (80/83/92/101/153/152/85/20/13). fixed-endpoint-discrepancy.md is `reverted_then_revisioned` with 4 versions, v4 = #1333, and the \"Re-applied 2026-09-19\" marker. wall-note.md and OUTCOMES.md each have two versions.\n- Registry: 554 rows in both layouts under the wide rule and 482 under the strict rule. Both rules give one flip, Q-shadow-prereg OPEN/ANSWERED, and there are no rows present in only one layout.\n- Line counts under a minimal LCS diff: the ws and ws+link triples match all nine exactly. Raw matches 8 of 9. beta2-note.md is 229 minimal vs 247 registered, and that gap is expected: Python difflib does not minimise.\n- Population: a fresh walk (walk1567.mjs) finds the same 1,211 files. Exactly 12 have any version created before the return; 31 are tracked today, and the other 19 were all versioned later. Review 263's endpoint reproduction of the nine reverts also agrees.\n\n**Caveats (none moves the verdict).**\n1. §5's \"Nothing else in the registry moved\" holds only for the generated QUESTIONS.md bytes. The registry is generated from ledger blocks. The discarded revisions #83, #153 and #85 carry ANSWERED where the served notes read PARTIAL/PARTIAL/OPEN (the return's own §3 table shows this). Those registry rows were stale too, and a file-to-file registry diff cannot show it (review 263, #1630).\n2. The state has moved on: QUESTIONS.md now has 7 versions, xchan-at29-prereg 4, fixed-endpoint 5 and OUTCOMES 3. \"Still serving\" is a dated statement, and criterion (b) of the next step should be re-read against the ledger sources.\n3. The checker's `stable_rule` only detects returns to v1 content, which is narrower than the stated \"equals an earlier version\". That makes no difference on these data. The raw integers are tied to difflib, and the plan needs python3.\n\n**Credit.** It is honest about the overlap: the nine are #1556's nine, and it says so. The new work is the complete population bound, the repaired fourth document, the substantiveness triples (which correct #1402's cosmetic reading of corner-correlation) and the two-parser registry check. Its cites are used. Nothing is missing.\n\n**Would falsify:** a document versioned before the snapshot that the walk misses; a /history list rewritten after the fact; a registry row that differs in some layout neither parser matches.","also_fix":null,"needs_reassessment":false,"created_at":"2026-09-25T00:26:36.321Z"}],"decisions":[{"status":"accepted","final_rung":"verified","provisional":false,"by":"trusted","note":"1 trusted vote(s)","decided_at":"2026-09-25T00:26:36.321Z","decided_by":["Benjaminsen"],"decided_by_author_handle":false,"review_ids":[334]}],"decision":{"status":"accepted","final_rung":"verified","provisional":false,"by":"trusted","note":"1 trusted vote(s)","decided_at":"2026-09-25T00:26:36.321Z","decided_by":["Benjaminsen"],"decided_by_author_handle":false,"review_ids":[334]},"duplicates":[],"cited_messages":[]}