gsd-remix 1.0.2 → 1.1.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 (230) hide show
  1. package/README.md +21 -86
  2. package/README.zh-CN.md +13 -57
  3. package/agents/gsd-debugger.md +0 -3
  4. package/agents/gsd-executor.md +5 -11
  5. package/agents/gsd-phase-researcher.md +3 -107
  6. package/agents/gsd-plan-checker.md +0 -61
  7. package/agents/gsd-planner.md +4 -63
  8. package/agents/gsd-roadmapper.md +0 -29
  9. package/agents/gsd-security-auditor.md +62 -114
  10. package/agents/gsd-verifier.md +0 -3
  11. package/bin/install.js +20 -118
  12. package/commands/gsd/complete-milestone.md +0 -22
  13. package/commands/gsd/plan-phase.md +1 -2
  14. package/get-shit-done/bin/gsd-tools.cjs +5 -224
  15. package/get-shit-done/bin/lib/claude-md.cjs +427 -0
  16. package/get-shit-done/bin/lib/config-schema.cjs +2 -12
  17. package/get-shit-done/bin/lib/config.cjs +3 -12
  18. package/get-shit-done/bin/lib/core.cjs +4 -5
  19. package/get-shit-done/bin/lib/init.cjs +0 -163
  20. package/get-shit-done/bin/lib/model-profiles.cjs +12 -18
  21. package/get-shit-done/bin/lib/verify.cjs +0 -66
  22. package/get-shit-done/references/agent-contracts.md +0 -6
  23. package/get-shit-done/references/artifact-types.md +0 -30
  24. package/get-shit-done/references/continuation-format.md +0 -1
  25. package/get-shit-done/references/model-profiles.md +39 -37
  26. package/get-shit-done/references/planning-config.md +7 -12
  27. package/get-shit-done/references/verification-overrides.md +1 -1
  28. package/get-shit-done/templates/README.md +2 -9
  29. package/get-shit-done/templates/claude-md.md +0 -14
  30. package/get-shit-done/templates/config.json +5 -19
  31. package/get-shit-done/workflows/autonomous.md +9 -141
  32. package/get-shit-done/workflows/complete-milestone.md +3 -4
  33. package/get-shit-done/workflows/discuss-phase-assumptions.md +1 -18
  34. package/get-shit-done/workflows/discuss-phase.md +10 -104
  35. package/get-shit-done/workflows/do.md +1 -5
  36. package/get-shit-done/workflows/execute-phase.md +53 -103
  37. package/get-shit-done/workflows/execute-plan.md +4 -4
  38. package/get-shit-done/workflows/health.md +2 -5
  39. package/get-shit-done/workflows/help.md +0 -165
  40. package/get-shit-done/workflows/new-milestone.md +0 -51
  41. package/get-shit-done/workflows/new-project.md +2 -63
  42. package/get-shit-done/workflows/next.md +0 -23
  43. package/get-shit-done/workflows/pause-work.md +7 -15
  44. package/get-shit-done/workflows/plan-phase.md +20 -304
  45. package/get-shit-done/workflows/pr-branch.md +0 -1
  46. package/get-shit-done/workflows/progress.md +1 -68
  47. package/get-shit-done/workflows/quick.md +0 -3
  48. package/get-shit-done/workflows/research-phase.md +0 -1
  49. package/get-shit-done/workflows/settings.md +1 -57
  50. package/get-shit-done/workflows/transition.md +3 -86
  51. package/get-shit-done/workflows/verify-work.md +0 -64
  52. package/package.json +1 -1
  53. package/scripts/build-hooks.js +0 -2
  54. package/sdk/prompts/agents/gsd-executor.md +2 -0
  55. package/sdk/prompts/agents/gsd-plan-checker.md +0 -3
  56. package/sdk/prompts/agents/gsd-roadmapper.md +0 -29
  57. package/sdk/src/config.ts +4 -5
  58. package/sdk/src/golden/golden-integration-covered.ts +0 -2
  59. package/sdk/src/golden/golden-policy.ts +1 -1
  60. package/sdk/src/golden/golden.integration.test.ts +0 -27
  61. package/sdk/src/golden/read-only-golden-rows.ts +0 -15
  62. package/sdk/src/query/QUERY-HANDLERS.md +3 -34
  63. package/sdk/src/query/claude-md.ts +421 -0
  64. package/sdk/src/query/commit.test.ts +155 -1
  65. package/sdk/src/query/commit.ts +71 -17
  66. package/sdk/src/query/config-gates.test.ts +1 -2
  67. package/sdk/src/query/config-gates.ts +1 -5
  68. package/sdk/src/query/config-mutation.test.ts +0 -1
  69. package/sdk/src/query/config-mutation.ts +5 -6
  70. package/sdk/src/query/config-query.test.ts +2 -2
  71. package/sdk/src/query/config-query.ts +12 -18
  72. package/sdk/src/query/decomposed-handlers.test.ts +0 -64
  73. package/sdk/src/query/index.ts +4 -68
  74. package/sdk/src/query/init.test.ts +0 -64
  75. package/sdk/src/query/init.ts +0 -189
  76. package/sdk/src/query/normalize-query-command.ts +0 -2
  77. package/sdk/src/query/profile.test.ts +0 -43
  78. package/sdk/src/query/profile.ts +1 -141
  79. package/sdk/src/query/state-mutation.ts +18 -0
  80. package/sdk/src/runtime-health.ts +3 -3
  81. package/agents/gsd-ai-researcher.md +0 -133
  82. package/agents/gsd-doc-classifier.md +0 -168
  83. package/agents/gsd-doc-synthesizer.md +0 -204
  84. package/agents/gsd-doc-verifier.md +0 -217
  85. package/agents/gsd-doc-writer.md +0 -615
  86. package/agents/gsd-domain-researcher.md +0 -153
  87. package/agents/gsd-eval-auditor.md +0 -191
  88. package/agents/gsd-eval-planner.md +0 -154
  89. package/agents/gsd-framework-selector.md +0 -160
  90. package/agents/gsd-intel-updater.md +0 -334
  91. package/agents/gsd-nyquist-auditor.md +0 -203
  92. package/agents/gsd-ui-auditor.md +0 -495
  93. package/agents/gsd-ui-checker.md +0 -309
  94. package/agents/gsd-ui-researcher.md +0 -380
  95. package/agents/gsd-user-profiler.md +0 -171
  96. package/commands/gsd/ai-integration-phase.md +0 -36
  97. package/commands/gsd/analyze-dependencies.md +0 -34
  98. package/commands/gsd/audit-fix.md +0 -33
  99. package/commands/gsd/audit-milestone.md +0 -36
  100. package/commands/gsd/audit-uat.md +0 -24
  101. package/commands/gsd/docs-update.md +0 -48
  102. package/commands/gsd/eval-review.md +0 -32
  103. package/commands/gsd/explore.md +0 -27
  104. package/commands/gsd/extract_learnings.md +0 -22
  105. package/commands/gsd/forensics.md +0 -56
  106. package/commands/gsd/from-gsd2.md +0 -47
  107. package/commands/gsd/graphify.md +0 -201
  108. package/commands/gsd/import.md +0 -37
  109. package/commands/gsd/inbox.md +0 -38
  110. package/commands/gsd/ingest-docs.md +0 -42
  111. package/commands/gsd/intel.md +0 -179
  112. package/commands/gsd/join-discord.md +0 -19
  113. package/commands/gsd/list-phase-assumptions.md +0 -46
  114. package/commands/gsd/list-workspaces.md +0 -19
  115. package/commands/gsd/manager.md +0 -40
  116. package/commands/gsd/milestone-summary.md +0 -51
  117. package/commands/gsd/new-workspace.md +0 -44
  118. package/commands/gsd/plan-milestone-gaps.md +0 -34
  119. package/commands/gsd/plan-review-convergence.md +0 -52
  120. package/commands/gsd/plant-seed.md +0 -28
  121. package/commands/gsd/profile-user.md +0 -46
  122. package/commands/gsd/reapply-patches.md +0 -331
  123. package/commands/gsd/remove-workspace.md +0 -26
  124. package/commands/gsd/review.md +0 -40
  125. package/commands/gsd/scan.md +0 -26
  126. package/commands/gsd/secure-phase.md +0 -35
  127. package/commands/gsd/session-report.md +0 -19
  128. package/commands/gsd/set-profile.md +0 -12
  129. package/commands/gsd/ship.md +0 -23
  130. package/commands/gsd/sketch-wrap-up.md +0 -31
  131. package/commands/gsd/sketch.md +0 -49
  132. package/commands/gsd/spec-phase.md +0 -62
  133. package/commands/gsd/spike-wrap-up.md +0 -31
  134. package/commands/gsd/spike.md +0 -46
  135. package/commands/gsd/stats.md +0 -18
  136. package/commands/gsd/sync-skills.md +0 -19
  137. package/commands/gsd/thread.md +0 -227
  138. package/commands/gsd/ui-phase.md +0 -34
  139. package/commands/gsd/ui-review.md +0 -32
  140. package/commands/gsd/ultraplan-phase.md +0 -33
  141. package/commands/gsd/update.md +0 -37
  142. package/commands/gsd/validate-phase.md +0 -35
  143. package/commands/gsd/workstreams.md +0 -69
  144. package/get-shit-done/bin/lib/docs.cjs +0 -267
  145. package/get-shit-done/bin/lib/graphify.cjs +0 -494
  146. package/get-shit-done/bin/lib/gsd2-import.cjs +0 -511
  147. package/get-shit-done/bin/lib/intel.cjs +0 -639
  148. package/get-shit-done/bin/lib/profile-output.cjs +0 -1080
  149. package/get-shit-done/bin/lib/profile-pipeline.cjs +0 -539
  150. package/get-shit-done/bin/lib/workstream.cjs +0 -495
  151. package/get-shit-done/references/ai-evals.md +0 -156
  152. package/get-shit-done/references/ai-frameworks.md +0 -186
  153. package/get-shit-done/references/doc-conflict-engine.md +0 -91
  154. package/get-shit-done/references/model-profile-resolution.md +0 -38
  155. package/get-shit-done/references/planner-reviews.md +0 -39
  156. package/get-shit-done/references/sketch-interactivity.md +0 -41
  157. package/get-shit-done/references/sketch-theme-system.md +0 -94
  158. package/get-shit-done/references/sketch-tooling.md +0 -45
  159. package/get-shit-done/references/sketch-variant-patterns.md +0 -81
  160. package/get-shit-done/references/thinking-models-debug.md +0 -44
  161. package/get-shit-done/references/thinking-models-execution.md +0 -50
  162. package/get-shit-done/references/thinking-models-planning.md +0 -62
  163. package/get-shit-done/references/thinking-models-research.md +0 -50
  164. package/get-shit-done/references/thinking-models-verification.md +0 -55
  165. package/get-shit-done/references/thinking-partner.md +0 -96
  166. package/get-shit-done/references/user-profiling.md +0 -681
  167. package/get-shit-done/references/workstream-flag.md +0 -111
  168. package/get-shit-done/templates/AI-SPEC.md +0 -246
  169. package/get-shit-done/templates/SECURITY.md +0 -61
  170. package/get-shit-done/templates/UI-SPEC.md +0 -100
  171. package/get-shit-done/templates/VALIDATION.md +0 -76
  172. package/get-shit-done/templates/dev-preferences.md +0 -21
  173. package/get-shit-done/templates/user-profile.md +0 -146
  174. package/get-shit-done/workflows/ai-integration-phase.md +0 -284
  175. package/get-shit-done/workflows/analyze-dependencies.md +0 -96
  176. package/get-shit-done/workflows/audit-fix.md +0 -175
  177. package/get-shit-done/workflows/audit-milestone.md +0 -340
  178. package/get-shit-done/workflows/audit-uat.md +0 -109
  179. package/get-shit-done/workflows/docs-update.md +0 -1155
  180. package/get-shit-done/workflows/eval-review.md +0 -155
  181. package/get-shit-done/workflows/explore.md +0 -141
  182. package/get-shit-done/workflows/extract_learnings.md +0 -242
  183. package/get-shit-done/workflows/forensics.md +0 -265
  184. package/get-shit-done/workflows/import.md +0 -246
  185. package/get-shit-done/workflows/inbox.md +0 -387
  186. package/get-shit-done/workflows/ingest-docs.md +0 -328
  187. package/get-shit-done/workflows/list-phase-assumptions.md +0 -178
  188. package/get-shit-done/workflows/list-workspaces.md +0 -56
  189. package/get-shit-done/workflows/manager.md +0 -365
  190. package/get-shit-done/workflows/milestone-summary.md +0 -223
  191. package/get-shit-done/workflows/new-workspace.md +0 -239
  192. package/get-shit-done/workflows/plan-milestone-gaps.md +0 -273
  193. package/get-shit-done/workflows/plan-review-convergence.md +0 -254
  194. package/get-shit-done/workflows/plant-seed.md +0 -172
  195. package/get-shit-done/workflows/profile-user.md +0 -452
  196. package/get-shit-done/workflows/remove-workspace.md +0 -92
  197. package/get-shit-done/workflows/review.md +0 -344
  198. package/get-shit-done/workflows/scan.md +0 -102
  199. package/get-shit-done/workflows/secure-phase.md +0 -166
  200. package/get-shit-done/workflows/session-report.md +0 -146
  201. package/get-shit-done/workflows/ship.md +0 -302
  202. package/get-shit-done/workflows/sketch-wrap-up.md +0 -283
  203. package/get-shit-done/workflows/sketch.md +0 -286
  204. package/get-shit-done/workflows/spec-phase.md +0 -262
  205. package/get-shit-done/workflows/spike-wrap-up.md +0 -281
  206. package/get-shit-done/workflows/spike.md +0 -362
  207. package/get-shit-done/workflows/stats.md +0 -60
  208. package/get-shit-done/workflows/sync-skills.md +0 -182
  209. package/get-shit-done/workflows/ui-phase.md +0 -323
  210. package/get-shit-done/workflows/ui-review.md +0 -190
  211. package/get-shit-done/workflows/ultraplan-phase.md +0 -189
  212. package/get-shit-done/workflows/update.md +0 -587
  213. package/get-shit-done/workflows/validate-phase.md +0 -176
  214. package/hooks/dist/gsd-check-update-worker.js +0 -108
  215. package/hooks/dist/gsd-check-update.js +0 -63
  216. package/hooks/gsd-check-update-worker.js +0 -108
  217. package/hooks/gsd-check-update.js +0 -63
  218. package/sdk/src/golden/fixtures/profile-sample-sessions/demo-project/sample.jsonl +0 -3
  219. package/sdk/src/query/docs-init.ts +0 -257
  220. package/sdk/src/query/intel.test.ts +0 -90
  221. package/sdk/src/query/intel.ts +0 -404
  222. package/sdk/src/query/profile-extract-messages.ts +0 -247
  223. package/sdk/src/query/profile-output.ts +0 -908
  224. package/sdk/src/query/profile-questionnaire-data.ts +0 -181
  225. package/sdk/src/query/profile-sample.ts +0 -184
  226. package/sdk/src/query/profile-scan-sessions.ts +0 -174
  227. package/sdk/src/query/workspace.test.ts +0 -119
  228. package/sdk/src/query/workspace.ts +0 -131
  229. package/sdk/src/query/workstream.test.ts +0 -51
  230. package/sdk/src/query/workstream.ts +0 -434
