The machine that copies a practice’s website exists. What’s left is proving its promises with gates that can’t lie — and there is now a written bottom to burn down to: five promises, a closed list. This page asks for three calls, shows what’s confirmed broken vs. still a claim, and lays out the sprint order that ends with fairfax proven, once.
origin/main @ 09af74d75 (#1866 genome onboarding L2). Anchor: docs/ai/definition-of-done.md on draft PR #1868 (MERGEABLE, held for ratification). 16 open PRs total — dispositioned in Sprint 0 (see PR sweep at bottom). Live working tree is parked on a stale forms branch with local mods; Sprint 0 returns it to main. Canonical markdown of this plan: docs/ai/plans/burndown-to-done.md.PRODUCER_CLOSURE hand-list (assembly-line.ts:3097-3107, 10 entries) omits lib/rewrite-emission-ledger.ts (imported by produce.ts ~:75, added #1856) and lib/host-context.ts (imported by lib/url-map-scope.ts:5, added #1865) → ERR_MODULE_NOT_FOUND on clean checkout. Lead-verified on trunk bytes 07-06.isDeadForm (assert-form-endpoint-viability.ts:112-163) flags only 4 hand-chosen categories; CF7/Gravity pass unchecked; zero forms = vacuous pass. Independent check completed 07-06: “confirmed, worse than claimed.”routesToProbe hardcoded 4 routes (capture-rendered-outcome.ts ~:935) — in re-verification now.rar-index.ts ~:1966-2069) — in re-verification now.AJAX_REPLAY_SEPARATE_SURFACE) is a hand-declared exception to byte-identity — and it’s exactly where another practice’s data (levineneuro.com ×19) rode into fairfax’s copy. Lead re-confirmed the contaminated fixture files on disk 07-06.genome-shape-validator.ts:44-45) covers only a hand-listed set of fact types (TEXT_FAMILY_FACT_TYPES) — independent probe 07-06: an edit to a stranded phone fact lands in zero served bytes while EDIT-SMOKE stays green; the positive control (orphan sorted first) goes red, proving detection is filename-sort luck, not coverage.
| # | Claim | Promise | Status |
|---|---|---|---|
| 1 | Produced repo crashes on fresh checkout (stale vendored-file hand-list) | 4 | CONFIRMED · recent regression |
| 2 | Wrong-practice bytes ride the AJAX carve-out (levineneuro ×19) | 2 | CONFIRMED |
| 3 | Forms gate passes forms that deliver nowhere | 5 | CONFIRMED · cutover-blocking today |
| 4 | Blank-hero tripwire foolable (symptom of #2’s carve-out) | 2 | CONFIRMED · fix = close carve-out |
| 5 | Byte-checks anchored to our own re-fetch, not capture bytes (capture stores no bodies) | 2 | CONFIRMED · ship-false today |
| 6 | Route check hardcoded to 4 routes; nothing probes the rest over HTTP | 1 | CONFIRMED · ship-false today |
| 7 | Edit check samples one fact per type; stranded-fact edits land nowhere, stay green | 4 | CONFIRMED · blind spot, not cutover-false today |
| 8 | Promote/rollback never executed inside the produced repo (CI runs preview only) | 4 | CONFIRMED · ship-false today |
| 9 | Crawler/share-tag check passes on empty capture (all checks “if present”) | 1/2 | CONFIRMED · ship-false today |
| 10 | Menu/slider probe: all-skip counts as pass at the probe layer | 2 | MECHANISM REAL · certificate catches it downstream · fixing at source anyway |
| 11 | Certificate stays “clean” after the copy’s bytes change | — | DROPPED — already fixed on trunk; proven red on a planted break |
| 12 | Page-count gate (every source page present) | 1 | HONEST — audit-verified |
Rules of the board: a row flips to CONFIRMED only with a disk receipt I re-checked myself (file:line, re-run command, or structural proof). Confident negatives get the same bar. Anything phrased in pixels instead of instructions is rejected on sight. Full receipts: docs/ai/plans/burndown-to-done.md Layer 2.
Jump by type — same atoms as the story above.
Your 3 calls · Burn-down board · Gate contracts · Sprints · Risks · PR sweep · Environment notes
wf_122a029d-128 (7 legs, fail-closed, receipts schema-forced; edit-applies done+cached, 6 legs resume after the 11:20am rate-limit reset via resumeFromRunId). Evidence: ~/.claude/handoffs/2026-07-06-session/. Plan worktree: ~/factory-worktrees/dod-plan. Plato for neuron via CLI from a neuron checkout (session MCP binds another snapshot). /tmp reaps mid-session — use ~/factory-clones / ~/factory-moments. Tests: node --import tsx --test.