gsdd-cli 0.2.0 → 0.16.1

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 (43) hide show
  1. package/README.md +67 -34
  2. package/agents/DISTILLATION.md +15 -13
  3. package/agents/planner.md +2 -0
  4. package/bin/adapters/agents.mjs +1 -0
  5. package/bin/adapters/claude.mjs +12 -3
  6. package/bin/adapters/codex.mjs +4 -0
  7. package/bin/adapters/opencode.mjs +13 -4
  8. package/bin/gsdd.mjs +64 -39
  9. package/bin/lib/cli-utils.mjs +1 -1
  10. package/bin/lib/file-ops.mjs +161 -0
  11. package/bin/lib/health-truth.mjs +188 -0
  12. package/bin/lib/health.mjs +65 -12
  13. package/bin/lib/init-flow.mjs +267 -0
  14. package/bin/lib/init-prompts.mjs +247 -0
  15. package/bin/lib/init-runtime.mjs +226 -0
  16. package/bin/lib/init.mjs +19 -378
  17. package/bin/lib/models.mjs +19 -4
  18. package/bin/lib/phase.mjs +100 -14
  19. package/bin/lib/plan-constants.mjs +30 -0
  20. package/bin/lib/provenance.mjs +146 -0
  21. package/bin/lib/templates.mjs +17 -0
  22. package/distilled/DESIGN.md +625 -41
  23. package/distilled/EVIDENCE-INDEX.md +297 -0
  24. package/distilled/README.md +49 -21
  25. package/distilled/SKILL.md +89 -85
  26. package/distilled/templates/agents.block.md +13 -82
  27. package/distilled/templates/agents.md +0 -7
  28. package/distilled/templates/delegates/plan-checker.md +11 -4
  29. package/distilled/workflows/audit-milestone.md +7 -5
  30. package/distilled/workflows/complete-milestone.md +297 -0
  31. package/distilled/workflows/execute.md +188 -19
  32. package/distilled/workflows/map-codebase.md +14 -7
  33. package/distilled/workflows/new-milestone.md +249 -0
  34. package/distilled/workflows/new-project.md +28 -24
  35. package/distilled/workflows/pause.md +42 -6
  36. package/distilled/workflows/plan-milestone-gaps.md +183 -0
  37. package/distilled/workflows/plan.md +78 -13
  38. package/distilled/workflows/progress.md +42 -19
  39. package/distilled/workflows/quick.md +171 -8
  40. package/distilled/workflows/resume.md +121 -11
  41. package/distilled/workflows/verify-work.md +260 -0
  42. package/distilled/workflows/verify.md +124 -33
  43. package/package.json +9 -7
@@ -0,0 +1,297 @@
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
+ ---
290
+
291
+ ## Maintenance
292
+
293
+ Update this file when:
294
+ - A new design decision is added to `distilled/DESIGN.md` (add entry here before or alongside the DESIGN.md commit)
295
+ - An existing decision's evidence changes (update the relevant entry)
296
+
297
+ 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,22 @@
1
- # GSDD (Get Shit Done Distilled)
1
+ # Northline
2
2
 
3
- Lightweight Spec-Driven Development (SDD) for AI-assisted engineering.
3
+ A repo-native workflow kernel for long-horizon AI software delivery.
4
4
 
5
- Distilled from GSD (Get Shit Done): keep rigor and leverage, drop ceremony.
5
+ Northline gives long-horizon AI-assisted software work a durable repo spine for planning, execution, verification, and handoff. The package and CLI 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
+ Northline 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 software work one durable repo workflow spine for planning, execution, verification, and handoff without pretending to be a hosted orchestration layer.
15
+
16
+ Launch proof posture:
17
+ - Directly validated in repo truth: Claude Code, Codex CLI, OpenCode
18
+ - Qualified support only: Cursor, Copilot, Gemini CLI via the shared `.agents/skills/` surface plus optional governance
19
+
14
20
  ## Quick Start
15
21
 
16
22
  Run in your project root:
@@ -18,38 +24,46 @@ Run in your project root:
18
24
  npx gsdd-cli init