package/README.md CHANGED
@@ -72,6 +72,7 @@ npx gsd-remix@latest
72
72
  All remix-specific changes are tracked in [docs/REMIX-DIFFERENCES.md](docs/REMIX-DIFFERENCES.md). If this fork changes upstream behavior, installation, prompts, queries, or workflow defaults, it should be recorded there.
73
73
 
74
74
  Current highlights:
75
+ - **Slimmed to a focused core (1.1.0)** — trimmed the command/agent surface down to the essential discuss → plan → execute → verify loop. Removed the update-check system (`/gsd-update`, `/gsd-reapply-patches`, background update hook) and the heavyweight ceremonies (AI-integration wizard, Nyquist validation, secure-phase, multi-workspace/workstreams, spike/sketch, intel/graphify). Unified the model profiles and folded security review into execution. Docs maintained in **English + 简体中文** only.
75
76
  - Published independently on npm as `gsd-remix`, while keeping the `/gsd-*` command surface and core planning layout compatible
76
77
  - Isolates the bundled SDK namespace as `@gsd-remix/sdk` / `gsd-remix-sdk`, so remix installs no longer collide with upstream `@gsd-build/sdk`
77
78
  - Token-efficiency changes in the main workflow path, including summary-first discuss history loading and low-complexity inline execution routing
