fix(#4247): refuse update-plan-progress on a roadmap with no writable phase entry (#4468)

* test(#4247): failing-first regressions for checklist-form update-plan-progress

* fix(#4247): refuse update-plan-progress when the roadmap has no writable phase entry

* fix(#4247): single local source for the phase-heading anchor grammar

* docs(#4247): note the missing_phase_details refusal in cli-tools reference

* docs(#4247): backfill pr number in changeset

---------

Co-authored-by: sim <sim@local>
This commit is contained in:
Tom Boucher
2026-09-07 02:20:47 -04:00
committed by GitHub
parent 03c770be47
commit c4b6dbd486
4 changed files with 448 additions and 7 deletions

View File

@@ -434,6 +434,12 @@ node gsd-tools.cjs roadmap analyze
node gsd-tools.cjs roadmap update-plan-progress <N>
```
When the phase has no writable ROADMAP entry — no matching Progress-table row,
no `### Phase N` detail section, and no checklist bullet this command can update
(the checklist-only form) — the command declines with `updated: false` and a
`missing_phase_details` reason instead of claiming success, and leaves
`ROADMAP.md` byte-identical.
### Milestone window scope (`roadmap analyze`)
`roadmap analyze` scopes its phase list to the current milestone's section of