gsdd-cli 0.3.1 → 0.18.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 (62) hide show
  1. package/README.md +131 -67
  2. package/agents/DISTILLATION.md +15 -13
  3. package/agents/README.md +1 -1
  4. package/agents/planner.md +2 -0
  5. package/bin/adapters/agents.mjs +1 -0
  6. package/bin/adapters/claude.mjs +20 -4
  7. package/bin/adapters/codex.mjs +9 -1
  8. package/bin/adapters/opencode.mjs +20 -5
  9. package/bin/gsdd.mjs +24 -7
  10. package/bin/lib/cli-utils.mjs +1 -1
  11. package/bin/lib/evidence-contract.mjs +112 -0
  12. package/bin/lib/file-ops.mjs +161 -0
  13. package/bin/lib/health-truth.mjs +186 -0
  14. package/bin/lib/health.mjs +72 -67
  15. package/bin/lib/init-flow.mjs +50 -3
  16. package/bin/lib/init-prompts.mjs +22 -83
  17. package/bin/lib/init-runtime.mjs +47 -25
  18. package/bin/lib/init.mjs +3 -3
  19. package/bin/lib/lifecycle-preflight.mjs +333 -0
  20. package/bin/lib/lifecycle-state.mjs +293 -0
  21. package/bin/lib/models.mjs +19 -4
  22. package/bin/lib/phase.mjs +159 -18
  23. package/bin/lib/plan-constants.mjs +30 -0
  24. package/bin/lib/provenance.mjs +165 -0
  25. package/bin/lib/rendering.mjs +8 -0
  26. package/bin/lib/runtime-freshness.mjs +239 -0
  27. package/bin/lib/session-fingerprint.mjs +106 -0
  28. package/bin/lib/templates.mjs +17 -0
  29. package/distilled/DESIGN.md +733 -49
  30. package/distilled/EVIDENCE-INDEX.md +402 -0
  31. package/distilled/README.md +73 -33
  32. package/distilled/SKILL.md +89 -85
  33. package/distilled/templates/agents.block.md +13 -84
  34. package/distilled/templates/agents.md +0 -7
  35. package/distilled/templates/delegates/plan-checker.md +6 -3
  36. package/distilled/workflows/audit-milestone.md +56 -6
  37. package/distilled/workflows/complete-milestone.md +333 -0
  38. package/distilled/workflows/execute.md +201 -19
  39. package/distilled/workflows/map-codebase.md +17 -4
  40. package/distilled/workflows/new-milestone.md +262 -0
  41. package/distilled/workflows/new-project.md +7 -6
  42. package/distilled/workflows/pause.md +40 -6
  43. package/distilled/workflows/plan-milestone-gaps.md +183 -0
  44. package/distilled/workflows/plan.md +77 -11
  45. package/distilled/workflows/progress.md +107 -29
  46. package/distilled/workflows/quick.md +23 -12
  47. package/distilled/workflows/resume.md +135 -12
  48. package/distilled/workflows/verify-work.md +260 -0
  49. package/distilled/workflows/verify.md +159 -33
  50. package/docs/BROWNFIELD-PROOF.md +95 -0
  51. package/docs/RUNTIME-SUPPORT.md +77 -0
  52. package/docs/USER-GUIDE.md +439 -0
  53. package/docs/VERIFICATION-DISCIPLINE.md +59 -0
  54. package/docs/claude/context-monitor.md +98 -0
  55. package/docs/proof/consumer-node-cli/README.md +37 -0
  56. package/docs/proof/consumer-node-cli/ROADMAP.md +14 -0
  57. package/docs/proof/consumer-node-cli/SPEC.md +17 -0
  58. package/docs/proof/consumer-node-cli/brief.md +9 -0
  59. package/docs/proof/consumer-node-cli/phases/01-foundation/01-01-PLAN.md +34 -0
  60. package/docs/proof/consumer-node-cli/phases/01-foundation/01-01-SUMMARY.md +10 -0
  61. package/docs/proof/consumer-node-cli/phases/01-foundation/01-VERIFICATION.md +30 -0
  62. package/package.json +38 -29
