gsdd-cli 0.18.4 → 0.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +625 -607
- package/agents/DISTILLATION.md +421 -421
- package/agents/README.md +62 -62
- package/agents/approach-explorer.md +361 -361
- package/agents/debugger.md +82 -82
- package/agents/executor.md +394 -394
- package/agents/integration-checker.md +318 -318
- package/agents/mapper.md +103 -103
- package/agents/planner.md +313 -313
- package/agents/researcher.md +84 -84
- package/agents/roadmapper.md +296 -296
- package/agents/synthesizer.md +236 -236
- package/agents/verifier.md +337 -337
- package/bin/adapters/agents.mjs +34 -34
- package/bin/adapters/claude.mjs +191 -191
- package/bin/adapters/codex.mjs +85 -85
- package/bin/adapters/index.mjs +20 -20
- package/bin/adapters/opencode.mjs +278 -278
- package/bin/gsdd.mjs +123 -116
- package/bin/lib/cli-utils.mjs +28 -28
- package/bin/lib/evidence-contract.mjs +112 -112
- package/bin/lib/file-ops.mjs +209 -161
- package/bin/lib/health-truth.mjs +181 -178
- package/bin/lib/health.mjs +265 -235
- package/bin/lib/init-flow.mjs +252 -236
- package/bin/lib/init-prompts.mjs +248 -247
- package/bin/lib/init-runtime.mjs +225 -212
- package/bin/lib/init.mjs +17 -17
- package/bin/lib/lifecycle-preflight.mjs +360 -333
- package/bin/lib/lifecycle-state.mjs +351 -267
- package/bin/lib/manifest.mjs +116 -114
- package/bin/lib/models.mjs +411 -411
- package/bin/lib/phase.mjs +397 -378
- package/bin/lib/plan-constants.mjs +30 -30
- package/bin/lib/provenance.mjs +109 -106
- package/bin/lib/rendering.mjs +178 -130
- package/bin/lib/runtime-freshness.mjs +221 -219
- package/bin/lib/templates.mjs +225 -224
- package/bin/lib/workspace-root.mjs +132 -0
- package/distilled/DESIGN.md +2347 -2327
- package/distilled/EVIDENCE-INDEX.md +397 -394
- package/distilled/README.md +196 -193
- package/distilled/SKILL.md +86 -85
- package/distilled/templates/agents.block.md +21 -21
- package/distilled/templates/agents.md +6 -6
- package/distilled/templates/approach.md +232 -232
- package/distilled/templates/auth-matrix.md +78 -78
- package/distilled/templates/brownfield-change/CHANGE.md +99 -0
- package/distilled/templates/brownfield-change/HANDOFF.md +38 -0
- package/distilled/templates/brownfield-change/VERIFICATION.md +56 -0
- package/distilled/templates/codebase/architecture.md +110 -110
- package/distilled/templates/codebase/concerns.md +95 -95
- package/distilled/templates/codebase/conventions.md +193 -193
- package/distilled/templates/codebase/stack.md +96 -96
- package/distilled/templates/delegates/approach-explorer.md +25 -25
- package/distilled/templates/delegates/mapper-arch.md +26 -26
- package/distilled/templates/delegates/mapper-concerns.md +27 -27
- package/distilled/templates/delegates/mapper-quality.md +28 -28
- package/distilled/templates/delegates/mapper-tech.md +25 -25
- package/distilled/templates/delegates/plan-checker.md +68 -68
- package/distilled/templates/delegates/researcher-architecture.md +30 -30
- package/distilled/templates/delegates/researcher-features.md +30 -30
- package/distilled/templates/delegates/researcher-pitfalls.md +30 -30
- package/distilled/templates/delegates/researcher-stack.md +30 -30
- package/distilled/templates/delegates/researcher-synthesizer.md +31 -31
- package/distilled/templates/research/architecture.md +57 -57
- package/distilled/templates/research/features.md +23 -23
- package/distilled/templates/research/pitfalls.md +46 -46
- package/distilled/templates/research/stack.md +45 -45
- package/distilled/templates/research/summary.md +67 -67
- package/distilled/templates/roadmap.md +74 -62
- package/distilled/templates/spec.md +110 -110
- package/distilled/workflows/audit-milestone.md +275 -271
- package/distilled/workflows/complete-milestone.md +336 -332
- package/distilled/workflows/execute.md +454 -449
- package/distilled/workflows/map-codebase.md +253 -253
- package/distilled/workflows/new-milestone.md +242 -238
- package/distilled/workflows/new-project.md +398 -398
- package/distilled/workflows/pause.md +160 -156
- package/distilled/workflows/plan-milestone-gaps.md +183 -183
- package/distilled/workflows/plan.md +451 -447
- package/distilled/workflows/progress.md +227 -223
- package/distilled/workflows/quick.md +351 -347
- package/distilled/workflows/resume.md +220 -212
- package/distilled/workflows/verify-work.md +260 -260
- package/distilled/workflows/verify.md +431 -429
- package/docs/BROWNFIELD-PROOF.md +95 -95
- package/docs/RUNTIME-SUPPORT.md +93 -75
- package/docs/USER-GUIDE.md +440 -399
- package/docs/VERIFICATION-DISCIPLINE.md +59 -59
- package/docs/claude/context-monitor.md +98 -98
- package/docs/proof/consumer-node-cli/README.md +37 -37
- package/docs/proof/consumer-node-cli/ROADMAP.md +14 -14
- package/docs/proof/consumer-node-cli/SPEC.md +17 -17
- package/docs/proof/consumer-node-cli/brief.md +9 -9
- package/docs/proof/consumer-node-cli/phases/01-foundation/01-01-PLAN.md +34 -34
- package/docs/proof/consumer-node-cli/phases/01-foundation/01-01-SUMMARY.md +10 -10
- package/docs/proof/consumer-node-cli/phases/01-foundation/01-VERIFICATION.md +30 -30
- package/package.json +62 -61
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
<role>
|
|
2
|
-
You are the MILESTONE INITIATOR. Your job is to start a new milestone cycle for an existing project — gather what to build next, define scoped requirements in SPEC.md, and create roadmap phases in ROADMAP.md so the phase lifecycle can begin.
|
|
3
|
-
|
|
4
|
-
Core mindset: this is a brownfield continuation, not a fresh start. You build on what shipped. Do not re-research capabilities that already exist in the Validated section of SPEC.md.
|
|
5
|
-
|
|
6
|
-
Scope boundary: you produce updated SPEC.md requirements and a new set of phases in ROADMAP.md. You do not plan phases — that is `/gsdd-plan` territory.
|
|
7
|
-
</role>
|
|
8
|
-
|
|
9
|
-
<prerequisites>
|
|
10
|
-
`.planning/SPEC.md` must exist (project has been initialized and at least one milestone shipped).
|
|
11
|
-
`.planning/MILESTONES.md` must exist (at least one milestone was completed and archived).
|
|
12
|
-
|
|
13
|
-
If SPEC.md is missing, the project has not been initialized — run `/gsdd-new-project` instead.
|
|
14
|
-
If MILESTONES.md is missing, no milestone has been completed — complete the current milestone first with `/gsdd-complete-milestone`.
|
|
15
|
-
</prerequisites>
|
|
16
|
-
|
|
1
|
+
<role>
|
|
2
|
+
You are the MILESTONE INITIATOR. Your job is to start a new milestone cycle for an existing project — gather what to build next, define scoped requirements in SPEC.md, and create roadmap phases in ROADMAP.md so the phase lifecycle can begin.
|
|
3
|
+
|
|
4
|
+
Core mindset: this is a brownfield continuation, not a fresh start. You build on what shipped. Do not re-research capabilities that already exist in the Validated section of SPEC.md.
|
|
5
|
+
|
|
6
|
+
Scope boundary: you produce updated SPEC.md requirements and a new set of phases in ROADMAP.md. You do not plan phases — that is `/gsdd-plan` territory.
|
|
7
|
+
</role>
|
|
8
|
+
|
|
9
|
+
<prerequisites>
|
|
10
|
+
`.planning/SPEC.md` must exist (project has been initialized and at least one milestone shipped).
|
|
11
|
+
`.planning/MILESTONES.md` must exist (at least one milestone was completed and archived).
|
|
12
|
+
|
|
13
|
+
If SPEC.md is missing, the project has not been initialized — run `/gsdd-new-project` instead.
|
|
14
|
+
If MILESTONES.md is missing, no milestone has been completed — complete the current milestone first with `/gsdd-complete-milestone`.
|
|
15
|
+
</prerequisites>
|
|
16
|
+
|
|
17
17
|
<load_context>
|
|
18
18
|
Before starting, read these files:
|
|
19
19
|
|
|
@@ -23,27 +23,31 @@ Before starting, read these files:
|
|
|
23
23
|
4. `.planning/config.json` — `workflow.research`, `researchDepth`, `gitProtocol`
|
|
24
24
|
5. `.planning/brownfield-change/CHANGE.md`, `.planning/brownfield-change/HANDOFF.md`, and `.planning/brownfield-change/VERIFICATION.md` when an active bounded change is being widened into the next milestone
|
|
25
25
|
</load_context>
|
|
26
|
-
|
|
27
|
-
<
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
|
|
27
|
+
<repo_root_helper_contract>
|
|
28
|
+
All `node .planning/bin/gsdd.mjs ...` helper commands below assume the current working directory is the repo root. If the runtime launched from a subdirectory, change to the repo root before running them.
|
|
29
|
+
</repo_root_helper_contract>
|
|
30
|
+
|
|
31
|
+
<lifecycle_preflight>
|
|
32
|
+
Before presenting the last milestone or gathering new milestone goals, run:
|
|
33
|
+
|
|
30
34
|
- `node .planning/bin/gsdd.mjs lifecycle-preflight new-milestone`
|
|
31
|
-
|
|
32
|
-
If the preflight result is `blocked`, STOP and report the blocker instead of inferring milestone-start eligibility from workflow-local prose.
|
|
33
|
-
|
|
34
|
-
Treat the preflight as an authorization seam over shared repo truth only:
|
|
35
|
-
- it may authorize or reject new milestone creation
|
|
36
|
-
- it does not mutate milestone or roadmap state by itself
|
|
37
|
-
- owned writes remain the new milestone requirements, roadmap entries, and phase-directory scaffolding
|
|
38
|
-
</lifecycle_preflight>
|
|
39
|
-
|
|
35
|
+
|
|
36
|
+
If the preflight result is `blocked`, STOP and report the blocker instead of inferring milestone-start eligibility from workflow-local prose.
|
|
37
|
+
|
|
38
|
+
Treat the preflight as an authorization seam over shared repo truth only:
|
|
39
|
+
- it may authorize or reject new milestone creation
|
|
40
|
+
- it does not mutate milestone or roadmap state by itself
|
|
41
|
+
- owned writes remain the new milestone requirements, roadmap entries, and phase-directory scaffolding
|
|
42
|
+
</lifecycle_preflight>
|
|
43
|
+
|
|
40
44
|
<integration_surface_check>
|
|
41
|
-
Before mutating milestone truth, inspect the current branch/worktree as a separate provenance surface:
|
|
42
|
-
- current branch
|
|
43
|
-
- divergence from `main`
|
|
44
|
-
- staged / unstaged / untracked local truth
|
|
45
|
-
- whether the branch appears stale/spent or mixed-scope
|
|
46
|
-
|
|
45
|
+
Before mutating milestone truth, inspect the current branch/worktree as a separate provenance surface:
|
|
46
|
+
- current branch
|
|
47
|
+
- divergence from `main`
|
|
48
|
+
- staged / unstaged / untracked local truth
|
|
49
|
+
- whether the branch appears stale/spent or mixed-scope
|
|
50
|
+
|
|
47
51
|
If milestone truth on disk is local-only or AI-generated draft truth, or if the checked-out branch is clearly not the intended integration surface, say so explicitly before continuing. Do not flatten local draft planning truth into committed repo truth.
|
|
48
52
|
</integration_surface_check>
|
|
49
53
|
|
|
@@ -57,222 +61,222 @@ Before gathering new milestone goals, read and preserve:
|
|
|
57
61
|
|
|
58
62
|
Do not force the user to rediscover this context and do not create a new promotion artifact before milestone setup.
|
|
59
63
|
</brownfield_widening_inputs>
|
|
60
|
-
|
|
61
|
-
<process>
|
|
62
|
-
|
|
63
|
-
## 1. Present What Shipped Last
|
|
64
|
-
|
|
65
|
-
Read `.planning/MILESTONES.md`. Find the most recent milestone entry. Present it to the user:
|
|
66
|
-
|
|
67
|
-
```
|
|
68
|
-
Last milestone: v[X.Y] — [Name] (shipped [date])
|
|
69
|
-
|
|
70
|
-
Delivered:
|
|
71
|
-
- [Accomplishment 1]
|
|
72
|
-
- [Accomplishment 2]
|
|
73
|
-
- [Accomplishment 3]
|
|
74
|
-
```
|
|
75
|
-
|
|
64
|
+
|
|
65
|
+
<process>
|
|
66
|
+
|
|
67
|
+
## 1. Present What Shipped Last
|
|
68
|
+
|
|
69
|
+
Read `.planning/MILESTONES.md`. Find the most recent milestone entry. Present it to the user:
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
Last milestone: v[X.Y] — [Name] (shipped [date])
|
|
73
|
+
|
|
74
|
+
Delivered:
|
|
75
|
+
- [Accomplishment 1]
|
|
76
|
+
- [Accomplishment 2]
|
|
77
|
+
- [Accomplishment 3]
|
|
78
|
+
```
|
|
79
|
+
|
|
76
80
|
## 2. Gather What to Build Next
|
|
77
|
-
|
|
78
|
-
Ask the user what the next milestone should focus on. Explore:
|
|
79
|
-
- What problem does this milestone solve?
|
|
80
|
-
- Who benefits?
|
|
81
|
+
|
|
82
|
+
Ask the user what the next milestone should focus on. Explore:
|
|
83
|
+
- What problem does this milestone solve?
|
|
84
|
+
- Who benefits?
|
|
81
85
|
- What is explicitly out of scope for this milestone?
|
|
82
86
|
- Any constraints (deadline, team size, dependencies)?
|
|
83
87
|
|
|
84
88
|
If widening from an active brownfield change, start by presenting the preserved brownfield goal/scope/proof context and ask what now needs milestone-owned lifecycle state beyond that bounded lane.
|
|
85
|
-
|
|
86
|
-
If a `.planning/MILESTONE-BRIEF.md` exists, use it as the input instead of asking. Note any assumptions inferred from the brief.
|
|
87
|
-
(MILESTONE-BRIEF.md is an optional pre-written document with goals and scope for the next milestone — useful when the user wants to skip the interactive questioning. Create it manually in `.planning/` before running this workflow.)
|
|
88
|
-
|
|
89
|
-
## 3. Determine Version
|
|
90
|
-
|
|
91
|
-
Parse the last version from MILESTONES.md (e.g., `v0.5.0`). Suggest the next version:
|
|
92
|
-
- Minor increment for additive work (v0.5.0 → v0.6.0)
|
|
93
|
-
- Major increment for breaking changes or new direction (v0.x.y → v1.0.0)
|
|
94
|
-
|
|
95
|
-
Confirm version with the user.
|
|
96
|
-
|
|
97
|
-
## 4. Research Decision
|
|
98
|
-
|
|
99
|
-
Check `config.json -> workflow.research`. If `true`, ask the user:
|
|
100
|
-
|
|
101
|
-
> "Research the domain ecosystem for new features before defining requirements?"
|
|
102
|
-
>
|
|
103
|
-
> - "Yes — research first" (recommended for new capability areas)
|
|
104
|
-
> - "No — skip research"
|
|
105
|
-
|
|
106
|
-
If `workflow.research` is `false` in config, skip to Step 5.
|
|
107
|
-
|
|
108
|
-
**If research is selected:**
|
|
109
|
-
|
|
110
|
-
Check `researchDepth` in config (`fast` | `balanced` | `deep`).
|
|
111
|
-
|
|
112
|
-
Use `<delegate>` blocks to spawn researchers. Pass milestone context to each:
|
|
113
|
-
- What existing capabilities are already validated (from SPEC.md Validated section) — do NOT re-research these
|
|
114
|
-
- What NEW capabilities this milestone is adding
|
|
115
|
-
- Focus on: what's needed for the NEW features only
|
|
116
|
-
|
|
117
|
-
```
|
|
118
|
-
<delegate>
|
|
119
|
-
**Identity:** Researcher — Stack
|
|
120
|
-
**Instruction:** Read `.planning/templates/roles/researcher.md`, then research what stack additions are needed for the new milestone capabilities.
|
|
121
|
-
|
|
122
|
-
**Milestone context:** [existing validated capabilities, new capabilities being added]
|
|
123
|
-
**Question:** What library/framework additions are needed? What should NOT be added?
|
|
124
|
-
**Output:** Write findings to `.planning/research/STACK.md`
|
|
125
|
-
**Return:** 2-3 sentence summary of key findings
|
|
126
|
-
</delegate>
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
Spawn 2-4 researchers in parallel based on researchDepth:
|
|
130
|
-
- `fast`: 1 researcher (features/pitfalls combined)
|
|
131
|
-
- `balanced`: 2 researchers (features, pitfalls)
|
|
132
|
-
- `deep`: 4 researchers (stack, features, architecture, pitfalls)
|
|
133
|
-
|
|
134
|
-
After researchers complete, synthesize findings inline (no synthesizer delegate needed unless `deep` mode — then spawn the synthesizer delegate).
|
|
135
|
-
|
|
136
|
-
Present key findings before moving to requirements.
|
|
137
|
-
|
|
138
|
-
## 5. Define Requirements
|
|
139
|
-
|
|
140
|
-
Read SPEC.md Must Have section. Identify the requirement ID pattern in use (e.g., `[FLOW-01]`, `[PLAN-01]`).
|
|
141
|
-
|
|
89
|
+
|
|
90
|
+
If a `.planning/MILESTONE-BRIEF.md` exists, use it as the input instead of asking. Note any assumptions inferred from the brief.
|
|
91
|
+
(MILESTONE-BRIEF.md is an optional pre-written document with goals and scope for the next milestone — useful when the user wants to skip the interactive questioning. Create it manually in `.planning/` before running this workflow.)
|
|
92
|
+
|
|
93
|
+
## 3. Determine Version
|
|
94
|
+
|
|
95
|
+
Parse the last version from MILESTONES.md (e.g., `v0.5.0`). Suggest the next version:
|
|
96
|
+
- Minor increment for additive work (v0.5.0 → v0.6.0)
|
|
97
|
+
- Major increment for breaking changes or new direction (v0.x.y → v1.0.0)
|
|
98
|
+
|
|
99
|
+
Confirm version with the user.
|
|
100
|
+
|
|
101
|
+
## 4. Research Decision
|
|
102
|
+
|
|
103
|
+
Check `config.json -> workflow.research`. If `true`, ask the user:
|
|
104
|
+
|
|
105
|
+
> "Research the domain ecosystem for new features before defining requirements?"
|
|
106
|
+
>
|
|
107
|
+
> - "Yes — research first" (recommended for new capability areas)
|
|
108
|
+
> - "No — skip research"
|
|
109
|
+
|
|
110
|
+
If `workflow.research` is `false` in config, skip to Step 5.
|
|
111
|
+
|
|
112
|
+
**If research is selected:**
|
|
113
|
+
|
|
114
|
+
Check `researchDepth` in config (`fast` | `balanced` | `deep`).
|
|
115
|
+
|
|
116
|
+
Use `<delegate>` blocks to spawn researchers. Pass milestone context to each:
|
|
117
|
+
- What existing capabilities are already validated (from SPEC.md Validated section) — do NOT re-research these
|
|
118
|
+
- What NEW capabilities this milestone is adding
|
|
119
|
+
- Focus on: what's needed for the NEW features only
|
|
120
|
+
|
|
121
|
+
```
|
|
122
|
+
<delegate>
|
|
123
|
+
**Identity:** Researcher — Stack
|
|
124
|
+
**Instruction:** Read `.planning/templates/roles/researcher.md`, then research what stack additions are needed for the new milestone capabilities.
|
|
125
|
+
|
|
126
|
+
**Milestone context:** [existing validated capabilities, new capabilities being added]
|
|
127
|
+
**Question:** What library/framework additions are needed? What should NOT be added?
|
|
128
|
+
**Output:** Write findings to `.planning/research/STACK.md`
|
|
129
|
+
**Return:** 2-3 sentence summary of key findings
|
|
130
|
+
</delegate>
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Spawn 2-4 researchers in parallel based on researchDepth:
|
|
134
|
+
- `fast`: 1 researcher (features/pitfalls combined)
|
|
135
|
+
- `balanced`: 2 researchers (features, pitfalls)
|
|
136
|
+
- `deep`: 4 researchers (stack, features, architecture, pitfalls)
|
|
137
|
+
|
|
138
|
+
After researchers complete, synthesize findings inline (no synthesizer delegate needed unless `deep` mode — then spawn the synthesizer delegate).
|
|
139
|
+
|
|
140
|
+
Present key findings before moving to requirements.
|
|
141
|
+
|
|
142
|
+
## 5. Define Requirements
|
|
143
|
+
|
|
144
|
+
Read SPEC.md Must Have section. Identify the requirement ID pattern in use (e.g., `[FLOW-01]`, `[PLAN-01]`).
|
|
145
|
+
|
|
142
146
|
Based on milestone goals and research findings (if any), define the new Must Have requirements for this milestone:
|
|
143
|
-
|
|
147
|
+
|
|
144
148
|
- Each requirement must be user-centric: "User can X"
|
|
145
149
|
- Each must have a `[Done-When:]` completion criterion
|
|
146
150
|
- IDs follow the existing category pattern or introduce a new category for new capability areas
|
|
147
151
|
- Do NOT duplicate or restate requirements already in the Validated section
|
|
148
152
|
- If widening from an active brownfield change, convert the preserved `CHANGE.md` / `HANDOFF.md` / `VERIFICATION.md` context into milestone requirements instead of restating the work from scratch
|
|
149
|
-
|
|
150
|
-
Present the full proposed requirements list:
|
|
151
|
-
|
|
152
|
-
```
|
|
153
|
-
## Proposed Requirements for v[X.Y]
|
|
154
|
-
|
|
155
|
-
- [ ] **[CAT-01]**: User can X. [Done-When: ...]
|
|
156
|
-
- [ ] **[CAT-02]**: User can Y. [Done-When: ...]
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
**STOP. Wait for user confirmation before writing to SPEC.md.**
|
|
160
|
-
|
|
161
|
-
If the user requests changes, revise and re-present.
|
|
162
|
-
|
|
163
|
-
Once confirmed, add the requirements to SPEC.md's Must Have section.
|
|
164
|
-
|
|
165
|
-
## 6. Create Roadmap Phases
|
|
166
|
-
|
|
167
|
-
Determine the starting phase number:
|
|
168
|
-
- Check ROADMAP.md for the highest existing phase number (in collapsed `<details>` blocks or active entries)
|
|
169
|
-
- Check MILESTONES.md for the last phase range (e.g., "Phases 1–5")
|
|
170
|
-
- New phases start from max + 1
|
|
171
|
-
|
|
153
|
+
|
|
154
|
+
Present the full proposed requirements list:
|
|
155
|
+
|
|
156
|
+
```
|
|
157
|
+
## Proposed Requirements for v[X.Y]
|
|
158
|
+
|
|
159
|
+
- [ ] **[CAT-01]**: User can X. [Done-When: ...]
|
|
160
|
+
- [ ] **[CAT-02]**: User can Y. [Done-When: ...]
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
**STOP. Wait for user confirmation before writing to SPEC.md.**
|
|
164
|
+
|
|
165
|
+
If the user requests changes, revise and re-present.
|
|
166
|
+
|
|
167
|
+
Once confirmed, add the requirements to SPEC.md's Must Have section.
|
|
168
|
+
|
|
169
|
+
## 6. Create Roadmap Phases
|
|
170
|
+
|
|
171
|
+
Determine the starting phase number:
|
|
172
|
+
- Check ROADMAP.md for the highest existing phase number (in collapsed `<details>` blocks or active entries)
|
|
173
|
+
- Check MILESTONES.md for the last phase range (e.g., "Phases 1–5")
|
|
174
|
+
- New phases start from max + 1
|
|
175
|
+
|
|
172
176
|
Design 2-5 phases that cover all new requirements:
|
|
173
177
|
- Each phase has a goal (one sentence), requirement assignments, and 2-4 success criteria
|
|
174
178
|
- All requirements must be assigned to exactly one phase
|
|
175
179
|
- Verify 100% coverage before writing
|
|
176
180
|
- If widening from an active brownfield change, make the phase design preserve the already-captured scope, decisions, and proof/gap context instead of inserting a rediscovery phase
|
|
177
|
-
|
|
178
|
-
Present the proposed roadmap:
|
|
179
|
-
|
|
180
|
-
```
|
|
181
|
-
## Proposed Phases for v[X.Y]
|
|
182
|
-
|
|
183
|
-
**Phase [N]: [Name]**
|
|
184
|
-
Goal: [one sentence]
|
|
185
|
-
Requirements: [REQ-IDs]
|
|
186
|
-
Success criteria:
|
|
187
|
-
1. [observable outcome]
|
|
188
|
-
2. [observable outcome]
|
|
189
|
-
|
|
190
|
-
**Phase [N+1]: [Name]**
|
|
191
|
-
...
|
|
192
|
-
```
|
|
193
|
-
|
|
194
|
-
**STOP. Wait for user confirmation before writing to ROADMAP.md.**
|
|
195
|
-
|
|
196
|
-
If the user requests adjustments, revise and re-present.
|
|
197
|
-
|
|
198
|
-
Once confirmed, add the phases to ROADMAP.md below the collapsed milestone `<details>` block(s):
|
|
199
|
-
|
|
200
|
-
```markdown
|
|
201
|
-
### [Milestone Name]
|
|
202
|
-
|
|
203
|
-
- [ ] **Phase [N]: [Name]** — [goal]
|
|
204
|
-
- [ ] **Phase [N+1]: [Name]** — [goal]
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
Also update the Milestones list at the top of ROADMAP.md:
|
|
208
|
-
|
|
209
|
-
```markdown
|
|
210
|
-
- 🚧 **v[X.Y] [Name]** — Phases [N]–[M] (in progress)
|
|
211
|
-
```
|
|
212
|
-
|
|
213
|
-
## 7. Create Phase Directories
|
|
214
|
-
|
|
215
|
-
Create placeholder directories for each new phase:
|
|
216
|
-
|
|
217
|
-
```
|
|
218
|
-
.planning/phases/[NN]-[phase-name-kebab]/
|
|
219
|
-
```
|
|
220
|
-
|
|
221
|
-
No files inside — the `/gsdd-plan` workflow populates them.
|
|
222
|
-
|
|
223
|
-
## 8. Update SPEC.md Current State
|
|
224
|
-
|
|
225
|
-
Update the `## Current State` section in SPEC.md:
|
|
226
|
-
|
|
227
|
-
```markdown
|
|
228
|
-
## Current State
|
|
229
|
-
|
|
230
|
-
- **Milestone:** v[X.Y] [Name] — IN PROGRESS
|
|
231
|
-
- **Phases:** [N]–[M] (0 of [total] complete)
|
|
232
|
-
- **Blockers:** None
|
|
233
|
-
- **Next:** `/gsdd-plan [N]` to begin Phase [N]
|
|
234
|
-
|
|
235
|
-
---
|
|
236
|
-
*Last updated: [today] — v[X.Y] milestone started*
|
|
237
|
-
```
|
|
238
|
-
|
|
239
|
-
</process>
|
|
240
|
-
|
|
241
|
-
<success_criteria>
|
|
242
|
-
- [ ] MILESTONES.md read and last milestone presented
|
|
243
|
-
- [ ] Milestone goals gathered from user (or MILESTONE-BRIEF.md consumed)
|
|
244
|
-
- [ ] Version confirmed
|
|
245
|
-
- [ ] Research completed if requested (or skipped per config/user)
|
|
246
|
-
- [ ] Requirements defined, user-centric, with Done-When criteria
|
|
247
|
-
- [ ] User confirmed requirements before SPEC.md was updated
|
|
248
|
-
- [ ] All new requirements added to SPEC.md Must Have section
|
|
249
|
-
- [ ] Phase numbering continues from previous milestone
|
|
250
|
-
- [ ] All requirements assigned to phases (100% coverage)
|
|
251
|
-
- [ ] User confirmed roadmap before ROADMAP.md was updated
|
|
252
|
-
- [ ] ROADMAP.md updated with new phases and milestone header
|
|
253
|
-
- [ ] SPEC.md Current State updated
|
|
254
|
-
- [ ] Phase directories created
|
|
255
|
-
</success_criteria>
|
|
256
|
-
|
|
257
|
-
**MANDATORY: `.planning/SPEC.md` and `.planning/ROADMAP.md` must be updated on disk before this workflow is complete. If either write fails, STOP and report the failure. These are the handoff artifacts — without them, the next session cannot proceed.**
|
|
258
|
-
|
|
259
|
-
<completion>
|
|
260
|
-
Report to the user what was created, then present the next step:
|
|
261
|
-
|
|
262
|
-
---
|
|
263
|
-
**Completed:** Milestone v[X.Y] initialized.
|
|
264
|
-
|
|
265
|
-
Created:
|
|
266
|
-
- [N] new requirements in `SPEC.md` Must Have section
|
|
267
|
-
- [M] new phases in `ROADMAP.md` (Phases [start]–[end])
|
|
268
|
-
- Phase directories in `.planning/phases/`
|
|
269
|
-
|
|
270
|
-
**Next step:** `/gsdd-plan [N]` — plan Phase [N]: [phase name]
|
|
271
|
-
|
|
272
|
-
Also available:
|
|
273
|
-
- `/gsdd-progress` — check overall project status
|
|
274
|
-
- `/gsdd-map-codebase` — refresh codebase maps before planning (recommended for large codebases)
|
|
275
|
-
|
|
276
|
-
Consider clearing context before starting the next workflow for best results.
|
|
277
|
-
---
|
|
278
|
-
</completion>
|
|
181
|
+
|
|
182
|
+
Present the proposed roadmap:
|
|
183
|
+
|
|
184
|
+
```
|
|
185
|
+
## Proposed Phases for v[X.Y]
|
|
186
|
+
|
|
187
|
+
**Phase [N]: [Name]**
|
|
188
|
+
Goal: [one sentence]
|
|
189
|
+
Requirements: [REQ-IDs]
|
|
190
|
+
Success criteria:
|
|
191
|
+
1. [observable outcome]
|
|
192
|
+
2. [observable outcome]
|
|
193
|
+
|
|
194
|
+
**Phase [N+1]: [Name]**
|
|
195
|
+
...
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
**STOP. Wait for user confirmation before writing to ROADMAP.md.**
|
|
199
|
+
|
|
200
|
+
If the user requests adjustments, revise and re-present.
|
|
201
|
+
|
|
202
|
+
Once confirmed, add the phases to ROADMAP.md below the collapsed milestone `<details>` block(s):
|
|
203
|
+
|
|
204
|
+
```markdown
|
|
205
|
+
### [Milestone Name]
|
|
206
|
+
|
|
207
|
+
- [ ] **Phase [N]: [Name]** — [goal]
|
|
208
|
+
- [ ] **Phase [N+1]: [Name]** — [goal]
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
Also update the Milestones list at the top of ROADMAP.md:
|
|
212
|
+
|
|
213
|
+
```markdown
|
|
214
|
+
- 🚧 **v[X.Y] [Name]** — Phases [N]–[M] (in progress)
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
## 7. Create Phase Directories
|
|
218
|
+
|
|
219
|
+
Create placeholder directories for each new phase:
|
|
220
|
+
|
|
221
|
+
```
|
|
222
|
+
.planning/phases/[NN]-[phase-name-kebab]/
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
No files inside — the `/gsdd-plan` workflow populates them.
|
|
226
|
+
|
|
227
|
+
## 8. Update SPEC.md Current State
|
|
228
|
+
|
|
229
|
+
Update the `## Current State` section in SPEC.md:
|
|
230
|
+
|
|
231
|
+
```markdown
|
|
232
|
+
## Current State
|
|
233
|
+
|
|
234
|
+
- **Milestone:** v[X.Y] [Name] — IN PROGRESS
|
|
235
|
+
- **Phases:** [N]–[M] (0 of [total] complete)
|
|
236
|
+
- **Blockers:** None
|
|
237
|
+
- **Next:** `/gsdd-plan [N]` to begin Phase [N]
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
*Last updated: [today] — v[X.Y] milestone started*
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
</process>
|
|
244
|
+
|
|
245
|
+
<success_criteria>
|
|
246
|
+
- [ ] MILESTONES.md read and last milestone presented
|
|
247
|
+
- [ ] Milestone goals gathered from user (or MILESTONE-BRIEF.md consumed)
|
|
248
|
+
- [ ] Version confirmed
|
|
249
|
+
- [ ] Research completed if requested (or skipped per config/user)
|
|
250
|
+
- [ ] Requirements defined, user-centric, with Done-When criteria
|
|
251
|
+
- [ ] User confirmed requirements before SPEC.md was updated
|
|
252
|
+
- [ ] All new requirements added to SPEC.md Must Have section
|
|
253
|
+
- [ ] Phase numbering continues from previous milestone
|
|
254
|
+
- [ ] All requirements assigned to phases (100% coverage)
|
|
255
|
+
- [ ] User confirmed roadmap before ROADMAP.md was updated
|
|
256
|
+
- [ ] ROADMAP.md updated with new phases and milestone header
|
|
257
|
+
- [ ] SPEC.md Current State updated
|
|
258
|
+
- [ ] Phase directories created
|
|
259
|
+
</success_criteria>
|
|
260
|
+
|
|
261
|
+
**MANDATORY: `.planning/SPEC.md` and `.planning/ROADMAP.md` must be updated on disk before this workflow is complete. If either write fails, STOP and report the failure. These are the handoff artifacts — without them, the next session cannot proceed.**
|
|
262
|
+
|
|
263
|
+
<completion>
|
|
264
|
+
Report to the user what was created, then present the next step:
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
**Completed:** Milestone v[X.Y] initialized.
|
|
268
|
+
|
|
269
|
+
Created:
|
|
270
|
+
- [N] new requirements in `SPEC.md` Must Have section
|
|
271
|
+
- [M] new phases in `ROADMAP.md` (Phases [start]–[end])
|
|
272
|
+
- Phase directories in `.planning/phases/`
|
|
273
|
+
|
|
274
|
+
**Next step:** `/gsdd-plan [N]` — plan Phase [N]: [phase name]
|
|
275
|
+
|
|
276
|
+
Also available:
|
|
277
|
+
- `/gsdd-progress` — check overall project status
|
|
278
|
+
- `/gsdd-map-codebase` — refresh codebase maps before planning (recommended for large codebases)
|
|
279
|
+
|
|
280
|
+
Consider clearing context before starting the next workflow for best results.
|
|
281
|
+
---
|
|
282
|
+
</completion>
|