Tasks: Canonical Status Model Cleanup

Feature: 060-canonical-status-model-cleanup Branch: main → main Date: 2026-03-31 Spec: spec.md | Plan: plan.md

Subtask Index

IDDescriptionWPParallel
T001Create bootstrap helper in status/bootstrap.py (scan WPs → check event log → emit → materialize)WP01
T002Write tests for bootstrap helperWP01
T003Integrate bootstrap into feature.py finalize-tasks + --validate-onlyWP02
T004Update feature.py:640 generated README (lane-free)WP02
T005Write tests for feature.py finalize-tasks bootstrapWP02
T006Integrate bootstrap into tasks.py finalize-tasks + --validate-onlyWP03
T007Remove lane= from tasks.py:1169 move_task body noteWP03
T008Remove lane= from tasks.py:1572 add_note body noteWP03
T009Delete tasks.py:1088-1115 bootstrap/sync block + add hard-failWP03
T010Write tests for tasks.py changesWP03
T011Remove lane= from workflow.py:476 implement body noteWP04[P]
T012Remove lane= from workflow.py:1010 review body noteWP04[P]
T013Remove workflow.py:390 implement frontmatter fallback + hard-failWP04[P]
T014Remove workflow.py:954 review frontmatter fallback + hard-failWP04[P]
T015Write tests for workflow hard-fail behaviorWP04[P]
T016Clean specify_cli mission templates (4 files)WP05[P]
T017Clean specify_cli command templates (2 files)WP05[P]
T018Clean doctrine root templateWP05[P]
T019Clean doctrine mission templates (3 files)WP05[P]
T020Add regression test scanning templates for lane:WP05[P]
T021Update worktree.py:384 generated README (lane-free)WP06
T022Remove lane from conftest.py WP fixturesWP06
T023Update active tests that assert lane: in modern WP frontmatterWP06
T024tasks_support.py:293 — remove frontmatter fallback, hard-failWP07
T025dashboard/scanner.py:322 + :454 — remove both fallback branchesWP07
T026mission_v1/guards.py:169 — delete/redirect to lane_readerWP07
T027next/runtime_bridge.py:117 — use lane_readerWP07
T028merge.py:72 — remove frontmatter fallbackWP07
T029Tests for hard-fail (event log absent, WP missing → uninitialized/error)WP07
T030Mark repair_lane_mismatch + history_parser as migration-onlyWP08
T031Add migration-only docstrings to m_0_9_1, m_2_0_6WP08
T032Update active docs (README, CLAUDE.md, command help)WP08
T033Add targeted regression guard tests (template scan + runtime scan)WP08

Work Packages

Wave 1 (parallel)

WP01 — Canonical Bootstrap Helper

Priority: P1 (foundation for all other WPs) Prompt: tasks/WP01-canonical-bootstrap-helper.md Subtasks: T001-T002 (2 subtasks, ~300 lines) Dependencies: None Goal: Create a shared bootstrap_canonical_state() function that scans WPs, checks event log, emits initial planned events, and materializes status.json.

WP05 — Template Cleanup

Priority: P1 (parallel with WP01) Prompt: tasks/WP05-template-cleanup.md Subtasks: T016-T020 (5 subtasks, ~400 lines) Dependencies: None (template text changes only — no runtime code) Goal: Remove lane from all active template frontmatter, activity log examples, and history entries across specify_cli and doctrine.

Wave 2 (parallel, after WP01)

WP02 — feature.py Changes

Priority: P1 Prompt: tasks/WP02-feature-finalize-readme.md Subtasks: T003-T005 (3 subtasks, ~350 lines) Dependencies: WP01 Goal: Integrate canonical bootstrap into feature.py finalize-tasks, add --validate-only, update generated README.

WP03 — tasks.py Changes

Priority: P1 Prompt: tasks/WP03-tasks-finalize-body-bootstrap.md Subtasks: T006-T010 (5 subtasks, ~450 lines) Dependencies: WP01 Goal: Integrate canonical bootstrap into tasks.py finalize-tasks, remove lane= body notes, delete bootstrap/sync block.

WP04 — workflow.py Changes

Priority: P1 Prompt: tasks/WP04-workflow-body-fallback.md Subtasks: T011-T015 (5 subtasks, ~400 lines) Dependencies: WP01 Goal: Remove lane= from workflow body notes, remove implement/review frontmatter fallbacks, add hard-fail.

Wave 3 (parallel, after WP02+WP03)

WP06 — Generators + Test Fixtures

Priority: P1 Prompt: tasks/WP06-generators-test-fixtures.md Subtasks: T021-T023 (3 subtasks, ~300 lines) Dependencies: WP02, WP03 Goal: Update worktree.py README generator, remove lane from test fixtures, update tests.

WP07 — Runtime Fallback Removal

Priority: P1 Prompt: tasks/WP07-runtime-fallback-removal.md Subtasks: T024-T029 (6 subtasks, ~500 lines) Dependencies: WP02, WP03 Goal: Remove frontmatter-lane fallbacks from tasks_support, scanner, guards, runtime_bridge, merge. Add hard-fail tests.

Wave 4

WP08 — Migration Fence + Docs + Guards

Priority: P2 Prompt: tasks/WP08-migration-fence-docs-guards.md Subtasks: T030-T033 (4 subtasks, ~350 lines) Dependencies: WP07 Goal: Mark migration-only code, update docs, add regression guards.

Dependency Graph

WP01 (Bootstrap Helper) ──┬──▶ WP02 (feature.py) ──┐
                          ├──▶ WP03 (tasks.py)    ──┼──▶ WP06 (Generators+Fixtures)
                          ├──▶ WP04 (workflow.py)   ├──▶ WP07 (Fallback Removal) ──▶ WP08 (Fence+Docs)
WP05 (Templates)          │                         │
  (parallel with WP01)    └─────────────────────────┘

Parallelization Waves

WaveWPsAgents
1WP01, WP052 parallel
2WP02, WP03, WP043 parallel
3WP06, WP072 parallel
4WP081

Critical path: WP01 → WP03 → WP07 → WP08

Requirement Coverage

WPRequirements
WP01FR-001, FR-002, FR-003
WP02FR-001, FR-002, FR-003, FR-011
WP03FR-001, FR-002, FR-003, FR-007, FR-009
WP04FR-007, FR-008
WP05FR-004, FR-006, FR-010
WP06FR-005, FR-011, FR-013
WP07FR-008, FR-009, FR-009a
WP08FR-012, FR-014, FR-015, FR-016, FR-017