@@ -106,15 +107,16 @@ GSD fixes that. It's the context engineering layer that makes Claude Code reliab
106
107
 
107
108
  People who want to describe what they want and have it built correctly — without pretending they're running a 50-person engineering org.
108
109
 
109
- Built-in quality gates catch real problems: schema drift detection flags ORM changes missing migrations, security enforcement anchors verification to threat models, and scope reduction detection prevents the planner from silently dropping your requirements.
110
+ Built-in quality gates catch real problems: schema drift detection flags ORM changes missing migrations, a diff-scoped security review gate runs during execution, and scope reduction detection prevents the planner from silently dropping your requirements.
110
111
 
111
- ### v1.37.0 Highlights
112
+ ### 1.1.0 Highlights — The Slim Release
112
113
 
113
- - **Spiking & sketching** — `/gsd-spike` runs 2–5 focused experiments with Given/When/Then verdicts; `/gsd-sketch` produces 2–3 interactive HTML mockup variants per design question both store artifacts in `.planning/` and pair with wrap-up commands to package findings into project-local skills
114
- - **Agent size-budget enforcement** — Tiered line-count limits (XL: 1 600, Large: 1 000, Default: 500) keep agent prompts lean; violations surface in CI
115
- - **Shared boilerplate extraction** — Mandatory-initial-read and project-skills-discovery logic extracted to reference files, reducing duplication across a dozen agents
116
- - **Runtime health checks** — `discuss-phase`, `plan-phase`, and `execute-phase` now run deterministic runtime preflight checks up front; `/gsd-health --runtime` diagnoses install/runtime drift and `/gsd-health --runtime --repair` rebuilds the bundled SDK
117
- - **Isolated SDK package/binary** the remix now builds its bundled SDK as `@gsd-remix/sdk` with the `gsd-remix-sdk` binary, avoiding PATH/package collisions with upstream installs
114
+ - **Focused command surface** — Removed ~44 legacy commands and the ceremonies behind them (AI-integration wizard, Nyquist validation, secure-phase, multi-workspace/workstreams, spike/sketch, intel/graphify/scan, docs-ingest, developer profiling, ship/stats/manager/forensics). What remains is the core loop plus the utilities that earn their keep.
115
+ - **No more update machinery** — Dropped `/gsd-update`, `/gsd-reapply-patches`, and the background update-check hook. Update by re-running `npx gsd-remix@latest`.
116
+ - **Unified model profiles** — All named profiles resolve to one allocation: Opus for planning/research/debugging, Sonnet for everything else. Use `inherit` for non-Anthropic providers.
117
+ - **Security review folded into execution** — A diff-scoped security review gate runs during `/gsd-execute-phase` instead of a separate secure-phase command; it prefers an installed company security skill and falls back to the bundled generic reviewer.
118
+ - **18 focused agents** and **English + 简体中文** docs only.
119
+ - **Runtime health + isolated SDK** — `/gsd-health --runtime` diagnoses install drift and `/gsd-health --runtime --repair` rebuilds the bundled `@gsd-remix/sdk` (`gsd-remix-sdk` binary), avoiding collisions with upstream installs.
118
120
 
119
121
  ---
120
122
 
@@ -429,14 +431,13 @@ If everything passes, you move on. If something's broken, you don't manually deb
429
431
 
430
432
  ---
431
433
 
432
- ### 6. Repeat → Ship → Complete → Next Milestone
434
+ ### 6. Repeat → Complete → Next Milestone
433
435
 
434
436
  ```
435
437
  /gsd-discuss-phase 2
436
438
  /gsd-plan-phase 2
437
439
  /gsd-execute-phase 2
438
440
  /gsd-verify-work 2
439
- /gsd-ship 2 # Create PR from verified work
440
441
  ...
441
442
  /gsd-complete-milestone
442
443
  /gsd-new-milestone
@@ -448,7 +449,7 @@ Or let GSD figure out the next step automatically:
448
449
  /gsd-next # Auto-detect and run next step
449
450
  ```
