Files
msd-core/.changeset/archived/mvp-resolution-verbs-and-fix-sdk-mode.md
Tom Boucher 8616839cab chore: archive 463 shipped changeset fragments before wiring render (#714)
CHANGELOG promotion was a manual operator step that was never run, so 463
fragments for work already shipped in <=1.3.1 accumulated in .changeset/.
Their notes were already hand-curated into the dated [1.2.0]/[1.3.0]/[1.3.1]
CHANGELOG sections (#690 backfill, PR #694). Rendering them now would
duplicate and mis-attribute shipped work.

Move them to .changeset/archived/ (read non-recursively by all changeset
tooling, so never rendered), keeping only the 3 genuinely-unreleased
fragments at the top level. Prep for wiring `render` into the release
finalize job (#690 follow-up).

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 14:53:17 -04:00

13 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
type: Changed
pr: 3178
---
**MVP umbrella structural cleanup + SDK roadmap mode-extraction fix** — three new query verbs centralize the MVP-mode resolution surfaces previously duplicated across workflows and prose-only references; one bug fix in the SDK roadmap port restores parity with `roadmap.cjs`.
- **`gsd-sdk query phase.mvp-mode <N> [--cli-flag] [--pick active]`** — single canonical precedence resolver (CLI flag → ROADMAP `**Mode:** mvp` → `workflow.mvp_mode` config → false). `plan-phase.md`, `execute-phase.md`, `verify-work.md`, `progress.md` now call the verb instead of inlining 4–8 lines of bash each. Returns `{active, source, roadmap_mode, config_mvp_mode, cli_flag_present}`.
- **`gsd-sdk query task.is-behavior-adding <plan-file> | --task-content <xml>`** — replaces the prose-only Behavior-Adding Task predicate from `references/execute-mvp-tdd.md`. Three checks (tdd="true" frontmatter + non-empty `<behavior>` block + at least one non-test source file in `<files>`). The gsd-executor agent now invokes the verb instead of re-inlining the checks. Returns `{is_behavior_adding, checks: {tdd_true, has_behavior_block, has_source_files}, reason}`.
- **`gsd-sdk query user-story.validate "<text>" | --story <text>`** — owns the canonical User Story regex `/^As a .+, I want to .+, so that .+\.$/` (was hardcoded in `verify-work.md` prose). Consumed by gsd-verifier (phase-goal guard) and `/gsd-mvp-phase` (interactive-prompt validation). Returns `{valid, slots: {role, capability, outcome}, errors[]}`.
- **Bug fix: SDK `roadmap.get-phase` now extracts `mode` from `**Mode:**`** — the SDK port at `sdk/src/query/roadmap.ts` had silently omitted the `mode` field that the CJS implementation already extracted (`get-shit-done/bin/lib/roadmap.cjs:120-123`). On the native dispatch path, `roadmap.get-phase --pick mode` returned `null` even when the phase had `**Mode:** mvp` set, causing MVP_MODE to silently fall through to the config/false branch in every consuming workflow. Restores parity; covered by regression test.
24 new vitest tests cover all three verbs + the regression. All existing MVP contract tests updated to assert the new verb shape (no behavior change to the user-facing workflows). Closes #3177.