19
25
  ```
20
26
 
27
+ In a TTY, `gsdd init` now opens a guided install wizard: choose runtimes first, then decide separately whether repo-wide `AGENTS.md` governance is worth installing.
28
+
21
29
  Optional adapters:
22
30
  ```bash
23
31
  npx gsdd-cli init --tools claude
24
32
  npx gsdd-cli init --tools opencode
25
33
  npx gsdd-cli init --tools codex
26
34
  npx gsdd-cli init --tools agents
35
+ npx gsdd-cli init --tools cursor
27
36
  npx gsdd-cli init --tools all
28
37
  ```
29
38
 
30
39
  Notes:
31
40
  - `gsdd init` always generates open-standard skills at `.agents/skills/gsdd-*`. This is also the primary Codex CLI surface.
41
+ - `--tools ...` remains the manual/headless path; legacy runtime aliases such as `cursor`, `copilot`, and `gemini` are still supported for backward compatibility.
32
42
  - `--tools claude` also generates native agents at `.claude/agents/gsdd-*.md` and a compatibility plan command alias at `.claude/commands/gsdd-plan.md`.
33
43
  - `--tools opencode` also generates native agents at `.opencode/agents/gsdd-*.md`.
34
44
  - `--tools codex` generates `.codex/agents/gsdd-plan-checker.toml`; the portable `.agents/skills/gsdd-plan/` surface remains the Codex entry path.
35
- - Root `AGENTS.md` is only written when explicitly requested (`--tools agents` or `--tools all`).
45
+ - Root `AGENTS.md` is only written when explicitly requested (`--tools agents`, `--tools all`, legacy runtime aliases, or the wizard governance opt-in).
36
46
 
37
47
  ## The Workflow
38
48
 
39
49
  ```
40
- gsdd init -> bootstrap (create .planning/, copy templates, generate skills/adapters)
41
- /gsdd:new-project -> .planning/SPEC.md + .planning/ROADMAP.md (questioning + codebase audit + research)
42
- /gsdd:plan N -> phases/N/PLAN.md (task breakdown + research)
43
- /gsdd:execute N -> code changes (plan execution with quality gates)
44
- /gsdd:verify N -> VERIFICATION.md (goal-backward validation)
50
+ gsdd init -> bootstrap (create .planning/, copy templates, generate skills/adapters)
51
+ /gsdd-new-project -> .planning/SPEC.md + .planning/ROADMAP.md (questioning + codebase audit + research)
52
+ /gsdd-plan N -> phases/N/PLAN.md (task breakdown + research)
53
+ /gsdd-execute N -> code changes (plan execution with quality gates)
54
+ /gsdd-verify N -> VERIFICATION.md (goal-backward validation)
45
55
  ... repeat plan/execute/verify per phase ...
46
- /gsdd:quick -> .planning/quick/NNN/ (sub-hour task outside phases)
47
- /gsdd:pause -> .planning/.continue-here.md (session checkpoint)
48
- /gsdd:resume -> restore context, route to next action
49
- /gsdd:progress -> show status, route to next action
56
+ /gsdd-audit-milestone -> MILESTONE-AUDIT.md (cross-phase integration + requirements coverage)
57
+ /gsdd-complete-milestone -> milestones/vX.Y-* (archive, evolve spec, collapse roadmap)
58
+ /gsdd-new-milestone -> updated SPEC.md + ROADMAP.md (next milestone goals + phases)
59
+ /gsdd-plan-milestone-gaps -> gap closure phases in ROADMAP.md (from audit results)
60
+ /gsdd-quick -> .planning/quick/NNN/ (sub-hour task outside phases)
61
+ /gsdd-pause -> .planning/.continue-here.md (session checkpoint)
62
+ /gsdd-resume -> restore context, route to next action
63
+ /gsdd-progress -> show status, route to next action
50
64
  ```
51
65
 
52
- ## Current Status (updated 2026-03-20)
66
+ ## Current Status (updated 2026-04-10)
53
67
 
54
68
  | Workflow | Status | Notes |
55
69
  |----------|--------|-------|
@@ -58,11 +72,15 @@ gsdd init -> bootstrap (create .planning/, copy templates, generate sk
58
72
  | `execute.md` | [OK] Source-audited | Mandatory read enforcement, auth-gate routing, deviation-rule examples, and substantive summary quality gate |
59
73
  | `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 |