@@ -0,0 +1,402 @@
1
+ # GSDD Evidence Index
2
+
3
+ > One-line-per-source mapping of every design decision to its primary evidence.
4
+ > Extracted from inline **Evidence** sections in `distilled/DESIGN.md`.
5
+ > Updated when a decision is added or revised.
6
+ > Guarded by G31 in `tests/gsdd.guards.test.cjs`.
7
+
8
+ ---
9
+
10
+ ## D1 — 4-File Codebase Standard
11
+ - `agents/_archive/gsd-codebase-mapper.md` lines 72-79 (GSD 7-file model)
12
+ - `agents/mapper.md` (GSDD 4-file standard)
13
+ - `.planning/SPEC.md` "Lean Context Decision" section
14
+ - Liu et al. "Lost in the Middle: How Language Models Use Long Contexts" (NeurIPS 2023) — position-dependent recall supports minimal stable context footprint
15
+ - Levy et al. "Same Task, More Tokens: Impact of Input Length on the Reasoning Performance of LLMs" (EMNLP 2024) — longer inputs degrade reasoning performance
16
+ - Aider tree-sitter dynamic repo maps (aider.chat) — on-demand structural mapping as an alternative to static context files
17
+
18
+ ## D2 — Agent Consolidation: 11 to 10
19
+ - `agents/_archive/` (11 original GSD files, git history via `git mv`)
20
+ - `agents/` + `agents/README.md` (10 canonicals, lifecycle table)
21
+ - `agents/README.md` lifecycle table (canonical-to-GSD source mapping)
22
+ - CrewAI role-based team patterns, Microsoft AutoGen hierarchical agents, LangGraph multi-agent subgraphs (validate role specialization; specific count of 10 is engineering judgment)
23
+
24
+ ## D3 — Two-Layer Architecture: Roles and Delegates
25
+ - `agents/README.md` (Two-Layer Architecture and Runtime Distribution sections)
26
+ - `bin/gsdd.mjs` lines 84-102 (role copy step with existsSync guard)
27
+ - `tests/gsdd.init.test.cjs` (role file existence and delegate-role reference validation)
28
+ - All 10 delegate files in `distilled/templates/delegates/`
29
+ - Jensen & Meckling "Theory of the Firm" (Journal of Financial Economics 1976) — principal-agent delegation contracts
30
+ - Gamma et al. GoF Strategy Pattern ("Design Patterns" 1994) — separating algorithm definition from usage context
31
+ - LangGraph multi-agent subgraphs + Microsoft AutoGen hierarchical agents (production validation of two-layer separation)
32
+
33
+ ## D4 — Zero-Hop Security Propagation
34
+ - `agents/mapper.md` lines 66-90 (Forbidden Files section + Hard stop)
35
+ - `agents/_archive/gsd-codebase-mapper.md` lines 66-97 (original narrower rules)
36
+ - PR 2 intermediate state (one-hop via SKILL.md cross-reference)
37
+ - PR 4 final state (zero-hop, role contains all rules)
38
+ - OWASP Top 10 for LLM Applications v2.0 (2025) — LLM01 (Prompt Injection) + LLM07 (System Prompt Leakage) support embedding security rules at the role-contract level
39
+ - Greshake et al. "Not What You've Signed Up For" (IEEE S&P 2023) — indirect prompt injection validates defense-in-depth at the agent-contract layer
40
+ - Saltzer & Schroeder "Protection of Information in Computer Systems" (1975) — complete mediation principle
41
+
42
+ ## D5 — Conditional Synthesizer
43
+ - `get-shit-done/workflows/new-project.md` lines 708-729 (GSD always-spawn synthesizer)
44
+ - `distilled/templates/delegates/researcher-synthesizer.md`
45
+ - `agents/synthesizer.md` (cross-reference algorithm)
46
+ - `.planning/config.json` `researchDepth` field contract
47
+ - LangGraph conditional edges — adaptive agent invocation based on workflow state
48
+ - Asai et al. "Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection" (ICLR 2024) — conditional retrieval/synthesis based on need
49
+ - Anthropic "Building effective agents" (Dec 2024) — routing workflows match task complexity to agent selection
50
+
51
+ ## D6 — Mapper Staleness: Standalone Workflow
52
+ - `get-shit-done/workflows/map-codebase.md` lines 35-62 (GSD staleness check with 3 options)
53
+ - `get-shit-done/workflows/new-project.md` lines 61-80 (brownfield offer delegates to map-codebase)
54
+ - `distilled/workflows/map-codebase.md` (standalone, re-runnable)
55
+ - `distilled/workflows/new-project.md` (auto-invoke for brownfield via skill reference)
56
+ - Aider (aider.chat) — dynamic tree-sitter-based repo maps generated on-demand (validates freshness-over-cache approach)
57
+ - Cursor — continuous background indexing (cached approach; shows both are production-valid tradeoffs)
58
+
59
+ ## D7 — Milestone Hierarchy and Phase Continuation
60
+ - `get-shit-done/workflows/new-milestone.md` lines 101-173 (milestone-aware researchers)
61
+ - `get-shit-done/workflows/new-milestone.md` line 269 (phase numbering continuation)
62
+ - `distilled/README.md` lifecycle diagram
63
+ - `.planning/SPEC.md` "Long-Term Lifecycle" section
64
+ - Erol, Hendler & Nau / Nau et al. Hierarchical Task Networks (JAIR 2003) — foundational milestone→phase→task decomposition in AI planning
65
+ - PMI PMBOK Work Breakdown Structure (WBS) standard — industry-standard phase/task hierarchy
66
+ - Khot et al. "Decomposed Prompting" (ICLR 2023) — task decomposition improves LLM performance on multi-step work
67
+
68
+ ## D8 — Advisory Git Protocol
69
+ - `agents/_archive/gsd-executor.md` (mandatory commit in algorithm, TDD flow)
70
+ - `agents/executor.md` lines 57-64 (Git Guidance — repo-native, advisory)
71
+ - Industry consensus: Aider, GitHub Copilot, Cursor, Codex CLI, OpenCode — all treat git as advisory/user-configured; no major AI coding tool enforces a specific commit or branch convention
72
+
73
+ ## D9 — Adapter Generation Over Conversion
74
+ - `get-shit-done/install.js` (GSD converter with per-runtime conversion logic)
75
+ - `get-shit-done/workflows/new-project.md` (851 lines, 10+ AskUserQuestion calls, 7 Task() calls)
76
+ - `bin/gsdd.mjs` (thin CLI entrypoint and adapter dispatcher)
77
+ - `bin/adapters/` (vendor-specific adapter generation)
78
+ - `distilled/templates/delegates/plan-checker.md` (single payload source for native checker generation)
79
+ - `.planning/SPEC.md` "Agent Integration Strategy" section
80
+ - AGENTS.md Linux Foundation standard: agents.md
81
+
82
+ ## D10 — Context Isolation: Summaries Up, Documents to Disk
83
+ - `get-shit-done/workflows/new-project.md` lines 544-706 (4 researchers write to files, return summaries)
84
+ - All 9 delegate files (return format instructions)
85
+ - `agents/synthesizer.md` (reads full research files from disk)
86
+ - Anthropic Agent Teams (Feb 2026): "Shared State, Not Shared Context"
87
+ - AI21 Modular Intelligence (Feb 2026): orchestrator-based designs prevent context drift
88
+
89
+ ## D11 — Quick-Work Lane
90
+ - `get-shit-done/workflows/quick.md` (454 lines, two modes, STATE.md tracking)
91
+ - `distilled/workflows/quick.md` (~120 lines, single mode, LOG.md tracking)
92
+ - Crystal Clear (Cockburn 2004) — ceremony scales with team size and criticality; lightweight methods prescribed for small/low-criticality work
93
+ - Kanban class-of-service (Anderson 2010) — routing tasks by size/urgency to appropriate workflow lanes
94
+ - Anthropic "Building effective agents" (Dec 2024) — match workflow complexity to task complexity
95
+
96
+ ## D12 — Session Persistence Without State File
97
+ - `get-shit-done/workflows/pause-work.md` (123 lines, phase-scoped checkpoint)
98
+ - `get-shit-done/workflows/resume-project.md` (307 lines, STATE.md-dependent)
99
+ - `get-shit-done/workflows/progress.md` (382 lines, gsd-tools.cjs-dependent)
100
+ - `distilled/workflows/pause.md`, `distilled/workflows/resume.md`, `distilled/workflows/progress.md`
101
+ - `.internal-research/gsd-distilled-audit-13th-march-2026.md` — Highest-ROI recommendation #3
102
+
103
+ ## D13 — Mechanical Invariant Enforcement
104
+ - `tests/gsdd.invariants.test.cjs` lines 1015+ (6 suites, ~106 assertions)
105
+ - OpenAI Harness Engineering blog (Feb 2026): "error messages as enforcement mechanism"
106
+ - External audit (2026-03-13): recommendation #4 "Mechanize the framework's invariants"
107
+ - PRs #20-23: orphan `</output>` tags survived 4 manual review cycles before G4 caught them
108
+
109
+ ## D14 — Headless Mode
110
+ - `get-shit-done/workflows/new-project.md` lines 9-40 (GSD headless predecessor)
111
+ - Claude Code: `-p` flag for headless execution (docs.anthropic.com)
112
+ - Codex CLI: `--quiet` and `--auto-edit` flags (developers.openai.com/codex/cli/reference)
113
+ - Cline CLI 2.0: explicit headless CI/CD mode (devops.com, 2025)
114
+
115
+ ## D15 — Model Profile Propagation
116
+ - `get-shit-done/references/model-profiles.md` + `model-profile-resolution.md` (GSD reference)
117
+ - OpenSpec: portable spec core is tool-agnostic (openspec.dev)
118
+ - Claude Code: `model:` field with aliases (docs.anthropic.com/en/docs/claude-code/sub-agents)
119
+ - OpenCode: `model:` in agent frontmatter (opencode.ai/docs/agents)
120
+ - Agent Skills standard: no `model:` field in spec (agentskills.io/specification)
121
+
122
+ ## D16 — Template Versioning via Generation Manifest
123
+ - `get-shit-done/install.js` lines 1227-1327 (SHA-256 manifest + backup directory)
124
+ - OpenSpec: managed blocks with bounded upsert (openspec.dev)
125
+ - Angular/Turborepo/Next.js: ordered migrations with dry-run preview
126
+ - Langfuse: generation/prompt versioning with hash-based change detection (langfuse.com/docs/prompts)
127
+
128
+ ## D17 — CLI Composition Root Boundary
129
+ - `get-shit-done/install.js` (GSD monolithic install/conversion surface)
130
+ - `bin/gsdd.mjs`, `bin/lib/init.mjs`, `bin/lib/templates.mjs`, `bin/lib/models.mjs`
131
+ - `tests/gsdd.init.test.cjs`, `tests/gsdd.models.test.cjs`, `tests/gsdd.manifest.test.cjs`
132
+ - Seemann "Dependency Injection in .NET" (Manning 2011) — named "Composition Root" pattern
133
+ - Martin "Clean Architecture" (2017) — main component as the outermost wiring layer
134
+ - Standard pattern in oclif, Commander.js, yargs, Cobra CLIs
135
+
136
+ ## D18 — Codex CLI Native Adapter
137
+ - OpenAI Codex CLI docs: developers.openai.com/codex/subagents
138
+ - Codex CLI v0.115.0 release notes: github.com/openai/codex/releases/tag/rust-v0.115.0
139
+ - Agent Skills standard: developers.openai.com/codex/skills
140
+ - `bin/adapters/codex.mjs` (implementation)
141
+ - Live validation fixtures (2026-03-17): 3 Codex test runs confirming happy path, revision, max-3 escalation
142
+
143
+ ## D19 — Scenario-Based Eval Coverage
144
+ - OpenAI: "Testing Agent Skills Systematically with Evals" (developers.openai.com/blog/eval-skills)
145
+ - Anthropic: "Demystifying Evals for AI Agents" (anthropic.com/engineering/demystifying-evals-for-ai-agents)
146
+ - Block: "Testing Pyramid for AI Agents" (engineering.block.xyz/blog/testing-pyramid-for-ai-agents)
147
+ - `tests/gsdd.scenarios.test.cjs` (S1–S5, ~37 assertions)
148
+
149
+ ## D20 — Workspace Health Diagnostics
150
+ - `get-shit-done/workflows/health.md` (157 lines, GSD predecessor)
151
+ - OpenAI Harness Engineering (Feb 2026): error messages as enforcement mechanism
152
+ - External audit (2026-03-13): recommendation #3 "Add just enough: status/resume/progress/health"
153
+ - `bin/lib/health.mjs`, `tests/gsdd.health.test.cjs`, `tests/gsdd.guards.test.cjs` (G14)
154
+
155
+ ## D21 — OWASP Authorization Matrix
156
+ - OWASP Authorization Testing Automation Cheat Sheet: pivot-format matrix standard
157
+ - OWASP Top 10 for Agentic Applications 2026: A1 Agent Overreach, A4 Insufficient Authorization
158
+ - External audits (2026-03-13, 2026-03-17): independently flagged auth verification gap
159
+ - `distilled/templates/auth-matrix.md`, `agents/integration-checker.md` (Step 4a)
160
+
161
+ ## D22 — Delegate Layer Architecture
162
+ - Anthropic multi-agent guidance: orchestration patterns with isolated sub-agents
163
+ - OpenAI Harness Engineering (2026): delegate pattern for reusable sub-agent behavior
164
+ - OpenDev "Terminal Agents" (arXiv 2603.05344): multi-agent coordination with explicit role contracts
165
+ - `distilled/templates/delegates/` (11 delegate files)
166
+ - `distilled/workflows/*.md` (`<delegate>` blocks)
167
+
168
+ ## D23 — Mapper Output Quantification
169
+ - `ideas.md` (internal, Feb 2026): direct per-tool comparison — "84% declining > uses constructor injection"
170
+ - ArXiv 2602.20478 (Codified Context): structured quantifiable facts enable JIT context loading
171
+ - GetDX measurement framework (2026): adoption % as primary signal for convention strength
172
+ - Anthropic 2026 Agentic Coding Trends: context quality as primary competitive advantage
173
+ - `distilled/templates/codebase/conventions.md`, `distilled/templates/delegates/mapper-quality.md`
174
+
175
+ ## D24 — Consumer Governance Completeness
176
+ - Anthropic "Effective harnesses for long-running agents" (2026): incomplete maps cause agent failure
177
+ - Agent Skills specification (agentskills.io): progressive disclosure requires complete top-level map
178
+ - HumanLayer "Skill Issue" (2026): AGENTS.md should be a complete capability map
179
+ - External audits (2026-03-13, 2026-03-17): documentation accuracy as top adoption blocker
180
+ - `distilled/templates/agents.block.md`, `tests/gsdd.guards.test.cjs` (G18)
181
+
182
+ ## D25 — Consumer First-Run Experience
183
+ - Anthropic harness engineering (2025-2026): "honest constraints over vague prompting"
184
+ - OpenAI Codex skills documentation: clear per-platform invocation patterns
185
+ - Both GSDD external audits (2026-03-13, 2026-03-17): "architecture solid, presentation lags"
186
+ - `README.md`, `distilled/templates/agents.block.md`, `bin/lib/init.mjs`, `tests/gsdd.guards.test.cjs` (G19)
187
+
188
+ ## D26 — Session Continuity Contract Hardening
189
+ - Anthropic "Effective harnesses for long-running agents" (2026): artifact-based session handoff
190
+ - GitHub "How to build reliable AI workflows with agentic primitives" (2026): session splitting
191
+ - OpenAI harness engineering (2026): incremental progress tracking is the key multi-session mechanism
192
+ - OpenDev terminal agents (arXiv 2603.05344): runtime state must be derivable from artifacts
193
+ - `distilled/workflows/pause.md`, `distilled/workflows/resume.md`, `distilled/workflows/progress.md`
194
+ - `tests/gsdd.guards.test.cjs` (G20)
195
+
196
+ ## D27 — Consumer-Ready Surface Completion
197
+ - External audit (2026-03-13): "architecture solid, presentation lags implementation"
198
+ - External audit (2026-03-17): "consumer surface identified as #1 bottleneck"
199
+ - External audit (2026-03-18): "docs should close the consumer journey"
200
+ - `README.md` (6 new subsections), `tests/gsdd.guards.test.cjs` (G21)
201
+
202
+ ## D28 — Workflow Completion Routing
203
+ - Consumer audit (2026-03-21): "agent never proactively suggested the next GSDD command"
204
+ - `get-shit-done/workflows/progress.md` (GSD "Next Up" block pattern)
205
+ - Anthropic "Building effective agents" (2025): explicit handoff points with clear next actions
206
+ - `distilled/workflows/*.md` (9 `<completion>` sections), `tests/gsdd.guards.test.cjs` (G22)
207
+
208
+ ## D29 — Approach Exploration
209
+ - Anthropic "Building effective agents" (2025): sub-agents return condensed summaries
210
+ - LangChain "Context Engineering for Agents" (2025): Write/Select/Compress/Isolate patterns
211
+ - `get-shit-done/workflows/discuss-phase.md` (gray area identification, GSD source)
212
+ - `get-shit-done/workflows/list-phase-assumptions.md` (5-dimension assumption surfacing)
213
+ - `get-shit-done/workflows/discovery-phase.md` (3-level research workflow)
214
+ - `agents/approach-explorer.md`, `distilled/templates/delegates/approach-explorer.md`
215
+
216
+ ## D30 — Hardening Propagation
217
+ - D28 consumer audit (2026-03-21): persistence failures at every workflow boundary
218
+ - Huang et al. "LLMs Cannot Self-Correct Reasoning Yet" (ICLR 2024): LLMs need external feedback
219
+ - Kamoi et al. "When Can LLMs Actually Correct Their Own Mistakes?" (TACL 2024): self-correction requires reliable external feedback
220
+ - Anthropic long-context research (2024): instructions at decision points followed more reliably
221
+ - `distilled/workflows/quick.md`, `distilled/workflows/map-codebase.md`, `tests/gsdd.guards.test.cjs` (G24)
222
+
223
+ ## D31 — Outcome Dimension for Plan-Checker
224
+ - Yu et al. "Outcome-Refining Process Supervision for Code Generation" (ICML 2025): +26.9% correctness with hybrid process+outcome supervision
225
+ - Rajan "Multi-Agent Code Verification via Information Theory" (2025): diminishing returns plateau at 4-7 dimensions
226
+ - Lightman et al. "Let's Verify Step by Step" (ICLR 2024): process supervision significantly outperforms outcome-only
227
+ - `distilled/templates/delegates/plan-checker.md` (`goal_achievement` dimension)
228
+
229
+ ## D32 — Quick Workflow Alignment Hardening
230
+ - Risk-adaptive autonomy pattern (AWS, Azure, Anthropic 2025-2026): confirmation gates scale with consequence
231
+ - Anthropic agent autonomy research (2026): human-on-the-loop > human-in-the-loop
232
+ - Madaan et al. "Self-Refine" (NeurIPS 2023): 1 revision cycle captures most improvement
233
+ - `distilled/workflows/quick.md` (Steps 3.5-3.7), `tests/gsdd.guards.test.cjs` (G24)
234
+
235
+ ## D33 — Quick Approach Clarification
236
+ - Anthropic "Measuring AI agent autonomy in practice" (2025): Claude asks 2x+ on complex tasks
237
+ - Knight First Amendment Institute "Levels of Autonomy for AI Agents" (2025): 5-level autonomy spectrum
238
+ - Anthropic "Framework for safe and trustworthy agents" (2025): recommendation-first framing
239
+ - Martin Fowler "Humans and Agents in SE Loops" (2025): HOTL > HITL
240
+ - `distilled/workflows/quick.md` (Step 2.5), `tests/gsdd.guards.test.cjs` (G24)
241
+
242
+ ## D34 — Context Engineering Applied to Quick Workflow
243
+ - Anthropic Claude Prompting Best Practices: XML tags for semantic structure and attention
244
+ - Selective Prompt Anchoring (arXiv 2408.09121, 2024): up to 12.9% Pass@1 improvement from strategic anchoring
245
+ - `agentskit-architect SKILL.md` (prompty): identical hybrid XML-outer/markdown-inner structure
246
+ - `distilled/DESIGN.md` (DISTILLATION.md authority language resolution)
247
+ - `distilled/workflows/quick.md` (`<anti_patterns>` section, STOP normalization)
248
+
249
+ ## D35 — Skills-Native Runtimes vs Governance Adapters
250
+ - Live consumer testing (2026-03-20): Cursor and Copilot auto-discover `.agents/skills/`
251
+ - User-performed live validation (2026-03-25): Gemini confirms same behavior
252
+ - `bin/lib/init.mjs` (adapter registry and root-governance generator)
253
+ - `README.md`, `distilled/templates/agents.block.md`, `tests/gsdd.guards.test.cjs`
254
+
255
+ ## D36 — Interactive Init Wizard
256
+ - `bin/lib/init.mjs` existing adapter-selection seam
257
+ - Local research on adjacent `prompty` repo: portable skills as primary install surface
258
+ - Repo lesson LL-INSTALL-DX-BEFORE-ALIAS-CLEANUP (lessons-learned.md)
259
+ - `bin/lib/init.mjs`, `bin/gsdd.mjs`, `tests/gsdd.init.test.cjs`
260
+ - npm init, Vite `create-vite`, Next.js `create-next-app`, Angular CLI `ng new`, Astro `create astro` — all use TTY-interactive wizard with headless flags (industry standard for project scaffolding)
261
+
262
+ ## D37 — Mutability-Driven Workflow Classification
263
+ - `distilled/workflows/verify.md`, `new-project.md`, `audit-milestone.md`, `pause.md`, `resume.md` (all require artifact writes)
264
+ - `distilled/workflows/progress.md` (only read-only workflow)
265
+ - Consumer audit: verification reports lost when persistence skipped
266
+ - `bin/gsdd.mjs`, `bin/lib/rendering.mjs`, `tests/gsdd.guards.test.cjs` (G27)
267
+ - Meyer's Command-Query Separation (CQS, "Object-Oriented Software Construction" 1988) — classify operations by mutation behavior, not semantic category
268
+ - Greg Young's CQRS (2010) — CQS applied at the architectural level
269
+ - Unix rwx model + AWS IAM / Kubernetes RBAC — classify by mutation semantics as industry norm
270
+
271
+ ## D38 — Retroactive Artifact Enforcement
272
+ - `.internal-research/gaps.md` I27 entry (two occurrences, root-cause analysis, close conditions)
273
+ - `distilled/workflows/execute.md` (D28 SUMMARY.md persistence gate)
274
+ - `distilled/workflows/verify.md` (D28 VERIFICATION.md persistence gate + D28/G30 ROADMAP closure)
275
+ - `distilled/workflows/audit-milestone.md` (retroactive artifact completeness check)
276
+ - `.internal-research/strategy.md` (kernel simplicity vs policy depth trade-off)
277
+ - `tests/gsdd.guards.test.cjs` (G30 guard for ROADMAP closure on pass)
278
+ - NIST SP 800-53 Rev. 5 (2020) — detective vs preventive controls as equally valid risk-management strategies
279
+ - ISO 27001 risk treatment — choice of detective vs preventive depends on cost/complexity tradeoff
280
+ - Reason's Swiss Cheese model (1990) — layered defense where retroactive audit catches what preventive layers miss
281
+
282
+ ## D39 — Brownfield Entry Wiring
283
+ - User brownfield audit finding (2026-03-20): map-codebase was useful but not presented as the start of a lightweight feature-work lane
284
+ - Existing quick-workflow hardening decisions D32-D34: quick already had alignment and scope controls, so the open gap was routing/context, not quick quality
285
+ - `distilled/workflows/quick.md` (Step 2 codebase-context read, planner delegate context)
286
+ - `distilled/workflows/map-codebase.md` (completion offers `/gsdd-quick` as the brownfield lane)
287
+ - `tests/gsdd.guards.test.cjs`, `tests/gsdd.scenarios.test.cjs`
288
+
289
+ ## D40 — Three-Layer Continuity Boundary
290
+ - Phase 7 continuity review across all 14 workflow files: durable artifacts and live-state artifacts were present, but compressed judgment was not explicitly modeled
291
+ - D12 and D26: artifact/state continuity existed already, but without a named three-layer boundary
292
+ - `.planning/SPEC.md` (Continuity Layers constraint, Key Decisions row)
293
+ - `distilled/workflows/resume.md` (first workflow adopting the boundary directly)
294
+
295
+ ## D41 — Compressed Judgment Persistence Surface
296
+ - Phase 8 review of `plan.md`, `execute.md`, `verify.md`, and `resume.md` as the four judgment-recovery entry points
297
+ - `distilled/workflows/pause.md` (checkpoint `<judgment>` write)
298
+ - `distilled/workflows/execute.md` (`SUMMARY.md` `<judgment>` write and prior-summary read)
299
+ - `distilled/workflows/plan.md`, `distilled/workflows/verify.md`, `distilled/workflows/resume.md` (judgment reads)
300
+ - `.planning/SPEC.md` (Key Decisions row)
301
+
302
+ ## D42 — Session-Boundary Safety
303
+ - `distilled/workflows/resume.md` (`.continue-here.bak` retained across dispatch)
304
+ - `distilled/workflows/plan.md`, `distilled/workflows/execute.md`, `distilled/workflows/verify.md`, `distilled/workflows/quick.md` (fallback `.bak` judgment reads)
305
+ - `distilled/workflows/pause.md` (stale `.bak` crash-cleanup path)
306
+ - `tests/gsdd.guards.test.cjs`, `tests/gsdd.invariants.test.cjs`
307
+
308
+ ## D43 — Resume Provenance Truth Split
309
+ - `.internal-research/gaps.md` (`I29`, `I30`)
310
+ - `.internal-research/TODO.md` (stale checkpoint/worktree drift notes)
311
+ - `.internal-research/consumer-audits/worktree-provenance-and-checkpoint-drift-2026-04-12.md`
312
+ - `distilled/workflows/pause.md`, `distilled/workflows/resume.md`
313
+ - `bin/lib/provenance.mjs`
314
+ - `tests/phase.test.cjs`, `tests/gsdd.guards.test.cjs`, `tests/gsdd.invariants.test.cjs`
315
+
316
+ ## D44 — Warning-First Transition Safety And Fail-Closed Terminal Writes
317
+ - `.planning/SPEC.md` (`LAUNCH-12`, `LAUNCH-13`)
318
+ - `.planning/ROADMAP.md` (Phase 20 and Phase 22 scope notes)
319
+ - `distilled/workflows/plan.md`, `execute.md`, `quick.md`, `new-milestone.md`, `complete-milestone.md`
320
+ - `distilled/workflows/verify.md`, `distilled/workflows/audit-milestone.md`
321
+ - `bin/lib/provenance.mjs`
322
+ - `tests/gsdd.guards.test.cjs`, `tests/gsdd.invariants.test.cjs`, `tests/gsdd.scenarios.test.cjs`
323
+
324
+ ## D45 — Fork-Honest Launch Posture Before Identity Migration
325
+ - `.planning/SPEC.md` (v1.2.0 active requirements and posture)
326
+ - `.planning/ROADMAP.md` (Phase 23-27 ownership)
327
+ - `.internal-research/TODO.md`, `.internal-research/gaps.md` (`I39`), `.internal-research/lessons-learned.md`
328
+ - `.internal-research/release-jury-verdict-2026-04-15.md`
329
+ - `.internal-research/release-jury-public-truth-drift-2026-04-15.md`
330
+ - `.internal-research/public-release-two-layer-brief-2026-04-15.md`
331
+ - `get-shit-done/workflows/progress.md`
332
+
333
+ ## D46 — Archived Milestone Routing With Retained ROADMAP
334
+ - `.internal-research/gaps.md` (`I39`)
335
+ - `.planning/MILESTONES.md`
336
+ - `.planning/v1.1-MILESTONE-AUDIT.md`
337
+ - `distilled/workflows/progress.md`
338
+ - `tests/gsdd.guards.test.cjs`, `tests/gsdd.scenarios.test.cjs`, `tests/gsdd.health.test.cjs`
339
+ - `get-shit-done/workflows/progress.md`
340
+
341
+ ## D47 — Brownfield Quick-Win Repair
342
+ - `.planning/SPEC.md` (`DX-03`, `BROWNFIELD-01`)
343
+ - `distilled/workflows/quick.md`, `distilled/workflows/progress.md`
344
+ - `distilled/workflows/new-project.md`, `distilled/workflows/map-codebase.md`
345
+ - `README.md`, `docs/USER-GUIDE.md`, `distilled/README.md`
346
+ - `tests/gsdd.guards.test.cjs`, `tests/gsdd.scenarios.test.cjs`, `tests/gsdd.invariants.test.cjs`
347
+
348
+ ## D48 — Shared Lifecycle Evaluator And Dual-Canonical Runtime Boundary
349
+ - `.planning/SPEC.md` (`ENGINE-01`, `ENGINE-02`, `ENGINE-05`)
350
+ - `.planning/ROADMAP.md` (Phases 29 and 32)
351
+ - `.internal-research/TODO.md`, `.internal-research/gaps.md` (`I42`)
352
+ - `bin/lib/lifecycle-state.mjs`, `bin/lib/health.mjs`, `bin/lib/health-truth.mjs`
353
+ - `tests/phase.test.cjs`, `tests/gsdd.health.test.cjs`, `tests/gsdd.guards.test.cjs`
354
+ - `get-shit-done/workflows/progress.md`
355
+
356
+ ## D49 — Deterministic Lifecycle Preflight Gates
357
+ - `.planning/SPEC.md` (`ENGINE-01`, `ENGINE-02`, `ENGINE-03`)
358
+ - `.planning/ROADMAP.md` (Phase 30)
359
+ - `bin/lib/lifecycle-preflight.mjs`, `bin/lib/lifecycle-state.mjs`
360
+ - `bin/gsdd.mjs`, `bin/lib/init.mjs`
361
+ - `distilled/workflows/execute.md`, `distilled/workflows/verify.md`
362
+ - `distilled/workflows/audit-milestone.md`, `distilled/workflows/complete-milestone.md`
363
+ - `distilled/workflows/new-milestone.md`, `distilled/workflows/resume.md`, `distilled/workflows/progress.md`
364
+ - `tests/phase.test.cjs`, `tests/gsdd.guards.test.cjs`, `tests/gsdd.scenarios.test.cjs`
365
+ - `get-shit-done/workflows/progress.md`
366
+
367
+ ## D50 — Evidence-Gated Closure Matrix
368
+ - `.planning/SPEC.md` (`ENGINE-04`, `VERIFY-01`)
369
+ - `.planning/ROADMAP.md` (Phase 31)
370
+ - `bin/lib/evidence-contract.mjs`, `bin/lib/lifecycle-preflight.mjs`
371
+ - `distilled/workflows/verify.md`, `distilled/workflows/audit-milestone.md`, `distilled/workflows/complete-milestone.md`
372
+ - `tests/phase.test.cjs`, `tests/gsdd.guards.test.cjs`, `tests/gsdd.scenarios.test.cjs`
373
+ - `agents/_archive/gsd-verifier.md`, `agents/_archive/gsd-integration-checker.md`
374
+
375
+ ## D51 — Deterministic Runtime Surface Freshness
376
+ - `.planning/SPEC.md` (`ENGINE-05`)
377
+ - `.planning/ROADMAP.md` (Phase 32)
378
+ - `.internal-research/gaps.md` (`I42`)
379
+ - `bin/lib/runtime-freshness.mjs`, `bin/lib/health.mjs`, `bin/lib/health-truth.mjs`, `bin/lib/rendering.mjs`
380
+ - `bin/adapters/claude.mjs`, `bin/adapters/opencode.mjs`, `bin/adapters/codex.mjs`
381
+ - `README.md`, `docs/RUNTIME-SUPPORT.md`, `distilled/README.md`
382
+ - `tests/phase.test.cjs`, `tests/gsdd.health.test.cjs`, `tests/gsdd.plan.adapters.test.cjs`, `tests/gsdd.guards.test.cjs`, `tests/gsdd.scenarios.test.cjs`
383
+ - `get-shit-done/workflows/progress.md`
384
+
385
+ ## D52 — Generic Checkpoint Routing Ownership
386
+ - `.planning/SPEC.md` (`ENGINE-01`, `ENGINE-03`)
387
+ - `.internal-research/gaps.md` (`I45`)
388
+ - `bin/lib/provenance.mjs`
389
+ - `distilled/workflows/resume.md`, `distilled/workflows/progress.md`
390
+ - `.agents/skills/gsdd-resume/SKILL.md`, `.agents/skills/gsdd-progress/SKILL.md`
391
+ - `tests/phase.test.cjs`, `tests/gsdd.guards.test.cjs`, `tests/gsdd.scenarios.test.cjs`
392
+ - `get-shit-done/workflows/progress.md`
393
+
394
+ ---
395
+
396
+ ## Maintenance
397
+
398
+ Update this file when:
399
+ - A new design decision is added to `distilled/DESIGN.md` (add entry here before or alongside the DESIGN.md commit)
400
+ - An existing decision's evidence changes (update the relevant entry)
401
+
402
+ Guard: G31 in `tests/gsdd.guards.test.cjs` asserts every decision in DESIGN.md ToC has an entry here with at least one source.
@@ -1,16 +1,28 @@
1
- # GSDD (Get Shit Done Distilled)
1
+ # Workspine
2
2
 
