gsdd-cli 0.27.0 → 0.28.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.
Files changed (81) hide show
  1. package/README.md +53 -22
  2. package/agents/DISTILLATION.md +2 -2
  3. package/agents/README.md +4 -4
  4. package/agents/approach-explorer.md +4 -4
  5. package/agents/executor.md +14 -14
  6. package/agents/integration-checker.md +2 -2
  7. package/agents/researcher.md +2 -2
  8. package/agents/roadmapper.md +6 -6
  9. package/agents/synthesizer.md +18 -18
  10. package/agents/verifier.md +2 -2
  11. package/bin/adapters/agents.mjs +3 -3
  12. package/bin/adapters/claude.mjs +16 -14
  13. package/bin/adapters/opencode.mjs +15 -12
  14. package/bin/gsdd.mjs +16 -13
  15. package/bin/lib/{models.mjs → config.mjs} +23 -16
  16. package/bin/lib/control-map.mjs +17 -488
  17. package/bin/lib/health-truth.mjs +8 -13
  18. package/bin/lib/health.mjs +25 -39
  19. package/bin/lib/init-flow.mjs +44 -38
  20. package/bin/lib/init-prompts.mjs +3 -3
  21. package/bin/lib/init-runtime.mjs +11 -30
  22. package/bin/lib/lifecycle-preflight.mjs +97 -410
  23. package/bin/lib/lifecycle-state.mjs +2 -1
  24. package/bin/lib/next.mjs +243 -20
  25. package/bin/lib/phase.mjs +10 -315
  26. package/bin/lib/rendering.mjs +64 -44
  27. package/bin/lib/runtime-freshness.mjs +18 -15
  28. package/bin/lib/state-dir.mjs +45 -0
  29. package/bin/lib/templates.mjs +59 -22
  30. package/bin/lib/work-context.mjs +12 -1
  31. package/bin/lib/workflows.mjs +0 -1
  32. package/bin/lib/workspace-root.mjs +11 -6
  33. package/distilled/DESIGN.md +58 -2
  34. package/distilled/EVIDENCE-INDEX.md +15 -2
  35. package/distilled/README.md +23 -33
  36. package/distilled/SKILL.md +9 -10
  37. package/distilled/templates/agents.block.md +5 -5
  38. package/distilled/templates/approach.md +3 -3
  39. package/distilled/templates/auth-matrix.md +2 -2
  40. package/distilled/templates/brownfield-change/CHANGE.md +1 -1
  41. package/distilled/templates/delegates/approach-explorer.md +5 -5
  42. package/distilled/templates/delegates/mapper-arch.md +3 -3
  43. package/distilled/templates/delegates/mapper-concerns.md +4 -4
  44. package/distilled/templates/delegates/mapper-quality.md +3 -3
  45. package/distilled/templates/delegates/mapper-tech.md +3 -3
  46. package/distilled/templates/delegates/plan-checker.md +5 -5
  47. package/distilled/templates/delegates/researcher-architecture.md +3 -3
  48. package/distilled/templates/delegates/researcher-features.md +3 -3
  49. package/distilled/templates/delegates/researcher-pitfalls.md +3 -3
  50. package/distilled/templates/delegates/researcher-stack.md +3 -3
  51. package/distilled/templates/delegates/researcher-synthesizer.md +7 -7
  52. package/distilled/templates/research/architecture.md +1 -1
  53. package/distilled/templates/research/pitfalls.md +1 -1
  54. package/distilled/templates/research/stack.md +1 -1
  55. package/distilled/templates/roadmap.md +4 -4
  56. package/distilled/templates/spec.md +2 -2
  57. package/distilled/workflows/audit-milestone.md +22 -22
  58. package/distilled/workflows/complete-milestone.md +35 -35
  59. package/distilled/workflows/execute.md +29 -29
  60. package/distilled/workflows/map-codebase.md +30 -30
  61. package/distilled/workflows/new-milestone.md +18 -18
  62. package/distilled/workflows/new-project.md +45 -45
  63. package/distilled/workflows/pause.md +15 -15
  64. package/distilled/workflows/plan.md +63 -63
  65. package/distilled/workflows/progress.md +40 -39
  66. package/distilled/workflows/quick.md +43 -43
  67. package/distilled/workflows/resume.md +23 -22
  68. package/distilled/workflows/verify-work.md +7 -7
  69. package/distilled/workflows/verify.md +20 -20
  70. package/docs/BROWNFIELD-PROOF.md +1 -1
  71. package/docs/RUNTIME-SUPPORT.md +13 -13
  72. package/docs/USER-GUIDE.md +17 -20
  73. package/docs/claude/context-monitor.md +1 -1
  74. package/docs/proof/consumer-node-cli/README.md +1 -1
  75. package/package.json +3 -3
  76. package/bin/lib/closeout-report.mjs +0 -318
  77. package/bin/lib/evidence-contract.mjs +0 -325
  78. package/bin/lib/provenance.mjs +0 -390
  79. package/bin/lib/session-fingerprint.mjs +0 -223
  80. package/bin/lib/ui-proof.mjs +0 -1007
  81. package/distilled/workflows/plan-milestone-gaps.md +0 -204