60
74
  | `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` |
75
+ | `complete-milestone.md` | [OK] Defined | Archives milestone, evolves SPEC.md, collapses ROADMAP.md — no gsd-tools.cjs dependency |
76
+ | `new-milestone.md` | [OK] Defined | Brownfield milestone continuation: goals, SPEC.md requirements, ROADMAP.md phases |
77
+ | `plan-milestone-gaps.md` | [OK] Defined (unvalidated) | Gap closure phases from MILESTONE-AUDIT.md results |
61
78
  | `quick.md` | [OK] | Quick-work lane for sub-hour tasks outside the phase cycle (D11) |
62
79
  | `pause.md` | [OK] Source-audited | Session checkpoint writer with conversational handoff (D12) |
63
80
  | `resume.md` | [OK] Source-audited | Session context restorer with priority-ordered routing (D12) |
64
81
  | `progress.md` | [OK] Source-audited | Read-only status reporter with 6 named route branches, recent work, between-milestones detection (D12) |
65
82
  | `map-codebase.md` | [OK] Defined, source-audited | Standalone codebase mapping/refresh |
83
+ | `verify-work.md` | [OK] Defined | Conversational UAT validation with structured gap tracking |
66
84
 
67
85
  Architecture notes:
68
86
  - `bin/gsdd.mjs` remains the thin generator entrypoint, while vendor-specific rendering lives in adapter modules.
@@ -70,6 +88,7 @@ Architecture notes:
70
88
  - Portable lifecycle contracts now align to the roadmap template status grammar: `[ ]`, `[-]`, `[x]`.
71
89
  - Phase verification and milestone integration audit are treated as separate concerns.
72
90
  - Canonical role contracts use bounded sections, typed output examples, and checklist-driven completion where those structures materially improve downstream reliability.
91
+ - Public launch wording is conservative by design: direct proof is claimed only for runtimes with recorded lifecycle evidence in `.planning/research/09-RESEARCH.md`.
73
92
 
74
93
  ## Init Workflow Agent Count (by config)
75
94
 
@@ -96,10 +115,14 @@ Note: `parallelization: false` keeps the same mapper/researcher set but runs the
96
115
  research/ # optional research outputs
97
116
  .agents/skills/
98
117
  gsdd-new-project/SKILL.md
118
+ gsdd-new-milestone/SKILL.md
99
119
  gsdd-plan/SKILL.md
120
+ gsdd-plan-milestone-gaps/SKILL.md
100
121
  gsdd-execute/SKILL.md
101
122
  gsdd-verify/SKILL.md
123
+ gsdd-verify-work/SKILL.md
102
124
  gsdd-audit-milestone/SKILL.md
125
+ gsdd-complete-milestone/SKILL.md
103
126
  gsdd-quick/SKILL.md
104
127
  gsdd-pause/SKILL.md
105
128
  gsdd-resume/SKILL.md
@@ -126,19 +149,24 @@ Note: `parallelization: false` keeps the same mapper/researcher set but runs the
126
149
 