3
- Lightweight Spec-Driven Development (SDD) for AI-assisted engineering.
3
+ A repo-native delivery spine for planning, checking, execution, verification, and handoff of long-horizon AI-assisted work.
4
4
 
5
- Distilled from GSD (Get Shit Done): keep rigor and leverage, drop ceremony.
5
+ Workspine keeps planning, execution, verification, handoff, and progress state in the repo so work survives cold starts, runtime switches, and session loss. The retained package and CLI contracts remain `gsdd-cli` / `gsdd`.
6
6
 
7
7
  ## What This Is
8
8
 
9
- GSDD is a small set of workflow sources plus a CLI (`gsdd`) that:
9
+ Workspine is a small set of workflow sources plus a CLI (`gsdd`) that:
10
10
  - scaffolds a project planning workspace (`.planning/`)
11
11
  - generates portable workflow entrypoints as skills (`.agents/skills/gsdd-*/SKILL.md`)
12
12
  - optionally generates tool-specific adapters for runtimes that need extra native surfaces (root `AGENTS.md`, Claude skills + plan-command alias + native agents, OpenCode commands + native agents)
13
13
 
14
+ It gives serious AI-assisted work one durable repo workflow spine for planning, checking, execution, verification, and handoff without pretending to be a hosted orchestration layer.
15
+
16
+ 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.
17
+
18
+ Workspine began as a fork of 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. Workspine took a different path: a smaller repo-native delivery spine with fewer public workflow surfaces, generated runtime surfaces from a portable core, evidence-gated closure, and provenance-aware continuity.
19
+
20
+ Launch proof posture:
21
+ - Directly validated in repo truth: Claude Code, Codex CLI, OpenCode
22
+ - Qualified support only: Cursor, Copilot, Gemini CLI support the same core workflow via the shared `.agents/skills/` surface plus optional governance; proof and ergonomics differ from the directly validated runtimes
23
+ - Installed generated runtime surfaces are renderer-checked locally through `gsdd health`, with deterministic repair through `gsdd update`
24
+ - Public proof entrypoints: `docs/BROWNFIELD-PROOF.md`, `docs/proof/consumer-node-cli/README.md`, `docs/RUNTIME-SUPPORT.md`, `docs/VERIFICATION-DISCIPLINE.md`
25
+
14
26
  ## Quick Start