450
451
 
451
- Loop **discuss → plan → execute → verify → ship** until milestone complete.
452
+ Loop **discuss → plan → execute → verify** until milestone complete.
452
453
 
453
454
  If you want faster intake during discussion, use `/gsd-discuss-phase <n> --batch` to answer a small grouped set of questions at once instead of one-by-one. Use `--chain` to auto-chain discuss into plan+execute without stopping between steps.
454
455
 
@@ -511,8 +512,6 @@ GSD handles it for you:
511
512
  | `PLAN.md` | Atomic task with XML structure, verification steps |
512
513
  | `SUMMARY.md` | What happened, what changed, committed to history |
513
514
  | `todos/` | Captured ideas and tasks for later work |
514
- | `threads/` | Persistent context threads for cross-session work |
515
- | `seeds/` | Forward-looking ideas that surface at the right milestone |
516
515
 
517
516
  Size limits based on where Claude's quality degrades. Stay under, get consistent excellence.
518
517
 
@@ -586,50 +585,13 @@ You're never locked in. The system adapts.
586
585
  |---------|--------------|
587
586
  | `/gsd-new-project [--auto]` | Full initialization: questions → research → requirements → roadmap |
588
587
  | `/gsd-discuss-phase [N] [--auto] [--analyze] [--chain]` | Capture implementation decisions before planning (`--analyze` adds trade-off analysis, `--chain` auto-chains into plan+execute) |
589
- | `/gsd-plan-phase [N] [--auto] [--reviews]` | Research + plan + verify for a phase (`--reviews` loads codebase review findings) |
588
+ | `/gsd-plan-phase [N] [--auto]` | Research + plan + verify for a phase |
590
589
  | `/gsd-execute-phase <N>` | Execute all plans in parallel waves, verify when complete |
591
590
  | `/gsd-verify-work [N]` | Manual user acceptance testing ¹ |
592
- | `/gsd-ship [N] [--draft]` | Create PR from verified phase work with auto-generated body |
593
591
  | `/gsd-next` | Automatically advance to the next logical workflow step |
594
592
  | `/gsd-fast <text>` | Inline trivial tasks — skips planning entirely, executes immediately |
595
- | `/gsd-audit-milestone` | Verify milestone achieved its definition of done |
596
593
  | `/gsd-complete-milestone` | Archive milestone, tag release |
597
594
  | `/gsd-new-milestone [name]` | Start next version: questions → research → requirements → roadmap |
598
- | `/gsd-forensics [desc]` | Post-mortem investigation of failed workflow runs (diagnoses stuck loops, missing artifacts, git anomalies) |
599
- | `/gsd-milestone-summary [version]` | Generate comprehensive project summary for team onboarding and review |
600
-
601
- ### Workstreams
602
-
603
- | Command | What it does |
604
- |---------|--------------|
605
- | `/gsd-workstreams list` | Show all workstreams and their status |
606
- | `/gsd-workstreams create <name>` | Create a namespaced workstream for parallel milestone work |
607
- | `/gsd-workstreams switch <name>` | Switch active workstream |
608
- | `/gsd-workstreams complete <name>` | Complete and merge a workstream |
609
-
610
- ### Multi-Project Workspaces
611
-
612
- | Command | What it does |
613
- |---------|--------------|
614
- | `/gsd-new-workspace` | Create isolated workspace with repo copies (worktrees or clones) |
615
- | `/gsd-list-workspaces` | Show all GSD workspaces and their status |
616
- | `/gsd-remove-workspace` | Remove workspace and clean up worktrees |
617
-
618
- ### Spiking & Sketching
619
-
620
- | Command | What it does |
621
- |---------|--------------|
622
- | `/gsd-spike [idea] [--quick]` | Throwaway experiments to validate feasibility before planning — no project init required |
623
- | `/gsd-sketch [idea] [--quick]` | Throwaway HTML mockups with multi-variant exploration — no project init required |
624
- | `/gsd-spike-wrap-up` | Package spike findings into a project-local skill for future build conversations |
625
- | `/gsd-sketch-wrap-up` | Package sketch design findings into a project-local skill for future builds |
626
-
627
- ### UI Design
628
-
629
- | Command | What it does |
630
- |---------|--------------|
631
- | `/gsd-ui-phase [N]` | Generate UI design contract (UI-SPEC.md) for frontend phases |
632
- | `/gsd-ui-review [N]` | Retroactive 6-pillar visual audit of implemented frontend code |
633
595
 
634
596
  ### Navigation
635
597
 
@@ -638,16 +600,12 @@ You're never locked in. The system adapts.
638
600
  | `/gsd-progress` | Where am I? What's next? |
639
601
  | `/gsd-next` | Auto-detect state and run the next step |
640
602
  | `/gsd-help` | Show all commands and usage guide |
641
- | `/gsd-update` | Update GSD with changelog preview |
642
- | `/gsd-join-discord` | Join the GSD Discord community |
643
- | `/gsd-manager` | Interactive command center for managing multiple phases |
644
603
 
645
604
  ### Brownfield
646
605
 
647
606
  | Command | What it does |
648
607
  |---------|--------------|
649
608
  | `/gsd-map-codebase [area]` | Analyze existing codebase before new-project |
650
- | `/gsd-ingest-docs [dir]` | Scan a repo of mixed ADRs, PRDs, SPECs, and DOCs and bootstrap or merge the full `.planning/` setup in one pass — parallel classification, synthesis with precedence rules, and a three-bucket conflicts report |
651
609
 
652
610
  ### Phase Management
653
611
 
@@ -656,8 +614,6 @@ You're never locked in. The system adapts.
656
614
  | `/gsd-add-phase` | Append phase to roadmap |
657
615
  | `/gsd-insert-phase [N]` | Insert urgent work between phases |
658
616
  | `/gsd-remove-phase [N]` | Remove future phase, renumber |
659
- | `/gsd-list-phase-assumptions [N]` | See Claude's intended approach before planning |
660
- | `/gsd-plan-milestone-gaps` | Create phases to close gaps from audit |
661
617
 
662
618
  ### Session
663
619
 
@@ -665,39 +621,27 @@ You're never locked in. The system adapts.
665
621
  |---------|--------------|
666
622
  | `/gsd-pause-work` | Create handoff when stopping mid-phase (writes HANDOFF.json) |
667
623
  | `/gsd-resume-work` | Restore from last session |
668
- | `/gsd-session-report` | Generate session summary with work performed and outcomes |
669
-
670
- ### Workstreams
671
-
672
- | Command | What it does |
673
- |---------|--------------|
674
- | `/gsd-workstreams` | Manage parallel workstreams (list, create, switch, status, progress, complete) |
675
624
 
