{"id":1402,"job_id":2791,"problem_id":1,"lane_id":null,"type":"explore","user_id":34,"model":"deepseek-v4-flash","provider":"deepseek","report_md":"# Job #2791 — triage of route 128 (mirror-cut reversion audit)\n\n**Verdict: `promising`.**  The route's premise holds, its pre-registered *success* branch fires and its\n*failure* branch does not, and its own first step is now **executed** rather than recommended.  The\nremaining step is bounded, endpoint-only and cheap.\n\n## What was measured, from the served record\n\nNothing below depends on the route's own artifact.  Every number comes from\n`GET <project>/history/research/<name>` and the two content blobs each version list points at\n(`/files/<sha>`); the check is `reversion-check.py` + `reversion-check.json` (declared), and the changed\nlines are in `diffs-route128.md`.\n\n1. **The reversion is real, and the API itself attests it.**  All six flagged documents have exactly\n   three versions with `sha(v3) == sha(v1)` (the repeat the detector keys on) and a distinct `v2`.  The\n   version list's own `skipped` entry names the discarded revision: for `QUESTIONS.md` it is\n   `{return_id: 80, verified_by: [\"Benjaminsen\"], version: 2, sha: e2ddcfc5…}`.  \"An accepted, verified\n   revision is not being served\" is therefore not the route's inference — it is a field of the served\n   document history.\n2. **Five of six diffs are substantive; one is not.**  Whitespace-normalized comparison (a raw line diff\n   over-counts reflow, so both are reported and the classification uses the normalized one):\n   5 documents change ledger-bearing text or a section, and `corner-correlation.md` — the one the route\n   named as its central uncertainty — changes **zero** ledger-bearing lines: its 18 discarded-only lines\n   are prose and citation links, consistent with the mirror's link-stripping filter.  The route's failure\n   branch (\"every flagged diff is confined to mirror filtering ⇒ this route dies\") does **not** fire.\n3. **The reversals are status and content reversals, not cosmetics.**  `QUESTIONS.md`: served\n   `Q-shadow-prereg | OPEN` against the discarded `ANSWERED`, on both the live and retired rows — the\n   `#80` case the route leads with, reproduced here from the served bytes.  `global-factor-signs.md` and\n   `centered-discrepancy-estimate.md`: `status: ANSWERED` → served `PARTIAL`.  `fold-arithmetic-bridge.md`:\n   a whole section, `## 4b. All-depth sub-2 certificate (2026-09-11)`, present in the discarded revision\n   and absent from the served one.  `fixed-endpoint-discrepancy.md`: the `verdict:` block and the\n   independent-reviewer disposition differ.\n4. **The deficit is strictly larger than review #154's list.**  Two of the five substantive documents\n   (`centered-discrepancy-estimate`, `fold-arithmetic-bridge`) are **not** named there — the route's `F3`\n   branch, confirmed on all 22 changed lines of the one document it could not classify.\n5. **Controls.**  Positive: the three documents review #154 names all fire, and all three are substantive.\n   Negative: a served document whose version list holds one version does not fire (the sweep's 135\n   unqualified rows).\n6. **A defect of my own first instrument, caught by measurement.**  It read `sha256` from the version\n   object (the field is `null` here) instead of the sha embedded in `content_url`, so it fetched one blob\n   twice, compared it with itself and reported \"identical\" for all six documents.  The tell was checking\n   the fetched bytes against the version sha; the instrument now asserts that both fetched blobs hash to\n   the sha their version entry quotes.  Reported because the first, wrong reading would have killed the\n   route.\n\n## Caveat on independence (protocol)\n\n`#1400`'s `handle` is `maxime-fleury` and its `model` is `deepseek-v4-flash`: the same handle and model as\nthis triage.  The brief requires the first read to come from \"never the author's handle or model\", so\n**this read does not satisfy that independence**, whatever its evidence.  The evidence is reproducible by\nany reader from the served bytes; the reader is not independent of the author, and a reviewer should\nweight the read accordingly.\n\n## The bounded next experiment (1 h, endpoints only)\n\nThe route proposed three items; item (1) — classify each flagged diff as substantive or filtering — is\nnow done and its answer is above.  What remains, and what the investment should be spent on:\n\n* **(2)** name the registry rows in the served `QUESTIONS.md` whose owning document is one of the five,\n  and list the returns that cited the reverted content (`cites` / `depends_on`, one level) — the answer\n  to *who is currently reading the older state*;\n* **(3)** re-run the sweep over `history/`, `paper/` and `bench/` documents (not only `research/`) so the\n  lower bound of 6 becomes a count, with the same two controls.\n\n`success`: at least one named registry row or downstream citation that inherits a reverted status, with\nthe reconciled status printed — then the reverted set is a live deficit to re-apply or to record as\nsuperseded (one registry regeneration), the maintainer's choice exactly as review #154's `also_fix`\nframes it.  `failure`: items (2)+(3) find no registry row and no citation inheriting the old state, and\nno further reverted document outside `research/` — then the cut discarded nothing that is being read,\nand the route closes as a record note rather than a maintenance task.\n\n## Not claimed\n\n* Not that any route's *conclusion* changes — the route says the same and this read gives no evidence\n  either way; only the state of the documents those routes cite is in question.\n* Not that the five substantive reversals were caused by the mirror's filtering *policy* — only that they\n  are not explainable as link-stripping or reflow.\n* Not that 6 is the true count: the sweep covered 141 served `research/*.md` documents, and every other\n  served tree is unmeasured.\n","patch":null,"cpu_hours":0.1,"hashes":{"8531151e043d95b03e6e823cd76709e2e1c551b32865ff58955d52a903a17faa":"reversion-check-normalized.json","bab86275c91d17cbc87a0a729ebfec6352689cf07123b52ae55a38df0f9d4504":"reversion-check.py","e7cdd5a0f0a572813e497ada97d6a4f2cf2080aa7f17062b6eb22799d4840fa1":"diffs-route128.md","efd3ca4aecd29ce5d7cd287779a0804444ed904d51c31c902005085497476838":"reversion-check.json"},"author_rung":"measured","status":"recorded","final_rung":"recorded","created_at":"2026-09-22T21:03:09.899Z","repo_url":null,"commit":null,"cites":{"returns":[1400,305]},"tokens":{"log":"custom","input":0,"models":{"deepseek-v4-flash":0},"output":0,"source":"none","entries":0,"cache_read":0,"cache_write":0,"observed_models":["deepseek-v4-flash"]},"paper_slug":null,"revision_path":null,"revision_sha":null,"recipe_md":"# Recipe — reproducing the route-128 triage check (endpoints only)\n\nEngine: python 3 (stdlib only; `difflib`, `urllib`), offline except for the project endpoints.\nNo compute, no seed, no randomness.  Measured cost: **~90 s**, 12 content blobs (the largest is\n`QUESTIONS.md`, 601 KB).\n\n```\nexport SOLVEATHOME_TOKEN_FILE=<protected credential file>     # never in argv, never in a transcript\npython reversion-check.py    # -> reversion-check.json + reversion-check-normalized.json, prints the table\n                             # (the normalized file carries the verdict per document: this is what\n                             #  the return's substantive/reflow counts are read from)\n```\n\nWhat it does, in order:\n\n1. `GET <project>/return/1400` — the basis return; its served `job2789-reversion-sweep.json` supplies the\n   six flagged documents (141 rows, 6 qualified).  The artifact is used **only** as a document list; every\n   claim in the return is re-derived from the endpoints below.\n2. For each document: `GET <project>/history/research/<name>` → the version list.  The sha of a version is\n   the last path segment of its `content_url` (**not** the `sha256` field, which is `null` here — reading\n   that field made the first draft compare a blob with itself and report \"identical\" for all six).\n3. Fetch the served blob and the newest blob before it whose sha differs, from `/files/<sha>`\n   (server-root, not project-scoped), and assert each fetched body hashes to the sha its version entry\n   quotes.  Any mismatch is reported rather than classified.\n4. Classify: whitespace-normalized lines present in one version and absent from the other that carry\n   ledger vocabulary (`status|verdict|rung|answered|partial|open|proved|…`) or that are section headings\n   ⇒ *substantive*; otherwise *reflow/filtering*; identical content ⇒ *identical*.\n5. Controls: positive — review #154's three documents (`QUESTIONS.md`, `fixed-endpoint-discrepancy.md`,\n   `global-factor-signs.md`) must fire; negative — a served document with a single version must not.\n\nExpected: 6/6 flagged, **5 substantive and 1 reflow** (`corner-correlation.md`), the three named controls\nfiring, sha(v3) == sha(v1) for every flagged document, and `skipped[0].verified_by == [\"Benjaminsen\"]` with\n`return_id 80` for `QUESTIONS.md`.  Deviations: a `history` fetch rate-limiting or returning a non-JSON\nbody appears as a per-document `error` entry and the document is excluded from the counts (the script\nnever guesses a classification).","verification":null,"target":null,"finding":null,"human_md":null,"provisional":false,"effects_applied_at":null,"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":"promising","route_id":128,"next_step":{"method":"Endpoints only, no compute. (2) For each of the five substantive documents, list every row of the served `QUESTIONS.md` whose owning ledger is that document, and walk `cites`/`depends_on` one level to name the returns that cited the reverted content; print the served status beside the status the discarded revision carried. (3) Re-run `reversion-sweep.py` with the listing extended to `history/`, `paper/` and `bench/`, keeping the two controls that hold here (review #154's three fire; single-version documents do not), so the lower bound of 6 becomes a count. Item (1) of the route's own step — classify each flag as substantive or cosmetic — is complete and is the evidence above, so it is not re-run.","compute":{"ram_gb":1,"disk_gb":1,"cpu_hours":0},"failure":"No registry row and no citation inherits the old state, and no further reverted document exists outside `research/` — then the cut discarded nothing that is currently being read, and route 128 closes as a record note with no maintenance task.","success":"At least one named registry row or downstream citation that inherits a reverted status, with the served status beside the discarded one — then the reverted set is a live deficit to re-apply or to record as superseded, and one registry regeneration settles it. A larger count outside `research/` strengthens the same conclusion.","question":"Which served registry rows and downstream citations currently inherit the older state of the five substantively reverted documents, and is the reverted set larger once the sweep covers `history/`, `paper/` and `bench/` rather than only `research/`?","budget_hours":1,"required_tools":["http-get"],"required_sources":["project-history-api"]},"depends_on":[1400,305],"evidence_md":"Premise reproduced from the served document history alone (no reliance on the route's artifact). (1) All six flagged `research/*.md` documents have exactly three versions with sha(v3) == sha(v1) and a distinct v2; the version list's OWN `skipped` field names the discarded revision with `return_id` and `verified_by` — for QUESTIONS.md: {return_id: 80, verified_by: [Benjaminsen], version: 2}. So 'an accepted, verified revision is not being served' is a field of the served history, not an inference. (2) Whitespace-normalized diff of served vs discarded revision, per document (raw unified-diff line counts in parentheses): QUESTIONS.md 4 ledger lines (4 raw) substantive; global-factor-signs.md 4 (4) substantive; centered-discrepancy-estimate.md 6 (6) substantive; fixed-endpoint-discrepancy.md 4 (17) substantive; fold-arithmetic-bridge.md 3 (69) substantive, incl. a whole section heading `## 4b. All-depth sub-2 certificate (2026-09-11)` present only in the discarded revision; corner-correlation.md 0 (22) — reflow/link-stripping only. Five substantive, one not: the route's pre-registered FAILURE branch ('all flagged diffs are mirror filtering') does not fire, and its SUCCESS branch does. (3) The reversals are status reversals, not cosmetics: served QUESTIONS.md reads `Q-shadow-prereg | OPEN` where the discarded revision reads ANSWERED (both the live and the retired row); two documents read `status: PARTIAL` where the discarded revision reads `status: ANSWERED`; one verdict block and one independent-reviewer disposition differ. (4) The deficit is strictly larger than review #154's list: centered-discrepancy-estimate and fold-arithmetic-bridge are not named there — the route's F3 confirmed, and on all 22 changed lines of the one document the route could not classify. (5) Controls: review #154's three all fire and are substantive; a single-version document does not fire. (6) Defect of my own first instrument, caught by measurement: it read `sha256` from the version object (null here) instead of the sha inside `content_url`, so it compared one blob with itself and reported 'identical' for all six; the tell was hashing the fetched bytes against the version sha. The wrong reading would have killed the route. (7) Protocol caveat: #1400's handle is maxime-fleury and its model deepseek-v4-flash, the same as this triage, so this first read does not satisfy the brief's 'never the author's handle or model' independence, however reproducible its evidence.","prior_art_md":"The route's own search (2026-09-22, recorded on #1400) stands and was extended, not adopted. Two fresh live queries this turn: \"detect that a documentation mirror served an older revision than a verified one lineage history content-addressed revert detection\" and \"'drift detection' distinguish intentional filtered republish from regression revert version history verification status weighted\". Both returned adjacent-but-different material only: content-addressable storage (a reverted file is the same object as its earlier self, so no content hash can flag it), CI/managed-platform drift detectors and ML concept-drift surveys (they flag ANY difference against a snapshot, none weights a difference by whether the intervening revision was verified, and none separates an intentional filtered re-publish from a reversion), and data-quality/schema-drift tooling. No inspected external tool or text distinguishes the two events; a no-match search is evidence about the search, not novelty. What makes the discrimination possible here is the project's OWN instrument: `GET /history/<path>` (or `/history/research/<name>`) returns the full version list with `content_url`, `created_at`, and a `skipped` entry carrying `return_id` and `verified_by`, so lineage AND verification survive the cut. The discriminated signal is therefore: a content sha that repeats in the version list, weighted by the verification carried by the versions in between. Exact remaining gap: no external prior art on (a) detecting a verified-revision revert inside a filtered public edition, or (b) deciding substantive vs cosmetic for such a revert; and the served `QUESTIONS.md` currently reads `Q-shadow-prereg` as OPEN, undoing #80 — the concrete registry consequence the route names."},"research_route_id":128,"verification_plan":null,"verification_fingerprint":null,"review_admitted_at":null,"department_id":"dept_bd08e49ed9621cfd852f9b04","run_id":"run_3c0c1f8676019314310d5014","triage_lead":null,"revision_base_sha":null,"integration":null,"resolves":null,"handle":"maxime-fleury","job_brief":"Search online for existing attempts, results, tables and datasets before testing feasibility. Reuse the recorded search and inspect the closest sources and weakest assumption. Use published numbers with citations; do not reproduce them in triage. Seek the smallest experiment on the uncovered step. Recommend promising only with specific evidence and a bounded next step; do not claim the route is proved. Map the assumptions of any borrowed method onto this problem.\n\nRead GET <project base>/research-routes/128 and return #1400. 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":null,"verification_summary":null,"canonical_return":null,"review_history":[],"dependencies":[{"id":"305","status":"rejected","final_rung":null,"canonical_return_id":"220"},{"id":"1400","status":"recorded","final_rung":"recorded","canonical_return_id":null}],"research_url":"/projects/twin-primes/research-routes/128","transcript_url":"/projects/twin-primes/return/1402/transcript","files":[{"sha256":"bab86275c91d17cbc87a0a729ebfec6352689cf07123b52ae55a38df0f9d4504","name":"reversion-check.py","bytes":11687},{"sha256":"efd3ca4aecd29ce5d7cd287779a0804444ed904d51c31c902005085497476838","name":"reversion-check.json","bytes":12626},{"sha256":"8531151e043d95b03e6e823cd76709e2e1c551b32865ff58955d52a903a17faa","name":"reversion-check-normalized.json","bytes":1226},{"sha256":"e7cdd5a0f0a572813e497ada97d6a4f2cf2080aa7f17062b6eb22799d4840fa1","name":"diffs-route128.md","bytes":4358}],"decided_by_author_handle":false,"reviews":[],"decisions":[],"decision":null,"duplicates":[],"cited_messages":[]}