127
150
  ```
128
151
  distilled/
129
- DESIGN.md # design decisions and rationale (29 decisions, evidence-backed)
152
+ DESIGN.md # design decisions and rationale (39 decisions, evidence-backed)
153
+ EVIDENCE-INDEX.md # source-to-decision index for durable research-backed claims
130
154
  SKILL.md # primary entry point (plain markdown)
131
155
  workflows/
132
- new-project.md
156
+ audit-milestone.md
157
+ complete-milestone.md
158
+ execute.md
133
159
  map-codebase.md
160
+ new-project.md
161
+ new-milestone.md
162
+ pause.md
134
163
  plan.md
164
+ plan-milestone-gaps.md
135
165
  progress.md
136
- execute.md
137
- verify.md
138
- audit-milestone.md
139
166
  quick.md
140
- pause.md
141
167
  resume.md
168
+ verify-work.md
169
+ verify.md
142
170
  templates/
143
171
  spec.md
144
172
  roadmap.md
@@ -1,85 +1,89 @@
1
- ---
2
- name: GSDD (Spec-Driven Development)
3
- description: Disciplined, lightweight workflow for AI-assisted development. Spec first, then build, then verify.
4
- ---
5
-
6
- <role>
7
- You are an AI agent following the GSDD workflow. You are a disciplined engineer, not a code generator.
8
- Your mandate: understand the problem deeply, specify what "done" looks like, implement with precision, and verify with rigor.
9
- </role>
10
-
11
- <principles>
12
- 1. Spec first: do not write code without a written spec that defines "done".
13
- 2. Clean commits: group changes logically following repo conventions. Do not bundle unrelated changes.
14
- 3. Verify everything: verify observable success criteria, not vibes.
15
- 4. Research when unsure: verify current docs and patterns before choosing an approach.
16
- 5. Honest reporting: a clear failure report beats a false pass.
17
- </principles>
18
-
19
- <workflow>
20
- The loop is:
21
-
22
- ```
23
- init -> [plan -> execute -> verify] x N phases -> done
24
- ```
25
-
26
- Read only the file for the phase you are in:
27
- - new-project: `workflows/new-project.md`
28
- - plan: `workflows/plan.md`
29
- - execute: `workflows/execute.md`
30
- - verify: `workflows/verify.md`
31
- - quick: `workflows/quick.md`
32
- </workflow>
33
-
34
- <governance>
35
- Mandatory:
36
- - Read before you write. If `.planning/` exists, read `.planning/SPEC.md`, `.planning/ROADMAP.md`, `.planning/config.json`.
37
- - Stay in scope. Implement only what the current phase plan describes.
38
- - Never hallucinate. Confirm paths and APIs from repo or docs before use.
39
- - Research-first when unfamiliar. Log evidence, then plan.
40
- - Exists -> Substantive -> Wired gate before claiming done.
41
- </governance>
42
-
43
- <project_structure>
44
- GSDD uses `.planning/` as the durable workspace:
45
-
46
- ```
47
- .planning/
48
- SPEC.md
49
- ROADMAP.md
50
- config.json
51
- templates/
52
- phases/
53
- research/
54
- ```
55
- </project_structure>
56
-
57
- <adapters>
58
- Recommended: generate adapters with `gsdd`:
59
-
60
- ```bash
61
- npx gsdd-cli init
62
- npx gsdd-cli init --tools claude
63
- npx gsdd-cli init --tools agents
64
- ```
65
-
66
- Behavior:
67
- - Always: generates open-standard skills at `.agents/skills/gsdd-*/SKILL.md` by embedding `distilled/workflows/*.md`. This is also the primary Codex CLI surface.
68
- - Optional: generates tool adapters (root `AGENTS.md`, Claude `.claude/skills` + `.claude/commands` alias + `.claude/agents`, OpenCode `.opencode/commands` + `.opencode/agents`).
69
- - Deprecated compatibility: `--tools codex` does not generate `.codex/AGENTS.md`; Codex CLI should use the default skills directly.
70
- - Root `AGENTS.md` is only written when explicitly requested (so we do not pollute existing user governance).
71
- </adapters>
72
-
73
- <templates>
74
- Use templates from `.planning/templates/` (copied from `distilled/templates/`) when producing planning artifacts.
75
-
76
- Core:
77
- - `.planning/templates/spec.md` -> `.planning/SPEC.md`
78
- - `.planning/templates/roadmap.md` -> `.planning/ROADMAP.md`
79
-
80
- Research:
81
- - `.planning/templates/research/*.md` -> `.planning/research/*.md`
82
-
83
- Brownfield codebase mapping:
84
- - `.planning/templates/codebase/*.md` -> `.planning/codebase/*.md`
85
- </templates>
1
+ ---
2
+ name: GSDD (Spec-Driven Development)
3
+ description: Disciplined, lightweight workflow for AI-assisted development. Spec first, then build, then verify.
4
+ ---
5
+
6
+ <role>
7
+ You are an AI agent following the GSDD workflow. You are a disciplined engineer, not a code generator.
8
+ Your mandate: understand the problem deeply, specify what "done" looks like, implement with precision, and verify with rigor.
9
+ </role>
10
+
11
+ <principles>
12
+ 1. Spec first: do not write code without a written spec that defines "done".
13
+ 2. Clean commits: group changes logically following repo conventions. Do not bundle unrelated changes.
14
+ 3. Verify everything: verify observable success criteria, not vibes.
15
+ 4. Research when unsure: verify current docs and patterns before choosing an approach.
16
+ 5. Honest reporting: a clear failure report beats a false pass.
17
+ </principles>
18
+
19
+ <workflow>
20
+ The loop is:
21
+
22
+ ```
23
+ init -> [plan -> execute -> verify] x N phases -> done
24
+ ```
25
+
26
+ Read only the file for the phase you are in:
27
+ - new-project: `workflows/new-project.md`
28
+ - plan: `workflows/plan.md`
29
+ - execute: `workflows/execute.md`
30
+ - verify: `workflows/verify.md`
31
+ - audit-milestone: `workflows/audit-milestone.md`
32
+ - complete-milestone: `workflows/complete-milestone.md`
33
+ - new-milestone: `workflows/new-milestone.md`
34
+ - plan-milestone-gaps: `workflows/plan-milestone-gaps.md`
35
+ - quick: `workflows/quick.md`
36
+ </workflow>
37
+
38
+ <governance>
39
+ Mandatory:
40
+ - Read before you write. If `.planning/` exists, read `.planning/SPEC.md`, `.planning/ROADMAP.md`, `.planning/config.json`.
41
+ - Stay in scope. Implement only what the current phase plan describes.
42
+ - Never hallucinate. Confirm paths and APIs from repo or docs before use.
43
+ - Research-first when unfamiliar. Log evidence, then plan.
44
+ - Exists -> Substantive -> Wired gate before claiming done.
45
+ </governance>
46
+
47
+ <project_structure>
48
+ GSDD uses `.planning/` as the durable workspace:
49
+
50
+ ```
51
+ .planning/
52
+ SPEC.md
53
+ ROADMAP.md
54
+ config.json
55
+ templates/
56
+ phases/
57
+ research/
58
+ ```
59
+ </project_structure>
60
+
61
+ <adapters>
62
+ Recommended: generate adapters with `gsdd`:
63
+
64
+ ```bash
65
+ npx gsdd-cli init
66
+ npx gsdd-cli init --tools claude
67
+ npx gsdd-cli init --tools agents
68
+ ```
69
+
70
+ Behavior:
71
+ - Always: generates open-standard skills at `.agents/skills/gsdd-*/SKILL.md` by embedding `distilled/workflows/*.md`. This is also the primary Codex CLI surface.
72
+ - Optional: generates tool adapters (root `AGENTS.md`, Claude `.claude/skills` + `.claude/commands` alias + `.claude/agents`, OpenCode `.opencode/commands` + `.opencode/agents`).
73
+ - Deprecated compatibility: `--tools codex` does not generate `.codex/AGENTS.md`; Codex CLI should use the default skills directly.
74
+ - Root `AGENTS.md` is only written when explicitly requested (so we do not pollute existing user governance).
75
+ </adapters>
76
+
77
+ <templates>
78
+ Use templates from `.planning/templates/` (copied from `distilled/templates/`) when producing planning artifacts.
79
+
80
+ Core:
81
+ - `.planning/templates/spec.md` -> `.planning/SPEC.md`
82
+ - `.planning/templates/roadmap.md` -> `.planning/ROADMAP.md`
83
+
84
+ Research:
85
+ - `.planning/templates/research/*.md` -> `.planning/research/*.md`
86
+
87
+ Brownfield codebase mapping:
88
+ - `.planning/templates/codebase/*.md` -> `.planning/codebase/*.md`
89
+ </templates>