676
625
  ### Code Quality
677
626
 
678
627
  | Command | What it does |
679
628
  |---------|--------------|
680
- | `/gsd-review` | Cross-AI peer review of current phase or branch |
681
- | `/gsd-secure-phase [N]` | Security enforcement with threat-model-anchored verification |
629
+ | `/gsd-code-review [N]` | Review phase-changed source files for bugs, security issues, and quality problems |
630
+ | `/gsd-code-review-fix [N]` | Auto-fix issues found by code review, one atomic commit per fix |
682
631
  | `/gsd-pr-branch` | Create clean PR branch filtering `.planning/` commits |
683
- | `/gsd-audit-uat` | Audit verification debt — find phases missing UAT |
684
- | `/gsd-docs-update` | Verified documentation generation with doc-writer and doc-verifier agents |
685
632
 
686
- ### Backlog & Threads
633
+ ### Backlog
687
634
 
688
635
  | Command | What it does |
689
636
  |---------|--------------|
690
- | `/gsd-plant-seed <idea>` | Capture forward-looking ideas with trigger conditions — surfaces at the right milestone |
691
637
  | `/gsd-add-backlog <desc>` | Add idea to backlog parking lot (999.x numbering, outside active sequence) |
692
638
  | `/gsd-review-backlog` | Review and promote backlog items to active milestone or remove stale entries |
693
- | `/gsd-thread [name]` | Persistent context threads — lightweight cross-session knowledge for work spanning multiple sessions |
694
639
 
695
640
  ### Utilities
696
641
 
697
642
  | Command | What it does |
698
643
  |---------|--------------|
699
644
  | `/gsd-settings` | Configure model profile and workflow agents |
700
- | `/gsd-set-profile <profile>` | Switch model profile (quality/balanced/budget/inherit) |
701
645
  | `/gsd-add-todo [desc]` | Capture idea for later |
702
646
  | `/gsd-check-todos` | List pending todos |
703
647
  | `/gsd-debug [desc]` | Systematic debugging with persistent state |
@@ -705,8 +649,6 @@ You're never locked in. The system adapts.
705
649
  | `/gsd-note <text>` | Zero-friction idea capture — append, list, or promote notes to todos |
706
650
  | `/gsd-quick [--full] [--validate] [--discuss] [--research]` | Execute ad-hoc task with GSD guarantees (`--full` enables all phases, `--validate` adds plan-checking and verification, `--discuss` gathers context first, `--research` investigates approaches before planning) |
707
651
  | `/gsd-health [--runtime] [--repair]` | Validate `.planning/` integrity, auto-repair planning issues, confirm runtime identity, or rebuild `gsd-remix-sdk` with `--runtime --repair` |
708
- | `/gsd-stats` | Display project statistics — phases, plans, requirements, git metrics |
709
- | `/gsd-profile-user [--questionnaire] [--refresh]` | Generate developer behavioral profile from session analysis for personalized responses |
710
652
 
711
653
  <sup>¹ Contributed by reddit user OracleGreyBeard</sup>
712
654
 
@@ -726,23 +668,16 @@ GSD stores project settings in `.planning/config.json`. Configure during `/gsd-n
726
668
 
727
669
  ### Model Profiles
728
670
 
729
- Control which Claude model each agent uses. Balance quality vs token spend.
730
-
731
- | Profile | Planning | Execution | Verification |
732
- |---------|----------|-----------|--------------|
733
- | `quality` | Opus | Opus | Sonnet |
734
- | `balanced` (default) | Opus | Sonnet | Sonnet |
735
- | `budget` | Sonnet | Sonnet | Haiku |
736
- | `inherit` | Inherit | Inherit | Inherit |
671
+ Control which Claude model each agent uses. All named profiles (`quality`, `balanced`, `budget`) resolve to the same unified allocation — Opus for planning, roadmapping, research, and debugging agents; Sonnet for execution, verification, checking, and mapping agents. The profile keys are kept for config compatibility.
737
672
 
738
- Switch profiles:
739
- ```
740
- /gsd-set-profile budget
741
- ```
673
+ | Profile | Planning / Research / Debugging | Everything else |
674
+ |---------|--------------------------------|-----------------|
675
+ | named profiles | Opus | Sonnet |
676
+ | `inherit` | Inherit | Inherit |
742
677
 
743
678
  Use `inherit` when using non-Anthropic providers (OpenRouter, local models) or to follow the current runtime model selection (e.g. OpenCode `/model`).
744
679
 
745
- Or configure via `/gsd-settings`.
680
+ Configure via `/gsd-settings`.
746
681
 
747
682
  ### Workflow Agents
748
683
 
package/README.zh-CN.md CHANGED
@@ -108,7 +108,6 @@ GSD 解决的就是这个问题。它是让 Claude Code 变得可靠的上下文
108
108
 
109
109
  ### v1.37.0 亮点
110
110
 
111
- - **Spiking 与 sketching** — `/gsd-spike` 可运行 2–5 个聚焦实验并给出 Given/When/Then 结论;`/gsd-sketch` 可围绕设计问题产出 2–3 个交互式 HTML 方案,这两类产物都会落到 `.planning/`,并可配合 wrap-up 命令整理成项目本地 skills
112
111
  - **Agent 大小预算约束** — 分级行数上限(XL: 1600、Large: 1000、Default: 500)用于压缩 agent prompt,超限会在 CI 中暴露
113
112
  - **共享 boilerplate 抽取** — 将 mandatory-initial-read 和 project-skills-discovery 等逻辑提取到 reference 文件,减少多个 agent 之间的重复内容
114
113
  - **Runtime health 检查** — `discuss-phase`、`plan-phase` 和 `execute-phase` 现在都会先运行确定性的 runtime 预检;`/gsd-health --runtime` 可手动诊断安装/runtime 漂移,`/gsd-health --runtime --repair` 可重建内置 SDK
@@ -420,14 +419,13 @@ claude --dangerously-skip-permissions
420
419
 
421
420
  ---
422
421
 
423
- ### 6. 重复 → 发布 → 完成 → 下一个里程碑
422
+ ### 6. 重复 → 完成 → 下一个里程碑
424
423
 
425
424
  ```
426
425
  /gsd-discuss-phase 2
427
426
  /gsd-plan-phase 2
428
427
  /gsd-execute-phase 2
429
428
  /gsd-verify-work 2
430
- /gsd-ship 2 # 从已验证的工作创建 PR
431
429
  ...
432
430
  /gsd-complete-milestone
433
431
  /gsd-new-milestone
@@ -439,7 +437,7 @@ claude --dangerously-skip-permissions
439
437
  /gsd-next # 自动检测并执行下一步
