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.
Files changed (100) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +625 -607
  3. package/agents/DISTILLATION.md +421 -421
  4. package/agents/README.md +62 -62
  5. package/agents/approach-explorer.md +361 -361
  6. package/agents/debugger.md +82 -82
  7. package/agents/executor.md +394 -394
  8. package/agents/integration-checker.md +318 -318
  9. package/agents/mapper.md +103 -103
  10. package/agents/planner.md +313 -313
  11. package/agents/researcher.md +84 -84
  12. package/agents/roadmapper.md +296 -296
  13. package/agents/synthesizer.md +236 -236
  14. package/agents/verifier.md +337 -337
  15. package/bin/adapters/agents.mjs +34 -34
  16. package/bin/adapters/claude.mjs +191 -191
  17. package/bin/adapters/codex.mjs +85 -85
  18. package/bin/adapters/index.mjs +20 -20
  19. package/bin/adapters/opencode.mjs +278 -278
  20. package/bin/gsdd.mjs +123 -116
  21. package/bin/lib/cli-utils.mjs +28 -28
  22. package/bin/lib/evidence-contract.mjs +112 -112
  23. package/bin/lib/file-ops.mjs +209 -161
  24. package/bin/lib/health-truth.mjs +181 -178
  25. package/bin/lib/health.mjs +265 -235
  26. package/bin/lib/init-flow.mjs +252 -236
  27. package/bin/lib/init-prompts.mjs +248 -247
  28. package/bin/lib/init-runtime.mjs +225 -212
  29. package/bin/lib/init.mjs +17 -17
  30. package/bin/lib/lifecycle-preflight.mjs +360 -333
  31. package/bin/lib/lifecycle-state.mjs +351 -267
  32. package/bin/lib/manifest.mjs +116 -114
  33. package/bin/lib/models.mjs +411 -411
  34. package/bin/lib/phase.mjs +397 -378
  35. package/bin/lib/plan-constants.mjs +30 -30
  36. package/bin/lib/provenance.mjs +109 -106
  37. package/bin/lib/rendering.mjs +178 -130
  38. package/bin/lib/runtime-freshness.mjs +221 -219
  39. package/bin/lib/templates.mjs +225 -224
  40. package/bin/lib/workspace-root.mjs +132 -0
  41. package/distilled/DESIGN.md +2347 -2327
  42. package/distilled/EVIDENCE-INDEX.md +397 -394
  43. package/distilled/README.md +196 -193
  44. package/distilled/SKILL.md +86 -85
  45. package/distilled/templates/agents.block.md +21 -21
  46. package/distilled/templates/agents.md +6 -6
  47. package/distilled/templates/approach.md +232 -232
  48. package/distilled/templates/auth-matrix.md +78 -78
  49. package/distilled/templates/brownfield-change/CHANGE.md +99 -0
  50. package/distilled/templates/brownfield-change/HANDOFF.md +38 -0
  51. package/distilled/templates/brownfield-change/VERIFICATION.md +56 -0
  52. package/distilled/templates/codebase/architecture.md +110 -110
  53. package/distilled/templates/codebase/concerns.md +95 -95
  54. package/distilled/templates/codebase/conventions.md +193 -193
  55. package/distilled/templates/codebase/stack.md +96 -96
  56. package/distilled/templates/delegates/approach-explorer.md +25 -25
  57. package/distilled/templates/delegates/mapper-arch.md +26 -26
  58. package/distilled/templates/delegates/mapper-concerns.md +27 -27
  59. package/distilled/templates/delegates/mapper-quality.md +28 -28
  60. package/distilled/templates/delegates/mapper-tech.md +25 -25
  61. package/distilled/templates/delegates/plan-checker.md +68 -68
  62. package/distilled/templates/delegates/researcher-architecture.md +30 -30
  63. package/distilled/templates/delegates/researcher-features.md +30 -30
  64. package/distilled/templates/delegates/researcher-pitfalls.md +30 -30
  65. package/distilled/templates/delegates/researcher-stack.md +30 -30
  66. package/distilled/templates/delegates/researcher-synthesizer.md +31 -31
  67. package/distilled/templates/research/architecture.md +57 -57
  68. package/distilled/templates/research/features.md +23 -23
  69. package/distilled/templates/research/pitfalls.md +46 -46
  70. package/distilled/templates/research/stack.md +45 -45
  71. package/distilled/templates/research/summary.md +67 -67
  72. package/distilled/templates/roadmap.md +74 -62
  73. package/distilled/templates/spec.md +110 -110
  74. package/distilled/workflows/audit-milestone.md +275 -271
  75. package/distilled/workflows/complete-milestone.md +336 -332
  76. package/distilled/workflows/execute.md +454 -449
  77. package/distilled/workflows/map-codebase.md +253 -253
  78. package/distilled/workflows/new-milestone.md +242 -238
  79. package/distilled/workflows/new-project.md +398 -398
  80. package/distilled/workflows/pause.md +160 -156
  81. package/distilled/workflows/plan-milestone-gaps.md +183 -183
  82. package/distilled/workflows/plan.md +451 -447
  83. package/distilled/workflows/progress.md +227 -223
  84. package/distilled/workflows/quick.md +351 -347
  85. package/distilled/workflows/resume.md +220 -212
  86. package/distilled/workflows/verify-work.md +260 -260
  87. package/distilled/workflows/verify.md +431 -429
  88. package/docs/BROWNFIELD-PROOF.md +95 -95
  89. package/docs/RUNTIME-SUPPORT.md +93 -75
  90. package/docs/USER-GUIDE.md +440 -399
  91. package/docs/VERIFICATION-DISCIPLINE.md +59 -59
  92. package/docs/claude/context-monitor.md +98 -98
  93. package/docs/proof/consumer-node-cli/README.md +37 -37
  94. package/docs/proof/consumer-node-cli/ROADMAP.md +14 -14
  95. package/docs/proof/consumer-node-cli/SPEC.md +17 -17
  96. package/docs/proof/consumer-node-cli/brief.md +9 -9
  97. package/docs/proof/consumer-node-cli/phases/01-foundation/01-01-PLAN.md +34 -34
  98. package/docs/proof/consumer-node-cli/phases/01-foundation/01-01-SUMMARY.md +10 -10
  99. package/docs/proof/consumer-node-cli/phases/01-foundation/01-VERIFICATION.md +30 -30
  100. package/package.json +62 -61
