v10.0.0
Remediates the Glings sprint 002 retrospective. External Review can now return partial coverage from batched reviews instead of silently skipping, a failed dev/tester dispatch is reconstructed from git evidence before it is re-sent, plans declare a change surface capped at 100 files, and decisions-log.md / test-plan.md rotate into numbered segments so long sprints stay readable.
Migration (breaking)
- Merge duplicate
## Defectssections.node .asd/runtime.js defect-stalematenow fails closed when atest-plan.mdholds more than one## Defectsheading (exact or suffixed), naming each heading line. Before resuming an active sprint, merge those sections into the single table. There is no migration script. - External Review skip is narrowed.
APPROVE (skipped: ...)now applies only to a non-ready preflight or an active negative cache; a failure after invocation is an interrupted dispatch, orAPPROVE (partial: <n>/<m> files; <cause>)when at least one batch completed with no finding at or above floor (external-review.md"Outcome contract"). A partial satisfies only its iteration and never latches; unreviewed files carry into the next iteration. - New hard gate
change-surface cap override. A plan whoseChange surface: <n> filesexceedsSURFACE_CAP_FILES(100) blocks acceptance until split into sequential sprints or overridden with a bound; impl-review re-measures at first entry. Plans without the line are grandfathered. - Commit trailer contract. Every commit a dispatched dev or tester makes carries one
ASD-Task: <id>line per id it covers (git-strategy.md"Commits").
Added
- Failed-dispatch reconstruction (
sprint-lifecycle.md"State recovery"): the routing line recordsdispatch HEAD <sha>; a dispatch returning no signal is rebuilt fromASD-Tasktrailers and uncommitted leftovers before re-dispatch. An impl-test trailer never marks its entry landed, and aD-Nlands only once its Defects row readsfixed. - External Review batching: scope above
SPLIT_THRESHOLD_FILESis reviewed in sequential batches inside one dispatch;t_review-report.mdgainsReviewed filesandUnreviewed files. node .asd/runtime.js surface-check --files <path> [--bound <n>]andSURFACE_CAP_FILES.- Standing n/a for Documentation
Framework modeandTemplate adherence:emit-manifest --self-hostingand a templated-artefact classifier let split parts mark them n/a truthfully. - Log rotation (
artifact-layout.md"Decisions log", "Test plan"):decisions-log.NNN.mdat a phase change,test-plan.entry-NN.mdat impl-test re-entry; cross-span readers read segments in order.
Changed
defect-stalematetable errors name the offending line (line <n>: ...) and validate the separator row.state.jsoncarries only keyst_state.jsondefines;gate_decisionsreason/evidence are short refs, narrative goes to the decisions log (artifact-layout.md"State file").- Test coverage grew from 203 to 207 checks.