Reviewer C verdict (pragmatics lens)
Overall: ACCEPT
What does the father do Monday morning under this ranking?
He does the same three things he was already doing, now with the fake floor removed:
- h03 (Mini-STRC, A-tier): the bench steps still run — “order the Ultra-Mini gBlock, clone the cassette, Phase 4 HEK coIP” (
05-program-rerank.md:64). Nothing about the demotion stops wet-lab work. What changed is he can no longer tell a collaborator “60-100% cochlear transduction” without immediately adding “in mouse, at P1, and the one NHP OHC dataset found four transduced cells total” (05-program-rerank.md:52-58). That is not paralysis, that is a corrected sales pitch that would have embarrassed him in front of Yilai Shu or Jeffrey Holt. - h01 (Pharmacochaperone, A-tier, unmoved): still the top mechanistically-sound arm, still capped at 0.50 dose per the protein-level restatement (
07-banner-inventory.md:35). Nothing to do differently Monday except stop quoting a “MILD-MODERATE adjunct, conditional NORMAL” outcome that was never grounded. - New P0 that is genuinely actionable: “does any vector/route transduce primate outer hair cells?” (
05-program-rerank.md:64,118). That is a concrete literature-watch/collaborator-question item a father can hand to Shu’s lab tomorrow. It is more actionable than the S-tier label it replaced, because it names the actual missing datum instead of implying one route is close to done.
So: the ranking answers “what do I do Monday” the same way it always did — work the top-scoring hub’s next_step — plus it hands him one sharp new question. It has not failed at its job. It has stopped lying to him about how close S-tier was.
Empty S tier: useful signal or rigour theatre?
Useful signal, not theatre, on the evidence in this packet — but it is close to the line and the report should have said one more sentence to fully earn it.
The test for “useful signal vs rigour theatre” is: did the demotions cite a specific new falsifying fact, or did they just apply a stricter epistemic standard retroactively to old, unchanged evidence? Here it’s the former for both moves:
- h03’s
delivdrop cites a primate dataset that already existed in the corpus and was apparently never checked against the mouse claim — Andres-Mateos 2022, “four outer hair cells” (05-program-rerank.md:55). That is new information reaching the ranking, not a vibe shift. - h09’s
mechdrop cites Chereau 2005 actively contradicting the analog-bridge assumption baked into the gate-closing Phase 4m result (05-program-rerank.md:72-73). Also a specific finding, not a standard change.
Both demotions are real, wet-lab-relevant findings a father should have had months ago. That is the strongest thing in the packet.
The gap: nowhere in 05-program-rerank.md does the note say plainly, in one line near the headline, “the next thing that would put a hypothesis back in S is X, and here’s the fastest path to X for the top two candidates.” It gestures at this per-hypothesis (h03’s primate-OHC gate, h09’s Phase 2c cosedimentation assay) but a father reading only the excerpt and headline could reasonably panic that the program has stalled. One added line under the headline — “A back into S needs one primate-OHC dataset; h09 back into S needs one in vitro Kd measurement, both achievable, neither done” — would convert this from “correct but reads bleak” into “correct and actionable.” Minor, not blocking ACCEPT.
Paperwork that will rot vs work that will hold
Will hold (real, checkable, will still be true in six months):
- The eight
lit_auditclosures with itemized blockers (04-lit-audit-summary.md). These aren’t essays, they’re falsifiable claims with retrieval counts (“9 distinct attempts across two independent campaigns”) and named missing measurements. A future agent readinglit_audit_blockers:on h09’s hub knows exactly what to search for and what NOT to re-search. That’s the whole point of a blocker list — it prevents re-litigating a settled absence. Concrete: h09’s blocker list survives (hypotheses/h09-hydrogel/index.mdlit_audit_blockersYAML, verified directly against the vault above) and is genuinely more useful than thepartialit replaced. - The banner resolution (see next section) — mechanically verifiable, cheap to check, won’t rot because it’s grep-checkable.
- Cross-cutting finding #1 in
04-lit-audit-summary.md:43-48: h05 and h09 share the exact same missing measurement (STRC copy number per OHC) reached independently. That is a genuine dedup that saves a future wet-lab budget decision from being made twice. This is the single best piece of “paperwork” in the packet — it’s not paperwork, it’s a resource-allocation finding disguised as a lit-audit footnote.
Will rot / is closer to make-work:
lit_audit_date: 2026-08-21fields and the eight separate phase-proof notes for lit audits — fine to have, but eight near-identical-format notes for what is fundamentally one campaign is closer to bureaucratic overhead than eight independent proofs. This is defensible under AGENTS.md’s “every proof closes with Ranking delta” rule, so I won’t call it a defect, but if I’m asked in six months “did this help,” the answer is “the blockers helped, the note-per-hypothesis packaging was incidental.”- The 30→33 banner count in the chief verification (
06-chief-verification.txt:26) versus the inventory’s stated 30 (07-banner-inventory.md:3) is unexplained in the packet. Three new occurrences appeared during the run and were resolved, but nothing in the packet says what they were or why grep found 3 more than were inventoried at contract-freeze time. That’s not fatal (the anti-deletion guard passed, unresolved=0), but an unexplained delta in a mechanically-verified count is exactly the kind of thing that becomes a “wait, is this actually 30 or 33, which do I trust” argument in six months. Should have one sentence.
Recurrence prevention for the executing-phantom class of bug
The finding itself is excellent and is the single most valuable line in this whole packet: “an audit that fixes tables and not code leaves the fabrication running” (05-program-rerank.md:90, restated in 04-lit-audit-summary.md:50-57). A E_TM_basal_kPa = 210 phantom, killed in documentation on 2026-04-25, kept executing in models/piezo_voltage_budget.py:271 for four months while every downstream lint pass, ranking, and probably at least one proof note treated the parameter table as ground truth. That is a real, embarrassing, and completely believable bug class — anyone who has maintained a codebase with duplicated constants knows exactly how this happens.
Is the lesson right? Yes. Is anything actually done to prevent recurrence, or just noted? Mostly just noted, and that’s the packet’s clearest miss. 04-lit-audit-summary.md:56-57 recommends: “a vault-wide sweep: for every parameter row marked ❌ or corrected in parameters/, grep the scripts for the old value and confirm it was removed.” That’s the right fix. It is not run in this packet — it’s a recommendation for a future turn, not a completed action, and it is not filed as a script, a checklist item in AGENTS.md, or a CI-style check. One instance (this one) was fixed by hand. The mechanism that would prevent the next one — a grep sweep across models/ for every value ever flagged phantom in parameters/ — does not exist as a runnable artifact anywhere in this packet.
Concretely, what’s missing: a script (even 15 lines) that walks parameters/*.md for rows marked ❌/corrected, extracts the old numeric value, and greps models/*.py and hypotheses/*/scripts/*.py for it. That’s cheap, it’s exactly the kind of thing AGENTS.md 0b (scripts inventory) already expects to be tracked, and it converts “we noticed this happened once” into “we cannot let this happen silently again.” Filing this as a recommendation instead of a script is the single biggest missed opportunity in the packet — the finding is worth more than a paragraph, and paragraphs don’t run.
Defects (file:line, severity, what’s wrong, what would fix it)
- MAJOR —
04-lit-audit-summary.md:56-57(executing-phantom recurrence prevention): recommendation only, not implemented as a runnable check. Fix: ascripts/check-corrected-params.pythat grepsmodels/andhypotheses/*/scripts/for every value flagged ❌ inparameters/*.md, run at least once now against the full corpus (not just the one instance found by luck) and added to a periodic loop (lint, or a new AGENTS.md rule). - MINOR —
06-chief-verification.txt:26vs07-banner-inventory.md:3: banner count 30→33 unexplained. Fix: one sentence in the chief verification or a follow-up note listing which 3 occurrences were added and why (e.g., new callout added while resolving an existing one, or a miscounted file). Passing the anti-deletion guard is not the same as the number being understood. - MINOR —
05-program-rerank.mdheadline (excerpt:and body) states the empty S-tier finding but does not state, in the same breath, what the fastest realistic path back into S is for the top two demoted candidates. The information exists per-hypothesis (next_stepfields) but a reader skimming only the top of the note gets an artificially bleaker picture than the underlying evidence supports. Fix: one added sentence under the headline table. - MINOR —
04-lit-audit-summary.md:91-92: the Bradshaw 2002 CaMKII k_auto lead (a real, high-value correction — “the measurement exists” after a prior pass wrongly concluded “not measured”) is recorded as a search-engine restatement, not a locally-parsed paper, per §0c. Correctly flagged as such and correctly NOT written into a hub as fixed. This is not a defect in the packet’s honesty, but it IS a live loose end: nothing here schedules the actual PDF retrieval. A father reading this six months from now needs to know this is an open task, not a closed one — it currently reads as closed-but-caveated, which is easy to misfile. Fix: this lead belongs in a literature-watch queue with an explicit owner/next-check-date, not just prose in a summary note. - MINOR (process, not content) — eight near-identical phase-proof notes for one lit-audit campaign (
04-lit-audit-summary.mdtable) is defensible under AGENTS.md but is packaging overhead. Not worth blocking on; noting it because the prompt asked for bluntness on padding. This is the closest thing in the packet to ceremonial output, and it’s a mild instance, not an egregious one.
What is genuinely good (specific, no padding)
- The two demotions are the best kind of output a re-rank can produce: they cut against the program’s own interest (h03 was “the program’s most wet-lab-ready… route” —
05-program-rerank.md:50) and they’re each backed by a specific primary-source fact that was sitting in the corpus unused (Andres-Mateos 2022 four-OHC finding; Chereau 2005’s contradiction of the WH2 analog bridge). That is exactly what a ranking is for: surfacing evidence that changes what a rational actor should do, even when it’s the answer nobody wanted. - The phantom-constant catch is real and verified. I checked it directly against the live file:
models/piezo_voltage_budget.py:255-275now carries the corrected Teudt & Richter 2014 values (1.9/5.1/24.3±25.2 kPa) with an inline dated note explaining exactly what was wrong and when it was fixed. This is not a documentation-only claim — I confirmed the code itself changed. - The Moderna assessment resists the easy answer. It would have been trivial to pad channel (i) into a tier-mover (“bespoke platform! N-of-1! transferable!”). Instead it correctly identifies that STRC’s payload is wild-type and identical across all DFNB16 patients, so the N-of-1 precedent “solves a problem STRC does not have” (
02-moderna-assessment.md:54,03-moderna-integration.md:19). That is the single hardest-to-reach, most honest conclusion in the whole packet, and it’s exactly the kind of finding that protects a father from manufactured hope. - The h05 CaMKII correction models the right epistemic discipline: “killing a phantom citation should trigger a fresh search on the quantity, not a conclusion about it” (
04-lit-audit-summary.md:64-65). That is a genuinely transferable process lesson, correctly generalized from one instance. - The cross-hypothesis dedup (h05 + h09 sharing the same missing STRC-copy-number measurement, reached independently via two different datasets) is a real resource-allocation finding, not filler — it tells a father where one wet-lab experiment buys two closed blockers.
- The dB quarantine’s
misha_fitaudit found a negative result and reported it as a negative result (05-program-rerank.md:79-85): checked all 18 hubs, found none hadmisha_fitresting on a withdrawn dB band, and said so plainly instead of manufacturing a finding to justify the section’s existence. That’s the opposite of rigour theatre — it’s a check that was allowed to come back clean.