@@ -1,50 +1,50 @@
1
- # Workspine User Guide
2
-
3
- A detailed reference for Workspine workflows, troubleshooting, and configuration. Workspine is the public product name; the package, CLI, workflow names, and workspace remain `gsdd-cli`, `gsdd`, `gsdd-*`, and `.planning/` as retained technical contracts. Runtime floor: Node 20+. For quick-start setup and the public proof pack, start with the [README](../README.md).
4
-
5
- ---
6
-
7
- ## Table of Contents
8
-
9
- - [Workflow Diagrams](#workflow-diagrams)
10
- - [Command Reference](#command-reference)
11
- - [Configuration Reference](#configuration-reference)
12
- - [Usage Examples](#usage-examples)
13
- - [Troubleshooting](#troubleshooting)
14
- - [Recovery Quick Reference](#recovery-quick-reference)
15
-
16
- ---
17
-
18
- ## Workflow Diagrams
19
-
20
- ### Full Project Lifecycle
21
-
22
- ```
23
- ┌──────────────────────────────────────────────────┐
24
- │ NEW PROJECT │
25
- │ gsdd-new-project │
26
- │ Questions -> Research -> Spec -> Roadmap │
27
- └─────────────────────────┬────────────────────────┘
28
-
29
- ┌──────────────▼─────────────┐
30
- │ FOR EACH PHASE: │
31
- │ │
32
- │ ┌────────────────────┐ │
33
- │ │ gsdd-plan │ │ <- Research + Plan + Check
34
- │ └──────────┬─────────┘ │
35
- │ │ │
36
- │ ┌──────────▼─────────┐ │
37
- │ │ gsdd-execute │ │ <- Wave-based execution
38
- │ └──────────┬─────────┘ │
39
- │ │ │
40
- │ ┌──────────▼─────────┐ │
41
- │ │ gsdd-verify │ │ <- 3-level gate
42
- │ └──────────┬─────────┘ │
43
- │ │ │
44
- │ Next Phase?────────────┘
45
- │ │ No
46
- └─────────────┼──────────────┘
47
-
1
+ # Workspine User Guide
2
+
3
+ A detailed reference for Workspine workflows, troubleshooting, and configuration. Workspine is the public product name; the package, CLI, workflow names, and workspace remain `gsdd-cli`, `gsdd`, `gsdd-*`, and `.planning/` as retained technical contracts. Runtime floor: Node 20+. For quick-start setup and the public proof pack, start with the [README](../README.md). Human install/update commands use `npx -y gsdd-cli ...`; bare `gsdd ...` is shorthand only when the package is globally installed.
4
+
5
+ ---
6
+
7
+ ## Table of Contents
8
+
9
+ - [Workflow Diagrams](#workflow-diagrams)
10
+ - [Command Reference](#command-reference)
11
+ - [Configuration Reference](#configuration-reference)
12
+ - [Usage Examples](#usage-examples)
13
+ - [Troubleshooting](#troubleshooting)
14
+ - [Recovery Quick Reference](#recovery-quick-reference)
15
+
16
+ ---
17
+
18
+ ## Workflow Diagrams
19
+
20
+ ### Full Project Lifecycle
21
+
22
+ ```
23
+ ┌──────────────────────────────────────────────────┐
24
+ │ NEW PROJECT │
25
+ │ gsdd-new-project │
26
+ │ Questions -> Research -> Spec -> Roadmap │
27
+ └─────────────────────────┬────────────────────────┘
28
+
29
+ ┌──────────────▼─────────────┐
30
+ │ FOR EACH PHASE: │
31
+ │ │
32
+ │ ┌────────────────────┐ │
33
+ │ │ gsdd-plan │ │ <- Research + Plan + Check
34
+ │ └──────────┬─────────┘ │
35
+ │ │ │
36
+ │ ┌──────────▼─────────┐ │
37
+ │ │ gsdd-execute │ │ <- Wave-based execution
38
+ │ └──────────┬─────────┘ │
39
+ │ │ │
40
+ │ ┌──────────▼─────────┐ │
41
+ │ │ gsdd-verify │ │ <- 3-level gate
42
+ │ └──────────┬─────────┘ │
43
+ │ │ │
44
+ │ Next Phase?────────────┘
45
+ │ │ No
46
+ └─────────────┼──────────────┘
47
+
48
48
  ┌──────────────▼──────────────┐
49
49
  │ gsdd-audit-milestone │
50
50
  └─────────────────────────────┘
@@ -56,115 +56,115 @@ Optional closure and milestone-continuation workflows in the shipped surface:
56
56
  - `gsdd-plan-milestone-gaps` turns audit findings into gap-closure phases when a milestone is not ready to ship.
57
57
  - `gsdd-complete-milestone` archives a shipped milestone, evolves `SPEC.md`, and collapses `ROADMAP.md`.
58
58
  - `gsdd-new-milestone` starts the next milestone after closure.
59
-
60
- ### Planning Agent Coordination
61
-
62
- ```
63
- gsdd-plan (phase N)
64
-
65
- ├── Phase Researcher (x4 parallel)
66
- │ ├── Stack researcher
67
- │ ├── Features researcher
68
- │ ├── Architecture researcher
69
- │ └── Pitfalls researcher
70
- │ │
71
- │ ┌─────▼───────┐
72
- │ │ RESEARCH.md │
73
- │ └─────┬───────┘
74
- │ │
75
- │ ┌─────▼──────┐
76
- │ │ Planner │ <- Reads SPEC.md, ROADMAP.md, RESEARCH.md
77
- │ └─────┬──────┘
78
- │ │
79
- │ ┌─────▼──────────────┐ ┌────────┐
80
- │ │ Plan Checker │────>│ PASS? │
81
- │ │ (fresh context, │ └───┬────┘
82
- │ │ 7 dimensions, │ │
83
- │ │ typed JSON) │ Yes │ No
84
- │ └────────────────────┘ │ │ │
85
- │ │ └───┘ (max 3 cycles)
86
- │ │
87
- │ ┌─────▼──────┐
88
- │ │ PLAN files │
89
- │ └────────────┘
90
- └── Done
91
- ```
92
-
93
- The plan checker runs in a **separate context window** from the planner. This prevents the checker from inheriting the planner's blind spots — the same reasoning error that produced the plan cannot suppress the review of that plan. This is the [ICLR-validated](https://arxiv.org/abs/2310.01798) pattern for LLM self-refinement.
94
-
95
- The 7 check dimensions: requirement coverage, task completeness, dependency correctness, key-link completeness, scope sanity, must-have quality, context compliance.
96
-
97
- ### Execution Wave Coordination
98
-
99
- ```
100
- gsdd-execute (phase N)
101
-
102
- ├── Analyze plan dependencies
103
-
104
- ├── Wave 1 (independent plans):
105
- │ ├── Executor A (fresh 200K context) -> commit
106
- │ └── Executor B (fresh 200K context) -> commit
107
-
108
- ├── Wave 2 (depends on Wave 1):
109
- │ └── Executor C (fresh 200K context) -> commit
110
-
111
- └── Phase summary written to disk
112
- ```
113
-
114
- ### Brownfield Workflow (Existing Codebase)
115
-
116
- ```
117
- Brownfield repo
118
-
119
- ├── bounded change already concrete
120
- │ │
121
- │ ▼
122
- │ gsdd-quick
123
- │ bounded feature work
124
- │ with inline baseline
125
-
126
- ├── repo unfamiliar / risky / deeper orientation needed
127
- │ │
128
- │ ▼
129
- │ gsdd-map-codebase
130
- │ │
131
- │ └── continue with gsdd-quick or gsdd-new-project
132
-
133
- └── fuzzy scope / full lifecycle setup
134
-
135
-
136
- gsdd-new-project
137
- canonical initializer
138
- ```
139
-
140
- ### Verification Gate
141
-
142
- ```
143
- gsdd-verify (phase N)
144
-
145
- ├── Level 1: EXISTS
146
- │ └── Do the expected files exist?
147
-
148
- ├── Level 2: SUBSTANTIVE
149
- │ └── Is the code real, not stubs?
150
-
151
- ├── Level 3: WIRED
152
- │ └── Is it connected and functional?
153
-
154
- └── Anti-pattern scan
155
- └── TODO/FIXME/HACK markers, empty catches
156
- ```
157
-
158
- ---
159
-
160
- ## Command Reference
161
-
162
- ### Workflows (run via generated skills or adapters)
163
-
164
- | Workflow | Purpose | When to Use |
165
- |----------|---------|-------------|
166
- | `gsdd-new-project` | Full project init: questioning, brownfield audit when needed, research, spec, roadmap | Greenfield, fuzzy brownfield scope, or full lifecycle setup |
167
- | `gsdd-map-codebase` | Map existing codebase for reusable brownfield context | When the repo is unfamiliar, risky, or you want a deeper baseline before choosing `quick` vs `new-project` |
59
+
60
+ ### Planning Agent Coordination
61
+
62
+ ```
63
+ gsdd-plan (phase N)
64
+
65
+ ├── Phase Researcher (x4 parallel)
66
+ │ ├── Stack researcher
67
+ │ ├── Features researcher
68
+ │ ├── Architecture researcher
69
+ │ └── Pitfalls researcher
70
+ │ │
71
+ │ ┌─────▼───────┐
72
+ │ │ RESEARCH.md │
73
+ │ └─────┬───────┘
74
+ │ │
75
+ │ ┌─────▼──────┐
76
+ │ │ Planner │ <- Reads SPEC.md, ROADMAP.md, RESEARCH.md
77
+ │ └─────┬──────┘
78
+ │ │
79
+ │ ┌─────▼──────────────┐ ┌────────┐
80
+ │ │ Plan Checker │────>│ PASS? │
81
+ │ │ (fresh context, │ └───┬────┘
82
+ │ │ 7 dimensions, │ │
83
+ │ │ typed JSON) │ Yes │ No
84
+ │ └────────────────────┘ │ │ │
85
+ │ │ └───┘ (max 3 cycles)
86
+ │ │
87
+ │ ┌─────▼──────┐
88
+ │ │ PLAN files │
89
+ │ └────────────┘
90
+ └── Done
91
+ ```
92
+
93
+ The plan checker runs in a **separate context window** from the planner. This prevents the checker from inheriting the planner's blind spots — the same reasoning error that produced the plan cannot suppress the review of that plan. This is the [ICLR-validated](https://arxiv.org/abs/2310.01798) pattern for LLM self-refinement.
94
+
95
+ The 7 check dimensions: requirement coverage, task completeness, dependency correctness, key-link completeness, scope sanity, must-have quality, context compliance.
96
+
97
+ ### Execution Wave Coordination
98
+
99
+ ```
100
+ gsdd-execute (phase N)
101
+
102
+ ├── Analyze plan dependencies
103
+
104
+ ├── Wave 1 (independent plans):
105
+ │ ├── Executor A (fresh 200K context) -> commit
106
+ │ └── Executor B (fresh 200K context) -> commit
107
+
108
+ ├── Wave 2 (depends on Wave 1):
109
+ │ └── Executor C (fresh 200K context) -> commit
110
+
111
+ └── Phase summary written to disk
112
+ ```
113
+
114
+ ### Brownfield Workflow (Existing Codebase)
115
+
116
+ ```
117
+ Brownfield repo
118
+
119
+ ├── bounded change already concrete
120
+ │ │
121
+ │ ▼
122
+ │ gsdd-quick
123
+ │ bounded feature work
124
+ │ with inline baseline
125
+
126
+ ├── repo unfamiliar / risky / deeper orientation needed
127
+ │ │
128
+ │ ▼
129
+ │ gsdd-map-codebase
130
+ │ │
131
+ │ └── continue with gsdd-quick or gsdd-new-project
132
+
133
+ └── fuzzy scope / full lifecycle setup
134
+
135
+
136
+ gsdd-new-project
137
+ canonical initializer
138
+ ```
139
+
140
+ ### Verification Gate
141
+
142
+ ```
143
+ gsdd-verify (phase N)
144
+
145
+ ├── Level 1: EXISTS
146
+ │ └── Do the expected files exist?
147
+
148
+ ├── Level 2: SUBSTANTIVE
149
+ │ └── Is the code real, not stubs?
150
+
151
+ ├── Level 3: WIRED
152
+ │ └── Is it connected and functional?
153
+
154
+ └── Anti-pattern scan
155
+ └── TODO/FIXME/HACK markers, empty catches
156
+ ```
157
+
158
+ ---
159
+
160
+ ## Command Reference
161
+
162
+ ### Workflows (run via generated skills or adapters)
163
+
164
+ | Workflow | Purpose | When to Use |
165
+ |----------|---------|-------------|
166
+ | `gsdd-new-project` | Full project init: questioning, brownfield audit when needed, research, spec, roadmap | Greenfield, fuzzy brownfield scope, or full lifecycle setup |
167
+ | `gsdd-map-codebase` | Map existing codebase for reusable brownfield context | When the repo is unfamiliar, risky, or you want a deeper baseline before choosing `quick` vs `new-project` |
168
168
  | `gsdd-plan` | Research + plan + adversarial check for current phase; writes planning artifacts only | Before executing a phase |
169
169
  | `gsdd-execute` | Execute phase plans in parallel waves | After planning is complete |
170
170
  | `gsdd-verify` | 3-level verification gate + anti-pattern scan | After execution completes |
@@ -177,269 +177,310 @@ The 7 check dimensions: requirement coverage, task completeness, dependency corr
177
177
  | `gsdd-pause` | Save session context to checkpoint | Stopping mid-phase |
178
178
  | `gsdd-resume` | Restore context from checkpoint and route to next action | Starting a new session |
179
179
  | `gsdd-progress` | Show project status and route to next action | "Where am I?" |
180
-
181
- ### CLI Commands
182
-
183
- | Command | Purpose |
184
- |---------|---------|
185
- | `gsdd init [--tools <platform>]` | Set up `.planning/`, generate adapters |
186
- | `gsdd update [--tools <platform>]` | Regenerate adapters from latest sources |
187
- | `gsdd update --templates` | Refresh role contracts and delegates (warns about user modifications) |
188
- | `gsdd find-phase [N]` | Show phase info as JSON (for agent consumption) |
189
- | `gsdd verify <N>` | Run artifact checks for phase N |
190
- | `gsdd scaffold phase <N> [name]` | Create a new phase plan file |
191
- | `gsdd models show` | Display effective model state across all runtimes |
192
- | `gsdd models profile <tier>` | Set global model profile (`quality`/`balanced`/`budget`) |
193
- | `gsdd models agent-profile --agent <id> --profile <tier>` | Per-agent semantic override |
194
- | `gsdd models set --runtime <rt> --agent <id> --model <id>` | Exact runtime model override |
195
- | `gsdd models clear --runtime <rt> --agent <id>` | Remove runtime override |
196
- | `gsdd help` | Show all commands |
197
-
198
- `init` generates a local `.planning/bin/gsdd*` helper surface. Workflow-embedded helper commands still use `node .planning/bin/gsdd.mjs ...` as the portable contract, so lifecycle preflight, file-op, and phase-status mechanics do not depend on a global `gsdd` binary after init.
180
+
181
+ ### CLI Commands
182
+
183
+ | Command | Purpose |
184
+ |---------|---------|
185
+ | `npx -y gsdd-cli init [--tools <platform>]` | Set up `.planning/`, generate skills/adapters |
186
+ | `npx -y gsdd-cli update [--tools <platform>]` | Regenerate skills/adapters from latest sources |
187
+ | `npx -y gsdd-cli update --templates` | Refresh role contracts and delegates (warns about user modifications) |
188
+ | `npx -y gsdd-cli find-phase [N]` | Show phase info as JSON (for agent consumption) |
189
+ | `npx -y gsdd-cli verify <N>` | Run artifact checks for phase N |
190
+ | `npx -y gsdd-cli scaffold phase <N> [name]` | Create a new phase plan file |
191
+ | `npx -y gsdd-cli models show` | Display effective model state across all runtimes |
192
+ | `npx -y gsdd-cli models profile <tier>` | Set global model profile (`quality`/`balanced`/`budget`) |
193
+ | `npx -y gsdd-cli models agent-profile --agent <id> --profile <tier>` | Per-agent semantic override |
194
+ | `npx -y gsdd-cli models set --runtime <rt> --agent <id> --model <id>` | Exact runtime model override |
195
+ | `npx -y gsdd-cli models clear --runtime <rt> --agent <id>` | Remove runtime override |
196
+ | `npx -y gsdd-cli help` | Show all commands |
197
+
198
+ If `gsdd-cli` is globally installed, you can use the shorter `gsdd ...` form for the same commands. Generated workflow helper calls do not use the global binary; they run through `node .planning/bin/gsdd.mjs ...` from the repo root.
199
+
200
+ Normal user flow:
201
+
202
+ 1. Run `npx gsdd-cli init`.
203
+ 2. Enter workflows through your runtime surface: `/gsdd-*` or `$gsdd-*`.
204
+ 3. Use `gsdd health` to check installed generated surfaces.
205
+ 4. Use `npx gsdd-cli update` when generated surfaces drift or you want the latest shipped output.
206
+
207
+ Surface split:
208
+
209
+ - `.agents/skills/gsdd-*` is the workflow entry surface.
210
+ - `.planning/bin/gsdd*` is an internal local helper surface used by workflow-embedded lifecycle mechanics. It is kept available, but it is not the normal first-run user entrypoint.
211
+
212
+ Advanced/internal helper commands remain available:
213
+
214
+ | Command | Purpose |
215
+ |---------|---------|
216
+ | `gsdd file-op <copy\|delete\|regex-sub>` | Deterministic workspace-confined file copy, delete, and text mutation |
217
+ | `gsdd phase-status <N> <status>` | Update a single ROADMAP phase status through the local helper surface |
218
+ | `gsdd lifecycle-preflight <surface> [phase]` | Inspect deterministic lifecycle gate results for a workflow surface |
219
+
220
+ Other CLI commands that remain available outside the first-run path:
221
+
222
+ | Command | Purpose |
223
+ |---------|---------|
224
+ | `gsdd find-phase [N]` | Show phase info as JSON (for agent consumption) |
225
+ | `gsdd verify <N>` | Run artifact checks for phase N |
226
+ | `gsdd scaffold phase <N> [name]` | Create a new phase plan file |
199
227
 
200
228
  ### Platform flags for `--tools`
201
-
202
- | Flag | What's generated |
203
- |------|-----------------|
204
- | `claude` | `.claude/skills/`, `.claude/commands/`, `.claude/agents/` |
205
- | `opencode` | `.opencode/commands/`, `.opencode/agents/` |
206
- | `codex` | `.codex/agents/gsdd-plan-checker.toml` (portable skill is always generated; `$gsdd-plan` stays plan-only until explicit `$gsdd-execute`) |
207
- | `agents` | Bounded fallback block in root `AGENTS.md` |
208
- | `all` | All of the above |
209
- | *(none)* | Auto-detect installed tools |
210
-
211
- ---
212
-
213
- ## Configuration Reference
214
-
215
- `gsdd init` creates `.planning/config.json` interactively (or with defaults via `--auto`).
216
-
217
- ### Full config.json Schema
218
-
219
- ```json
220
- {
221
- "researchDepth": "balanced",
222
- "parallelization": true,
223
- "commitDocs": true,
224
- "modelProfile": "balanced",
225
- "workflow": {
226
- "research": true,
227
- "planCheck": true,
228
- "verifier": true
229
- },
230
- "gitProtocol": {
231
- "branch": "Follow existing repo conventions",
232
- "commit": "Logical grouping, no phase/task IDs",
233
- "pr": "Follow existing review workflow"
234
- }
235
- }
236
- ```
237
-
238
- ### Core Settings
239
-
240
- | Setting | Options | Default | What it Controls |
241
- |---------|---------|---------|------------------|
242
- | `researchDepth` | `fast`, `balanced`, `deep` | `balanced` | Research thoroughness per phase |
243
- | `parallelization` | `true`, `false` | `true` | Run independent agents simultaneously |
244
- | `commitDocs` | `true`, `false` | `true` | Track `.planning/` in git |
245
- | `modelProfile` | `balanced`, `quality`, `budget` | `balanced` | Portable semantic model tier |
246
-
247
- ### Workflow Toggles
248
-
249
- Each adds quality but costs tokens and time:
250
-
251
- | Setting | Default | What it Controls |
252
- |---------|---------|------------------|
253
- | `workflow.research` | `true` | Research domain before planning each phase |
254
- | `workflow.planCheck` | `true` | Fresh-context adversarial plan checking (max-3 cycle loop) |
255
- | `workflow.verifier` | `true` | 3-level verification gate after execution |
256
-
257
- Disable these to speed up phases in familiar domains or when conserving tokens. Disabling `planCheck` engages reduced-assurance mode — the planner self-checks but without the independent reviewer.
258
-
259
- ### Model Control
260
-
261
- Optional keys for fine-grained model selection:
262
-
263
- | Setting | What it Controls |
264
- |---------|------------------|
265
- | `agentModelProfiles.<agent>` | Per-agent semantic override (currently: `plan-checker`) |
266
- | `runtimeModelOverrides.<runtime>.<agent>` | Exact runtime-native model override |
267
-
268
- Supported runtimes: `claude`, `opencode`, `codex`.
269
-
270
- Runtime behavior:
271
- - **Claude** translates semantic tiers to native aliases (`opus`/`sonnet`/`haiku`) for the checker agent
272
- - **OpenCode** inherits its runtime model by default; Workspine only injects a model when you set an explicit runtime override
273
- - **Codex** inherits its session model by default; Workspine only injects a model in the TOML when you set an explicit runtime override
274
-
275
- ### Git Protocol
276
-
277
- Advisory defaults — repository and team conventions take precedence:
278
-
279
- | Setting | Default |
280
- |---------|---------|
281
- | `gitProtocol.branch` | Follow existing repo conventions |
282
- | `gitProtocol.commit` | Logical grouping, no framework-imposed format |
283
- | `gitProtocol.pr` | Follow existing review workflow |
284
-
285
- Workspine does not impose commit formats, branch naming, or one-commit-per-task rules.
286
-
287
- ---
288
-
289
- ## Usage Examples
290
-
291
- ### New Project (Full Cycle)
292
-
293
- `npx gsdd-cli init`
294
-
295
- Cursor, Copilot, and Gemini use the same core workflow through installed `.agents/skills/` surfaces. The difference is runtime proof and ergonomics, not workflow shape.
229
+
230
+ | Flag | What's generated |
231
+ |------|-----------------|
232
+ | `claude` | `.claude/skills/`, `.claude/commands/`, `.claude/agents/` |
233
+ | `opencode` | `.opencode/commands/`, `.opencode/agents/` |
234
+ | `codex` | `.codex/agents/gsdd-plan-checker.toml` (`.agents/skills/gsdd-*` and `.planning/bin/gsdd.mjs` are always generated; `$gsdd-plan` stays plan-only until explicit `$gsdd-execute`) |
235
+ | `agents` | Bounded fallback block in root `AGENTS.md` |
236
+ | `all` | All of the above |
237
+ | *(none)* | Auto-detect installed tools |
238
+
239
+ ---
240
+
241
+ ## Configuration Reference
242
+
243
+ `npx -y gsdd-cli init` creates `.planning/config.json` interactively (or with defaults via `--auto`).
244
+
245
+ ### Full config.json Schema
246
+
247
+ ```json
248
+ {
249
+ "researchDepth": "balanced",
250
+ "parallelization": true,
251
+ "commitDocs": true,
252
+ "modelProfile": "balanced",
253
+ "workflow": {
254
+ "research": true,
255
+ "planCheck": true,
256
+ "verifier": true
257
+ },
258
+ "gitProtocol": {
259
+ "branch": "Follow existing repo conventions",
260
+ "commit": "Logical grouping, no phase/task IDs",
261
+ "pr": "Follow existing review workflow"
262
+ }
263
+ }
264
+ ```
265
+
266
+ ### Core Settings
267
+
268
+ | Setting | Options | Default | What it Controls |
269
+ |---------|---------|---------|------------------|
270
+ | `researchDepth` | `fast`, `balanced`, `deep` | `balanced` | Research thoroughness per phase |
271
+ | `parallelization` | `true`, `false` | `true` | Run independent agents simultaneously |
272
+ | `commitDocs` | `true`, `false` | `true` | Track `.planning/` in git |
273
+ | `modelProfile` | `balanced`, `quality`, `budget` | `balanced` | Portable semantic model tier |
274
+
275
+ ### Workflow Toggles
276
+
277
+ Each adds quality but costs tokens and time:
278
+
279
+ | Setting | Default | What it Controls |
280
+ |---------|---------|------------------|
281
+ | `workflow.research` | `true` | Research domain before planning each phase |
282
+ | `workflow.planCheck` | `true` | Fresh-context adversarial plan checking (max-3 cycle loop) |
283
+ | `workflow.verifier` | `true` | 3-level verification gate after execution |
284
+
285
+ Disable these to speed up phases in familiar domains or when conserving tokens. Disabling `planCheck` engages reduced-assurance mode — the planner self-checks but without the independent reviewer.
286
+
287
+ ### Model Control
288
+
289
+ Optional keys for fine-grained model selection:
290
+
291
+ | Setting | What it Controls |
292
+ |---------|------------------|
293
+ | `agentModelProfiles.<agent>` | Per-agent semantic override (currently: `plan-checker`) |
294
+ | `runtimeModelOverrides.<runtime>.<agent>` | Exact runtime-native model override |
295
+
296
+ Supported runtimes: `claude`, `opencode`, `codex`.
297
+
298
+ Runtime behavior:
299
+ - **Claude** translates semantic tiers to native aliases (`opus`/`sonnet`/`haiku`) for the checker agent
300
+ - **OpenCode** inherits its runtime model by default; Workspine only injects a model when you set an explicit runtime override
301
+ - **Codex** inherits its session model by default; Workspine only injects a model in the TOML when you set an explicit runtime override
302
+
303
+ ### Git Protocol
304
+
305
+ Advisory defaults — repository and team conventions take precedence:
306
+
307
+ | Setting | Default |
308
+ |---------|---------|
309
+ | `gitProtocol.branch` | Follow existing repo conventions |
310
+ | `gitProtocol.commit` | Logical grouping, no framework-imposed format |
311
+ | `gitProtocol.pr` | Follow existing review workflow |
312
+
313
+ Workspine does not impose commit formats, branch naming, or one-commit-per-task rules.
314
+
315
+ ---
316
+
317
+ ## Usage Examples
318
+
319
+ ### New Project (Full Cycle)
320
+
321
+ `npx -y gsdd-cli init`
322
+
323
+ Cursor, Copilot, and Gemini can use the installed `.agents/skills/` surfaces when their slash/skill discovery sees that directory. The difference is runtime proof and ergonomics, not workflow shape. If discovery is unavailable, open or paste the relevant `.agents/skills/gsdd-*/SKILL.md` file.
296
324
 
297
325
  - `Claude/OpenCode`: `/gsdd-new-project -> /gsdd-plan -> /gsdd-execute -> /gsdd-verify -> /gsdd-audit-milestone`
298
326
  - `Codex`: `$gsdd-new-project -> $gsdd-plan -> $gsdd-execute -> $gsdd-verify -> $gsdd-audit-milestone` (`$gsdd-plan` ends at plan creation; `$gsdd-execute` is a separate explicit unlock)
299
- - `Cursor / Copilot / Gemini`: `/gsdd-new-project -> /gsdd-plan -> /gsdd-execute -> /gsdd-verify -> /gsdd-audit-milestone` from the slash command menu once the skill is installed
327
+ - `Codex VS Code / app`: use built-in discovery if available; otherwise open or paste `.agents/skills/gsdd-new-project/SKILL.md` and continue with the matching skill files
328
+ - `Cursor / Copilot / Gemini`: use the same sequence from the slash command menu when skill discovery is available; otherwise open or paste the matching `.agents/skills/gsdd-*/SKILL.md` files
300
329
 
301
330
  ### Milestone Continuation
302
331
 
303
332
  - `Claude/OpenCode`: `/gsdd-plan-milestone-gaps` when audit findings need closure work, or `/gsdd-complete-milestone -> /gsdd-new-milestone` when the milestone is ready to ship
304
333
  - `Codex`: `$gsdd-plan-milestone-gaps` when audit findings need closure work, or `$gsdd-complete-milestone -> $gsdd-new-milestone` when the milestone is ready to ship
305
- - `Cursor / Copilot / Gemini`: use the matching slash commands once the skills are installed, with the same routing as above
306
-
307
- ### Existing Codebase
308
-
309
- `npx gsdd-cli init`
310
-
334
+ - `Cursor / Copilot / Gemini`: use the matching slash commands when skill discovery is available, with the same routing as above
335
+
336
+ ### Existing Codebase
337
+
338
+ `npx -y gsdd-cli init`
339
+
340
+ - Choose one starting lane after init:
311
341
  - `Claude/OpenCode`: `/gsdd-quick` for a concrete bounded change, `/gsdd-new-project` for fuzzy or milestone-shaped work, or `/gsdd-map-codebase` first when the repo needs a deeper brownfield baseline
312
342
  - `Codex`: `$gsdd-quick` for a concrete bounded change, `$gsdd-new-project` for fuzzy or milestone-shaped work, or `$gsdd-map-codebase` first when the repo needs a deeper brownfield baseline
313
- - `Cursor / Copilot / Gemini`: `/gsdd-quick`, `/gsdd-new-project`, or `/gsdd-map-codebase` from the slash command menu once the skills are installed, using the same routing rules above
314
-
315
- ### Quick Bug Fix
316
-
343
+ - `Cursor / Copilot / Gemini`: `/gsdd-quick`, `/gsdd-new-project`, or `/gsdd-map-codebase` from the slash command menu when skill discovery is available, using the same routing rules above
344
+
345
+ ### Quick Bug Fix
346
+
317
347
  - `Claude/OpenCode`: `/gsdd-quick`
318
348
  - `Codex`: `$gsdd-quick`
319
- - `Cursor / Copilot / Gemini`: `/gsdd-quick` from the slash command menu once the skill is installed
320
-
321
- ### Resuming After a Break
322
-
349
+ - `Cursor / Copilot / Gemini`: `/gsdd-quick` from the slash command menu when skill discovery is available
350
+
351
+ ### Resuming After a Break
352
+
323
353
  - `Claude/OpenCode`: `/gsdd-progress` or `/gsdd-resume`
324
354
  - `Codex`: `$gsdd-progress` or `$gsdd-resume`
325
- - `Cursor / Copilot / Gemini`: use the matching skill from the slash command menu once installed
326
-
327
- ### Pausing Mid-Work
328
-
355
+ - `Cursor / Copilot / Gemini`: use the matching skill from the slash command menu when discovery is available
356
+
357
+ ### Pausing Mid-Work
358
+
329
359
  - `Claude/OpenCode`: `/gsdd-pause`
330
360
  - `Codex`: `$gsdd-pause`
331
- - `Cursor / Copilot / Gemini`: `/gsdd-pause` from the slash command menu once the skill is installed
332
-
333
- ### Speed vs Quality Presets
334
-
335
- | Scenario | Research Depth | Model Profile | Research | Plan Check | Verifier |
336
- |----------|---------------|---------------|----------|------------|----------|
337
- | Prototyping | `fast` | `budget` | off | off | off |
338
- | Normal dev | `balanced` | `balanced` | on | on | on |
339
- | Production | `deep` | `quality` | on | on | on |
340
-
341
- ### Headless Init (CI / Automation)
342
-
343
- ```bash
344
- npx gsdd-cli init --auto --tools claude # Non-interactive, default config
345
- npx gsdd-cli init --auto --tools claude --brief path/to/PRD.md # Seed from existing document
346
- ```
347
-
348
- ---
349
-
350
- ## Troubleshooting
351
-
352
- ### Context Degradation During Long Sessions
353
-
354
- Clear your context window between major workflows. Workspine is designed around fresh contexts — every delegate gets a clean context window. If quality drops in the main session, clear and use `gsdd-resume` or `gsdd-progress` to restore state.
355
-
356
- ### Plans Seem Wrong or Misaligned
357
-
358
- Check that research ran before planning (`workflow.research: true`). Most plan quality issues come from the planner making assumptions that domain research would have prevented. If plan-checking is enabled, the checker should catch alignment issues — but it cannot fix missing domain context.
359
-
360
- ### Execution Produces Stubs
361
-
362
- Plans should have 2-5 tasks maximum. If tasks are too large, they exceed what a single context window can produce reliably. Re-plan with smaller scope.
363
-
364
- ### Lost Track of Where You Are
365
-
366
- Run `gsdd-progress`. It reads all artifacts and tells you where you are and what to do next.
367
-
368
- ### Need to Change Something After Execution
369
-
370
- Do not re-run `gsdd-execute`. Use `gsdd-quick` for targeted fixes, or `gsdd-verify` to systematically identify issues.
371
-
372
- ### Template Refresh After Update
373
-
374
- ```bash
375
- npx gsdd-cli update --templates # Refreshes role contracts and delegates
376
- ```
377
-
378
- If you've modified any templates, the generation manifest detects this and warns you before overwriting. The SHA-256 hash of each generated file is tracked in `.planning/generation-manifest.json`.
379
-
380
- ### Model Costs Too High
381
-
382
- Switch to budget profile: `gsdd models profile budget`. Disable research and plan-check via config if the domain is familiar.
383
-
384
- ---
385
-
386
- ## Recovery Quick Reference
387
-
388
- | Problem | Solution |
389
- |---------|----------|
390
- | Lost context / new session | `gsdd-resume` or `gsdd-progress` |
391
- | Phase went wrong | `git revert` the phase commits, then re-plan |
392
- | Quick targeted fix | `gsdd-quick` |
393
- | Something broke | Use the debugger role for systematic debugging |
394
- | Costs running high | `gsdd models profile budget`, disable workflow toggles |
395
- | Templates out of date | `npx gsdd-cli update --templates` |
396
- | Adapters out of date | `npx gsdd-cli update` |
397
-
398
- ---
399
-
400
- ## Project File Structure
401
-
402
- ```
403
- .planning/
404
- SPEC.md # Living specification (goals, constraints, decisions)
405
- ROADMAP.md # Phased delivery plan with inline status
361
+ - `Cursor / Copilot / Gemini`: `/gsdd-pause` from the slash command menu when skill discovery is available
362
+
363
+ ### Speed vs Quality Presets
364
+
365
+ | Scenario | Research Depth | Model Profile | Research | Plan Check | Verifier |
366
+ |----------|---------------|---------------|----------|------------|----------|
367
+ | Prototyping | `fast` | `budget` | off | off | off |
368
+ | Normal dev | `balanced` | `balanced` | on | on | on |
369
+ | Production | `deep` | `quality` | on | on | on |
370
+
371
+ ### Headless Init (CI / Automation)
372
+
373
+ ```bash
374
+ npx -y gsdd-cli init --auto --tools claude # Non-interactive, default config
375
+ npx -y gsdd-cli init --auto --tools claude --brief path/to/PRD.md # Seed from existing document
376
+ ```
377
+
378
+ ---
379
+
380
+ ## Troubleshooting
381
+
382
+ ### Context Degradation During Long Sessions
383
+
384
+ Clear your context window between major workflows. Workspine is designed around fresh contexts — every delegate gets a clean context window. If quality drops in the main session, clear and use `gsdd-resume` or `gsdd-progress` to restore state.
385
+
386
+ ### Plans Seem Wrong or Misaligned
387
+
388
+ Check that research ran before planning (`workflow.research: true`). Most plan quality issues come from the planner making assumptions that domain research would have prevented. If plan-checking is enabled, the checker should catch alignment issues — but it cannot fix missing domain context.
389
+
390
+ ### Execution Produces Stubs
391
+
392
+ Plans should have 2-5 tasks maximum. If tasks are too large, they exceed what a single context window can produce reliably. Re-plan with smaller scope.
393
+
394
+ ### Lost Track of Where You Are
395
+
396
+ Run `gsdd-progress`. It reads all artifacts and tells you where you are and what to do next.
397
+
398
+ ### Need to Change Something After Execution
399
+
400
+ Do not re-run `gsdd-execute`. Use `gsdd-quick` for targeted fixes, or `gsdd-verify` to systematically identify issues.
401
+
402
+ ### Template Refresh After Update
403
+
404
+ ```bash
405
+ npx -y gsdd-cli update --templates # Refreshes role contracts and delegates
406
+ ```
407
+
408
+ If you've modified any templates, the generation manifest detects this and warns you before overwriting. The SHA-256 hash of each generated file is tracked in `.planning/generation-manifest.json`.
409
+
410
+ ### Generated Surfaces Drift Or A Runtime Command Goes Missing
411
+
412
+ Start with `gsdd health`. If it reports drift or missing installed generated surfaces, run `npx gsdd-cli update` for the whole workspace or `npx gsdd-cli update --tools <runtime>` for a specific runtime.
413
+
414
+ That repair path is deterministic for generated files. It does not imply that every runtime has equal native ergonomics or equal validation depth.
415
+
416
+ ### Model Costs Too High
417
+
418
+ Switch to budget profile: `npx -y gsdd-cli models profile budget` (or `gsdd models profile budget` when globally installed). Disable research and plan-check via config if the domain is familiar.
419
+
420
+ ---
421
+
422
+ ## Recovery Quick Reference
423
+
424
+ | Problem | Solution |
425
+ |---------|----------|
426
+ | Lost context / new session | `gsdd-resume` or `gsdd-progress` |
427
+ | Phase went wrong | `git revert` the phase commits, then re-plan |
428
+ | Quick targeted fix | `gsdd-quick` |
429
+ | Something broke | Use the debugger role for systematic debugging |
430
+ | Costs running high | `npx -y gsdd-cli models profile budget`, disable workflow toggles |
431
+ | Templates out of date | `npx -y gsdd-cli update --templates` or `gsdd update --templates` if globally installed |
432
+ | Adapters out of date | `npx -y gsdd-cli update` or `gsdd update` if globally installed |
433
+
434
+ ---
435
+
436
+ ## Project File Structure
437
+
438
+ ```
439
+ .planning/
440
+ SPEC.md # Living specification (goals, constraints, decisions)
441
+ ROADMAP.md # Phased delivery plan with inline status
406
442
  config.json # Project configuration
407
443
  bin/
408
444
  gsdd # POSIX shim for the local helper surface
409
445
  gsdd.cmd # Windows shim for the local helper surface
410
- gsdd.mjs # Canonical local workflow-helper launcher
446
+ gsdd.mjs # Canonical self-contained local helper runtime
447
+ gsdd.ps1 # PowerShell shim for the local helper surface
448
+ lib/ # Copied helper-runtime support modules
411
449
  generation-manifest.json # SHA-256 hashes for template versioning
412
- .continue-here.md # Session checkpoint (created by pause, consumed by resume)
413
- research/ # Domain research outputs
414
- codebase/ # Codebase maps (4 files: STACK, ARCHITECTURE, CONVENTIONS, CONCERNS)
415
- phases/
416
- XX-phase-name/
417
- PLAN.md # Atomic execution plans with XML task structure
418
- SUMMARY.md # Execution outcomes
419
- VERIFICATION.md # Post-execution verification results
420
- quick/
421
- NNN-slug/
422
- PLAN.md # Quick task plan
423
- SUMMARY.md # Quick task outcome
424
- templates/
425
- delegates/ # 11 delegate instruction files
426
- LOG.md # Quick task log
427
-
428
- agents/ # 10 canonical role contracts
429
- .agents/skills/gsdd-*/ # Portable workflow entrypoints (open standard)
430
- ```
431
-
432
- Platform-specific adapters (generated by `gsdd init`):
433
-
434
- ```
435
- .claude/skills/ # Claude Code skill files
436
- .claude/commands/ # Claude Code command aliases
437
- .claude/agents/ # Claude Code native agents
438
-
439
- .opencode/commands/ # OpenCode command files
440
- .opencode/agents/ # OpenCode native agents
441
-
442
- .codex/agents/ # Codex CLI agent TOML files
443
-
444
- AGENTS.md # Governance fallback block (useful for agents that consume AGENTS.md)
445
- ```
450
+ .continue-here.md # Session checkpoint (created by pause, consumed by resume)
451
+ research/ # Domain research outputs
452
+ codebase/ # Codebase maps (4 files: STACK, ARCHITECTURE, CONVENTIONS, CONCERNS)
453
+ phases/
454
+ XX-phase-name/
455
+ PLAN.md # Atomic execution plans with XML task structure
456
+ SUMMARY.md # Execution outcomes
457
+ VERIFICATION.md # Post-execution verification results
458
+ quick/
459
+ NNN-slug/
460
+ PLAN.md # Quick task plan
461
+ SUMMARY.md # Quick task outcome
462
+ templates/
463
+ delegates/ # 11 delegate instruction files
464
+ LOG.md # Quick task log
465
+
466
+ agents/ # 10 canonical role contracts
467
+ .agents/skills/gsdd-*/ # Portable workflow entrypoints (open standard)
468
+ .planning/bin/gsdd.mjs # Internal repo-local helper runtime for deterministic workflow commands (run from repo root)
469
+ ```
470
+
471
+ Platform-specific adapters (generated by `npx -y gsdd-cli init`, or `gsdd init` when globally installed):
472
+
473
+ ```
474
+ .claude/skills/ # Claude Code skill files
475
+ .claude/commands/ # Claude Code command aliases
476
+ .claude/agents/ # Claude Code native agents
477
+
478
+ .opencode/commands/ # OpenCode command files
479
+ .opencode/agents/ # OpenCode native agents
480
+
481
+ .codex/agents/ # Codex CLI agent TOML files
482
+
483
+ AGENTS.md # Optional governance block (useful for agents that consume AGENTS.md)
484
+ ```
485
+
486
+ `.agents/skills/` is the workflow entry surface. `.planning/bin/` is the internal helper runtime used by those workflows. Native adapters and governance files are optional ergonomics, not required prompt bulk.