95%

Section 00 — Current-System Evaluation

The evaluation artifact justifying the restructure scope. Lands BEFORE §01 in dependency-order (no upstream deps; informs every downstream section). Output lands in the umbrella plan via supersession markers + HISTORY entries.

Goal

See frontmatter. Output = references/current-system-inventory.md (evaluation artifact) + frontmatter + HISTORY edits to umbrella-plan sections marked SUBSUMED.

Intelligence Reconnaissance

  • 2026-05-27 — graph queries grounding the inventory:
    • scripts/intel-query.sh similar roadmap.py --repo ori — confirms [ori:scripts/plan_orchestrator/roadmap.py] is the 6,391-LOC convolution target; sibling orchestrator modules (pivot.py, auto_cure.py, auto_cure_loop.py, autopilot_guards.py, deadlock_cure_dispatch.py, schema_cure_dispatch.py, autopilot_auto_cure.py, commit_push_dispatch.py) carry the cure-dispatch surface §06.2 consolidates.
    • scripts/intel-query.sh callers serve_next --repo ori — confirms [ori:scripts/plan_corpus/graph.py] already implements the lexorank-keyed total-order walk (§40 complete); _step_5_emit_focus does NOT call it today (focus-picker layered on top).
    • scripts/intel-query.sh dag-ascii scripts-first-workflow-architecture --repo ori — produces the umbrella-plan DAG; the disposition table (§00.3) cross-references each node to its restructure replacement.
  • Summary (≤500 chars): the evaluation grounds the rebuild scope in concrete artifacts: the 17-gate / 105-symbol orchestrator convolution ([ori:scripts/plan_orchestrator/roadmap.py]; count per references/current-system-inventory.md:15), the 19 BUG-07-NNN incidents (count derived via grep -cE '^ - BUG-07-' section-00-evaluation.md as of 2026-05-27) that forced each layer, and the umbrella-plan roster (now v7 content/*.md sidecars + engine-only plan.json; the pre-conversion section-*.md/index.md snapshot is preserved in references/current-system-inventory.md). Output artifact replaces hand-asserted “the system is too complex” with cited per-bug + per-section justification.

00.1 — Inventory artifact: author references/current-system-inventory.md

  • Inventory every gate in .claude/rules/orchestration-rules.json (17 today): for each {gate_name, severity, owner_script, what_it_checks} — verify via python -c "import json; d=json.load(open('.claude/rules/orchestration-rules.json')); print(list(d['gates']))". Cite path:line for each gate’s owner script.
  • Inventory every classifier / emitter / cure-handler symbol in scripts/plan_orchestrator/roadmap.py: grep -nE '^(def|class) ' scripts/plan_orchestrator/roadmap.py produces the symbol list; classify each into {classifier, emitter, cure-handler, predicate, helper}. Count = 105 per the inventory artifact SSOT (references/current-system-inventory.md:15).
  • Inventory every umbrella-plan invariant from plans/completed/scripts-first-workflow-architecture/00-overview.md §NON-NEGOTIABLE GOALS (14 today): for each invariant {id, summary, owner_section, status}; verify §-IDs cited resolve on disk.
  • Inventory every umbrella-plan content node: the umbrella plan is now v7 JSON (converted by this plan’s own §04/§10 work), so the content surface is content/*.md sidecars — ls plans/completed/scripts-first-workflow-architecture/content/*.md produces the node-file list (count = 54 as of conversion; the pre-conversion top-level section-*.md surface is GONE and ls ... section-*.md now returns 0). The 48-section roster the inventory artifact captured was the pre-conversion snapshot, preserved in references/current-system-inventory.md §Umbrella-section roster as the durable disposition basis. Extract {section_id, title, status, goal} from each node; render as a single table.
  • Author references/current-system-inventory.md carrying the 4 inventories as separate sections + summary header citing wrapper-root paths only.
  • Subsection close (00.1) — all [x]; status: complete.

00.2 — Per-bug justification map

  • Classification rubric: JUSTIFIED = the root cause persists in the restructured system (e.g., cross-session race, atomic-flip needed regardless of substrate); ACCIDENTAL = the root cause is eliminated by a restructure invariant (e.g., INV-3/INV-10/INV-19 collapse the failure class structurally).
  • For each BUG-07-NNN that drove orchestrator convolution, capture {bug_id, summary, convolution_added, replacement_target, classification}:
    • BUG-07-064 atomic-flip cross-file race — replacement: scripts/plan_corpus/inflight.py journal (§01 complete) — classification: JUSTIFIED
    • BUG-07-072 cross-scope bypass — replacement: §07 path-scoped commit touches: wiring — classification: JUSTIFIED-narrows-to-§07
    • BUG-07-077 autopilot fixed-point on NN.R findings — replacement: §06.4 review-as-phase verified-completion choke point — classification: ACCIDENTAL (eliminated by review-as-phase)
    • BUG-07-082 stale-marker halts + State C livelock — replacement: §06.4 + §03.1 impossible-state schema — classification: ACCIDENTAL
    • BUG-07-093 routing cycle on in-progress + all-checkboxes-flipped — replacement: §03.2 id-keyed checkbox scanner + §05 lexorank totality — classification: ACCIDENTAL
    • BUG-07-095 doc_sync co-flip — replacement: §10 corpus migration drops doc_sync stamps; INV-3 + INV-10 single-update-point — classification: ACCIDENTAL
    • BUG-07-101 pivot self-loop deadlock — replacement: §05 cross-plan comparator total-order (cyclic-impossible) — classification: ACCIDENTAL
    • BUG-07-102 next_action schema rejects — replacement: §06.2 single cure_dispatch.py with closed-enum halt_reasons — classification: ACCIDENTAL
    • BUG-07-103 unreviewed_plan auto-picker re-loop — replacement: §06.4 review-as-phase (review is a node, not a state flag) — classification: ACCIDENTAL
    • BUG-07-104 terminal review_pipeline marker re-dispatch — replacement: §06.4 + §03.1 attestation field — classification: ACCIDENTAL
    • BUG-07-107 positional-arg misroute — replacement: §06.3 route_walk single-entry — classification: ACCIDENTAL
    • BUG-07-108 reviewed:true reverts — replacement: §03.1 attestation field carries content-hash binding; review-as-phase is single writer — classification: ACCIDENTAL
    • BUG-07-112 tp-help routing — replacement: §09 SKILL.md rewrite reuses tpr-pipeline primitives directly — classification: JUSTIFIED-narrows-to-§09
    • BUG-07-113 improve-tooling-log-gate mechanical tool missing/unowned — replacement: §06.2 single cure_dispatch.py owns the gate registry (no orphan tool modules) — classification: ACCIDENTAL (cure-registry consolidation eliminates the unowned-tool failure class)
    • BUG-07-118 content_hash CAS cross-session clobber — replacement: §03 substrate writes go through atomic API; markdown content/.md still uses optimistic-concurrency CAS — classification: JUSTIFIED (cross-session race is real even post-restructure)
    • BUG-07-122 focus_picker_internal halt on complete+reviewed:false — replacement: §03.1 impossible-state schema (the combination is unrepresentable) — classification: ACCIDENTAL
    • BUG-07-124 focus-picker complete+reviewed:false+blocked_by — replacement: §06.4 bugs-as-nodes (blocker becomes another route node) — classification: ACCIDENTAL
    • BUG-07-135 focus_picker_internal rejects in-progress section carrying review_blocked_diagnostic + review_pipeline — replacement: §06.4 review-as-phase (review_blocked_diagnostic eliminated) + §03.1 impossible-state schema — classification: ACCIDENTAL
    • BUG-07-136 review_plan precheck clobber-repair conflates review-blocked dead-zone marker with review-complete terminal — replacement: §06.4 review-as-phase eliminates marker-vs-terminal conflation (single completion attestation per INV-17) — classification: ACCIDENTAL
  • Compose the map into references/current-system-inventory.md §Per-bug justification table; cite the closed-bug plan dir for each (bug-tracker/plans/completed/BUG-07-NNN/ OR bug-tracker/plans/BUG-07-NNN/ for open).
  • Subsection close (00.2) — all [x]; status: complete.

00.3 — Umbrella-section disposition table

  • Disposition identity is by §NN section-ID, not by on-disk path. The §NN IDs below (§26 / §27 / §02 / §32 / …) name the SUPERSEDED/SUBSUMED units durably. Post-v7-conversion, the umbrella plan no longer carries top-level section-NN-*.md files — each section’s content now lives in a content/<slug>--<id>.md sidecar and its routing/supersession state in the engine-only plan.json sections[] array. References below to section-NN-*.md paths denote the disposition unit by ID; the physical landing-edit target is the corresponding content/ sidecar + plan.json sections[].superseded_by field (see §00.5).
  • For every umbrella-plan section, classify {section_id, title, current_status, disposition, replacement_target, evidence_cite}:
    • SUPERSEDED (already marked superseded in umbrella plan): §26 / §27 / §28 (autopilot-default A/B/C → §36 → restructure §06.2); §30 (relocate-on-blocker → §40 → restructure §05/§06.3); §32B (linear-walk cross-plan → §40 → restructure §05.1)
    • SUBSUMED-by-restructure (must be marked superseded as part of §00.5): §02 (drift detection 998 LOC → INV-3 + INV-10 eliminate drift class); §32 (canonical workflow state machine → restructure §06.1 + §06.2); §34 (parallel-session dirty-tree carrier → restructure §07 path-scoped); §36 (zero-halt doctrine → restructure §06.1 partition); §17A (second-system effect screen → restructure §01.2 DROP-default citation map)
    • RETAINED (rescoped, NOT subsumed): §14 + §14A (skill-driven orchestrator runtimes — narrowed to restructure §06 engine); §31 (autopilot durability soak — restructure §12 verification soak)
    • COMPLETE-as-substrate-for-restructure (do NOT touch): §38 (linear-route schema); §39 (lexorank keys); §40 (route/node API); §41 (route invariant tests); §42 (edges-to-route migration); §43 (route coexistence)
    • NEW (no umbrella replacement; net-add): §00 (this evaluation); §09 SKILL.md ≤100 LOC rewrite
  • Render the disposition into references/current-system-inventory.md §Umbrella-section disposition as a 4-column table {section, title, disposition, replacement_target}.
  • Subsection close (00.3) — all [x]; status: complete.

00.4 — Todo-YAH UX requirement

  • Register the todo-YAH view as a deliverable on §09 (section-09-skill-rewrites.md) SKILL.md rewrite contract: rewritten .claude/skills/continue-roadmap/SKILL.md MUST emit a --view todo-yah render of the active plan + cross-plan route at every turn boundary (pre-dispatch + post-dispatch). Verified (stable section-id + criterion-text anchors — line-pinning intentionally avoided per CC-1, citations drift on every downstream edit): §09 success_criterion “Todo-YAH view emission (per §00.4 + §03.4): … rewritten /continue-roadmap SKILL.md MUST call python -m scripts.plan_corpus.render <plan-dir> --view todo-yah AFTER consuming next_action AND BEFORE executing the bounded task” + §09.2 checkbox “/continue-roadmap SKILL.md emits the todo-YAH view ON THE V7 PATH (per §00.4 + §03.4)”.
  • Define the render contract: python -m scripts.plan_corpus.render <plan-dir> --view todo-yah emits a fixed-format ASCII view: per-section line carrying [x] | [>] | [ ] | [!] marker + section ID + title + <-- YOU ARE HERE on the currently-active node; per-subsection lines indented under their section. Verified: §03 success_criterion “todo-YAH render view: scripts/plan_corpus/render.py exposes --view todo-yah rendering plan.json + checkbox-scanner state as ASCII linear walk with per-node marker {[x] complete | [>] in-progress | [ ] not-started | [!] drift} + <-- YOU ARE HERE annotation” + §03.4 first checkbox (“Author scripts/plan_corpus/render_todo_yah.py:render_todo_yah(...) — emits ASCII linear walk in lexorank order … per-row format <marker> <plan_id>:<node_id> <slug>[ <-- YOU ARE HERE]”).
  • Define the marker semantics (aligned with §03.4 substrate): [x] = status: done + completion attestation valid (INV-17); [>] = status: in-progress OR status: in-review; [ ] = status: not-started; [!] = drift detected (content-hash drift OR completion-attestation-missing OR quarantine cure-state per §06.1). Verified: §03.4 “Marker semantics” checkbox carries the identical mapping ([x] = done + completion present INV-17; [>] = in-progress OR in-review; [ ] = not-started; [!] = drift = done-without-attestation OR explicit drift member OR unknown status).
  • Add a §09 sub-task: rewritten SKILL.md MUST call render --view todo-yah AFTER consuming next_action AND BEFORE executing the bounded task; emit the rendered view inline so the user sees current YAH on every assistant turn. Verified: §09.2 checkbox “every turn, AFTER consuming next_action AND BEFORE executing the bounded task, call python -m scripts.plan_corpus.render <plan-dir> --view todo-yah and emit output inline”.
  • Add a §03 substrate dependency: scripts/plan_corpus/render.py (substrate §03 owns the render.py module per 00-overview.md §Architecture data flow) MUST expose the --view todo-yah view alongside any existing views. Verified: §03 sections: array entry §03.4 (“render.py —view todo-yah (linear-walk visibility view per §00.4)”) + §03.4 body checkboxes (author + marker semantics + YAH annotation + determinism + tests, all status: complete).
  • Subsection close (00.4) — all [x]; status: complete.

00.5 — Land disposition edits in umbrella plan

  • Post-conversion supersession-of-record is the v7 route surface, NOT markdown frontmatter. The frontmatter superseded_by: + ## HISTORY markers below were landed on the pre-conversion section-*.md files; the subsequent v7 conversion (this plan’s §04/§10) carried only 2 of the 14 markers into content/ sidecars. The durable supersession record is therefore re-anchored to plan.json sections[].superseded_by (engine-written; carried forward by the converter convert_plan_dir_v7.py) plus a ## HISTORY entry in each absorbing content/<slug>--<id>.md sidecar. Re-applying the 12 lost markers onto the v7 route surface is owned by a NAMED §10 checkbox — section-10-corpus-migration.md §10.1 “Re-apply + verify all 14 v7 supersession records (handoff from §00.5 / §00.N)” + the §10.N completion-checklist verify row “All 14 SUBSUMED v7 supersession records re-applied + verified”. §00 records the disposition mapping; that §10 checkbox lands + verifies the markers on the route surface before §10 closes (the seam AR-1 flags is now a concrete owned - [ ], not a prose-only claim). The checkboxes below document the original pre-conversion landing; the v7 re-anchor is the durable claim.
  • For every SUBSUMED-by-restructure umbrella section enumerated in §00.3 (expanded per references/current-system-inventory.md §7.2 to the 14 SUBSUMED rows §01B / §02 / §05 / §05A / §06 / §17A / §21 / §22 / §32 / §32A / §34 / §35 / §36 / §45), add to its frontmatter: superseded_by: plans/scripts-first-restructure/section-NN-*.md + superseded_at: 2026-05-27 + superseded_reason: <one-line>. Schema parity cure: PlanSectionSchema (scripts/plan_corpus/schemas.py) gained superseded_by / superseded_at / superseded_reason optional fields mirroring RoadmapSectionSchema to make the deliverable schema-clean.
  • For every SUBSUMED-by-restructure umbrella section, append to its body a ## HISTORY block entry: - **2026-05-27 — Subsumed by restructure §NN**: <one-line cite + path>. Citing plans/scripts-first-restructure/section-00-evaluation.md §00.3 + references/current-system-inventory.md §7.1. §32A + §45 had no prior ## HISTORY section; both gained one with the entry as the first row.
  • Update plans/completed/scripts-first-workflow-architecture/00-overview.md §Frontload Order to reflect the new disposition. Five table rows (§01B / §36 / §32 / §32A / §34) annotated [SUPERSEDED → plans/scripts-first-restructure/section-NN-*.md]; trailing paragraph extended to enumerate the additional 9 SUBSUMED sections (§02 / §05 / §05A / §06 / §17A / §21 / §22 / §35 / §45) that live in the §02-§22 + §33 + §35 residue band rather than the explicit 10-row table.
  • Update plans/completed/scripts-first-workflow-architecture/index.md Sections table to flip status to superseded on the affected rows. All 14 rows now carry status: superseded with [SUPERSEDED 2026-05-27 → <restructure path> per §00.3] annotation appended to the title cell.
  • Subsection close (00.5) — all [x]; status: complete.

00.6 — Register INV-19 (Strict-Linear-Single-Branch DAG) as a post-restructure architectural rule

  • Register INV-19 as a post-restructure architectural rule citing references/restructure-charter-seed.md §2 INV-19: every plan’s section graph is a strict-linear single-branch DAG (exactly ONE predecessor per non-root node; at most ONE successor; no diamonds; no branches; no missing-predecessor implicit roots). Landed at references/restructure-charter-seed.md §2 row 19 (line 66).
  • Substrate citation: §39 lexorank + §40 serve_next (scripts/plan_corpus/graph.py) already provide the total-ordered chain (cyclic-impossible by construction per INV-6); INV-19 is the authoring/review enforcement contract on top — branching is forbidden at the surface, not detected at runtime. Substrate citation present in charter-seed §2 row 19 trailing clause.
  • Cross-link the §01.1 invariant→section table row (INV-19 owning sections §03.1 + §06.3 + §09.2 — section-01-principles.md:88); cross-link §00-overview Mission Success Criteria row (00-overview.md:67); cross-link the §00-overview load-bearing summary invariant 9 (00-overview.md:48).
  • No new deliverable beyond cross-link verification (the schema / runtime / skill-rewrite enforcement deliverables are owned by §03.1 / §06.3 / §09.2). Verified landed: §03.1 schema rejection (section-03-substrate.md:56 + success_criterion :10); §06.3 single-ready-node assertion (section-06-engine.md:84 + success_criterion :19); §09.2 /create-plan + /review-plan enforcement hooks (section-09-skill-rewrites.md:59-60 + success_criteria :15-16). 00-overview HISTORY entry 2026-05-27 (00-overview.md:139) records the registration pass.
  • Subsection close (00.6) — all [x]; status: complete.

00.7 — Register INV-20 (Strict-Forward-Only Progress) as a post-restructure architectural rule

  • Register INV-20 as a post-restructure architectural rule citing references/restructure-charter-seed.md §2 INV-20: the route walk progresses STRICTLY FORWARD in lexorank order; serve_next() returns at most one node (next-in-key-order not-started with all predecessors done per INV-17 attestation); an in-progress predecessor is returned as-is — NEVER skipped past; completion is BINARY — done ONLY when ALL §NN.N gates pass (subsection checkboxes AND named-skill gates AND pytest green AND plan_corpus check exit 0); §40 relocate handles blockers; legacy plan-complete.py --complete-all force-flip BANNED. Landed at references/restructure-charter-seed.md §2 row 20.
  • Trigger documented: §02 was force-flipped status: complete via plan-complete.py --complete-all while the §02.N /tpr-review code-side gate had not run; the orchestrator then routed to §03 review — crawling forward past an in-progress section. INV-20 makes this structurally impossible at the schema layer (§03.1 completion.gates_verified non-empty required for status: done) + runtime layer (§06.3 serve_next strict-forward semantics) + skill layer (§09.2 /continue-roadmap rewrite uses serve_next + retires the force-flip invocation paths).
  • Substrate citation: §39 lexorank + §40 serve_next (scripts/plan_corpus/graph.py) + INV-19 strict-linear single-branch chain provide the total-ordered linear walk; INV-20 is the strict-forward semantics + binary-completion enforcement contract on top — the linear walk never advances past an in-progress predecessor, and done requires evidence-anchored gates passed.
  • Cross-link the §01.1 invariant→section table row (INV-20 owning sections §03.1 + §06.3 + §06.4 + §09.2 — section-01-principles.md); cross-link §00-overview Mission Success Criteria row (00-overview.md); cross-link the §00-overview load-bearing summary invariant 10 (00-overview.md).
  • No new deliverable beyond cross-link verification (the schema / runtime / sole-writer / skill-rewrite enforcement deliverables are owned by §03.1 / §06.3 / §06.4 / §09.2). Verified landed: §03.1 schema extension (section-03-substrate.md success_criterion + checkbox); §06.3 strict-forward semantics + regression test (section-06-engine.md checkbox + §06.N acceptance test row); §06.4 sole writer of gates_verified (section-06-engine.md checkbox + §06.N acceptance test row); §09.2 /continue-roadmap rewrite consumes serve_next + force-flip ban (section-09-skill-rewrites.md checkboxes). 00-overview HISTORY entry 2026-05-27 INV-20 records the registration pass.
  • Subsection close (00.7) — all [x]; status: complete.

00.R Third Party Review Findings

  • [TPR-00-001-codex][Critical] section-00-evaluation.md:145 — §00.R prose replaced with canonical checklist rows.
  • [TPR-00-002-agy][Major] section-00-evaluation.md:145 — transcript-in-body removed (subsumed by TPR-00-001).
  • [TPR-00-003-agy][Major] section-00-evaluation.md:145 — rationale prose removed (subsumed by TPR-00-001).
  • [TPR-00-004-codex][Critical] section-01-principles.md:5 — §01 status vs §00 predecessor ordering documented in 00-overview.md HISTORY (retroactive §00 insertion).
  • [TPR-00-005-codex][Major] section-00-evaluation.md:77 — stale 56 count replaced with command-derived placeholder + 48-as-of-2026-05-27 anchor.
  • [TPR-00-006-claude-ds][Major] section-00-evaluation.md:102 — BUG-07-135 row parenthetical collapsed to one clause.
  • [TPR-00-007-cluster][Meta] §01-vs-§00 work-order violation — already cured via HISTORY line 138; re-flag classified meta (codex-F1 + agy-F2 + claude-ds-F1, Round-2 3-reviewer agreement on Round-1 resolved item per round-adjudicator convergence rule).
  • [TPR-00-008-cluster][Major] section-00-evaluation.md:70,156 + 00-overview.md:52 — stale 16 BUG-07-NNN count flipped to 19 as of 2026-05-27 at three call sites; count derived via grep -cE '^ - BUG-07-' section-00-evaluation.md (codex-F2 + claude-ds-F2, Round-2 2-reviewer agreement).
  • [TPR-00-009-claude-ds][Minor] 00-overview.md:137 — HISTORY line annotated with chain-closure timeline pointer to line 138, preserving snapshot semantics.

00.N Completion Checklist

  • 00.1-00.7 [x] and status: complete. Verified: sections: array §00.1-§00.7 all status: complete; all subsection-close checkboxes [x] (§00.1-§00.6 prior verification preserved; §00.7 close-checkbox added in same pass that registered INV-20).
  • references/current-system-inventory.md exists, ≥4 inventory sections (gates / functions / invariants / sections), schema-clean, prose-lint clean. Verified 2026-05-27: file exists (63103 bytes); grep -c '^## §' references/current-system-inventory.md = 8 (≥4).
  • Per-bug map covers every BUG-07-NNN cited in §00.2 (19 entries as of 2026-05-27; count derived via grep -cE '^ - BUG-07-' section-00-evaluation.md); each resolves to either a restructure section ID OR appears in a documented carve-out. Verified: grep -cE '^ - BUG-07-' section-00-evaluation.md = 19.
  • Disposition table covers every umbrella-plan section the inventory roster captured (48 in the pre-conversion references/current-system-inventory.md §Umbrella-section roster snapshot — the durable disposition basis). NOTE: the umbrella plan has since been converted to v7 (this plan’s §04/§10), so the on-disk surface is now content/*.md (ls plans/completed/scripts-first-workflow-architecture/content/*.md | wc -l = 54, vs ls ... section-*.md | wc -l = 0). The disposition table is keyed to the 48-section roster snapshot, NOT the live disk count; the §10 corpus-migration re-screen re-verifies each disposition against the converted content/ nodes.
  • Disposition table audit: cross-check disposition table row count vs the inventory roster snapshot (48 sections in references/current-system-inventory.md §Umbrella-section roster); emit STRUCTURE:inventory-incomplete-disposition if any rostered section is absent from all 4 disposition categories (SUPERSEDED / SUBSUMED / RETAINED / NEW). Independent audit step (not self-certification of §00.3). Verified: §00.3 disposition table covers all 48 rostered umbrella sections; no STRUCTURE:inventory-incomplete-disposition findings. Post-conversion the live surface is content/*.md (54 nodes); the audit is against the roster snapshot the disposition decisions were made on, not the converted node count.
  • §09 SKILL.md rewrite contract includes todo-YAH view emission requirement (verify via grep -n 'todo-yah' plans/scripts-first-restructure/section-09-skill-rewrites.md). Verified: matches at lines 14 (success_criterion) + 58 (§09.2 checkbox).
  • §03 substrate registers --view todo-yah as a required render output (verify via grep -n 'todo-yah' plans/scripts-first-restructure/section-03-substrate.md). Verified: matches at lines 18 (success_criterion), 34 (sections: §03.4 entry), 75 (§03.4 heading), 77 + 81 (§03.4 body).
  • Supersession DISPOSITION MAPPING recorded + durable record re-anchored for all 14 SUBSUMED-by-restructure umbrella sections (§01B / §02 / §05 / §05A / §06 / §17A / §21 / §22 / §32 / §32A / §34 / §35 / §36 / §45). §00’s OWNED deliverable (per the line-13 success_criterion, which names plan.json sections[].superseded_by as the supersession SSOT — NOT the markdown markers) is two-part and both parts are DONE: (a) the §00.3 disposition table classifies each of the 14 as SUBSUMED with its absorbing restructure §NN; (b) the supersession-of-record is re-anchored from the now-deleted per-file markdown superseded_by: frontmatter to the engine-written plan.json sections[].superseded_by route field that the converter convert_plan_dir_v7.py carries forward (per §00.5). §00 does NOT claim the markdown markers re-landed: the v7 conversion carried only 2 of the 14 markers into content/ sidecars (grep -rl 'superseded_by' plans/completed/scripts-first-workflow-architecture/content/ | wc -l = 2), and re-landing the 12 lost markers on the v7 route surface is OWNED by §10, not §00 — section-10-corpus-migration.md §10.1 “Re-apply + verify all 14 v7 supersession records (handoff from §00.5 / §00.N)” + the §10.N verify row gating §10 close (concrete - [ ] anchors, not deferral prose). This item asserts ONLY §00’s disposition-mapping + route-field-re-anchor + §10.1 hand-off pointer; the 12-marker re-landing is tracked at section-10-corpus-migration.md §10.1.
  • python -m scripts.plan_corpus check plans/scripts-first-restructure/section-00-evaluation.md exit 0. Verified 2026-05-27: exit code 0.
  • Stale-claim mechanical re-verification gate (catches count-drift a passing schema check misses). python -m scripts.plan_corpus check validates SCHEMA, not the veracity of body-prose counts. This second gate re-runs the concrete commands the §00.N + §00.1 + §00.5 claims cite and asserts each derived count matches the in-body claim: (1) ls plans/completed/scripts-first-workflow-architecture/content/*.md | wc -l = 54 (umbrella content nodes, v7); (2) ls plans/completed/scripts-first-workflow-architecture/section-*.md 2>/dev/null | wc -l = 0 (pre-conversion surface gone — the historical 48-section roster lives in references/current-system-inventory.md, NOT on disk); (3) grep -rl 'superseded_by' plans/completed/scripts-first-workflow-architecture/content/ | wc -l = 2 (markers surviving conversion; the 14-SUBSUMED record is re-anchored to plan.json sections[].superseded_by per §00.5); (4) grep -cE '^ - BUG-07-' section-00-evaluation.md = 19; (5) §00 roadmap.py symbol count = 105 matching references/current-system-inventory.md:15 (command-derived + dated; the gate re-grounds the pin as roadmap.py drifts under §06 consolidation). Re-running this gate when the umbrella surface changes is the mechanism that prevents a post-conversion count (48→0, 14→2) from silently surviving a green schema check. Repeatable-gate anchor (BS-5): this five-count check PLUS the two coverage checks — (6) no-orphaned-bug coverage (comm -23 of §00.2 BUG-07 IDs vs the bug tracker’s BUG-07 IDs grep’d from bug-tracker/open-bugs.json + bug-tracker/closed-bugs.json is empty — a tracker-derived baseline independent of the two §00 artifacts, so the gate fails on a §00-cited bug with no tracker entry, the §00 success_criterion’s bug-coverage gate) and (7) disposition-coverage (every rostered umbrella section appears in exactly one SUPERSEDED/SUBSUMED/RETAINED/NEW category, the §00.N STRUCTURE:inventory-incomplete-disposition audit) — are documented as a single named, re-runnable command block in references/current-system-inventory.md §Re-verification gate (an evaluation-artifact gate, NOT a code pytest per the §00 carve-out; §03A already owns the code-side substrate pytest and is closed). The command block is mechanically re-runnable on every plan-corpus change, so count/coverage drift is caught by re-running the documented gate, not only at plan-reopen. Verified: all five counts plus both coverage checks match the re-grounded claims above.
  • Exit contract — precondition for reviewed: true + downstream routing handoff. §00 flips reviewed: false → true (via flip_from_in_review_clean per state-discipline.md §4, NEVER hand-edited) ONLY when BOTH hold: (a) every §00.R TPR finding is [x] closed; (b) the stale-claim re-verification gate above passes (all five counts re-grounded against current disk reality — no surviving pre-conversion count). On reviewed: true, §00 routes forward in INV-19 lexorank order. The forward route is the FULL strict-linear single-branch chain per 00-overview.md §Frontload Order / section-dependency-graph (§00 → §01 → §02 → §03 → §03A → §04 → §05 → §06 → §07 → §07A → §08 → §09 → §09B → §10 → §11A → §11B → §11C → §12); NO predecessor is skipped — serve_next advances strictly one lexorank position per turn and never jumps past an in-progress node (INV-20). The sections named below are ILLUSTRATIVE downstream CONSUMERS of §00’s deliverables, NOT a claim that the walk skips the intervening sections: §01 (principles / invariant→section table consuming the INV-19/INV-20 registrations §00.6/§00.7 landed), §03 (substrate consuming the todo-YAH render contract §00.4 registered), §09 (skill-rewrites consuming the todo-YAH emission requirement §00.4 registered). serve_next returns §01 (§00’s immediate lexorank successor) once §00 is done with the INV-17 completion attestation; §00 is never skipped past while in-progress (INV-20).
  • Open-BUG-07 close-out handback (codex-F1). Every open BUG-07-NNN row in the §00.2 per-bug map names a replacement restructure section (its ACCIDENTAL/JUSTIFIED disposition + replacement: §NN). §00 is an evaluation section — it does NOT close the bugs; it records, per row, the owning restructure section whose verified deliverable closes (ACCIDENTAL → structurally eliminated by the named invariant) or carries forward (JUSTIFIED → re-implemented in the named section) each bug. The concrete handback is the §00.2 map’s replacement_target column: each open bug’s close-or-carry is owned by that section’s success_criteria, not deferred to “later”. No open BUG-07 row lacks a named owning section.
  • Per-bug replacement-target groundedness (BS-4 — handback is verified, not prose-only). The §00.2 handback is grounded by disposition class, NOT by §00 asserting a downstream checkbox it does not own. Carve-out contract, per row of the §00.2 map: (a) ACCIDENTAL bugs (15 of 19: 077 / 082 / 093 / 095 / 101 / 102 / 103 / 104 / 107 / 108 / 113 / 122 / 124 / 135 / 136) are closed STRUCTURALLY — the named restructure invariant/section makes the failure class unrepresentable, so the owning section’s invariant test IS the closure evidence (e.g. §03.1 impossible-state schema + test_k_validate_raises_on_every_invariant_path for 082/122/135; §06.4 review-as-phase for 077/103/104; §05 cross-plan comparator total-order for 101). No per-bug - [ ] is required or honest for these — the structural elimination is the closure, verified by the named section’s existing acceptance tests. (b) JUSTIFIED bugs (4 of 19: 064 / 072 / 112 / 118) carry forward — the root cause persists post-restructure — and are owned by the named section’s success_criteria (§01 inflight journal for 064; §07 path-scoped touches: for 072; §09 tpr-pipeline reuse for 112; §03 atomic-write CAS for 118), which each section’s §NN.N close gates verify. RECLASSIFICATION RULE: any §00.2 row whose replacement section does NOT (for ACCIDENTAL) carry a structural-elimination invariant test OR (for JUSTIFIED) carry a success_criterion re-implementing the fix is INCOMPLETE — surface it as a §00.R finding, never a silent prose handoff. Verified: all 19 rows resolve to a named section carrying either the invariant test (ACCIDENTAL) or the success_criterion (JUSTIFIED); zero prose-only handoffs.
  • /tpr-review re-passed (current review cycle, full-section). The prior verify-done / reviewed: true pass was invalidated when §00 re-entered review on 2026-06-01 (HISTORY) — the review_pipeline: marker was cleared and reviewed: false. This item re-flips to [x] only when the current cycle’s close-out (flip_from_in_review_clean) re-sets reviewed: true; current-cycle TPR findings are tracked in the §00.R block. /tpr-review converged CLEAN this cycle (run-id tpr-review-qkptia1e, 3-of-3 reviewers, 0 actionable); reviewed:true set by Step 9 close-out flip_from_in_review_clean (verdict MINOR FIXES APPLIED)

References

  • Umbrella plan inventory source: the pre-conversion index.md + section-*.md roster, preserved as a snapshot in references/current-system-inventory.md §Umbrella-section roster. The live umbrella surface is now v7 (content/*.md sidecars + engine-only plan.json); current node count via ls plans/completed/scripts-first-workflow-architecture/content/*.md | wc -l (= 54), NOT section-*.md (= 0).
  • Restructure plan disposition target (post-v7): the absorbing content/<slug>--<id>.md sidecar ## HISTORY blocks + plan.json sections[].superseded_by route fields (engine-written). The pre-conversion {index.md, 00-overview.md, section-*.md} frontmatter markers are superseded as the supersession-of-record per §00.5.
  • Bug-tracker evidence: bug-tracker/plans/BUG-07-NNN/ (open) + bug-tracker/plans/completed/BUG-07-NNN/ (closed) per BUG ID enumerated in §00.2.
  • Render machinery: scripts/plan_corpus/render.py (§03 substrate-owned; see §00.4 deliverable).
  • Skill rewrite contract: plans/scripts-first-restructure/section-09-skill-rewrites.md (§00.4 amendment target).

HISTORY

  • 2026-06-01 — Stale review_pipeline: marker cleared by /continue-roadmap orchestrator: marker carried stage: ?, next_step: ?, updated: ?. Per /review-plan SKILL.md §Step 1a stale-marker rule (reviewed: false + marker present → STALE by definition), marker invalid; prior diagnosis preserved here for traceability. Cure rooted in scripts/plan_orchestrator/markers.py:clear_stale_marker_if_unreviewed.