15
27
 
16
28
  Run in your project root:
@@ -41,39 +53,57 @@ Notes:
41
53
  ## The Workflow
42
54
 
43
55
  ```
44
- gsdd init -> bootstrap (create .planning/, copy templates, generate skills/adapters)
45
- /gsdd:new-project -> .planning/SPEC.md + .planning/ROADMAP.md (questioning + codebase audit + research)
46
- /gsdd:plan N -> phases/N/PLAN.md (task breakdown + research)
47
- /gsdd:execute N -> code changes (plan execution with quality gates)
48
- /gsdd:verify N -> VERIFICATION.md (goal-backward validation)
56
+ gsdd init -> bootstrap (create .planning/, copy templates, generate skills/adapters)
57
+ /gsdd-new-project -> .planning/SPEC.md + .planning/ROADMAP.md (questioning + codebase audit + research)
58
+ /gsdd-plan N -> phases/N/PLAN.md (task breakdown + research)
59
+ /gsdd-execute N -> code changes (plan execution with quality gates)
60
+ /gsdd-verify N -> VERIFICATION.md (goal-backward validation)
49
61
  ... repeat plan/execute/verify per phase ...
50
- /gsdd:quick -> .planning/quick/NNN/ (sub-hour task outside phases)
51
- /gsdd:pause -> .planning/.continue-here.md (session checkpoint)
52
- /gsdd:resume -> restore context, route to next action
53
- /gsdd:progress -> show status, route to next action
62
+ /gsdd-audit-milestone -> MILESTONE-AUDIT.md (cross-phase integration + requirements coverage)
63
+ /gsdd-complete-milestone -> milestones/vX.Y-* (archive, evolve spec, collapse roadmap)
64
+ /gsdd-new-milestone -> updated SPEC.md + ROADMAP.md (next milestone goals + phases)
65
+ /gsdd-plan-milestone-gaps -> gap closure phases in ROADMAP.md (from audit results)
66
+ /gsdd-quick -> .planning/quick/NNN/ (sub-hour task outside phases)
67
+ /gsdd-pause -> .planning/.continue-here.md (session checkpoint)
68
+ /gsdd-resume -> restore context, route to next action
69
+ /gsdd-progress -> show status, route to next action
54
70
  ```
