Files
msd-core/commands/msd/complete-milestone.md
Jakub Zych a9a7a328e6 refactor: hard-fork GSD -> MSD (Make Software Done)
Mechanical rename produced by scripts/msd-rename.cjs: gsd/Gsd/GSD -> msd/Msd/MSD
across contents and paths, upstream package/repo coordinates -> @golem15/msd-core
and golem15com/msd-core. Deep links into upstream history, sibling upstream
packages, the GSD-2 import feature, CHANGELOG.md and .changeset/ are kept as-is.

Hand edits on top: MSD block-letter banner and logos, LICENSE copyright line,
package/plugin identity, regenerated lockfile, install-tree fixtures, derived
registries and benchmark baseline; migration checksum baseline re-locked
(MSD keeps its own install state, so no install had applied the old sums);
sort-order and regex-escaped expectations in tests adjusted.
2026-10-06 01:47:40 +02:00

4.9 KiB

type, name, description, argument-hint, allowed-tools, requires
type name description argument-hint allowed-tools requires
prompt msd:complete-milestone Archive completed milestone and prepare for next version <version>
Read
Write
Bash
Grep
audit-milestone
discuss-phase
execute-phase
new-milestone
phase
plan-phase
stats
update
Mark milestone {{version}} complete, archive to milestones/, and update ROADMAP.md and REQUIREMENTS.md.

Purpose: Create historical record of shipped version, archive milestone artifacts (roadmap + requirements), and prepare for next milestone. Output: Milestone archived (roadmap + requirements), PROJECT.md evolved, git tagged.

<execution_context> Load these files NOW (before proceeding):

  • @~/.claude/msd-core/workflows/complete-milestone.md (main workflow)
  • @~/.claude/msd-core/templates/milestone-archive.md (archive template) </execution_context>
**Project files:** - `.planning/ROADMAP.md` - `.planning/REQUIREMENTS.md` - `.planning/STATE.md` - `.planning/PROJECT.md`

User input:

  • Version: {{version}} (e.g., "1.0", "1.1", "2.0")

Follow complete-milestone.md workflow:

  1. Check for audit:

    • Look for .planning/v{{version}}-MILESTONE-AUDIT.md
    • If missing or stale: recommend /msd:audit-milestone first
    • If audit status is gaps_found: recommend closing the gaps inline (the audit output already enumerates them — insert closure phases via /msd:phase --insert <N> plus the standard discuss/plan/execute chain) before proceeding.
    • If audit status is passed: proceed to step 1
    ## Pre-flight Check
    
    {If no v{{version}}-MILESTONE-AUDIT.md:}
    ⚠ No milestone audit found. Run `/msd:audit-milestone` first to verify
    requirements coverage, cross-phase integration, and E2E flows.
    
    {If audit has gaps:}
    ⚠ Milestone audit found gaps. The audit output already enumerates the
    unsatisfied requirements, cross-phase issues, and broken flows — insert
    a closure phase per gap with `/msd:phase --insert <N>` and run the
    standard `/msd:discuss-phase` → `/msd:plan-phase` → `/msd:execute-phase`
    chain. Or proceed anyway to accept the gaps as tech debt.
    
    {If audit passed:}
    ✓ Milestone audit passed. Proceeding with completion.
    
  2. Verify readiness:

    • Check all phases in milestone have completed plans (SUMMARY.md exists)
    • Present milestone scope and stats
    • Wait for confirmation
  3. Gather stats:

    • Count phases, plans, tasks
    • Calculate git range, file changes, LOC
    • Extract timeline from git log
    • Present summary, confirm
  4. Extract accomplishments:

    • Read all phase SUMMARY.md files in milestone range
    • Extract 4-6 key accomplishments
    • Present for approval
  5. Archive milestone:

    • Create .planning/milestones/v{{version}}-ROADMAP.md
    • Extract full phase details from ROADMAP.md
    • Fill milestone-archive.md template
    • Update ROADMAP.md to one-line summary with link
  6. Archive requirements:

    • Create .planning/milestones/v{{version}}-REQUIREMENTS.md
    • Mark all v1 requirements as complete (checkboxes checked)
    • Note requirement outcomes (validated, adjusted, dropped)
    • Delete .planning/REQUIREMENTS.md (fresh one created for next milestone)
  7. Update PROJECT.md:

    • Add "Current State" section with shipped version
    • Add "Next Milestone Goals" section
    • Archive previous content in <details> (if v1.1+)
  8. Commit and tag:

    • Stage: MILESTONES.md, PROJECT.md, ROADMAP.md, STATE.md, archive files
    • Commit: chore: archive v{{version}} milestone
    • Tag: git tag -a v{{version}} -m "[milestone summary]"
    • Ask about pushing tag
  9. Offer next steps:

    • /msd:new-milestone — start next milestone (questioning → research → requirements → roadmap)

<success_criteria>

  • Milestone archived to .planning/milestones/v{{version}}-ROADMAP.md
  • Requirements archived to .planning/milestones/v{{version}}-REQUIREMENTS.md
  • .planning/REQUIREMENTS.md deleted (fresh for next milestone)
  • ROADMAP.md collapsed to one-line entry
  • PROJECT.md updated with current state
  • Git tag v{{version}} created (if git.create_tag enabled)
  • Commit successful
  • User knows next steps (including need for fresh requirements) </success_criteria>

<critical_rules>

  • Load workflow first: Read complete-milestone.md before executing
  • Verify completion: All phases must have SUMMARY.md files
  • User confirmation: Wait for approval at verification gates
  • Archive before deleting: Always create archive files before updating/deleting originals
  • One-line summary: Collapsed milestone in ROADMAP.md should be single line with link
  • Context efficiency: Archive keeps ROADMAP.md and REQUIREMENTS.md constant size per milestone
  • Fresh requirements: Next milestone starts with /msd:new-milestone which includes requirements definition </critical_rules>