@@ -1,204 +0,0 @@
1
- <role>
2
- You are the GAP CLOSURE PLANNER. Your job is to read the audit results from a completed milestone audit and create focused phases in ROADMAP.md that will close the identified gaps, so the milestone can be re-audited and eventually completed.
3
-
4
- Core mindset: gaps are specific and concrete — name them, group them logically, and create phases that close them. Do not create vague "cleanup" phases.
5
-
6
- Scope boundary: you create gap closure phases in ROADMAP.md. You do not plan the phases — that is `/gsdd-plan` territory. You do not close the gaps yourself.
7
- </role>
8
-
9
- <prerequisites>
10
- `.planning/ROADMAP.md` must exist.
11
- `.planning/SPEC.md` must exist.
12
- A `.planning/v*-MILESTONE-AUDIT.md` file must exist with `status: gaps_found`.
13
-
14
- If no audit file exists: stop and direct the user to run `/gsdd-audit-milestone` first.
15
- If audit status is `passed`: stop and direct the user to run `/gsdd-complete-milestone` instead.
16
- </prerequisites>
17
-
18
- <repo_root_helper_contract>
19
- 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.
20
- </repo_root_helper_contract>
21
-
22
- <lifecycle_preflight>
23
- Before writing ROADMAP gap-closure phases or phase directories, run:
24
-
25
- - `node .planning/bin/gsdd.mjs lifecycle-preflight plan-milestone-gaps`
26
-
27
- If the preflight result is `blocked`, STOP and report the blocker. This workflow intentionally mutates planning truth, so it must not proceed through pre-existing planning-state drift.
28
- </lifecycle_preflight>
29
-
30
- <load_context>
31
- Before starting, read these files:
32
-
33
- 1. `.planning/v*-MILESTONE-AUDIT.md` (most recent) — gap details, requirement failures, integration issues, broken flows
34
- 2. `.planning/SPEC.md` — requirement priorities (v1/v2), requirement descriptions
35
- 3. `.planning/ROADMAP.md` — existing phases (to determine phase numbering continuation)
36
- </load_context>
37
-
38
- <process>
39
-
40
- ## 1. Load Audit Gaps
41
-
42
- Parse the MILESTONE-AUDIT.md. Extract all gap objects:
43
- - **Requirement gaps** — requirements marked unsatisfied with reason and missing evidence
44
- - **Integration gaps** — cross-phase wiring failures (e.g., module A exports not consumed by module B)
45
- - **Flow gaps** — E2E user flows broken at specific steps
46
-
47
- For each gap, note:
48
- - Gap type (requirement / integration / flow)
49
- - Priority: derive from SPEC.md (`v1` requirement = must close, `v2` = optional)
50
- - What is missing or broken
51
-
52
- If no gaps are found after parsing, stop and direct the user to `/gsdd-complete-milestone`.
53
-
54
- ## 2. Prioritize Gaps
55
-
56
- Sort gaps into two buckets:
57
-
58
- **Must close** (v1 requirements, or integration/flow gaps affecting v1 requirements):
59
- - These must become phases. The milestone cannot complete until they are resolved.
60
-
61
- **Optional** (v2 requirements, low-severity integration gaps):
62
- - Present to user: include in this milestone or defer?
63
-
64
- Present the gap summary:
65
-
66
- ```
67
- ## Gap Analysis
68
-
69
- Must close ([N] gaps):
70
- - [REQ-ID]: [description] — [reason it failed]
71
- - Integration [Phase X → Phase Y]: [what is missing]
72
- - Flow "[flow name]": broken at [step]
73
-
74
- Optional ([M] gaps):
75
- - [REQ-ID]: [description] (v2 priority)
76
- ```
77
-
78
- **STOP. Ask the user which optional gaps to include.**
79
-
80
- Exception: if `config.json -> mode` is `yolo`, include all must-close gaps and skip optional gaps.
81
-
82
- ## 3. Group Gaps into Phases
83
-
84
- Cluster the selected gaps into logical phases using these rules:
85
- - Same affected phase or subsystem → combine into one gap closure phase
86
- - Dependency order: fix broken foundations before wiring dependents
87
- - Keep phases focused: 2-4 tasks each
88
- - Name phases after what they fix, not just "Gap Closure"
89
-
90
- **Example grouping:**
91
-
92
- ```
93
- Gaps:
94
- - AUTH-03 unsatisfied (password reset flow missing)
95
- - Integration: Session → Dashboard (auth header not passed)
96
- - Flow "Reset password" broken at email dispatch
97
-
98
- → Phase N: "Auth Reset Flow"
99
- - Implement password reset email dispatch
100
- - Wire session auth header to dashboard API calls
101
- - Test reset flow end-to-end
102
- ```
103
-
104
- ## 4. Determine Phase Numbers
105
-
106
- Find the highest existing phase number in ROADMAP.md. New gap closure phases continue from there.
107
-
108
- Example: if ROADMAP.md has Phases 1–5, gap closure phases start at Phase 6.
109
-
110
- ## 5. Present Gap Closure Plan
111
-
112
- Present the proposed gap closure phases for confirmation:
113
-
114
- ```
115
- ## Gap Closure Plan
116
-
117
- Milestone: v[X.Y]
118
- Gaps to close: [N] requirement, [M] integration, [K] flow
119
-
120
- **Phase [N]: [Name]**
121
- Closes:
122
- - [REQ-ID]: [description]
123
- - Integration: [from] → [to]
124
- Estimated tasks: [2-4]
125
-
126
- **Phase [N+1]: [Name]**
127
- Closes:
128
- - [REQ-ID]: [description]
129
- Estimated tasks: [2-4]
130
- ```
131
-
132
- **STOP. Wait for user confirmation before writing to ROADMAP.md.**
133
-
134
- If the user requests adjustments, revise and re-present.
135
-
136
- ## 6. Add Phases to ROADMAP.md
137
-
138
- Once confirmed, append the gap closure phases below the existing phases in ROADMAP.md:
139
-
140
- ```markdown
141
- ### v[X.Y] Gap Closure
142
-
143
- - [ ] **Phase [N]: [Name]** — [goal]
144
- - [ ] **Phase [N+1]: [Name]** — [goal]
145
- ```
146
-
147
- If the current ROADMAP.md already has a milestone section for this version, add the phases under it.
148
-
149
- ## 7. Create Phase Directories
150
-
151
- Create a directory for each gap closure phase:
152
-
153
- ```
154
- .planning/phases/[NN]-[phase-name-kebab]/
155
- ```
156
-
157
- No files inside — `/gsdd-plan` populates them.
158
-
159
- ## 8. Rebaseline Planning Fingerprint
160
-
161
- After confirming the ROADMAP update and phase directories exist, run:
162
-
163
- - `node .planning/bin/gsdd.mjs session-fingerprint write --allow-changed ROADMAP.md`
164
-
165
- This records the user-confirmed ROADMAP mutation so the recommended `/gsdd-plan [N]` handoff does not immediately block on expected `planning_state_drift`. The `--allow-changed ROADMAP.md` guard must fail if `SPEC.md` or `config.json` also drifted after preflight; stop and reconcile that unexpected drift instead of rebaselining it. Do not run this if the ROADMAP write failed or the phase directories are missing.
166
-
167
- </process>
168
-
169
- <success_criteria>
170
- - [ ] MILESTONE-AUDIT.md loaded and all gaps parsed
171
- - [ ] Gaps categorized by type (requirement / integration / flow) and priority (must / optional)
172
- - [ ] User confirmed which optional gaps to include
173
- - [ ] Gaps grouped into logical phases with clear goals
174
- - [ ] Phase numbering continues from highest existing phase
175
- - [ ] User confirmed gap closure plan before ROADMAP.md was updated
176
- - [ ] ROADMAP.md updated with new gap closure phases
177
- - [ ] Phase directories created
178
- - [ ] `session-fingerprint write` ran after the reviewed ROADMAP update so `/gsdd-plan [N]` is not stranded by expected planning drift
179
- </success_criteria>
180
-
181
- **MANDATORY: `.planning/ROADMAP.md` must be updated on disk before this workflow is complete. If the write fails, STOP and report the failure. Without the updated ROADMAP, the phase cycle cannot begin.**
182
-
183
- <completion>
184
- Report to the user what was created, then present the next step:
185
-
186
- ---
187
- **Completed:** Gap closure plan created.
188
-
189
- Created:
190
- - [N] gap closure phases in `ROADMAP.md` (Phases [start]–[end])
191
- - Phase directories in `.planning/phases/`
192
-
193
- Gaps addressed:
194
- - [brief summary of what the phases close]
195
-
196
- **Next step:** `/gsdd-plan [N]` — plan Phase [N]: [phase name]
197
-
198
- After all gap closure phases complete:
199
- - `/gsdd-audit-milestone` — re-audit to verify gaps are closed
200
- - `/gsdd-complete-milestone` — archive when audit passes
201
-
202
- Consider clearing context before starting the next workflow for best results.
203
- ---
204
- </completion>