55
71
 
56
- ## Current Status (updated 2026-03-20)
57
-
58
- | Workflow | Status | Notes |
59
- |----------|--------|-------|
60
- | `new-project.md` | [OK] Defined, source-audited | Covers greenfield + brownfield + milestone context |
61
- | `plan.md` | [OK] Defined, source-audited | Portable workflow defines the planner contract and supports independent plan checking through generated native adapters |
62
- | `execute.md` | [OK] Source-audited | Mandatory read enforcement, auth-gate routing, deviation-rule examples, and substantive summary quality gate |
63
- | `verify.md` | [OK] Source-audited | 5 gap closures against hardened verifier role contract: grouped-gap guidance, orphan detection, frontmatter enforcement, verification basis emphasis, requirements coverage chain |
64
- | `audit-milestone.md` | [OK] Defined, source-audited | Aggregates phase verification, cross-phase integration audit, auth protection checks, requirement reconciliation, and orphan detection into `MILESTONE-AUDIT.md` |
65
- | `quick.md` | [OK] | Quick-work lane for sub-hour tasks outside the phase cycle (D11) |
66
- | `pause.md` | [OK] Source-audited | Session checkpoint writer with conversational handoff (D12) |
67
- | `resume.md` | [OK] Source-audited | Session context restorer with priority-ordered routing (D12) |
68
- | `progress.md` | [OK] Source-audited | Read-only status reporter with 6 named route branches, recent work, between-milestones detection (D12) |
69
- | `map-codebase.md` | [OK] Defined, source-audited | Standalone codebase mapping/refresh |
72
+ ## Brownfield Entry Contract
73
+
74
+ Use the same three-way routing everywhere:
75
+
76
+ - `gsdd-new-project` is the full initializer for greenfield work, fuzzy brownfield scope, or milestone-shaped work. Users do not need to pre-run `map-codebase`; `new-project` does that internally when needed.
77
+ - `gsdd-quick` is the bounded brownfield lane when the change is already concrete. It uses existing codebase maps when present and otherwise builds a just-enough inline baseline.
78
+ - `gsdd-map-codebase` is the deeper orientation pass for unfamiliar or higher-risk repos before choosing between `quick` and `new-project`.
79
+
80
+ ## Workflow Surface (updated 2026-04-19)
81
+
82
+ | Workflow | What ships |
83
+ |----------|------------|
84
+ | `new-project.md` | Greenfield + brownfield + milestone initialization |
85
+ | `plan.md` | Portable planner contract with independent plan checking through generated native adapters |
86
+ | `execute.md` | Mandatory reads, auth-gate routing, deviation rules, and substantive summary quality gate |
87
+ | `verify.md` | Phase verification with orphan detection, frontmatter enforcement, and requirements coverage chain |
88
+ | `audit-milestone.md` | Cross-phase integration audit, auth protection checks, requirement reconciliation, and orphan detection into `MILESTONE-AUDIT.md` |
89
+ | `complete-milestone.md` | Milestone archive, spec evolution, and roadmap collapse |
90
+ | `new-milestone.md` | Brownfield milestone continuation: goals, requirements, and roadmap phases |
91
+ | `plan-milestone-gaps.md` | Gap-closure phases from `MILESTONE-AUDIT.md` results |
92
+ | `quick.md` | Quick-work lane for sub-hour tasks outside the phase cycle |
93
+ | `pause.md` | Session checkpoint writer with conversational handoff |
94
+ | `resume.md` | Session context restorer with priority-ordered routing |
95
+ | `progress.md` | Read-only status reporter with recent work, archived-milestone detection, and non-phase brownfield routing |
96
+ | `map-codebase.md` | Standalone codebase mapping/refresh and deeper brownfield orientation |
97
+ | `verify-work.md` | Conversational UAT validation with structured gap tracking |
70
98
 
