Files
msd-core/.changeset/1591-phase-complete-details-wrapped-checklist.md
Tom Boucher 1bd04e1565 docs(#1847): add Claude Sonnet 5 changeset for next-line changelog + refresh stale model examples
The 1.6.1 forward-port (#1851) used the no-changelog opt-out instead of carrying
a changeset, so Sonnet 5 — unlike every other 1.6.1 fix (#1580/#1591/#1693 whose
fragments live on next) — had no fragment and would be MISSING from the 1.7.0
changelog. Add the fragment so the release render reflects current shipping code.
Also note the bold-checklist form in the #1591 fragment, and refresh two stale
claude-sonnet-4-6 illustrative examples to current IDs.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 23:04:13 -04:00

1.2 KiB

type, pr
type pr
Fixed 1819

phase.complete no longer reports a false is_last_phase on a <details>-wrapped checkbox checklist (#1591, #1752) — when the active milestone's phase checklist was written as - [ ] Phase N: checkbox items inside a <details> block and the next phase had no directory on disk yet (still in planning), phase.complete's isLastPhase roadmap-enumeration fallback used a heading-only pattern (/#{2,4}\s*Phase…/) that never matched checkbox items. It returned is_last_phase: true, next_phase: null on a mid-milestone phase and — via the milestone-complete cascade — wrongly flipped STATE.md to Milestone complete and decremented progress.total_phases (e.g. 8 → 7). The pattern now matches heading-style (### Phase N:), plain checkbox-list phases (- [ ] Phase N: / - [x] Phase N:), and the canonical bold checklist form the roadmap template emits (- [ ] **Phase N: Name**); extractCurrentMilestone already surfaces the <details>-wrapped checklist correctly, so no parser change was needed. Only the reproduced phase.complete fallback is changed; the heading-only sibling patterns elsewhere in phase.cts are untouched.