440
438
  ```
441
439
 
442
- 循环执行 **讨论 → 规划 → 执行 → 验证 → 发布**,直到整个里程碑完成。
440
+ 循环执行 **讨论 → 规划 → 执行 → 验证**,直到整个里程碑完成。
443
441
 
444
442
  如果你希望在讨论阶段更快收集信息,可以用 `/gsd-discuss-phase <n> --batch`,一次回答一小组问题,而不是逐个问答。
445
443
 
@@ -573,41 +571,13 @@ lmn012o feat(08-02): create registration endpoint
573
571
  |------|------|
574
572
  | `/gsd-new-project [--auto]` | 完整初始化:提问 → 研究 → 需求 → 路线图 |
575
573
  | `/gsd-discuss-phase [N] [--auto] [--analyze]` | 在规划前收集实现决策(`--analyze` 增加权衡分析) |
576
- | `/gsd-plan-phase [N] [--auto] [--reviews]` | 为某个阶段执行研究 + 规划 + 验证(`--reviews` 加载代码库审查结果) |
574
+ | `/gsd-plan-phase [N] [--auto]` | 为某个阶段执行研究 + 规划 + 验证 |
577
575
  | `/gsd-execute-phase <N>` | 以并行 wave 执行全部计划,完成后验证 |
578
576
  | `/gsd-verify-work [N]` | 人工用户验收测试 ¹ |
579
- | `/gsd-ship [N] [--draft]` | 从已验证的阶段工作创建 PR,自动生成 PR 描述 |
580
577
  | `/gsd-fast <text>` | 内联处理琐碎任务——完全跳过规划,立即执行 |
581
578
  | `/gsd-next` | 自动推进到下一个逻辑工作流步骤 |
582
- | `/gsd-audit-milestone` | 验证里程碑是否达到完成定义 |
583
579
  | `/gsd-complete-milestone` | 归档里程碑并打 release tag |
584
580
  | `/gsd-new-milestone [name]` | 开始下一个版本:提问 → 研究 → 需求 → 路线图 |
585
- | `/gsd-milestone-summary` | 从已完成的里程碑产物生成项目概览,用于团队上手 |
586
- | `/gsd-forensics` | 对失败或卡住的工作流进行事后调查 |
587
-
588
- ### 工作流(Workstreams)
589
-
590
- | 命令 | 作用 |
591
- |------|------|
592
- | `/gsd-workstreams list` | 显示所有工作流及其状态 |
593
- | `/gsd-workstreams create <name>` | 创建命名空间工作流,用于并行里程碑工作 |
594
- | `/gsd-workstreams switch <name>` | 切换当前活跃工作流 |
595
- | `/gsd-workstreams complete <name>` | 完成并合并工作流 |
596
-
597
- ### 多项目工作区
598
-
599
- | 命令 | 作用 |
600
- |------|------|
601
- | `/gsd-new-workspace` | 创建隔离工作区,包含仓库副本(worktree 或 clone) |
602
- | `/gsd-list-workspaces` | 显示所有 GSD 工作区及其状态 |
603
- | `/gsd-remove-workspace` | 移除工作区并清理 worktree |
604
-
605
- ### UI 设计
606
-
607
- | 命令 | 作用 |
608
- |------|------|
609
- | `/gsd-ui-phase [N]` | 为前端阶段生成 UI 设计合约(UI-SPEC.md) |
610
- | `/gsd-ui-review [N]` | 对已实现前端代码进行 6 维视觉审计 |
611
581
 
612
582
  ### 导航
613
583
 
@@ -616,8 +586,6 @@ lmn012o feat(08-02): create registration endpoint
616
586
  | `/gsd-progress` | 我现在在哪?下一步是什么? |
617
587
  | `/gsd-next` | 自动检测状态并执行下一步 |
618
588
  | `/gsd-help` | 显示全部命令和使用指南 |
619
- | `/gsd-update` | 更新 GSD,并预览变更日志 |
620
- | `/gsd-join-discord` | 加入 GSD Discord 社区 |
621
589
 
622
590
  ### Brownfield
623
591
 
@@ -632,22 +600,21 @@ lmn012o feat(08-02): create registration endpoint
632
600
  | `/gsd-add-phase` | 在路线图末尾追加 phase |
633
601
  | `/gsd-insert-phase [N]` | 在 phase 之间插入紧急工作 |
634
602
  | `/gsd-remove-phase [N]` | 删除未来 phase,并重编号 |
635
- | `/gsd-list-phase-assumptions [N]` | 在规划前查看 Claude 打算采用的方案 |
636
- | `/gsd-plan-milestone-gaps` | 为 audit 发现的缺口创建 phase |
637
603
 
638
604
  ### 代码质量
639
605
 
640
606
  | 命令 | 作用 |
641
607
  |------|------|
642
- | `/gsd-review` | 对当前阶段或分支进行跨 AI 同行评审 |
608
+ | `/gsd-code-review [N]` | 审查阶段改动的源码文件,发现 bug、安全和质量问题 |
609
+ | `/gsd-code-review-fix [N]` | 自动修复代码审查发现的问题,每个修复独立提交 |
643
610
  | `/gsd-pr-branch` | 创建过滤 `.planning/` 提交的干净 PR 分支 |
644
- | `/gsd-audit-uat` | 审计验证债务——找出缺少 UAT 的阶段 |
645
611
 
646
612
  ### 积压
647
613
 
648
614
  | 命令 | 作用 |
649
615
  |------|------|
650
- | `/gsd-plant-seed <idea>` | 将想法存入积压停车场,留待未来里程碑 |
616
+ | `/gsd-add-backlog <desc>` | 将想法加入积压停车场(999.x 编号,独立于活跃序列) |
617
+ | `/gsd-review-backlog` | 审查积压项,提升到当前里程碑或清除过期条目 |
651
618
 
652
619
  ### 会话
653
620
 
@@ -655,14 +622,12 @@ lmn012o feat(08-02): create registration endpoint
655
622
  |------|------|
656
623
  | `/gsd-pause-work` | 在中途暂停时创建交接上下文(写入 HANDOFF.json) |
657
624
  | `/gsd-resume-work` | 从上一次会话恢复 |
658
- | `/gsd-session-report` | 生成会话摘要,包含已完成工作和结果 |
659
625
 
660
626
  ### 工具
661
627
 
662
628
  | 命令 | 作用 |
663
629
  |------|------|
664
630
  | `/gsd-settings` | 配置模型 profile 和工作流代理 |
665
- | `/gsd-set-profile <profile>` | 切换模型 profile(quality / balanced / budget / inherit) |
666
631
  | `/gsd-add-todo [desc]` | 记录一个待办想法 |
667
632
  | `/gsd-check-todos` | 查看待办列表 |
668
633
  | `/gsd-debug [desc]` | 使用持久状态进行系统化调试 |
@@ -670,8 +635,6 @@ lmn012o feat(08-02): create registration endpoint
670
635
  | `/gsd-note <text>` | 零摩擦想法捕捉——追加、列出或提升为待办 |
671
636
  | `/gsd-quick [--full] [--discuss] [--research]` | 以 GSD 保障执行临时任务(`--full` 增加计划检查和验证,`--discuss` 先补上下文,`--research` 在规划前先调研) |
672
637
  | `/gsd-health [--runtime] [--repair]` | 校验 `.planning/` 完整性、自动修复 planning 问题、确认 runtime 身份,或用 `--runtime --repair` 重建 `gsd-remix-sdk` |
673
- | `/gsd-stats` | 显示项目统计——阶段、计划、需求、git 指标 |
674
- | `/gsd-profile-user [--questionnaire] [--refresh]` | 从会话分析生成开发者行为档案,用于个性化响应 |
675
638
 
676
639
  <sup>¹ 由 reddit 用户 OracleGreyBeard 贡献</sup>
677
640
 
@@ -690,23 +653,16 @@ GSD 将项目设置保存在 `.planning/config.json`。你可以在 `/gsd-new-pr
690
653
 