71
99
  Architecture notes:
72
100
  - `bin/gsdd.mjs` remains the thin generator entrypoint, while vendor-specific rendering lives in adapter modules.
73
101
  - Codex CLI uses the always-generated `.agents/skills/gsdd-*` surface as its entry path and can add a native `.codex/agents/gsdd-plan-checker.toml` checker agent.
102
+ - `gsdd health` now compares any installed generated runtime surfaces against current render output and routes repairs back through `gsdd update`.
74
103
  - Portable lifecycle contracts now align to the roadmap template status grammar: `[ ]`, `[-]`, `[x]`.
75
104
  - Phase verification and milestone integration audit are treated as separate concerns.
76
105
  - Canonical role contracts use bounded sections, typed output examples, and checklist-driven completion where those structures materially improve downstream reliability.
106
+ - Public launch wording is conservative by design: direct proof is claimed only for runtimes with recorded lifecycle evidence in the repo.
77
107
 
78
108
  ## Init Workflow Agent Count (by config)
79
109
 
@@ -100,10 +130,14 @@ Note: `parallelization: false` keeps the same mapper/researcher set but runs the
100
130
  research/ # optional research outputs
101
131
  .agents/skills/
102
132
  gsdd-new-project/SKILL.md
133
+ gsdd-new-milestone/SKILL.md
103
134
  gsdd-plan/SKILL.md
