gsdd-cli 0.18.5 → 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 +609 -608
  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 +186 -144
  24. package/bin/lib/health-truth.mjs +181 -178
  25. package/bin/lib/health.mjs +246 -226
  26. package/bin/lib/init-flow.mjs +247 -231
  27. package/bin/lib/init-prompts.mjs +248 -247
  28. package/bin/lib/init-runtime.mjs +191 -190
  29. package/bin/lib/init.mjs +17 -17
  30. package/bin/lib/lifecycle-preflight.mjs +347 -325
  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 +360 -358
  35. package/bin/lib/plan-constants.mjs +30 -30
  36. package/bin/lib/provenance.mjs +109 -106
  37. package/bin/lib/rendering.mjs +115 -83
  38. package/bin/lib/runtime-freshness.mjs +214 -214
  39. package/bin/lib/templates.mjs +225 -224
  40. package/bin/lib/workspace-root.mjs +2 -1
  41. package/distilled/DESIGN.md +2333 -2323
  42. package/distilled/EVIDENCE-INDEX.md +394 -392
  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 +80 -69
  90. package/docs/USER-GUIDE.md +394 -386
  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
package/README.md CHANGED
@@ -1,628 +1,629 @@
1
- <div align="center">
2
-
3
- # Workspine
4
-
5
- **AI development that stays consistent across agents and sessions.** Plans are checked, work is verified, and progress is tracked in the repo.
6
-
7
- [![npm version](https://img.shields.io/npm/v/gsdd-cli?style=for-the-badge&logo=npm&logoColor=white&color=CB3837)](https://www.npmjs.com/package/gsdd-cli)
8
- [![License](https://img.shields.io/badge/license-MIT-blue?style=for-the-badge)](LICENSE)
9
-
10
- ```bash
11
- npx gsdd-cli init
12
- ```
13
-
14
- **Directly validated today:** Claude Code, Codex CLI, and OpenCode.
15
- **Qualified support:** Cursor, Copilot, and Gemini CLI support the same core workflow through the shared `.agents/skills/` surface; they do not carry the same runtime proof or ergonomics.
16
-
17
- </div>
18
-
19
- One repo-native spine for planning, checking, execution, verification, and handoff — so AI-assisted work survives cold starts, runtime switches, and session loss.
20
-
21
- ---
22
-
23
- ## What This Is
24
-
25
- Workspine is a repo-native delivery spine for long-horizon AI-assisted software work. It keeps planning, execution, verification, handoff, and progress state in the repo so work survives cold starts, runtime switches, and session loss.
26
-
27
- Workspine is the product name. The package, CLI commands, workflow prefixes, and workspace directory remain `gsdd-cli`, `gsdd`, `gsdd-*`, and `.planning/` — these are retained technical contracts, not rename residue.
28
-
29
- ### Lineage
30
-
31
- Workspine began as a fork of [Get Shit Done](https://github.com/gsd-build/get-shit-done), whose long-horizon delivery spine proved the problem was real. Since the fork, upstream GSD has continued evolving into a broad multi-runtime framework — as of April 2026, GSD v1 documents 81 commands and 78 workflows across 33 agents. Workspine took a different path: 14 public workflow surfaces, generated runtime adapters from a portable core, evidence-gated closure, and provenance-aware continuity. The trade-off is deliberate: a narrower surface with stricter closure and fewer moving parts for the human operator.
32
-
33
- ---
34
-
35
- ## What's Different
36
-
37
- ### Context survives cold starts, tool switches, and session loss
38
-
39
- Planning, phase artifacts, verification reports, and handoff checkpoints live in `.planning/`. When you switch runtimes or come back after a week, the repo still knows what was planned, what was executed, what was verified, and where you stopped.
40
-
41
- <details>
42
- <summary>How it works</summary>
43
-
44
- Three-layer continuity model: durable project truth (SPEC, ROADMAP, design decisions), live workflow state (phase plans, summaries, checkpoints), and compressed judgment (active constraints, anti-regression rules). Pause/resume workflows write and read these layers explicitly. No session memory required.
45
-
46
- </details>
47
-
48
- ### Done means verified, not merely generated
49
-
50
- Verification is a separate workflow with a separate context window, not a checkbox at the end of execution. It checks three levels — do the files exist, is the code substantive (not stubs), and is it actually wired into the system — plus an anti-pattern scan.
51
-
52
- <details>
53
- <summary>How it works</summary>
54
-
55
- `gsdd-verify` runs after execution and produces a typed verification report. `gsdd-audit-milestone` checks cross-phase integration, requirement coverage, and end-to-end flows. Evidence-gated closure prevents marking work done without the right evidence kinds (code, test, runtime, delivery, human).
56
-
57
- </details>
58
-
59
- ### Rules that must be consistent are enforced by code, not by memory
60
-
61
- 1,381 tests across 13 test files guard properties that PRs repeatedly broke: delegate-role reference integrity, workflow vendor-API cleanliness, artifact schema consistency, plan-checker dimension coverage, and cross-document drift.
62
-
63
- <details>
64
- <summary>How it works</summary>
65
-
66
- Invariant suites (I-series), guard suites (G-series), and scenario suites (S-series) run on every change. Each assertion includes a `FIX:` instruction so failures are actionable. 58 documented design decisions in `distilled/DESIGN.md` record the rationale with evidence trails.
67
-
68
- </details>
69
-
70
- ### Smaller surface, stricter closure
71
-
72
- 14 workflows. 10 roles. One CLI. Lifecycle progression goes through deterministic preflight gates — not conversational inference. Plans are checked by a separate agent in a separate context before execution begins. Closure requires evidence, not just file existence.
73
-
74
- <details>
75
- <summary>How it works</summary>
76
-
77
- `gsdd-plan` is terminal: it writes planning artifacts and stops. Execution requires an explicit `gsdd-execute` transition. `lifecycle-preflight` evaluates eligibility from repo artifacts before allowing state changes. `phase-status` is the only explicit ROADMAP mutator. `progress` is read-only.
78
-
79
- </details>
80
-
81
- **Target user:** Developer or small team that wants one durable delivery spine across coding runtimes, with explicit checks and repo-native proof instead of a dashboard or orchestration control plane.
82
-
83
- ---
84
-
85
- ## Getting Started
86
-
87
- ```bash
88
- npx gsdd-cli init
89
- ```
90
-
1
+ <div align="center">
2
+
3
+ # Workspine
4
+
5
+ **AI development that stays consistent across agents and sessions.** Plans are checked, work is verified, and progress is tracked in the repo.
6
+
7
+ [![npm version](https://img.shields.io/npm/v/gsdd-cli?style=for-the-badge&logo=npm&logoColor=white&color=CB3837)](https://www.npmjs.com/package/gsdd-cli)
8
+ [![License](https://img.shields.io/badge/license-MIT-blue?style=for-the-badge)](LICENSE)
9
+
10
+ ```bash
11
+ npx -y gsdd-cli init
12
+ ```
13
+
14
+ **Directly validated today:** Claude Code, Codex CLI, and OpenCode.
15
+ **Qualified support:** Cursor, Copilot, and Gemini CLI can use the shared `.agents/skills/` surface when their skill or slash discovery sees it; this release does not claim the same runtime proof or ergonomics.
16
+
17
+ </div>
18
+
19
+ One repo-native spine for planning, checking, execution, verification, and handoff — so AI-assisted work survives cold starts, runtime switches, and session loss.
20
+
21
+ ---
22
+
23
+ ## What This Is
24
+
25
+ Workspine is a repo-native delivery spine for long-horizon AI-assisted software work. It keeps planning, execution, verification, handoff, and progress state in the repo so work survives cold starts, runtime switches, and session loss.
26
+
27
+ Workspine is the product name. The package, CLI commands, workflow prefixes, and workspace directory remain `gsdd-cli`, `gsdd`, `gsdd-*`, and `.planning/` — these are retained technical contracts, not rename residue.
28
+
29
+ ### Lineage
30
+
31
+ Workspine began as a fork of [Get Shit Done](https://github.com/gsd-build/get-shit-done), whose long-horizon delivery spine proved the problem was real. Since the fork, upstream GSD has continued evolving into a broad multi-runtime framework — as of April 2026, GSD v1 documents 81 commands and 78 workflows across 33 agents. Workspine took a different path: 14 public workflow surfaces, generated runtime adapters from a portable core, evidence-gated closure, and provenance-aware continuity. The trade-off is deliberate: a narrower surface with stricter closure and fewer moving parts for the human operator.
32
+
33
+ ---
34
+
35
+ ## What's Different
36
+
37
+ ### Context survives cold starts, tool switches, and session loss
38
+
39
+ Planning, phase artifacts, verification reports, and handoff checkpoints live in `.planning/`. When you switch runtimes or come back after a week, the repo still knows what was planned, what was executed, what was verified, and where you stopped.
40
+
41
+ <details>
42
+ <summary>How it works</summary>
43
+
44
+ Three-layer continuity model: durable project truth (SPEC, ROADMAP, design decisions), live workflow state (phase plans, summaries, checkpoints), and compressed judgment (active constraints, anti-regression rules). Pause/resume workflows write and read these layers explicitly. No session memory required.
45
+
46
+ </details>
47
+
48
+ ### Done means verified, not merely generated
49
+
50
+ Verification is a separate workflow with a separate context window, not a checkbox at the end of execution. It checks three levels — do the files exist, is the code substantive (not stubs), and is it actually wired into the system — plus an anti-pattern scan.
51
+
52
+ <details>
53
+ <summary>How it works</summary>
54
+
55
+ `gsdd-verify` runs after execution and produces a typed verification report. `gsdd-audit-milestone` checks cross-phase integration, requirement coverage, and end-to-end flows. Evidence-gated closure prevents marking work done without the right evidence kinds (code, test, runtime, delivery, human).
56
+
57
+ </details>
58
+
59
+ ### Rules that must be consistent are enforced by code, not by memory
60
+
61
+ 1,381 tests across 13 test files guard properties that PRs repeatedly broke: delegate-role reference integrity, workflow vendor-API cleanliness, artifact schema consistency, plan-checker dimension coverage, and cross-document drift.
62
+
63
+ <details>
64
+ <summary>How it works</summary>
65
+
66
+ Invariant suites (I-series), guard suites (G-series), and scenario suites (S-series) run on every change. Each assertion includes a `FIX:` instruction so failures are actionable. `distilled/DESIGN.md` records the rationale with evidence trails.
67
+
68
+ </details>
69
+
70
+ ### Smaller surface, stricter closure
71
+
72
+ 14 workflows. 10 roles. One CLI. Lifecycle progression goes through deterministic preflight gates — not conversational inference. Plans are checked by a separate agent in a separate context before execution begins. Closure requires evidence, not just file existence.
73
+
74
+ <details>
75
+ <summary>How it works</summary>
76
+
77
+ `gsdd-plan` is terminal: it writes planning artifacts and stops. Execution requires an explicit `gsdd-execute` transition. `lifecycle-preflight` evaluates eligibility from repo artifacts before allowing state changes. `phase-status` is the only explicit ROADMAP mutator. `progress` is read-only.
78
+
79
+ </details>
80
+
81
+ **Target user:** Developer or small team that wants one durable delivery spine across coding runtimes, with explicit checks and repo-native proof instead of a dashboard or orchestration control plane.
82
+
83
+ ---
84
+
85
+ ## Getting Started
86
+
87
+ ```bash
88
+ npx -y gsdd-cli init
89
+ ```
90
+
91
91
  This creates:
92
-
93
- 1. `.planning/` — durable workspace with templates, role contracts, config, and internal local helpers
94
- 2. `.agents/skills/gsdd-*` — portable workflow entrypoints your runtime invokes as `/gsdd-*` or `$gsdd-*`
95
- 3. Tool-specific adapters you choose in the install wizard (Claude skills/commands/agents, OpenCode commands/agents, Codex agents, optional governance)
92
+
93
+ 1. `.planning/` — durable workspace with templates, role contracts, and config
94
+ 2. `.agents/skills/gsdd-*` — compact open-standard workflow entrypoints for agents
95
+ 3. `.planning/bin/gsdd.mjs` — repo-local helper runtime for deterministic workflow commands inside generated skills (run helper commands from the repo root)
96
+ 4. Optional tool-specific adapters you choose in the install wizard (Claude skills/commands/agents, OpenCode commands/agents, Codex CLI agents, optional governance)
96
97
 
97
98
  Then pick the first workflow lane that matches your situation:
98
99
 
99
100
  - `gsdd-new-project` for greenfield work, fuzzy brownfield work, or milestone-shaped work
100
101
  - `gsdd-quick` for a concrete bounded brownfield change
101
102
  - `gsdd-map-codebase` first when the repo is unfamiliar, risky, or needs a deeper baseline before choosing a lane
102
-
103
- In a terminal, `gsdd init` now opens a guided install wizard:
104
-
105
- - Step 1: select the runtimes/vendors you want to support
106
- - Step 2: decide separately whether repo-wide `AGENTS.md` governance is worth installing
107
- - Step 3: configure planning defaults in the same guided flow
108
-
109
- Portable `.agents/skills/gsdd-*` skills are always generated. They are the shared workflow entry surface. The wizard controls extra native adapters and optional governance, not the portable baseline.
110
- When generated surfaces exist locally, `gsdd health` checks them against current render output instead of asking you to trust manual review.
111
- `init` also generates `.planning/bin/gsdd*`, but that is an internal local helper surface for workflow-embedded lifecycle mechanics. It is not the normal first-run user entrypoint.
112
-
113
- ### Launch Proof Status
114
-
115
- - **Directly validated:** Claude Code, Codex CLI, and OpenCode have recorded `plan -> execute -> verify` evidence for the core lifecycle.
116
- - **Qualified support:** Cursor, Copilot, and Gemini CLI support the same core workflow through the shared `.agents/skills/` surface; they do not carry the same runtime proof or ergonomics.
117
- - **Runtime-surface freshness:** Installed generated skills and native adapters are renderer-checked locally; repair stays deterministic through `npx gsdd-cli update`.
118
-
119
- Start with the public proof pack:
120
-
121
- - [Brownfield proof](docs/BROWNFIELD-PROOF.md)
122
- - [Exported consumer proof pack](docs/proof/consumer-node-cli/README.md)
123
- - [Runtime support matrix](docs/RUNTIME-SUPPORT.md)
124
- - [Verification discipline](docs/VERIFICATION-DISCIPLINE.md)
125
-
103
+
104
+ In a terminal, `npx -y gsdd-cli init` opens a guided install wizard. If you installed the package globally, `gsdd init` is the equivalent shorthand:
105
+
106
+ - Step 1: select the runtimes/vendors you want to support
107
+ - Step 2: decide separately whether repo-wide `AGENTS.md` governance is worth installing
108
+ - Step 3: configure planning defaults in the same guided flow
109
+
110
+ Portable `.agents/skills/gsdd-*` skills and the repo-local `.planning/bin/gsdd.mjs` helper runtime are always generated. The wizard controls extra native adapters and optional governance, not the portable baseline. Workflow helper commands assume the repo root as the current working directory.
111
+ When those generated surfaces exist locally, `npx -y gsdd-cli health` checks them against current render output instead of asking you to trust manual review. If installed globally, `gsdd health` is equivalent.
112
+
113
+ ### Launch Proof Status
114
+
115
+ - **Directly validated:** Claude Code, Codex CLI, and OpenCode have recorded `plan -> execute -> verify` evidence for the core lifecycle.
116
+ - **Qualified support:** Cursor, Copilot, and Gemini CLI can use the shared `.agents/skills/` surface when their skill or slash discovery sees it; this release does not claim the same runtime proof or ergonomics.
117
+ - **Runtime-surface freshness:** Installed generated skills and native adapters are renderer-checked locally; repair stays deterministic through `npx -y gsdd-cli update` or, when globally installed, `gsdd update`.
118
+
119
+ Start with the public proof pack:
120
+
121
+ - [Brownfield proof](docs/BROWNFIELD-PROOF.md)
122
+ - [Exported consumer proof pack](docs/proof/consumer-node-cli/README.md)
123
+ - [Runtime support matrix](docs/RUNTIME-SUPPORT.md)
124
+ - [Verification discipline](docs/VERIFICATION-DISCIPLINE.md)
125
+
126
126
  ### Quickstart (after init)
127
127
 
128
128
  Runtime floor: Node 20+.
129
129
 
130
130
  Your tool determines how you invoke workflows after `npx gsdd-cli init`:
131
-
132
- - **Claude Code / OpenCode / Cursor / Copilot / Gemini:** Use slash commands directly — `/gsdd-new-project`, `/gsdd-plan`, etc.
133
- - **Codex CLI:** Use skill references — `$gsdd-new-project`, `$gsdd-plan`, etc. `$gsdd-plan` writes the plan and stops; start a separate `$gsdd-execute` run when you want implementation to begin.
134
- - **Other AI tools:** Open `.agents/skills/gsdd-<workflow>/SKILL.md` and follow the instructions manually.
135
-
136
- For repair and refresh:
137
-
138
- - `gsdd health` checks whether installed generated surfaces still match the current renderer output.
139
- - `npx gsdd-cli update` regenerates installed generated surfaces when they drift or when you want the latest shipped wording/templates. If `gsdd` is already on your PATH, `gsdd update` is the same repair path.
140
-
141
- If you generate the root `AGENTS.md` block, it adds the framework's behavioral governance. For Cursor, Copilot, and Gemini, that governance is optional discipline on top of native skill discovery — not the mechanism that makes workflows discoverable.
142
-
143
- ### Choose Your Starting Workflow
144
-
145
- | Situation | Start here | Why |
146
- |----------|------------|-----|
147
- | Greenfield project, or brownfield work that is fuzzy / broad / milestone-shaped | `gsdd-new-project` | This is the full initializer. On brownfield repos it will run codebase mapping internally when it needs it. |
148
- | Brownfield repo and the bounded change is already concrete | `gsdd-quick` | This is the bounded-change lane. It can use existing codebase maps when present and otherwise builds a just-enough inline brownfield baseline. |
149
- | Brownfield repo is unfamiliar, risky, or you want a deeper baseline before choosing the lane | `gsdd-map-codebase` | This is the deeper orientation pass. Use it when the inline quick baseline would be too weak, then continue with `gsdd-quick` or `gsdd-new-project`. |
150
-
151
- ### Platform Adapters
152
-
153
- Workspine generates adapters for whichever tools you use:
154
-
155
- ```bash
156
- npx gsdd-cli init # Guided install wizard (detected runtimes preselected)
157
- npx gsdd-cli init --tools claude # Claude Code: .claude/skills + commands + agents
158
- npx gsdd-cli init --tools opencode # OpenCode: .opencode/commands + agents
159
- npx gsdd-cli init --tools codex # Codex CLI: portable gsdd-plan skill + .codex/agents checker
160
- npx gsdd-cli init --tools agents # Root AGENTS.md fallback
161
- npx gsdd-cli init --tools cursor # Backward-compatible AGENTS.md governance alias
162
- npx gsdd-cli init --tools all # All of the above
163
- ```
164
-
165
- | Platform | Public claim | What's generated |
166
- |----------|--------------|-----------------|
167
- | **All** (default) | Shared portable surface | `.agents/skills/gsdd-*/SKILL.md` — portable workflow entrypoints (always generated) |
168
- | **Claude Code** | Directly validated | `.claude/skills/`, `.claude/commands/`, `.claude/agents/` — native workflow surfaces, freshness-checked when generated locally |
169
- | **OpenCode** | Directly validated | `.opencode/commands/`, `.opencode/agents/` — native workflow surfaces, freshness-checked when generated locally |
170
- | **Codex CLI** | Directly validated | Portable skill entry plus `.codex/agents/gsdd-plan-checker.toml`; planning stays locked until explicit `$gsdd-execute`, and installed surfaces are freshness-checked locally |
171
- | **Cursor / Copilot / Gemini** | Same core workflow | Skills-native discovery from `.agents/skills/`; optional root `AGENTS.md` block adds behavioral governance, and the generated skill surface is freshness-checked locally |
172
- | **Other AI tools** | Fallback only | Open `.agents/skills/gsdd-*/SKILL.md` directly |
173
-
131
+
132
+ - **Claude Code / OpenCode:** Use native slash commands directly — `/gsdd-new-project`, `/gsdd-plan`, etc.
133
+ - **Codex CLI:** Use skill references — `$gsdd-new-project`, `$gsdd-plan`, etc. `$gsdd-plan` writes the plan and stops; start a separate `$gsdd-execute` run when you want implementation to begin.
134
+ - **Codex VS Code extension / Codex app:** Do not assume Codex CLI skill discovery. If slash/skill discovery is unavailable, open `.agents/skills/gsdd-<workflow>/SKILL.md` and paste or follow it in the agent chat.
135
+ - **Cursor / Copilot / Gemini:** Use slash commands if your tool discovers `.agents/skills/`; if it does not, open `.agents/skills/gsdd-<workflow>/SKILL.md` and paste or follow the instructions.
136
+ - **Other AI tools:** Open `.agents/skills/gsdd-<workflow>/SKILL.md` and follow the instructions.
137
+
138
+ | Runtime | Preferred invocation | Fallback |
139
+ |----------|----------------------|----------|
140
+ | Claude Code / OpenCode | `/gsdd-plan` via native slash command | Open `.agents/skills/gsdd-plan/SKILL.md` |
141
+ | Codex CLI | `$gsdd-plan` skill reference | Open `.agents/skills/gsdd-plan/SKILL.md` |
142
+ | Codex VS Code / app | Native discovery if available | Open or paste `.agents/skills/gsdd-plan/SKILL.md` |
143
+ | Cursor / Copilot / Gemini | `/gsdd-plan` when skill/slash discovery is available | Open or paste `.agents/skills/gsdd-plan/SKILL.md` |
144
+
145
+ If you generate the root `AGENTS.md` block, it adds the framework's behavioral governance. For Cursor, Copilot, and Gemini, that governance is optional discipline on top of skills or slash discovery — not the mechanism that makes workflows discoverable. The clean prompt/token-saving story is the compact `.agents/skills/` entrypoints plus repo artifacts; native adapters and governance surfaces are optional conveniences, not required runtime bulk.
146
+
147
+ ### Choose Your Starting Workflow
148
+
149
+ | Situation | Start here | Why |
150
+ |----------|------------|-----|
151
+ | Greenfield project, or brownfield work that is fuzzy / broad / milestone-shaped | `gsdd-new-project` | This is the full initializer. On brownfield repos it will run codebase mapping internally when it needs it. |
152
+ | Brownfield repo and the bounded change is already concrete | `gsdd-quick` | This is the bounded-change lane. It can use existing codebase maps when present and otherwise builds a just-enough inline brownfield baseline. |
153
+ | Brownfield repo is unfamiliar, risky, or you want a deeper baseline before choosing the lane | `gsdd-map-codebase` | This is the deeper orientation pass. Use it when the inline quick baseline would be too weak, then continue with `gsdd-quick` or `gsdd-new-project`. |
154
+
155
+ ### Platform Adapters
156
+
157
+ Workspine generates adapters for whichever tools you use:
158
+
159
+ ```bash
160
+ npx -y gsdd-cli init # Guided install wizard (detected runtimes preselected)
161
+ npx -y gsdd-cli init --tools claude # Claude Code: .claude/skills + commands + agents
162
+ npx -y gsdd-cli init --tools opencode # OpenCode: .opencode/commands + agents
163
+ npx -y gsdd-cli init --tools codex # Codex CLI: portable skills + .codex/agents checker
164
+ npx -y gsdd-cli init --tools agents # Root AGENTS.md governance fallback
165
+ npx -y gsdd-cli init --tools cursor # Backward-compatible AGENTS.md governance alias
166
+ npx -y gsdd-cli init --tools all # All of the above
167
+ ```
168
+
169
+ | Platform | Public claim | What's generated |
170
+ |----------|--------------|-----------------|
171
+ | **All** (default) | Shared portable surface | `.agents/skills/gsdd-*/SKILL.md` plus `.planning/bin/gsdd.mjs` portable workflow entrypoints and repo-local helper runtime (always generated) |
172
+ | **Claude Code** | Directly validated | `.claude/skills/`, `.claude/commands/`, `.claude/agents/` — native workflow surfaces, freshness-checked when generated locally |
173
+ | **OpenCode** | Directly validated | `.opencode/commands/`, `.opencode/agents/` — native workflow surfaces, freshness-checked when generated locally |
174
+ | **Codex CLI** | Directly validated | Portable `gsdd-plan` skill entry plus `.planning/bin/gsdd.mjs` and `.codex/agents/gsdd-plan-checker.toml`; planning stays locked until explicit `$gsdd-execute`, and installed surfaces are freshness-checked locally |
175
+ | **Codex VS Code / app** | Fallback only | Open or paste `.agents/skills/gsdd-*/SKILL.md` unless that product surface exposes compatible skill discovery; not claimed as Codex CLI validation |
176
+ | **Cursor / Copilot / Gemini** | Qualified support | Uses `.agents/skills/` when skill/slash discovery is available; optional root `AGENTS.md` block adds behavioral governance, and the generated skill surface is freshness-checked locally |
177
+ | **Other AI tools** | Fallback only | Open `.agents/skills/gsdd-*/SKILL.md` directly |
178
+
174
179
  ### Updating And Repair
175
-
176
- ```bash
177
- npx gsdd-cli update # Regenerate adapters from latest sources
178
- npx gsdd-cli update --tools claude # Update specific platform only
179
- npx gsdd-cli update --templates # Refresh .planning/templates/ and role contracts from framework source
180
+
181
+ ```bash
182
+ npx -y gsdd-cli update # Regenerate adapters from latest sources
183
+ npx -y gsdd-cli update --tools claude # Update specific platform only
184
+ npx -y gsdd-cli update --templates # Refresh .planning/templates/ and role contracts from framework source
180
185
  ```
181
186
 
182
187
  Use `gsdd health` first when you want a status check. Use `npx gsdd-cli update` when the generated runtime-facing surfaces are missing, drifted, or you want the latest generated output. If a runtime is only in the qualified-support tier, `health` and `update` still cover generated-surface drift; they do not imply parity-level runtime proof.
183
-
184
- ### Non-Interactive Mode (CI / Automation)
185
-
186
- For non-interactive environments:
187
-
188
- ```bash
189
- npx gsdd-cli init --auto --tools claude
190
- npx gsdd-cli init --auto --tools claude --brief path/to/PRD.md
191
- ```
192
-
193
- `--auto` skips the interactive install wizard and uses default configuration. It does **not** run downstream workflows (`new-project`, `plan`, `execute`, `verify`) — those are always explicit. `--brief` copies a project document to `.planning/PROJECT_BRIEF.md` for `new-project` to consume.
194
-
195
- If you already know exactly what to generate, `--tools ...` remains the manual path. The wizard is the primary onboarding UX; flags remain the advanced/headless contract.
196
-
197
- ### Team Use
198
-
199
- - **Shared state:** Set `commitDocs: true` (default) — `.planning/` is tracked in git. Everyone sees the same spec, roadmap, and phase plans.
200
- - **Onboarding:** After cloning, run `npx gsdd-cli init` to generate tool-specific adapters. `.planning/` is already tracked — no re-initialization needed.
201
- - **Governance is explicit:** The wizard asks separately whether to install repo-wide `AGENTS.md` rules, and explains why you may care before writing to the repo root.
202
- - **Session handoff:** Use `gsdd-pause` / `gsdd-resume` to hand off work. The checkpoint (`.planning/.continue-here.md`) captures context for the next person.
203
- - **Adapter isolation:** Each developer runs `gsdd init --tools <their-tool>`. Adapter files don't conflict across tools.
204
-
205
- For detailed workflow diagrams, recovery procedures, and extended examples, see the [User Guide](docs/USER-GUIDE.md).
206
-
207
- ---
208
-
209
- ## How It Works
210
-
211
- ### The Core Loop
212
-
213
- ```
214
- init → [plan → execute → verify] × N phases → audit-milestone → done
215
- ↕ pause/resume (any point)
216
- ```
217
-
218
- ### 1. Initialize Project
219
-
220
- Run the `gsdd-new-project` workflow. The system:
221
-
222
- 1. **Questions** — asks until it understands your idea (goals, constraints, tech, edge cases)
223
- 2. **Codebase map** — if brownfield and a deeper baseline is needed, maps the codebase across stack, architecture, conventions, and concerns; users do not need to pre-run `map-codebase` before `new-project`
224
- 3. **Research** — spawns parallel researchers to investigate the domain (configurable depth: fast/balanced/deep)
225
- 4. **Spec + Roadmap** — produces `SPEC.md` (living specification) and `ROADMAP.md` (phased delivery plan)
226
-
227
- **Creates:** `.planning/SPEC.md`, `.planning/ROADMAP.md`
228
-
229
- ---
230
-
231
- ### 2. Plan Phase
232
-
233
- Run `gsdd-plan` for the current phase. The system:
234
-
235
- 1. **Researches** — investigates how to implement this phase (if `workflow.research` is enabled)
236
- 2. **Plans** — creates atomic task plans with XML structure
237
- 3. **Checks** — a separate agent in a fresh context window reviews the plan against 7 dimensions (requirement coverage, task completeness, dependency correctness, key-link completeness, scope sanity, must-have quality, context compliance). If the plan fails, it revises and re-checks — up to 3 cycles before escalating to the human. Output is typed JSON so orchestration is machine-parseable, not prompt-dependent.
238
-
239
- Each plan is small enough to execute in a fresh context window. The checker runs in a separate context from the planner — this is the [ICLR-validated](https://arxiv.org/abs/2310.01798) pattern for catching blind spots the planner inherits from its own reasoning.
240
-
241
- `gsdd-plan` is terminal for the current run: it writes planning artifacts only. Execution begins only after an explicit `gsdd-execute` / `/gsdd-execute` / `$gsdd-execute` transition, depending on the runtime.
242
-
243
- **Creates:** Phase plans in `.planning/phases/`
244
-
245
- ---
246
-
247
- ### 3. Execute Phase
248
-
249
- Run `gsdd-execute`. The system:
250
-
251
- 1. **Runs plans in waves** — parallel where possible, sequential when dependent
252
- 2. **Fresh context per plan** — 200k tokens purely for implementation
253
- 3. **Clean commits** — follows repo conventions, no framework-imposed commit format
254
- 4. **Creates summaries** — records what happened for verification
255
-
256
- **Creates:** Phase summaries in `.planning/phases/`
257
-
258
- ---
259
-
260
- ### 4. Verify Phase
261
-
262
- Run `gsdd-verify`. The system checks three levels:
263
-
264
- 1. **Exists** — do the expected files exist?
265
- 2. **Substantive** — is the code real, not stubs?
266
- 3. **Wired** — is it connected and functional?
267
-
268
- Plus anti-pattern scan (TODO/FIXME/HACK markers, empty catches).
269
-
270
- **Creates:** Phase verification report in `.planning/phases/`
271
-
272
- ---
273
-
274
- ### 5. Repeat and Audit
275
-
276
- Loop **plan → execute → verify** for each phase in the roadmap.
277
-
278
- When all phases are done, run `gsdd-audit-milestone` to verify:
279
-
280
- - Cross-phase integration (do the pieces connect?)
281
- - Requirements coverage (did we deliver what SPEC.md promised?)
282
- - E2E flows (do user workflows complete end-to-end?)
283
-
284
- ---
285
-
286
- ### Quick Mode
287
-
288
- - `Claude Code / OpenCode`: `/gsdd-quick`
289
- - `Codex CLI`: `$gsdd-quick`
290
- - `Cursor / Copilot / Gemini`: `/gsdd-quick`
291
- - `Other AI tools`: open `.agents/skills/gsdd-quick/SKILL.md`
292
-
293
- For sub-hour tasks that don't need the full phase cycle:
294
-
295
- - Same roles: planner + executor, conditional verifier
296
- - Skips research: no researcher, no synthesizer
297
- - Separate tracking: lives in `.planning/quick/`, logged in `LOG.md`
298
- - Advisory git: follows repo conventions, no framework-imposed commit format
299
-
300
- Use for: bug fixes, small features, config changes, one-off tasks.
301
-
302
- **Creates:** `.planning/quick/NNN-slug/PLAN.md`, `SUMMARY.md`, updates `LOG.md`
303
-
304
- ---
305
-
306
- ## Workflows
307
-
308
- Workspine has 14 workflows, run via generated skills or adapters:
309
-
310
- | Workflow | What it does |
311
- |----------|--------------|
312
- | `gsdd-new-project` | Full initialization: questioning, brownfield audit when needed, research, spec, roadmap |
313
- | `gsdd-map-codebase` | Deeper brownfield orientation and refresh before `quick` or `new-project` |
314
- | `gsdd-plan` | Research + plan + check for a phase |
315
- | `gsdd-execute` | Execute phase plan: implement tasks, verify changes |
316
- | `gsdd-verify` | Verify completed phase: 3-level checks, anti-pattern scan |
317
- | `gsdd-verify-work` | Conversational UAT testing: validate user-facing behavior with structured gap tracking |
318
- | `gsdd-audit-milestone` | Audit milestone: cross-phase integration, requirements coverage, E2E flows |
319
- | `gsdd-complete-milestone` | Archive shipped milestone, evolve spec, collapse roadmap |
320
- | `gsdd-new-milestone` | Start next milestone: gather goals, define requirements, create roadmap phases |
321
- | `gsdd-plan-milestone-gaps` | Create gap-closure phases from audit results |
322
- | `gsdd-quick` | Quick task: bounded brownfield change lane with inline baseline when full mapping is unnecessary |
323
- | `gsdd-pause` | Pause work: save session context to checkpoint for seamless resumption |
324
- | `gsdd-resume` | Resume work: restore context from artifacts and route to next action |
325
- | `gsdd-progress` | Show project status and route to next action |
326
-
327
- Workflows are agent skills or commands, not plain shell utilities. How you invoke them depends on your platform:
328
-
329
- | Platform | How to invoke workflows |
330
- |----------|------------------------|
331
- | Claude Code | `/gsdd-plan` (slash command, works immediately after init) |
332
- | OpenCode | `/gsdd-plan` (slash command, works immediately after init) |
333
- | Codex CLI | `$gsdd-plan` (skill reference, works immediately after init) |
334
- | Cursor / Copilot / Gemini | `/gsdd-plan` (skills-native slash command). If the root `AGENTS.md` block is present, it adds governance, not workflow discovery. |
335
- | Other AI tools | Open `.agents/skills/gsdd-plan/SKILL.md` and paste or reference its content. |
336
-
337
- ## CLI Commands
338
-
339
- | Command | What it does |
340
- |---------|--------------|
341
- | `npx gsdd-cli init [--tools <platform>]` | First-run setup: create `.planning/`, `.agents/skills/`, and selected runtime adapters |
342
- | `gsdd health [--json]` | Check installed generated surfaces and workspace state (healthy/degraded/broken) |
343
- | `npx gsdd-cli update [--tools <platform>] [--templates]` | Regenerate installed runtime surfaces; `--templates` also refreshes `.planning/templates/` and role contracts |
344
- | `gsdd models [show\|profile\|set\|...]` | Inspect and manage model profile propagation |
345
- | `gsdd help` | Show all commands, including advanced/internal helpers |
346
188
 
347
- Advanced/internal helpers kept available for automation, workflow internals, or repair:
189
+ ### Non-Interactive Mode (CI / Automation)
190
+
191
+ For non-interactive environments:
192
+
193
+ ```bash
194
+ npx -y gsdd-cli init --auto --tools claude
195
+ npx -y gsdd-cli init --auto --tools claude --brief path/to/PRD.md
196
+ ```
197
+
198
+ `--auto` skips the interactive install wizard and uses default configuration. It does **not** run downstream workflows (`new-project`, `plan`, `execute`, `verify`) — those are always explicit. `--brief` copies a project document to `.planning/PROJECT_BRIEF.md` for `new-project` to consume.
199
+
200
+ If you already know exactly what to generate, `--tools ...` remains the manual path. The wizard is the primary onboarding UX; flags remain the advanced/headless contract.
201
+
202
+ ### Team Use
203
+
204
+ - **Shared state:** Set `commitDocs: true` (default) — `.planning/` is tracked in git. Everyone sees the same spec, roadmap, and phase plans.
205
+ - **Onboarding:** After cloning, run `npx -y gsdd-cli init` to generate tool-specific adapters. `.planning/` is already tracked — no re-initialization needed.
206
+ - **Governance is explicit:** The wizard asks separately whether to install repo-wide `AGENTS.md` rules, and explains why you may care before writing to the repo root.
207
+ - **Session handoff:** Use `gsdd-pause` / `gsdd-resume` to hand off work. The checkpoint (`.planning/.continue-here.md`) captures context for the next person.
208
+ - **Adapter isolation:** Each developer runs `npx -y gsdd-cli init --tools <their-tool>` (or `gsdd init --tools <their-tool>` when globally installed). Adapter files don't conflict across tools.
209
+
210
+ For detailed workflow diagrams, recovery procedures, and extended examples, see the [User Guide](docs/USER-GUIDE.md).
211
+
212
+ ---
213
+
214
+ ## How It Works
215
+
216
+ ### The Core Loop
217
+
218
+ ```
219
+ init → [plan → execute → verify] × N phases → audit-milestone → done
220
+ ↕ pause/resume (any point)
221
+ ```
222
+
223
+ ### 1. Initialize Project
224
+
225
+ Run the `gsdd-new-project` workflow. The system:
226
+
227
+ 1. **Questions** — asks until it understands your idea (goals, constraints, tech, edge cases)
228
+ 2. **Codebase map** — if brownfield and a deeper baseline is needed, maps the codebase across stack, architecture, conventions, and concerns; users do not need to pre-run `map-codebase` before `new-project`
229
+ 3. **Research** — spawns parallel researchers to investigate the domain (configurable depth: fast/balanced/deep)
230
+ 4. **Spec + Roadmap** — produces `SPEC.md` (living specification) and `ROADMAP.md` (phased delivery plan)
231
+
232
+ **Creates:** `.planning/SPEC.md`, `.planning/ROADMAP.md`
233
+
234
+ ---
235
+
236
+ ### 2. Plan Phase
237
+
238
+ Run `gsdd-plan` for the current phase. The system:
239
+
240
+ 1. **Researches** — investigates how to implement this phase (if `workflow.research` is enabled)
241
+ 2. **Plans** — creates atomic task plans with XML structure
242
+ 3. **Checks** — a separate agent in a fresh context window reviews the plan against 7 dimensions (requirement coverage, task completeness, dependency correctness, key-link completeness, scope sanity, must-have quality, context compliance). If the plan fails, it revises and re-checks — up to 3 cycles before escalating to the human. Output is typed JSON so orchestration is machine-parseable, not prompt-dependent.
243
+
244
+ Each plan is small enough to execute in a fresh context window. The checker runs in a separate context from the planner — this is the [ICLR-validated](https://arxiv.org/abs/2310.01798) pattern for catching blind spots the planner inherits from its own reasoning.
245
+
246
+ `gsdd-plan` is terminal for the current run: it writes planning artifacts only. Execution begins only after an explicit `gsdd-execute` / `/gsdd-execute` / `$gsdd-execute` transition, depending on the runtime.
247
+
248
+ **Creates:** Phase plans in `.planning/phases/`
249
+
250
+ ---
251
+
252
+ ### 3. Execute Phase
253
+
254
+ Run `gsdd-execute`. The system:
255
+
256
+ 1. **Runs plans in waves** — parallel where possible, sequential when dependent
257
+ 2. **Fresh context per plan** — 200k tokens purely for implementation
258
+ 3. **Clean commits** — follows repo conventions, no framework-imposed commit format
259
+ 4. **Creates summaries** — records what happened for verification
260
+
261
+ **Creates:** Phase summaries in `.planning/phases/`
262
+
263
+ ---
264
+
265
+ ### 4. Verify Phase
266
+
267
+ Run `gsdd-verify`. The system checks three levels:
268
+
269
+ 1. **Exists** — do the expected files exist?
270
+ 2. **Substantive** — is the code real, not stubs?
271
+ 3. **Wired** — is it connected and functional?
272
+
273
+ Plus anti-pattern scan (TODO/FIXME/HACK markers, empty catches).
274
+
275
+ **Creates:** Phase verification report in `.planning/phases/`
276
+
277
+ ---
278
+
279
+ ### 5. Repeat and Audit
280
+
281
+ Loop **plan → execute → verify** for each phase in the roadmap.
282
+
283
+ When all phases are done, run `gsdd-audit-milestone` to verify:
284
+
285
+ - Cross-phase integration (do the pieces connect?)
286
+ - Requirements coverage (did we deliver what SPEC.md promised?)
287
+ - E2E flows (do user workflows complete end-to-end?)
288
+
289
+ ---
290
+
291
+ ### Quick Mode
292
+
293
+ - `Claude Code / OpenCode`: `/gsdd-quick`
294
+ - `Codex CLI`: `$gsdd-quick`
295
+ - `Cursor / Copilot / Gemini`: `/gsdd-quick` when skill/slash discovery is available; otherwise open `.agents/skills/gsdd-quick/SKILL.md`
296
+ - `Other AI tools`: open `.agents/skills/gsdd-quick/SKILL.md`
297
+
298
+ For sub-hour tasks that don't need the full phase cycle:
299
+
300
+ - Same roles: planner + executor, conditional verifier
301
+ - Skips research: no researcher, no synthesizer
302
+ - Separate tracking: lives in `.planning/quick/`, logged in `LOG.md`
303
+ - Advisory git: follows repo conventions, no framework-imposed commit format
304
+
305
+ Use for: bug fixes, small features, config changes, one-off tasks.
306
+
307
+ **Creates:** `.planning/quick/NNN-slug/PLAN.md`, `SUMMARY.md`, updates `LOG.md`
308
+
309
+ ---
310
+
311
+ ## Workflows
312
+
313
+ Workspine has 14 workflows, run via generated skills or adapters:
314
+
315
+ | Workflow | What it does |
316
+ |----------|--------------|
317
+ | `gsdd-new-project` | Full initialization: questioning, brownfield audit when needed, research, spec, roadmap |
318
+ | `gsdd-map-codebase` | Deeper brownfield orientation and refresh before `quick` or `new-project` |
319
+ | `gsdd-plan` | Research + plan + check for a phase |
320
+ | `gsdd-execute` | Execute phase plan: implement tasks, verify changes |
321
+ | `gsdd-verify` | Verify completed phase: 3-level checks, anti-pattern scan |
322
+ | `gsdd-verify-work` | Conversational UAT testing: validate user-facing behavior with structured gap tracking |
323
+ | `gsdd-audit-milestone` | Audit milestone: cross-phase integration, requirements coverage, E2E flows |
324
+ | `gsdd-complete-milestone` | Archive shipped milestone, evolve spec, collapse roadmap |
325
+ | `gsdd-new-milestone` | Start next milestone: gather goals, define requirements, create roadmap phases |
326
+ | `gsdd-plan-milestone-gaps` | Create gap-closure phases from audit results |
327
+ | `gsdd-quick` | Quick task: bounded brownfield change lane with inline baseline when full mapping is unnecessary |
328
+ | `gsdd-pause` | Pause work: save session context to checkpoint for seamless resumption |
329
+ | `gsdd-resume` | Resume work: restore context from artifacts and route to next action |
330
+ | `gsdd-progress` | Show project status and route to next action |
331
+
332
+ Workflows are agent skills or commands, not plain shell utilities. How you invoke them depends on your platform:
333
+
334
+ | Platform | How to invoke workflows |
335
+ |----------|------------------------|
336
+ | Claude Code | `/gsdd-plan` (slash command, works immediately after init) |
337
+ | OpenCode | `/gsdd-plan` (slash command, works immediately after init) |
338
+ | Codex CLI | `$gsdd-plan` (skill reference, works immediately after init) |
339
+ | Cursor / Copilot / Gemini | `/gsdd-plan` when skill/slash discovery is available. If the root `AGENTS.md` block is present, it adds governance, not workflow discovery. |
340
+ | Other AI tools | Open `.agents/skills/gsdd-plan/SKILL.md` and paste or reference its content. |
341
+
342
+ ## CLI Commands
348
343
 
349
344
  | Command | What it does |
350
345
  |---------|--------------|
351
- | `gsdd file-op <copy\|delete\|regex-sub>` | Deterministic workspace-confined file copy, delete, and regex substitution |
352
- | `gsdd lifecycle-preflight <surface> [phase]` | Inspect deterministic lifecycle gate results for a workflow surface |
353
- | `gsdd find-phase [N]` | Show phase info as JSON (for agent consumption) |
354
- | `gsdd phase-status <N> <status>` | Update a single ROADMAP phase status through the status-aware helper |
355
- | `gsdd verify <N>` | Run artifact checks for phase N |
356
- | `gsdd scaffold phase <N> [name]` | Create a new phase plan file |
357
-
358
- ---
359
-
360
- ## Architecture
361
-
362
- ### Roles (10 canonical)
363
-
364
- Workspine consolidates GSD's agent surface into 10 roles with durable contracts:
365
-
366
- | Role | Responsibility |
367
- |------|---------------|
368
- | **Mapper** | Codebase analysis — produces STACK, ARCHITECTURE, CONVENTIONS, CONCERNS |
369
- | **Researcher** | Domain investigation — merges GSD's project + phase researcher |
370
- | **Synthesizer** | Research consolidation (conditional skipped in fast mode) |
371
- | **Planner** | Phase planning — absorbs plan-checking responsibility |
372
- | **Executor** | Task implementation |
373
- | **Verifier** | Phase verification — Exists/Substantive/Wired gate |
374
- | **Roadmapper** | Roadmap generation from spec |
375
- | **Integration Checker** | Cross-phase wiring, API coverage, auth protection, E2E flows |
376
- | **Approach Explorer** | Implementation approach alignment before planning begins |
377
- | **Debugger** | Utility role for systematic debugging |
378
-
379
- ### Two-Layer Architecture
380
-
381
- - **Role contracts** (`agents/*.md`) durable, contain the full behavioral specification
382
- - **Delegates** (`distilled/templates/delegates/*.md`) thin wrappers that reference roles and provide task-specific context
383
-
384
- 11 delegates: 4 mapper, 4 researcher, 1 synthesizer, 1 plan-checker, 1 approach-explorer. Workflows use `<delegate>` blocks to dispatch work. For detailed GSD-to-GSDD role distillation rationale, see [`agents/DISTILLATION.md`](agents/DISTILLATION.md).
385
-
386
- ### Adapter Architecture
387
-
388
- Workspine generates vendor-specific files from vendor-agnostic markdown it does not convert from one vendor format to another. This means every adapter gets first-class output shaped to its platform's native capabilities.
389
-
390
- | Adapter | Evidence posture | Strategy |
391
- |---------|------------------|----------|
392
- | **Claude Code** | Directly validated | Skill-primary plan surface, thin command alias, native `gsdd-plan-checker` agent |
393
- | **OpenCode** | Directly validated | Specialized `/gsdd-plan` command (`subtask: false`), hidden `gsdd-plan-checker` subagent (`mode: subagent`) |
394
- | **Codex CLI** | Directly validated | Portable skill as entry surface, `.codex/agents/gsdd-plan-checker.toml` (read-only, high reasoning effort), explicit `$gsdd-execute` unlock |
395
- | **Cursor / Copilot / Gemini** | Same core workflow | Runtime discovers `.agents/skills/` natively; optional root `AGENTS.md` block adds behavioral governance only |
396
- | **agents** (`--tools agents`) | Governance-only helper | Root `AGENTS.md` block for tools that benefit from governance or need open-standard fallback guidance |
397
-
398
- All adapters render the plan-checker from a single source (`distilled/templates/delegates/plan-checker.md`). Each adapter shapes the output to its platform's native mechanics, and the portable skill remains the shared workflow source.
399
-
400
- Cursor, Copilot, and Gemini CLI generate the same root `AGENTS.md` governance block as `--tools agents`, but that file is governance only. Those runtimes already discover `.agents/skills/` natively and surface the workflows as slash commands.
401
-
402
- Model IDs pass through a two-layer injection guard: a regex whitelist (`/^[a-zA-Z0-9._\/:@-]+$/`) at the CLI boundary, plus format-specific escaping (TOML string escaping, triple-quote break prevention) at the adapter layer.
403
-
404
- ### Artifacts
405
-
406
- | File | Purpose |
407
- |------|---------|
408
- | `.planning/SPEC.md` | Living specification replaces GSD's separate PROJECT.md + REQUIREMENTS.md |
409
- | `.planning/ROADMAP.md` | Phased delivery plan with inline status — replaces STATE.md |
410
- | `.planning/config.json` | Project configuration (research depth, workflow toggles, git protocol) |
411
- | `.planning/phases/` | Plans, summaries, and verification reports per phase |
412
- | `.planning/research/` | Research outputs |
413
- | `.planning/codebase/` | Codebase maps (4 files) |
414
- | `.planning/quick/` | Quick task tracking |
415
- | `.planning/.continue-here.md` | Session checkpoint (created by pause, consumed by resume) |
416
-
417
- ### Advisory Git Protocol
418
-
419
- Workspine does not impose commit formats, branch naming, or one-commit-per-task rules. Git guidance is advisory — repository and team conventions take precedence:
420
-
421
- - **Branching** follow existing repo conventions
422
- - **Commits** — group changes logically, no framework-imposed format
423
- - **PRs** follow existing repo review workflow
424
-
425
- Defaults configurable in `.planning/config.json` under `gitProtocol`.
426
-
427
- ### What to Track in Git
428
-
429
- | Path | Track? | Why |
430
- |------|--------|-----|
431
- | `.planning/` | Yes (default) | Shared project state — spec, roadmap, phase plans. Controlled by `commitDocs` in config. |
432
- | `.agents/skills/` | Yes | Portable workflow entrypoints. Generated, safe to track. |
433
- | `.claude/`, `.opencode/`, `.codex/` | Yes | Tool-specific adapters. Don't conflict across tools. |
434
- | `AGENTS.md` (root) | Yes (if generated) | Governance block. Uses bounded upsert — won't overwrite existing content. |
435
-
436
- No secrets or credentials are generated. Set `commitDocs: false` for local-only planning state.
437
-
438
- ### Context Isolation
439
-
440
- Orchestrators stay thin. Delegates write documents to disk and return summaries the orchestrator never accumulates full research or plan content in its context window. This keeps the main session fast and responsive even during deep phases.
441
-
442
- ---
443
-
444
- ## Configuration
445
-
446
- `gsdd init` creates `.planning/config.json` interactively (or with defaults in non-interactive mode).
447
-
448
- | Setting | Options | Default | What it controls |
449
- |---------|---------|---------|------------------|
450
- | `researchDepth` | `fast`, `balanced`, `deep` | `balanced` | Research thoroughness per phase |
451
- | `parallelization` | `true`, `false` | `true` | Run independent agents simultaneously |
452
- | `commitDocs` | `true`, `false` | `true` | Track `.planning/` in git |
453
- | `modelProfile` | `balanced`, `quality`, `budget` | `balanced` | Portable semantic model tier |
454
-
455
- **When to use each profile:**
456
- - **`quality`** maximize plan-checking rigor. Use for production milestones or security-sensitive work.
457
- - **`balanced`** (default) good checking at reasonable cost. Suitable for most development.
458
- - **`budget`** minimize cost. Use for prototyping or familiar domains where you'll review plans manually.
459
-
460
- The profile only affects the plan-checker agent. Disable `workflow.planCheck` entirely to skip checking.
461
-
462
- Optional model-control keys:
463
-
464
- | Setting | What it controls |
465
- |---------|------------------|
466
- | `agentModelProfiles.<agent>` | Per-agent semantic override. Current supported agent id: `plan-checker`. |
467
- | `runtimeModelOverrides.<runtime>.<agent>` | Exact runtime-native model override. Supported targets: `claude.plan-checker`, `opencode.plan-checker`, `codex.plan-checker`. |
468
-
469
- Runtime behavior:
470
- - Claude translates semantic tiers to native aliases for the checker agent.
471
- - OpenCode inherits its runtime model by default; Workspine only injects an exact OpenCode `model:` when you set an explicit runtime override.
472
- - Codex inherits its session model by default; Workspine only injects an explicit `model` in the TOML when you set an explicit runtime override.
473
-
474
- CLI:
475
- - `gsdd models show`
476
- - `gsdd models profile <quality|balanced|budget>`
477
- - `gsdd models agent-profile --agent plan-checker --profile <quality|balanced|budget>`
478
- - `gsdd models clear-agent-profile --agent plan-checker`
479
- - `gsdd models set --runtime <claude|opencode|codex> --agent plan-checker --model <id>`
480
- - `gsdd models clear --runtime <claude|opencode|codex> --agent plan-checker`
481
-
482
- ### Workflow Toggles
483
-
484
- Each adds quality but costs tokens and time:
485
-
486
- | Setting | Default | What it does |
487
- |---------|---------|--------------|
488
- | `workflow.research` | `true` | Research domain before planning each phase |
489
- | `workflow.planCheck` | `true` | Verify plans achieve goals before execution |
490
- | `workflow.verifier` | `true` | Verify phase deliverables after execution |
491
-
492
- ### Git Protocol
493
-
494
- Advisory defaults, overridden by repo conventions:
495
-
496
- | Setting | Default |
497
- |---------|---------|
498
- | `gitProtocol.branch` | Follow existing repo conventions |
499
- | `gitProtocol.commit` | Logical grouping, no phase/task IDs |
500
- | `gitProtocol.pr` | Follow existing review workflow |
501
-
502
- ---
503
-
504
- ## Troubleshooting
505
-
506
- **First step:** Run `gsdd health` it checks workspace integrity and prints actionable fix instructions.
507
-
508
- | Problem | What to do |
509
- |---------|------------|
510
- | Workspace feels broken | `gsdd health` — checks errors, warnings, info |
511
- | `gsdd health` reports generated runtime-surface drift | `npx gsdd-cli update` (or `npx gsdd-cli update --tools <runtime>`) — regenerates installed skills/adapters from current render output |
512
- | Lost track of progress | Run `gsdd-progress` — reads artifacts, shows status |
513
- | Need context from last session | Run `gsdd-resume` — restores state, routes to next action |
514
- | Plans seem wrong | Check `workflow.research: true` in config |
515
- | Execution produces stubs | Re-plan with smaller scope (2-5 tasks per plan) |
516
- | Templates out of date | `npx gsdd-cli update --templates` — warns before overwriting |
517
- | Model costs too high | `gsdd models profile budget` + disable `workflow.planCheck` |
518
-
519
- For detailed troubleshooting and recovery procedures, see the [User Guide](docs/USER-GUIDE.md#troubleshooting).
520
-
521
- ---
522
-
523
- ## Design Decisions
524
-
525
- This repo records 58 documented design decisions relative to GSD, each with evidence from source files and external research. See [`distilled/DESIGN.md`](distilled/DESIGN.md) for the full rationale.
526
-
527
- Key choices:
528
- - **4-file codebase standard** — drop state that rots (STRUCTURE, INTEGRATIONS, TESTING), keep rules that don't
529
- - **Agent consolidation** — 10 roles from GSD's 11, with explicit reduced-assurance mode when independent checking isn't available
530
- - **Adapter generation over conversion** — generate vendor-specific files from vendor-agnostic markdown instead of converting from Claude-first
531
- - **Advisory git** repo conventions over framework defaults
532
- - **Context isolation** — summaries up, documents to disk
533
- - **Mechanical invariant enforcement** — structural properties guarded by assertions, not code review
534
- - **Model profile propagation** — semantic tiers (`quality`/`balanced`/`budget`) translated to native model IDs per runtime
535
- - **Template versioning** — SHA-256 generation manifest detects user modifications before overwriting
536
- - **CLI composition root boundary** — 100-line facade delegates to extracted modules
537
- - **Codex CLI native adapter** — portable skill entry + TOML checker agent, documented platform gaps tracked against upstream issues
538
-
539
- ---
540
-
541
- ## Testing
542
-
543
- The framework has 1,381 tests across 13 test files named suites that guard properties PRs repeatedly fixed manually. These are not unit tests for application code; they are invariant checks on the specification itself.
544
-
545
- ### Invariant Suites (I-series)
546
-
547
- Structural contracts that prevent drift between roles, delegates, workflows, and artifacts:
548
-
549
- | Suite | What it guards |
550
- |-------|---------------|
551
- | **I1** | Delegate-role reference integrity — 11 delegates resolve to existing role contracts |
552
- | **I2** | Role section structure — 10 roles have role def, scope, output format, success criteria |
553
- | **I3** | Delegate thinness no leaked role-contract sections in delegates |
554
- | **I3-gate** | New-project approval gates — required human checkpoints present |
555
- | **I4** | Workflow references 14 workflows, all delegate/role refs resolve |
556
- | **I5** | Session management — no vendor APIs, no STATE.md, checkpoint contract |
557
- | **I5b** | Session workflow scope boundaries |
558
- | **I6** | Artifact schema definitions |
559
- | **I7** | Plan-checker dimension integrity 7 dimensions present and correctly structured |
560
- | **I8** | Workflow vendor API cleanliness no platform-specific calls in portable workflows |
561
- | **I9** | No deprecated content no vendor paths, dropped files, legacy tooling |
562
- | **I10** | Mandatory initial-read enforcement on hardened lifecycle roles |
563
- | **S13** | STATE.md elimination D7 compliance verified across all artifacts |
564
-
565
- ### Guard Suites (G-series)
566
-
567
- Mechanical enforcement that catches cross-document inconsistencies:
568
-
569
- | Suite | What it guards |
570
- |-------|---------------|
571
- | **G1** | Cross-document schema consistency |
572
- | **G3** | File size guards — role contracts and delegates within bounds |
573
- | **G4** | XML section well-formedness across all workflows |
574
- | **G5** | Artifact lifecycle chain — plan → execute → verify → audit linkage |
575
- | **G6** | DESIGN.md decision registry — ToC matches actual decisions |
576
- | **G7** | Delegate thinness (mechanical) |
577
- | **G8** | Auto-mode contract |
578
- | **G9** | Generation manifest contract |
579
- | **G10** | CLI module boundary composition root stays thin |
580
- | **G11** | Codex doc contractno deprecated references |
581
- | **G12** | Documentation accuracy — decision counts, workflow counts, CLI commands, ghost commands |
582
- | **G13** | Models pre-init safety — mutation commands guard uninitialized workspaces |
583
- | **G14** | Health module contract — export, command wiring, help text, fix instructions |
584
- | **G15** | OWASP authorization matrix — template format, integration-checker Step 4a, backwards compat |
585
- | **G16** | Distillation ledgerDISTILLATION.md role coverage, merger table, D22 registration |
586
- | **G17** | Mapper output quantificationtemplate sections, delegate instructions, D23 registration |
587
- | **G18** | Consumer governance completeness agents.block.md workflow coverage, CHANGELOG accuracy |
588
- | **G19** | Consumer first-run accuracyhonest platform tiers, per-platform invocation guidance, Quickstart section |
589
- | **G20** | Session continuity contract — pause checkpoint format, resume routing, progress detection, cross-workflow paths |
590
-
591
- ### Scenario Suites (S-series)
592
-
593
- Golden-path eval tests that verify artifact-chain contracts across end-to-end workflows:
594
-
595
- | Suite | What it covers |
596
- |-------|---------------|
597
- | **S1** | Greenfield golden path — init → new-project → plan → execute → verify → audit-milestone |
598
- | **S2** | Brownfield path — map-codebase delegates, codebase map references, mapper role |
599
- | **S3** | Quick-task path isolation from ROADMAP/research, role references |
600
- | **S4** | Native runtime chain — Claude + Codex checker completeness, 7 dimensions |
601
- | **S5** | Config-to-content propagation default config values reflected in generated artifacts |
602
-
603
- ### Functional Test Suites
604
-
605
- | Suite | What it covers |
606
- |-------|---------------|
607
- | Init & update | Planning structure, config, templates, adapters, idempotency, auto mode |
608
- | Models | Profile propagation, runtime overrides, CLI commands, injection prevention |
609
- | Generation manifest | SHA-256 hashing, modification detection, dry-run mode |
610
- | Plan adapters | Portable skill neutrality, TOML format, triple-quote escaping |
611
- | Audit milestone | Integration checking contract |
612
- | Health | Pre-init guard, all check categories, verdict logic, JSON/human output |
613
-
614
- ```bash
615
- npm test
616
- ```
617
-
618
- ---
619
-
620
- ## Credits
621
-
622
- Workspine is a fork of [Get Shit Done](https://github.com/gsd-build/get-shit-done) by [Lex Christopherson](https://github.com/glittercowboy), licensed under MIT. Original git history is retained for attribution.
623
-
624
- ---
625
-
626
- ## License
627
-
628
- MIT License. See [LICENSE](LICENSE) for details.
346
+ | `npx -y gsdd-cli init [--tools <platform>]` | Set up `.planning/`, generate skills/adapters |
347
+ | `npx -y gsdd-cli update [--tools <platform>] [--templates]` | Regenerate skills/adapters and refresh the repo-local helper runtime; `--templates` refreshes `.planning/templates/` and role contracts |
348
+ | `npx -y gsdd-cli health [--json]` | Check workspace integrity and generated-surface freshness (healthy/degraded/broken) |
349
+ | `npx -y gsdd-cli file-op <copy\|delete\|regex-sub>` | Run deterministic workspace-confined file copy, delete, and regex substitution |
350
+ | `npx -y gsdd-cli find-phase [N]` | Show phase info as JSON (for agent consumption) |
351
+ | `npx -y gsdd-cli phase-status <N> <status>` | Update a single ROADMAP phase status through the status-aware helper |
352
+ | `npx -y gsdd-cli verify <N>` | Run artifact checks for phase N |
353
+ | `npx -y gsdd-cli scaffold phase <N> [name]` | Create a new phase plan file |
354
+ | `npx -y gsdd-cli models [show\|profile\|set\|...]` | Inspect and manage model profile propagation |
355
+ | `npx -y gsdd-cli help` | Show all commands |
356
+
357
+ Use the shorter bare `gsdd ...` CLI form only when `gsdd-cli` is globally installed. Generated workflows call deterministic helpers through `node .planning/bin/gsdd.mjs ...` from the repo root, not through an ambient global binary.
358
+
359
+ ---
360
+
361
+ ## Architecture
362
+
363
+ ### Roles (10 canonical)
364
+
365
+ Workspine consolidates GSD's agent surface into 10 roles with durable contracts:
366
+
367
+ | Role | Responsibility |
368
+ |------|---------------|
369
+ | **Mapper** | Codebase analysis produces STACK, ARCHITECTURE, CONVENTIONS, CONCERNS |
370
+ | **Researcher** | Domain investigation merges GSD's project + phase researcher |
371
+ | **Synthesizer** | Research consolidation (conditional skipped in fast mode) |
372
+ | **Planner** | Phase planning absorbs plan-checking responsibility |
373
+ | **Executor** | Task implementation |
374
+ | **Verifier** | Phase verification — Exists/Substantive/Wired gate |
375
+ | **Roadmapper** | Roadmap generation from spec |
376
+ | **Integration Checker** | Cross-phase wiring, API coverage, auth protection, E2E flows |
377
+ | **Approach Explorer** | Implementation approach alignment before planning begins |
378
+ | **Debugger** | Utility role for systematic debugging |
379
+
380
+ ### Two-Layer Architecture
381
+
382
+ - **Role contracts** (`agents/*.md`) — durable, contain the full behavioral specification
383
+ - **Delegates** (`distilled/templates/delegates/*.md`)thin wrappers that reference roles and provide task-specific context
384
+
385
+ Delegates cover mapper, researcher, synthesizer, plan-checker, and approach-explorer work. Workflows use `<delegate>` blocks to dispatch work. For detailed GSD-to-GSDD role distillation rationale, see [`agents/DISTILLATION.md`](agents/DISTILLATION.md).
386
+
387
+ ### Adapter Architecture
388
+
389
+ Workspine generates vendor-specific files from vendor-agnostic markdown it does not convert from one vendor format to another. This means every adapter gets first-class output shaped to its platform's native capabilities.
390
+
391
+ | Adapter | Evidence posture | Strategy |
392
+ |---------|------------------|----------|
393
+ | **Claude Code** | Directly validated | Skill-primary plan surface, thin command alias, native `gsdd-plan-checker` agent |
394
+ | **OpenCode** | Directly validated | Specialized `/gsdd-plan` command (`subtask: false`), hidden `gsdd-plan-checker` subagent (`mode: subagent`) |
395
+ | **Codex CLI** | Directly validated | Portable skill as entry surface, `.codex/agents/gsdd-plan-checker.toml` (read-only, high reasoning effort), explicit `$gsdd-execute` unlock |
396
+ | **Cursor / Copilot / Gemini** | Qualified support | Uses `.agents/skills/` when skill/slash discovery is available; optional root `AGENTS.md` block adds behavioral governance only |
397
+ | **agents** (`--tools agents`) | Governance-only helper | Root `AGENTS.md` block for tools that benefit from governance or need open-standard fallback guidance |
398
+
399
+ All adapters render the plan-checker from a single source (`distilled/templates/delegates/plan-checker.md`). Each adapter shapes the output to its platform's native mechanics, and the portable skill remains the shared workflow source.
400
+
401
+ Cursor, Copilot, and Gemini CLI generate the same root `AGENTS.md` governance block as `--tools agents`, but that file is governance only. Use their slash-command path when `.agents/skills/` discovery is available; otherwise open the relevant generated `SKILL.md` file.
402
+
403
+ Model IDs pass through a two-layer injection guard: a regex whitelist (`/^[a-zA-Z0-9._\/:@-]+$/`) at the CLI boundary, plus format-specific escaping (TOML string escaping, triple-quote break prevention) at the adapter layer.
404
+
405
+ ### Artifacts
406
+
407
+ | File | Purpose |
408
+ |------|---------|
409
+ | `.planning/SPEC.md` | Living specification replaces GSD's separate PROJECT.md + REQUIREMENTS.md |
410
+ | `.planning/ROADMAP.md` | Phased delivery plan with inline status replaces STATE.md |
411
+ | `.planning/config.json` | Project configuration (research depth, workflow toggles, git protocol) |
412
+ | `.planning/phases/` | Plans, summaries, and verification reports per phase |
413
+ | `.planning/research/` | Research outputs |
414
+ | `.planning/codebase/` | Codebase maps (4 files) |
415
+ | `.planning/quick/` | Quick task tracking |
416
+ | `.planning/.continue-here.md` | Session checkpoint (created by pause, consumed by resume) |
417
+
418
+ ### Advisory Git Protocol
419
+
420
+ Workspine does not impose commit formats, branch naming, or one-commit-per-task rules. Git guidance is advisory — repository and team conventions take precedence:
421
+
422
+ - **Branching** follow existing repo conventions
423
+ - **Commits** — group changes logically, no framework-imposed format
424
+ - **PRs** follow existing repo review workflow
425
+
426
+ Defaults configurable in `.planning/config.json` under `gitProtocol`.
427
+
428
+ ### What to Track in Git
429
+
430
+ | Path | Track? | Why |
431
+ |------|--------|-----|
432
+ | `.planning/` | Yes (default) | Shared project state — spec, roadmap, phase plans. Controlled by `commitDocs` in config. |
433
+ | `.agents/skills/` | Yes | Portable workflow entrypoints. Generated, safe to track. |
434
+ | `.claude/`, `.opencode/`, `.codex/` | Yes | Tool-specific adapters. Don't conflict across tools. |
435
+ | `AGENTS.md` (root) | Yes (if generated) | Governance block. Uses bounded upsert won't overwrite existing content. |
436
+
437
+ No secrets or credentials are generated. Set `commitDocs: false` for local-only planning state.
438
+
439
+ ### Context Isolation
440
+
441
+ Orchestrators stay thin. Delegates write documents to disk and return summaries — the orchestrator never accumulates full research or plan content in its context window. This keeps the main session fast and responsive even during deep phases.
442
+
443
+ ---
444
+
445
+ ## Configuration
446
+
447
+ `npx -y gsdd-cli init` creates `.planning/config.json` interactively (or with defaults in non-interactive mode).
448
+
449
+ | Setting | Options | Default | What it controls |
450
+ |---------|---------|---------|------------------|
451
+ | `researchDepth` | `fast`, `balanced`, `deep` | `balanced` | Research thoroughness per phase |
452
+ | `parallelization` | `true`, `false` | `true` | Run independent agents simultaneously |
453
+ | `commitDocs` | `true`, `false` | `true` | Track `.planning/` in git |
454
+ | `modelProfile` | `balanced`, `quality`, `budget` | `balanced` | Portable semantic model tier |
455
+
456
+ **When to use each profile:**
457
+ - **`quality`** — maximize plan-checking rigor. Use for production milestones or security-sensitive work.
458
+ - **`balanced`** (default) — good checking at reasonable cost. Suitable for most development.
459
+ - **`budget`** minimize cost. Use for prototyping or familiar domains where you'll review plans manually.
460
+
461
+ The profile only affects the plan-checker agent. Disable `workflow.planCheck` entirely to skip checking.
462
+
463
+ Optional model-control keys:
464
+
465
+ | Setting | What it controls |
466
+ |---------|------------------|
467
+ | `agentModelProfiles.<agent>` | Per-agent semantic override. Current supported agent id: `plan-checker`. |
468
+ | `runtimeModelOverrides.<runtime>.<agent>` | Exact runtime-native model override. Supported targets: `claude.plan-checker`, `opencode.plan-checker`, `codex.plan-checker`. |
469
+
470
+ Runtime behavior:
471
+ - Claude translates semantic tiers to native aliases for the checker agent.
472
+ - OpenCode inherits its runtime model by default; Workspine only injects an exact OpenCode `model:` when you set an explicit runtime override.
473
+ - Codex inherits its session model by default; Workspine only injects an explicit `model` in the TOML when you set an explicit runtime override.
474
+
475
+ CLI:
476
+ - `npx -y gsdd-cli models show`
477
+ - `npx -y gsdd-cli models profile <quality|balanced|budget>`
478
+ - `npx -y gsdd-cli models agent-profile --agent plan-checker --profile <quality|balanced|budget>`
479
+ - `npx -y gsdd-cli models clear-agent-profile --agent plan-checker`
480
+ - `npx -y gsdd-cli models set --runtime <claude|opencode|codex> --agent plan-checker --model <id>`
481
+ - `npx -y gsdd-cli models clear --runtime <claude|opencode|codex> --agent plan-checker`
482
+
483
+ ### Workflow Toggles
484
+
485
+ Each adds quality but costs tokens and time:
486
+
487
+ | Setting | Default | What it does |
488
+ |---------|---------|--------------|
489
+ | `workflow.research` | `true` | Research domain before planning each phase |
490
+ | `workflow.planCheck` | `true` | Verify plans achieve goals before execution |
491
+ | `workflow.verifier` | `true` | Verify phase deliverables after execution |
492
+
493
+ ### Git Protocol
494
+
495
+ Advisory defaults, overridden by repo conventions:
496
+
497
+ | Setting | Default |
498
+ |---------|---------|
499
+ | `gitProtocol.branch` | Follow existing repo conventions |
500
+ | `gitProtocol.commit` | Logical grouping, no phase/task IDs |
501
+ | `gitProtocol.pr` | Follow existing review workflow |
502
+
503
+ ---
504
+
505
+ ## Troubleshooting
506
+
507
+ **First step:** Run `npx -y gsdd-cli health` — it checks workspace integrity and prints actionable fix instructions.
508
+
509
+ | Problem | What to do |
510
+ |---------|------------|
511
+ | Workspace feels broken | `npx -y gsdd-cli health` — checks errors, warnings, info |
512
+ | Health reports generated runtime-surface drift | `npx -y gsdd-cli update` (including `--tools <runtime>` when needed) — regenerates installed skills/adapters from current render output |
513
+ | Lost track of progress | Run `gsdd-progress` — reads artifacts, shows status |
514
+ | Need context from last session | Run `gsdd-resume` — restores state, routes to next action |
515
+ | Plans seem wrong | Check `workflow.research: true` in config |
516
+ | Execution produces stubs | Re-plan with smaller scope (2-5 tasks per plan) |
517
+ | Templates out of date | `npx -y gsdd-cli update --templates` — warns before overwriting |
518
+ | Model costs too high | `npx -y gsdd-cli models profile budget` + disable `workflow.planCheck` |
519
+
520
+ For detailed troubleshooting and recovery procedures, see the [User Guide](docs/USER-GUIDE.md#troubleshooting).
521
+
522
+ ---
523
+
524
+ ## Design Decisions
525
+
526
+ This repo records documented design decisions relative to GSD, each with evidence from source files and external research. See [`distilled/DESIGN.md`](distilled/DESIGN.md) for the full rationale.
527
+
528
+ Key choices:
529
+ - **4-file codebase standard** — drop state that rots (STRUCTURE, INTEGRATIONS, TESTING), keep rules that don't
530
+ - **Agent consolidation** — 10 roles from GSD's 11, with explicit reduced-assurance mode when independent checking isn't available
531
+ - **Adapter generation over conversion** — generate vendor-specific files from vendor-agnostic markdown instead of converting from Claude-first
532
+ - **Advisory git** — repo conventions over framework defaults
533
+ - **Context isolation** — summaries up, documents to disk
534
+ - **Mechanical invariant enforcement** — structural properties guarded by assertions, not code review
535
+ - **Model profile propagation** — semantic tiers (`quality`/`balanced`/`budget`) translated to native model IDs per runtime
536
+ - **Template versioning** — SHA-256 generation manifest detects user modifications before overwriting
537
+ - **CLI composition root boundary** — 100-line facade delegates to extracted modules
538
+ - **Codex CLI native adapter**portable skill entry + TOML checker agent, documented platform gaps tracked against upstream issues
539
+
540
+ ---
541
+
542
+ ## Testing
543
+
544
+ The framework has 1,381 tests across 13 test files — named suites that guard properties PRs repeatedly fixed manually. These are not unit tests for application code; they are invariant checks on the specification itself.
545
+
546
+ ### Invariant Suites (I-series)
547
+
548
+ Structural contracts that prevent drift between roles, delegates, workflows, and artifacts:
549
+
550
+ | Suite | What it guards |
551
+ |-------|---------------|
552
+ | **I1** | Delegate-role reference integrity 11 delegates resolve to existing role contracts |
553
+ | **I2** | Role section structure — 10 roles have role def, scope, output format, success criteria |
554
+ | **I3** | Delegate thinnessno leaked role-contract sections in delegates |
555
+ | **I3-gate** | New-project approval gatesrequired human checkpoints present |
556
+ | **I4** | Workflow references14 workflows, all delegate/role refs resolve |
557
+ | **I5** | Session management no vendor APIs, no STATE.md, checkpoint contract |
558
+ | **I5b** | Session workflow scope boundaries |
559
+ | **I6** | Artifact schema definitions |
560
+ | **I7** | Plan-checker dimension integrity — 7 dimensions present and correctly structured |
561
+ | **I8** | Workflow vendor API cleanliness — no platform-specific calls in portable workflows |
562
+ | **I9** | No deprecated content — no vendor paths, dropped files, legacy tooling |
563
+ | **I10** | Mandatory initial-read enforcement on hardened lifecycle roles |
564
+ | **S13** | STATE.md elimination D7 compliance verified across all artifacts |
565
+
566
+ ### Guard Suites (G-series)
567
+
568
+ Mechanical enforcement that catches cross-document inconsistencies:
569
+
570
+ | Suite | What it guards |
571
+ |-------|---------------|
572
+ | **G1** | Cross-document schema consistency |
573
+ | **G3** | File size guards — role contracts and delegates within bounds |
574
+ | **G4** | XML section well-formedness across all workflows |
575
+ | **G5** | Artifact lifecycle chainplan execute → verify → audit linkage |
576
+ | **G6** | DESIGN.md decision registry ToC matches actual decisions |
577
+ | **G7** | Delegate thinness (mechanical) |
578
+ | **G8** | Auto-mode contract |
579
+ | **G9** | Generation manifest contract |
580
+ | **G10** | CLI module boundary composition root stays thin |
581
+ | **G11** | Codex doc contractno deprecated references |
582
+ | **G12** | Documentation accuracydecision counts, workflow counts, CLI commands, ghost commands |
583
+ | **G13** | Models pre-init safetymutation commands guard uninitialized workspaces |
584
+ | **G14** | Health module contract — export, command wiring, help text, fix instructions |
585
+ | **G15** | OWASP authorization matrix — template format, integration-checker Step 4a, backwards compat |
586
+ | **G16** | Distillation ledger — DISTILLATION.md role coverage, merger table, D22 registration |
587
+ | **G17** | Mapper output quantification — template sections, delegate instructions, D23 registration |
588
+ | **G18** | Consumer governance completeness agents.block.md workflow coverage, CHANGELOG accuracy |
589
+ | **G19** | Consumer first-run accuracy — honest platform tiers, per-platform invocation guidance, Quickstart section |
590
+ | **G20** | Session continuity contract — pause checkpoint format, resume routing, progress detection, cross-workflow paths |
591
+
592
+ ### Scenario Suites (S-series)
593
+
594
+ Golden-path eval tests that verify artifact-chain contracts across end-to-end workflows:
595
+
596
+ | Suite | What it covers |
597
+ |-------|---------------|
598
+ | **S1** | Greenfield golden path — init → new-project → plan → execute → verify → audit-milestone |
599
+ | **S2** | Brownfield path — map-codebase delegates, codebase map references, mapper role |
600
+ | **S3** | Quick-task path isolation from ROADMAP/research, role references |
601
+ | **S4** | Native runtime chain — Claude + Codex checker completeness, 7 dimensions |
602
+ | **S5** | Config-to-content propagation default config values reflected in generated artifacts |
603
+
604
+ ### Functional Test Suites
605
+
606
+ | Suite | What it covers |
607
+ |-------|---------------|
608
+ | Init & update | Planning structure, config, templates, adapters, idempotency, auto mode |
609
+ | Models | Profile propagation, runtime overrides, CLI commands, injection prevention |
610
+ | Generation manifest | SHA-256 hashing, modification detection, dry-run mode |
611
+ | Plan adapters | Portable skill neutrality, TOML format, triple-quote escaping |
612
+ | Audit milestone | Integration checking contract |
613
+ | Health | Pre-init guard, all check categories, verdict logic, JSON/human output |
614
+
615
+ ```bash
616
+ npm test
617
+ ```
618
+
619
+ ---
620
+
621
+ ## Credits
622
+
623
+ Workspine is a fork of [Get Shit Done](https://github.com/gsd-build/get-shit-done) by [Lex Christopherson](https://github.com/glittercowboy), licensed under MIT. Original git history is retained for attribution.
624
+
625
+ ---
626
+
627
+ ## License
628
+
629
+ MIT License. See [LICENSE](LICENSE) for details.