691
654
  ### 模型 Profile
692
655
 
693
- 控制各代理使用哪种 Claude 模型,在质量和 token 成本之间平衡。
656
+ 控制各代理使用哪种 Claude 模型。所有命名 profile(`quality`、`balanced`、`budget`)现在都解析为同一套统一分配——规划、路线图、研究和调试类代理使用 Opus,执行、验证、检查和映射类代理使用 Sonnet。profile 键名保留只是为了配置兼容。
694
657
 
695
- | Profile | Planning | Execution | Verification |
696
- |---------|----------|-----------|--------------|
697
- | `quality` | Opus | Opus | Sonnet |
698
- | `balanced`(默认) | Opus | Sonnet | Sonnet |
699
- | `budget` | Sonnet | Sonnet | Haiku |
700
- | `inherit` | Inherit | Inherit | Inherit |
701
-
702
- 切换方式:
703
- ```
704
- /gsd-set-profile budget
705
- ```
658
+ | Profile | 规划 / 研究 / 调试 | 其余代理 |
659
+ |---------|--------------------|----------|
660
+ | 命名 profile | Opus | Sonnet |
661
+ | `inherit` | Inherit | Inherit |
706
662
 
707
663
  使用非 Anthropic 提供商(OpenRouter、本地模型)时,或想跟随当前运行时的模型选择时(如 OpenCode 的 `/model`),可用 `inherit`。
708
664
 
709
- 也可以通过 `/gsd-settings` 配置。
665
+ 通过 `/gsd-settings` 配置。
710
666
 
711
667
  ### 工作流代理
712
668
 
@@ -958,9 +958,6 @@ Gather symptoms through questioning. Update file after EACH answer.
958
958
  </step>
959
959
 
960
960
  <step name="investigation_loop">
961
- At investigation decision points, apply structured reasoning:
962
- @~/.claude/get-shit-done/references/thinking-models-debug.md
963
-
964
961
  **Autonomous investigation. Update file continuously.**
965
962
 
966
963
  **Phase 0: Check knowledge base**
@@ -110,9 +110,6 @@ grep -n "type=\"checkpoint" [plan-path]
110
110
  </step>
111
111
 
112
112
  <step name="execute_tasks">
113
- At execution decision points, apply structured reasoning:
114
- @~/.claude/get-shit-done/references/thinking-models-execution.md
115
-
116
113
  **iOS app scaffolding:** If this plan creates an iOS app target, follow ios-scaffold guidance:
117
114
  @~/.claude/get-shit-done/references/ios-scaffold.md
118
115
 
@@ -160,8 +157,6 @@ No user permission needed for Rules 1-3.
160
157
 
161
158
  **Critical = required for correct/secure/performant operation.** These aren't "features" — they're correctness requirements.
162
159
 
163
- **Threat model reference:** Before starting each task, check if the plan's `<threat_model>` assigns `mitigate` dispositions to this task's files. Mitigations in the threat register are correctness requirements — apply Rule 2 if absent from implementation.
164
-
165
160
  ---
166
161
 
167
162
  **RULE 3: Auto-fix blocking issues**
@@ -478,17 +473,16 @@ Or: "None - plan executed exactly as written."
478
473
 
479
474
  If any stubs exist, add a `## Known Stubs` section to the SUMMARY listing each stub with its file, line, and reason. These are tracked for the verifier to catch. Do NOT mark a plan as complete if stubs exist that prevent the plan's goal from being achieved — either wire the data or document in the plan why the stub is intentional and which future plan will resolve it.
480
475
 
481
- **Threat surface scan:** Before writing the SUMMARY, check if any files created/modified introduce security-relevant surface NOT in the plan's `<threat_model>` — new network endpoints, auth paths, file access patterns, or schema changes at trust boundaries. If found, add:
476
+ **Security-relevant surface:** Before writing the SUMMARY, check if any files created/modified introduce security-relevant surface — new network endpoints, auth paths, user input handling, secrets access, outbound requests, or schema changes at trust boundaries. If found, add:
482
477
 
483
478
  ```markdown
484
- ## Threat Flags
479
+ ## Security-Relevant Surface
485
480
 
486
- | Flag | File | Description |
487
- |------|------|-------------|
488
- | threat_flag: {type} | {file} | {new surface description} |
481
+ - {file}: {one-line description of the new surface}
489
482
  ```
490
483
 
491
- Omit section if nothing found.
484
+ Omit the section if nothing found. This feeds the execute-phase security review trigger — one line per item is enough.
485
+
492
486
  </summary_creation>
493
487
 
494
488
  <self_check>
@@ -246,8 +246,6 @@ Priority: Context7 > Exa (verified) > Firecrawl (official docs) > Official GitHu
246
246
  - [ ] Confidence levels assigned honestly
247
247
  - [ ] "What might I have missed?" review completed
248
248
  - [ ] **If rename/refactor phase:** Runtime State Inventory completed — all 5 categories answered explicitly (not left blank)
249
- - [ ] Security domain included (or `security_enforcement: false` confirmed)
250
- - [ ] ASVS categories verified against phase tech stack
251
249
 
252
250
  </verification_protocol>
253
251
 
@@ -421,56 +419,6 @@ Verified patterns from official sources:
421
419
  **Missing dependencies with fallback:**
422
420
  - [items with viable alternatives]
423
421
 
