Files
msd-core/msd-core/references/offer-next.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

3.0 KiB

Exception: If gaps_found, the verify_phase_goal step already presents the gap-closure path (/msd:plan-phase {X} --gaps). No additional routing needed — skip auto-advance.

No-transition check (spawned by auto-advance chain):

Parse --no-transition flag from $ARGUMENTS.

If --no-transition flag present:

Execute-phase was spawned by plan-phase's auto-advance. Do NOT run transition.md. After verification passes and roadmap is updated, return completion status to parent:

## PHASE COMPLETE

Phase: ${PHASE_NUMBER} - ${PHASE_NAME}
Plans: ${completed_count}/${total_count}
Verification: {Passed | Gaps Found}

[Include aggregate_results output]

STOP. Do not proceed to auto-advance or transition.

If --no-transition flag is NOT present:

Auto-advance detection:

  1. Parse --auto flag from $ARGUMENTS
  2. Read consolidated auto-mode (active = chain flag OR user preference; chain flag already synced in init step):
    AUTO_MODE=$(msd_run query check auto-mode --pick active 2>/dev/null || echo "false")
    

If --auto flag present OR AUTO_MODE is true (AND verification passed with no gaps):

### AUTO-ADVANCING → TRANSITION

Phase {X} verified, continuing chain

Execute the transition workflow inline (do NOT use Agent — orchestrator context is ~10-15%, transition needs phase completion data already in context):

Read and follow ~/.claude/msd-core/workflows/transition.md, passing through the --auto flag so it propagates to the next phase invocation.

If neither --auto nor AUTO_MODE is true:

STOP. Do not auto-advance. Do not execute transition. Do not plan next phase. Present options to the user and wait.

IMPORTANT: There is NO /msd-transition command. Never suggest it. The transition workflow is internal only.

Check whether CONTEXT.md already exists for the next phase:

ls .planning/phases/*{next}*/{next}-CONTEXT.md 2>/dev/null || echo "no-context"

If CONTEXT.md does not exist for the next phase, present:

## ✓ Phase {X}: {Name} Complete

/msd:progress ${MSD_WS} — see updated roadmap
/msd:discuss-phase {next} ${MSD_WS} — start here: discuss next phase before planning  ← recommended
/msd:plan-phase {next} ${MSD_WS} — plan next phase (skip discuss)
/msd:execute-phase {next} ${MSD_WS} — execute next phase (skip discuss and plan)

If CONTEXT.md exists for the next phase, present:

## ✓ Phase {X}: {Name} Complete

/msd:progress ${MSD_WS} — see updated roadmap
/msd:plan-phase {next} ${MSD_WS} — start here: plan next phase (CONTEXT.md already present)  ← recommended
/msd:discuss-phase {next} ${MSD_WS} — re-discuss next phase
/msd:execute-phase {next} ${MSD_WS} — execute next phase (skip planning)

Only suggest the commands listed above. Do not invent or hallucinate command names.