135
+ gsdd-plan-milestone-gaps/SKILL.md
104
136
  gsdd-execute/SKILL.md
105
137
  gsdd-verify/SKILL.md
138
+ gsdd-verify-work/SKILL.md
106
139
  gsdd-audit-milestone/SKILL.md
140
+ gsdd-complete-milestone/SKILL.md
107
141
  gsdd-quick/SKILL.md
108
142
  gsdd-pause/SKILL.md
109
143
  gsdd-resume/SKILL.md
@@ -130,19 +164,24 @@ Note: `parallelization: false` keeps the same mapper/researcher set but runs the
130
164
 
131
165
  ```
132
166
  distilled/
133
- DESIGN.md # design decisions and rationale (36 decisions, evidence-backed)
167
+ DESIGN.md # design decisions and rationale (52 decisions, evidence-backed)
168
+ EVIDENCE-INDEX.md # source-to-decision index for durable research-backed claims
134
169
  SKILL.md # primary entry point (plain markdown)
135
170
  workflows/
136
- new-project.md
171
+ audit-milestone.md
172
+ complete-milestone.md
173
+ execute.md
137
174
  map-codebase.md
175
+ new-project.md
176
+ new-milestone.md
177
+ pause.md
138
178
  plan.md
179
+ plan-milestone-gaps.md
139
180
  progress.md
140
- execute.md
141
- verify.md
142
- audit-milestone.md
143
181
  quick.md
144
- pause.md
145
182
  resume.md
183
+ verify-work.md
184
+ verify.md
146
185
  templates/
147
186
  spec.md
148
187
  roadmap.md
@@ -154,6 +193,7 @@ distilled/
154
193
  mapper-quality.md
155
194
  mapper-concerns.md
156
195
  plan-checker.md
196
+ approach-explorer.md
157
197
  researcher-stack.md
158
198
  researcher-features.md
159
199
  researcher-architecture.md