424
- ## Validation Architecture
425
-
426
- > Skip this section entirely if workflow.nyquist_validation is explicitly set to false in .planning/config.json. If the key is absent, treat as enabled.
427
-
428
- ### Test Framework
429
- | Property | Value |
430
- |----------|-------|
431
- | Framework | {framework name + version} |
432
- | Config file | {path or "none — see Wave 0"} |
433
- | Quick run command | `{command}` |
434
- | Full suite command | `{command}` |
435
-
436
- ### Phase Requirements → Test Map
437
- | Req ID | Behavior | Test Type | Automated Command | File Exists? |
438
- |--------|----------|-----------|-------------------|-------------|
439
- | REQ-XX | {behavior} | unit | `pytest tests/test_{module}.py::test_{name} -x` | ✅ / ❌ Wave 0 |
440
-
441
- ### Sampling Rate
442
- - **Per task commit:** `{quick run command}`
443
- - **Per wave merge:** `{full suite command}`
444
- - **Phase gate:** Full suite green before `/gsd-verify-work`
445
-
446
- ### Wave 0 Gaps
447
- - [ ] `{tests/test_file.py}` — covers REQ-{XX}
448
- - [ ] `{tests/conftest.py}` — shared fixtures
449
- - [ ] Framework install: `{command}` — if none detected
450
-
451
- *(If no gaps: "None — existing test infrastructure covers all phase requirements")*
452
-
453
- ## Security Domain
454
-
455
- > Required when `security_enforcement` is enabled (absent = enabled). Omit only if explicitly `false` in config.
456
-
457
- ### Applicable ASVS Categories
458
-
459
- | ASVS Category | Applies | Standard Control |
460
- |---------------|---------|-----------------|
461
- | V2 Authentication | {yes/no} | {library or pattern} |
462
- | V3 Session Management | {yes/no} | {library or pattern} |
463
- | V4 Access Control | {yes/no} | {library or pattern} |
464
- | V5 Input Validation | yes | {e.g., zod / joi / pydantic} |
465
- | V6 Cryptography | {yes/no} | {library — never hand-roll} |
466
-
467
- ### Known Threat Patterns for {stack}
468
-
469
- | Pattern | STRIDE | Standard Mitigation |
470
- |---------|--------|---------------------|
471
- | {e.g., SQL injection} | Tampering | {parameterized queries / ORM} |
472
- | {pattern} | {category} | {mitigation} |
473
-
474
422
  ## Sources
475
423
 
476
424
  ### Primary (HIGH confidence)
@@ -498,9 +446,6 @@ Verified patterns from official sources:
498
446
 
499
447
  <execution_flow>
500
448
 
501
- At research decision points, apply structured reasoning:
502
- @~/.claude/get-shit-done/references/thinking-models-research.md
503
-
504
449
  ## Step 1: Receive Scope and Load Context
505
450
 
506
451
  Orchestrator provides: phase number/name, description/goal, requirements, constraints, output path.
@@ -514,7 +459,6 @@ if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
514
459
 
515
460
  Extract from init JSON: `phase_dir`, `padded_phase`, `phase_number`, `commit_docs`.
516
461
 
517
- Also read `.planning/config.json` — include Validation Architecture section in RESEARCH.md unless `workflow.nyquist_validation` is explicitly `false`. If the key is absent or `true`, include the section.
518
462
 
519
463
  Then read CONTEXT.md if exists:
520
464
  ```bash
@@ -534,41 +478,6 @@ cat "$phase_dir"/*-CONTEXT.md 2>/dev/null
534
478
  - User decided "simple UI, no animations" → don't research animation libraries
535
479
  - Marked as Claude's discretion → research options and recommend
536
480
 
537
- ## Step 1.3: Load Graph Context
538
-
539
- Check for knowledge graph:
540
-
541
- ```bash
542
- ls .planning/graphs/graph.json 2>/dev/null
543
- ```
544
-
545
- If graph.json exists, check freshness:
546
-
547
- ```bash
548
- node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" graphify status
549
- ```
550
-
551
- If the status response has `stale: true`, note for later: "Graph is {age_hours}h old -- treat semantic relationships as approximate." Include this annotation inline with any graph context injected below.
552
-
553
- Query the graph for each major capability in the phase scope (2-3 queries per D-05, discovery-focused):
554
-
555
- ```bash
556
- node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" graphify query "<capability-keyword>" --budget 1500
557
- ```
558
-
559
- Derive query terms from the phase goal and requirement descriptions. Examples:
560
- - Phase "user authentication and session management" -> query "authentication", "session", "token"
561
- - Phase "payment integration" -> query "payment", "billing"
562
- - Phase "build pipeline" -> query "build", "compile"
563
-
564
- Use graph results to:
565
- - Discover non-obvious cross-document relationships (e.g., a config file related to an API module)
566
- - Identify architectural boundaries that affect the phase
567
- - Surface dependencies the phase description does not explicitly mention
568
- - Inform which subsystems to investigate more deeply in subsequent research steps
569
-
570
- If no results or graph.json absent, continue to Step 1.5 without graph context.
571
-
572
481
  ## Step 1.5: Architectural Responsibility Mapping
573
482
 
574
483
  Before diving into framework-specific research, map each capability in this phase to its standard architectural tier owner. This is a pure reasoning step — no tool calls needed.
@@ -692,20 +601,7 @@ docker info 2>/dev/null | head -3
692
601
 
693
602
  For each domain: Context7 first → Official docs → WebSearch → Cross-verify. Document findings with confidence levels as you go.
694
603
 
695
- ## Step 4: Validation Architecture Research (if nyquist_validation enabled)
696
-
697
- **Skip if** workflow.nyquist_validation is explicitly set to false. If absent, treat as enabled.
698
-
699
- ### Detect Test Infrastructure
700
- Scan for: test config files (pytest.ini, jest.config.*, vitest.config.*), test directories (test/, tests/, __tests__/), test files (*.test.*, *.spec.*), package.json test scripts.
701
-
702
- ### Map Requirements to Tests
703
- For each phase requirement: identify behavior, determine test type (unit/integration/smoke/e2e/manual-only), specify automated command runnable in < 30 seconds, flag manual-only with justification.
704
-
705
- ### Identify Wave 0 Gaps
706
- List missing test files, framework config, or shared fixtures needed before implementation.
707
-
708
- ## Step 5: Quality Check
604
+ ## Step 4: Quality Check
709
605
 
710
606
  - [ ] All domains investigated
711
607
  - [ ] Negative claims verified
@@ -713,7 +609,7 @@ List missing test files, framework config, or shared fixtures needed before impl
713
609
  - [ ] Confidence levels assigned honestly
714
610
  - [ ] "What might I have missed?" review
715
611
 
716
- ## Step 6: Write RESEARCH.md
612
+ ## Step 5: Write RESEARCH.md
717
613
 
718
614
  Use the Write tool to create files — never use `Bash(cat << 'EOF')` or heredoc commands for file creation. This rule applies regardless of `commit_docs` setting.
719
615
 
@@ -752,7 +648,7 @@ Write to: `$PHASE_DIR/$PADDED_PHASE-RESEARCH.md`
752
648
 
753
649
  ⚠️ `commit_docs` controls git only, NOT file writing. Always write first.
754
650
 
755
- ## Step 7: Commit Research (optional)
651
+ ## Step 6: Commit Research (optional)
756
652
 
757
653
  ```bash
758
654
  gsd-remix-sdk query commit "docs($PHASE): research phase domain" "$PHASE_DIR/$PADDED_PHASE-RESEARCH.md"