0%

Section 11A — Strip Skill Markdown-Walk (Skills -> v7-only)

SUPERSEDED by decisions/05-three-plan-types.md (INV-22, user directive 2026-05-31). The markdown-walk strip is CANCELLED. Markdown is a permanently-supported LEGACY plan type, so the markdown-walk path (_step_5_emit_focus focus-picker + bucket-classification + the §09 shape-detect markdown branch) is RETAINED, not deleted. The orchestrator stays SHAPE-DETECT (v7 + legacy-markdown both live), never v7-only. The INV-20 --complete-all / auto_complete_section.py retirement applies to the JSON path ONLY; the legacy-markdown path keeps its existing completion mechanics. This section’s strip deliverables below are HISTORICAL — do not execute them; re-scope to “markdown-walk is permanent legacy support” per Decision 05.

Cites §01 north star (invariants 1, 18, 20); gated on §09 dogfood (v7 proven on the subject plan) + §10 (corpus uniformly v7, the markdown-walk path is dormant with no inputs). CONSUMER strip — lands before §11B (parsers) so no skill references a deleted parser.

Goal

See frontmatter. §09 ADDED the v7 path and RETAINED the markdown-walk path for transition safety; §10 made the corpus uniformly v7 (markdown-walk dormant). Now the markdown-walk consumer is removed so the orchestrator skills are v7-only, completing the INV-20 retirements §09 deferred. The §11B parsers strip follows once no skill consumes them.

Ordering — consumer before provider (ABSOLUTE)

  • The skill markdown-walk path (in scripts/plan_orchestrator/: focus-picker, roadmap_scan) CONSUMES the scripts/plan_corpus/ markdown parsers (_load_plan_markdown, plan_io.parse_plan, _frontmatter split).
  • Python imports are eager at module load: deleting the parsers (§11B) while a skill still imports them breaks the tree even if the path is never executed.
  • Therefore the consumer (skills, §11A) is stripped FIRST; the now-dead provider (parsers, §11B) is stripped SECOND. Linear chain: §10 -> §11A -> §11B -> §12.

11A.1 — Delete focus-picker + bucket-classification + shape-detect markdown branch

  • scripts/plan_orchestrator/: delete _step_5_emit_focus (the 80+-function focus-picker) + the bucket-classification logic (actionable / bug_blocked_sections / needs_review_plan_dispatch). The §09 shape-detect dispatch collapses to v7-only — route_walk.serve_next is the sole walk path.
  • Delete scripts/plan_orchestrator/roadmap.py (the thin delegate §06.3 left forwarding to route_walk) + re-point all ~106 import references (scripts/plan_orchestrator/cli.py, scripts/review_plan_runtime/review_plan.py, the commit_push dispatch path, 30+ tests) to route_walk directly — the orchestrator dead-import sweep §06.3 deferred here (per section-06-engine.md ar-roadmap-route-walk-migration). Grep-verify zero remaining roadmap import references before deleting.
  • Every consuming-skill body (closed set per §09.1): delete the markdown-walk directive + any focus-picker / section_info-pointer prose; the body carries ONLY the v7 dispatch.
  • Subsection close (11A.1) — all [x]; status: complete.

11A.2 — Remove auto_complete_section.py + —complete-all invocation paths (INV-20 retirement)

  • Delete scripts/plan_orchestrator/auto_complete_section.py + the auto_complete_outcome flow; delete every plan-complete.py --complete-all invocation path from the rewritten skill bodies. (These were RETAINED through §09/§10 for the markdown path; with markdown gone they retire per INV-20.)
  • Acceptance: grep -rn 'plan-complete.py.*--complete-all\|auto_complete_outcome\|auto_complete_section\|_step_5_emit_focus' .claude/skills/ scripts/plan_orchestrator/ returns zero matches.
  • Subsection close (11A.2) — all [x]; status: complete.

11A.3 — Collapse the read-discipline rules to single-read; grep-verify + test-all

  • plan-read-discipline.md + context-discipline.md: remove the markdown orchestrator-pointer / executor-full-file split; the single-read (whole body_ref) model is the SOLE documented contract (per decisions/02-content-as-context-unit.md). The §09-added v7 single-read model becomes the only model.
  • Grep-verify the orchestrator no longer feeds a section_info fragment into next_action (pairs with §11B’s INV-18 grep on the parser side).
  • plan-read-discipline-lint --strict exit 0 corpus-wide; script_first_audit.py --all clean; ./test-all.sh green (timeout 150); a v7 plan still runs end-to-end through serve_next.
  • Subsection close (11A.3) — all [x]; status: complete.

11A.R Third Party Review Findings

  • None.

11A.N Completion Checklist

  • 11A.1-11A.3 [x] and status: complete.
  • All success criteria have [x] checkboxes.
  • Grep confirms zero _step_5_emit_focus / auto_complete_section / --complete-all matches in skills + plan_orchestrator.
  • ./test-all.sh green; v7 plan runs end-to-end; python -m scripts.plan_corpus check plans/scripts-first-restructure/section-11A-*.md exit 0.
  • /tpr-review passed (final, full-section).

References

  • §09 (additive v7 path — the markdown-walk this section removes was retained there); §10 (corpus uniformly v7 — precondition); §06.3 route_walk.serve_next (the sole surviving walk path); §06.4 review-as-phase (sole writer of gates_verified).
  • §11B (strip-parsers) follows this section — the now-dead plan_corpus markdown parsers are removed once §11A leaves no consumer.
  • §01 invariants 1, 18, 20; references/restructure-charter-seed.md §2 INV-20 (force-flip ban + focus-picker retirement, deferred from §09 to here).