@therocketcode/gsd-core 1.4.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 (568) hide show
  1. package/.claude-plugin/plugin.json +23 -0
  2. package/GEMINI.md +53 -0
  3. package/LICENSE +21 -0
  4. package/README.ja-JP.md +125 -0
  5. package/README.ko-KR.md +125 -0
  6. package/README.md +144 -0
  7. package/README.pt-BR.md +125 -0
  8. package/README.zh-CN.md +125 -0
  9. package/agents/gsd-advisor-researcher.md +108 -0
  10. package/agents/gsd-ai-researcher.md +114 -0
  11. package/agents/gsd-assumptions-analyzer.md +105 -0
  12. package/agents/gsd-code-fixer.md +668 -0
  13. package/agents/gsd-code-reviewer.md +387 -0
  14. package/agents/gsd-codebase-mapper.md +853 -0
  15. package/agents/gsd-debug-session-manager.md +314 -0
  16. package/agents/gsd-debugger.md +1452 -0
  17. package/agents/gsd-doc-classifier.md +168 -0
  18. package/agents/gsd-doc-synthesizer.md +204 -0
  19. package/agents/gsd-doc-verifier.md +217 -0
  20. package/agents/gsd-doc-writer.md +616 -0
  21. package/agents/gsd-domain-researcher.md +147 -0
  22. package/agents/gsd-eval-auditor.md +191 -0
  23. package/agents/gsd-eval-planner.md +154 -0
  24. package/agents/gsd-executor.md +785 -0
  25. package/agents/gsd-framework-selector.md +160 -0
  26. package/agents/gsd-integration-checker.md +470 -0
  27. package/agents/gsd-intel-updater.md +342 -0
  28. package/agents/gsd-nyquist-auditor.md +203 -0
  29. package/agents/gsd-pattern-mapper.md +335 -0
  30. package/agents/gsd-phase-researcher.md +867 -0
  31. package/agents/gsd-plan-checker.md +978 -0
  32. package/agents/gsd-planner.md +1204 -0
  33. package/agents/gsd-project-researcher.md +611 -0
  34. package/agents/gsd-research-synthesizer.md +259 -0
  35. package/agents/gsd-roadmapper.md +688 -0
  36. package/agents/gsd-security-auditor.md +155 -0
  37. package/agents/gsd-ui-auditor.md +495 -0
  38. package/agents/gsd-ui-checker.md +309 -0
  39. package/agents/gsd-ui-researcher.md +374 -0
  40. package/agents/gsd-user-profiler.md +171 -0
  41. package/agents/gsd-verifier.md +923 -0
  42. package/assets/gsd-logo-2000-transparent.png +0 -0
  43. package/assets/gsd-logo-2000-transparent.svg +17 -0
  44. package/assets/gsd-logo-2000.png +0 -0
  45. package/assets/gsd-logo-2000.svg +21 -0
  46. package/assets/terminal.svg +68 -0
  47. package/bin/install.js +12726 -0
  48. package/bin/lib/ui-safety-gate.cjs +107 -0
  49. package/commands/gsd/add-tests.md +42 -0
  50. package/commands/gsd/ai-integration-phase.md +37 -0
  51. package/commands/gsd/audit-fix.md +34 -0
  52. package/commands/gsd/audit-milestone.md +37 -0
  53. package/commands/gsd/audit-uat.md +24 -0
  54. package/commands/gsd/autonomous.md +48 -0
  55. package/commands/gsd/capture.md +62 -0
  56. package/commands/gsd/cleanup.md +24 -0
  57. package/commands/gsd/code-review.md +59 -0
  58. package/commands/gsd/complete-milestone.md +143 -0
  59. package/commands/gsd/config.md +56 -0
  60. package/commands/gsd/debug.md +52 -0
  61. package/commands/gsd/discover-product.md +65 -0
  62. package/commands/gsd/discuss-phase.md +77 -0
  63. package/commands/gsd/docs-update.md +49 -0
  64. package/commands/gsd/eval-review.md +33 -0
  65. package/commands/gsd/execute-phase.md +66 -0
  66. package/commands/gsd/explore.md +27 -0
  67. package/commands/gsd/extract-learnings.md +23 -0
  68. package/commands/gsd/fast.md +31 -0
  69. package/commands/gsd/forensics.md +57 -0
  70. package/commands/gsd/graphify.md +204 -0
  71. package/commands/gsd/health.md +31 -0
  72. package/commands/gsd/help.md +28 -0
  73. package/commands/gsd/import.md +45 -0
  74. package/commands/gsd/inbox.md +39 -0
  75. package/commands/gsd/ingest-docs.md +42 -0
  76. package/commands/gsd/manager.md +45 -0
  77. package/commands/gsd/map-codebase.md +83 -0
  78. package/commands/gsd/milestone-summary.md +51 -0
  79. package/commands/gsd/model-domain.md +65 -0
  80. package/commands/gsd/mvp-phase.md +45 -0
  81. package/commands/gsd/new-milestone.md +45 -0
  82. package/commands/gsd/new-project.md +47 -0
  83. package/commands/gsd/ns-context.md +23 -0
  84. package/commands/gsd/ns-ideate.md +24 -0
  85. package/commands/gsd/ns-manage.md +29 -0
  86. package/commands/gsd/ns-project.md +22 -0
  87. package/commands/gsd/ns-review.md +26 -0
  88. package/commands/gsd/ns-workflow.md +28 -0
  89. package/commands/gsd/pause-work.md +43 -0
  90. package/commands/gsd/phase.md +56 -0
  91. package/commands/gsd/plan-phase.md +64 -0
  92. package/commands/gsd/plan-review-convergence.md +59 -0
  93. package/commands/gsd/pr-branch.md +26 -0
  94. package/commands/gsd/profile-user.md +46 -0
  95. package/commands/gsd/progress.md +48 -0
  96. package/commands/gsd/quick.md +174 -0
  97. package/commands/gsd/recommend-architecture.md +64 -0
  98. package/commands/gsd/resume-work.md +30 -0
  99. package/commands/gsd/review-backlog.md +63 -0
  100. package/commands/gsd/review.md +42 -0
  101. package/commands/gsd/secure-phase.md +36 -0
  102. package/commands/gsd/settings.md +29 -0
  103. package/commands/gsd/ship.md +24 -0
  104. package/commands/gsd/sketch.md +60 -0
  105. package/commands/gsd/spec-phase.md +63 -0
  106. package/commands/gsd/spike.md +57 -0
  107. package/commands/gsd/stats.md +20 -0
  108. package/commands/gsd/surface.md +155 -0
  109. package/commands/gsd/testing-strategy.md +65 -0
  110. package/commands/gsd/thread.md +24 -0
  111. package/commands/gsd/ui-phase.md +35 -0
  112. package/commands/gsd/ui-review.md +33 -0
  113. package/commands/gsd/ultraplan-phase.md +34 -0
  114. package/commands/gsd/undo.md +35 -0
  115. package/commands/gsd/update.md +49 -0
  116. package/commands/gsd/validate-phase.md +36 -0
  117. package/commands/gsd/verify-work.md +39 -0
  118. package/commands/gsd/workspace.md +52 -0
  119. package/commands/gsd/workstreams.md +70 -0
  120. package/gemini-extension.json +6 -0
  121. package/gsd-core/bin/check-latest-version.cjs +161 -0
  122. package/gsd-core/bin/gsd-tools.cjs +1928 -0
  123. package/gsd-core/bin/lib/active-workstream-store.cjs +291 -0
  124. package/gsd-core/bin/lib/adr-parser.cjs +399 -0
  125. package/gsd-core/bin/lib/agent-command-router.cjs +68 -0
  126. package/gsd-core/bin/lib/artifacts.cjs +51 -0
  127. package/gsd-core/bin/lib/audit.cjs +743 -0
  128. package/gsd-core/bin/lib/check-command-router.cjs +343 -0
  129. package/gsd-core/bin/lib/cjs-command-router-adapter.cjs +81 -0
  130. package/gsd-core/bin/lib/cli-exit.cjs +42 -0
  131. package/gsd-core/bin/lib/clock.cjs +95 -0
  132. package/gsd-core/bin/lib/clusters.cjs +132 -0
  133. package/gsd-core/bin/lib/code-review-flags.cjs +59 -0
  134. package/gsd-core/bin/lib/command-aliases.cjs +809 -0
  135. package/gsd-core/bin/lib/command-arg-projection.cjs +55 -0
  136. package/gsd-core/bin/lib/command-routing-hub.cjs +300 -0
  137. package/gsd-core/bin/lib/commands.cjs +1203 -0
  138. package/gsd-core/bin/lib/config-schema.cjs +29 -0
  139. package/gsd-core/bin/lib/config-types.cjs +19 -0
  140. package/gsd-core/bin/lib/config.cjs +738 -0
  141. package/gsd-core/bin/lib/configuration.cjs +239 -0
  142. package/gsd-core/bin/lib/context-utilization.cjs +48 -0
  143. package/gsd-core/bin/lib/core.cjs +2051 -0
  144. package/gsd-core/bin/lib/decisions.cjs +118 -0
  145. package/gsd-core/bin/lib/docs.cjs +252 -0
  146. package/gsd-core/bin/lib/drift.cjs +364 -0
  147. package/gsd-core/bin/lib/fallow-runner.cjs +115 -0
  148. package/gsd-core/bin/lib/frontmatter.cjs +442 -0
  149. package/gsd-core/bin/lib/gap-checker.cjs +257 -0
  150. package/gsd-core/bin/lib/graphify.cjs +496 -0
  151. package/gsd-core/bin/lib/gsd2-import.cjs +456 -0
  152. package/gsd-core/bin/lib/init-command-router.cjs +62 -0
  153. package/gsd-core/bin/lib/init.cjs +1815 -0
  154. package/gsd-core/bin/lib/install-profiles.cjs +584 -0
  155. package/gsd-core/bin/lib/installer-migration-authoring.cjs +122 -0
  156. package/gsd-core/bin/lib/installer-migration-report.cjs +350 -0
  157. package/gsd-core/bin/lib/installer-migrations/000-first-time-baseline.cjs +218 -0
  158. package/gsd-core/bin/lib/installer-migrations/001-legacy-orphan-files.cjs +48 -0
  159. package/gsd-core/bin/lib/installer-migrations/002-codex-legacy-hooks-json.cjs +94 -0
  160. package/gsd-core/bin/lib/installer-migrations/003-rename-get-shit-done-to-gsd-core.cjs +108 -0
  161. package/gsd-core/bin/lib/installer-migrations.cjs +823 -0
  162. package/gsd-core/bin/lib/intel.cjs +590 -0
  163. package/gsd-core/bin/lib/learnings.cjs +270 -0
  164. package/gsd-core/bin/lib/legacy-cleanup.cjs +253 -0
  165. package/gsd-core/bin/lib/milestone.cjs +373 -0
  166. package/gsd-core/bin/lib/model-catalog.cjs +154 -0
  167. package/gsd-core/bin/lib/model-profiles.cjs +24 -0
  168. package/gsd-core/bin/lib/observability/event.cjs +51 -0
  169. package/gsd-core/bin/lib/observability/logger.cjs +146 -0
  170. package/gsd-core/bin/lib/observability/redaction.cjs +48 -0
  171. package/gsd-core/bin/lib/package-identity.cjs +35 -0
  172. package/gsd-core/bin/lib/package-legitimacy.cjs +368 -0
  173. package/gsd-core/bin/lib/phase-command-router.cjs +189 -0
  174. package/gsd-core/bin/lib/phase-lifecycle.cjs +74 -0
  175. package/gsd-core/bin/lib/phase.cjs +1307 -0
  176. package/gsd-core/bin/lib/phases-command-router.cjs +43 -0
  177. package/gsd-core/bin/lib/plan-scan.cjs +91 -0
  178. package/gsd-core/bin/lib/planning-workspace.cjs +245 -0
  179. package/gsd-core/bin/lib/profile-output.cjs +1120 -0
  180. package/gsd-core/bin/lib/profile-pipeline.cjs +517 -0
  181. package/gsd-core/bin/lib/project-root.cjs +119 -0
  182. package/gsd-core/bin/lib/prompt-budget.cjs +305 -0
  183. package/gsd-core/bin/lib/research-provider.cjs +137 -0
  184. package/gsd-core/bin/lib/research-store.cjs +167 -0
  185. package/gsd-core/bin/lib/review-reviewer-selection.cjs +121 -0
  186. package/gsd-core/bin/lib/roadmap-command-router.cjs +166 -0
  187. package/gsd-core/bin/lib/roadmap-upgrade.cjs +476 -0
  188. package/gsd-core/bin/lib/roadmap.cjs +600 -0
  189. package/gsd-core/bin/lib/runtime-artifact-layout.cjs +312 -0
  190. package/gsd-core/bin/lib/runtime-config-adapter-registry.cjs +56 -0
  191. package/gsd-core/bin/lib/runtime-homes.cjs +190 -0
  192. package/gsd-core/bin/lib/runtime-name-policy.cjs +96 -0
  193. package/gsd-core/bin/lib/runtime-slash.cjs +119 -0
  194. package/gsd-core/bin/lib/schema-detect.cjs +159 -0
  195. package/gsd-core/bin/lib/secrets.cjs +34 -0
  196. package/gsd-core/bin/lib/security.cjs +480 -0
  197. package/gsd-core/bin/lib/semver-compare.cjs +42 -0
  198. package/gsd-core/bin/lib/shell-command-projection.cjs +533 -0
  199. package/gsd-core/bin/lib/state-command-router.cjs +160 -0
  200. package/gsd-core/bin/lib/state-document.cjs +259 -0
  201. package/gsd-core/bin/lib/state.cjs +2010 -0
  202. package/gsd-core/bin/lib/surface.cjs +449 -0
  203. package/gsd-core/bin/lib/task-command-router.cjs +85 -0
  204. package/gsd-core/bin/lib/template.cjs +237 -0
  205. package/gsd-core/bin/lib/uat.cjs +297 -0
  206. package/gsd-core/bin/lib/ui-safety-gate.cjs +98 -0
  207. package/gsd-core/bin/lib/update-context.cjs +218 -0
  208. package/gsd-core/bin/lib/validate-command-router.cjs +91 -0
  209. package/gsd-core/bin/lib/validate.cjs +112 -0
  210. package/gsd-core/bin/lib/verification-command-router.cjs +31 -0
  211. package/gsd-core/bin/lib/verification.cjs +193 -0
  212. package/gsd-core/bin/lib/verify-command-router.cjs +44 -0
  213. package/gsd-core/bin/lib/verify.cjs +1451 -0
  214. package/gsd-core/bin/lib/workstream-inventory-builder.cjs +81 -0
  215. package/gsd-core/bin/lib/workstream-inventory.cjs +147 -0
  216. package/gsd-core/bin/lib/workstream-name-policy.cjs +91 -0
  217. package/gsd-core/bin/lib/workstream.cjs +380 -0
  218. package/gsd-core/bin/lib/worktree-base-ref.cjs +325 -0
  219. package/gsd-core/bin/lib/worktree-safety.cjs +943 -0
  220. package/gsd-core/bin/shared/config-defaults.manifest.json +98 -0
  221. package/gsd-core/bin/shared/config-schema.manifest.json +192 -0
  222. package/gsd-core/bin/shared/model-catalog.json +149 -0
  223. package/gsd-core/bin/shared/runtime-aliases.manifest.json +75 -0
  224. package/gsd-core/bin/verify-reapply-patches.cjs +349 -0
  225. package/gsd-core/contexts/dev.md +21 -0
  226. package/gsd-core/contexts/research.md +22 -0
  227. package/gsd-core/contexts/review.md +23 -0
  228. package/gsd-core/references/agent-contracts.md +79 -0
  229. package/gsd-core/references/ai-evals.md +156 -0
  230. package/gsd-core/references/ai-frameworks.md +186 -0
  231. package/gsd-core/references/architecture-decision.md +74 -0
  232. package/gsd-core/references/artifact-types.md +131 -0
  233. package/gsd-core/references/auth-in-tests.md +91 -0
  234. package/gsd-core/references/autonomous-smart-discuss.md +277 -0
  235. package/gsd-core/references/checkpoints.md +814 -0
  236. package/gsd-core/references/common-bug-patterns.md +114 -0
  237. package/gsd-core/references/context-budget.md +85 -0
  238. package/gsd-core/references/continuation-format.md +253 -0
  239. package/gsd-core/references/db-test-isolation.md +54 -0
  240. package/gsd-core/references/debugger-philosophy.md +76 -0
  241. package/gsd-core/references/decimal-phase-calculation.md +64 -0
  242. package/gsd-core/references/doc-conflict-engine.md +91 -0
  243. package/gsd-core/references/domain-modeling.md +80 -0
  244. package/gsd-core/references/domain-probes.md +125 -0
  245. package/gsd-core/references/e2e-tiering.md +35 -0
  246. package/gsd-core/references/execute-mvp-tdd.md +81 -0
  247. package/gsd-core/references/executor-examples.md +110 -0
  248. package/gsd-core/references/few-shot-examples/plan-checker.md +73 -0
  249. package/gsd-core/references/few-shot-examples/verifier.md +109 -0
  250. package/gsd-core/references/flaky-test-checklist.md +22 -0
  251. package/gsd-core/references/gate-prompts.md +100 -0
  252. package/gsd-core/references/gates.md +70 -0
  253. package/gsd-core/references/git-integration.md +298 -0
  254. package/gsd-core/references/git-planning-commit.md +40 -0
  255. package/gsd-core/references/ios-scaffold.md +123 -0
  256. package/gsd-core/references/mandatory-initial-read.md +2 -0
  257. package/gsd-core/references/model-profile-resolution.md +38 -0
  258. package/gsd-core/references/model-profiles.md +245 -0
  259. package/gsd-core/references/mvp-concepts.md +49 -0
  260. package/gsd-core/references/phase-argument-parsing.md +61 -0
  261. package/gsd-core/references/planner-antipatterns.md +89 -0
  262. package/gsd-core/references/planner-chunked.md +49 -0
  263. package/gsd-core/references/planner-gap-closure.md +62 -0
  264. package/gsd-core/references/planner-graphify-auto-update.md +67 -0
  265. package/gsd-core/references/planner-human-verify-mode.md +57 -0
  266. package/gsd-core/references/planner-interface-context.md +62 -0
  267. package/gsd-core/references/planner-load-graph-context.md +36 -0
  268. package/gsd-core/references/planner-mvp-mode.md +53 -0
  269. package/gsd-core/references/planner-reviews.md +39 -0
  270. package/gsd-core/references/planner-revision.md +87 -0
  271. package/gsd-core/references/planner-source-audit.md +73 -0
  272. package/gsd-core/references/planning-config.md +473 -0
  273. package/gsd-core/references/product-discovery.md +49 -0
  274. package/gsd-core/references/project-skills-discovery.md +19 -0
  275. package/gsd-core/references/questioning.md +162 -0
  276. package/gsd-core/references/realistic-test-data.md +44 -0
  277. package/gsd-core/references/research-documentation-lookup.md +29 -0
  278. package/gsd-core/references/research-philosophy.md +29 -0
  279. package/gsd-core/references/research-verification-protocol.md +27 -0
  280. package/gsd-core/references/revision-loop.md +97 -0
  281. package/gsd-core/references/scout-codebase.md +51 -0
  282. package/gsd-core/references/skeleton-template.md +48 -0
  283. package/gsd-core/references/sketch-interactivity.md +41 -0
  284. package/gsd-core/references/sketch-theme-system.md +94 -0
  285. package/gsd-core/references/sketch-tooling.md +45 -0
  286. package/gsd-core/references/sketch-variant-patterns.md +81 -0
  287. package/gsd-core/references/spidr-splitting.md +69 -0
  288. package/gsd-core/references/tdd.md +330 -0
  289. package/gsd-core/references/test-containers.md +55 -0
  290. package/gsd-core/references/test-strategy.md +75 -0
  291. package/gsd-core/references/thinking-models-debug.md +44 -0
  292. package/gsd-core/references/thinking-models-execution.md +50 -0
  293. package/gsd-core/references/thinking-models-planning.md +62 -0
  294. package/gsd-core/references/thinking-models-research.md +50 -0
  295. package/gsd-core/references/thinking-models-verification.md +55 -0
  296. package/gsd-core/references/thinking-partner.md +96 -0
  297. package/gsd-core/references/ui-brand.md +162 -0
  298. package/gsd-core/references/universal-anti-patterns.md +63 -0
  299. package/gsd-core/references/user-profiling.md +681 -0
  300. package/gsd-core/references/user-story-template.md +58 -0
  301. package/gsd-core/references/verification-overrides.md +227 -0
  302. package/gsd-core/references/verification-patterns.md +612 -0
  303. package/gsd-core/references/verify-mvp-mode.md +85 -0
  304. package/gsd-core/references/workstream-flag.md +111 -0
  305. package/gsd-core/references/worktree-branch-check.md +38 -0
  306. package/gsd-core/references/worktree-path-safety.md +67 -0
  307. package/gsd-core/templates/AI-SPEC.md +246 -0
  308. package/gsd-core/templates/DEBUG.md +169 -0
  309. package/gsd-core/templates/README.md +77 -0
  310. package/gsd-core/templates/SECURITY.md +61 -0
  311. package/gsd-core/templates/UAT.md +265 -0
  312. package/gsd-core/templates/UI-SPEC.md +100 -0
  313. package/gsd-core/templates/VALIDATION.md +76 -0
  314. package/gsd-core/templates/adr.md +58 -0
  315. package/gsd-core/templates/claude-md.md +145 -0
  316. package/gsd-core/templates/codebase/architecture.md +255 -0
  317. package/gsd-core/templates/codebase/concerns.md +310 -0
  318. package/gsd-core/templates/codebase/conventions.md +307 -0
  319. package/gsd-core/templates/codebase/integrations.md +280 -0
  320. package/gsd-core/templates/codebase/stack.md +186 -0
  321. package/gsd-core/templates/codebase/structure.md +285 -0
  322. package/gsd-core/templates/codebase/testing.md +480 -0
  323. package/gsd-core/templates/config.json +62 -0
  324. package/gsd-core/templates/context.md +352 -0
  325. package/gsd-core/templates/continue-here.md +78 -0
  326. package/gsd-core/templates/copilot-instructions.md +7 -0
  327. package/gsd-core/templates/debug-subagent-prompt.md +91 -0
  328. package/gsd-core/templates/dev-preferences.md +21 -0
  329. package/gsd-core/templates/discovery.md +146 -0
  330. package/gsd-core/templates/discussion-log.md +63 -0
  331. package/gsd-core/templates/domain-model.md +54 -0
  332. package/gsd-core/templates/milestone-archive.md +123 -0
  333. package/gsd-core/templates/milestone.md +115 -0
  334. package/gsd-core/templates/phase-prompt.md +610 -0
  335. package/gsd-core/templates/planner-subagent-prompt.md +117 -0
  336. package/gsd-core/templates/product-brief.md +55 -0
  337. package/gsd-core/templates/project.md +186 -0
  338. package/gsd-core/templates/requirements.md +231 -0
  339. package/gsd-core/templates/research-project/ARCHITECTURE.md +204 -0
  340. package/gsd-core/templates/research-project/FEATURES.md +147 -0
  341. package/gsd-core/templates/research-project/PITFALLS.md +200 -0
  342. package/gsd-core/templates/research-project/STACK.md +120 -0
  343. package/gsd-core/templates/research-project/SUMMARY.md +170 -0
  344. package/gsd-core/templates/research.md +592 -0
  345. package/gsd-core/templates/retrospective.md +54 -0
  346. package/gsd-core/templates/roadmap.md +202 -0
  347. package/gsd-core/templates/spec.md +307 -0
  348. package/gsd-core/templates/state.md +195 -0
  349. package/gsd-core/templates/summary-complex.md +59 -0
  350. package/gsd-core/templates/summary-minimal.md +41 -0
  351. package/gsd-core/templates/summary-standard.md +48 -0
  352. package/gsd-core/templates/summary.md +248 -0
  353. package/gsd-core/templates/test-strategy.md +50 -0
  354. package/gsd-core/templates/user-profile.md +146 -0
  355. package/gsd-core/templates/user-setup.md +311 -0
  356. package/gsd-core/templates/verification-report.md +322 -0
  357. package/gsd-core/workflows/_runtime-launcher.snippet.sh +1 -0
  358. package/gsd-core/workflows/add-backlog.md +91 -0
  359. package/gsd-core/workflows/add-phase.md +113 -0
  360. package/gsd-core/workflows/add-tests.md +355 -0
  361. package/gsd-core/workflows/add-todo.md +161 -0
  362. package/gsd-core/workflows/ai-integration-phase.md +295 -0
  363. package/gsd-core/workflows/analyze-dependencies.md +96 -0
  364. package/gsd-core/workflows/audit-fix.md +178 -0
  365. package/gsd-core/workflows/audit-milestone.md +360 -0
  366. package/gsd-core/workflows/audit-uat.md +110 -0
  367. package/gsd-core/workflows/autonomous.md +797 -0
  368. package/gsd-core/workflows/check-todos.md +180 -0
  369. package/gsd-core/workflows/cleanup.md +195 -0
  370. package/gsd-core/workflows/code-review-fix.md +502 -0
  371. package/gsd-core/workflows/code-review.md +658 -0
  372. package/gsd-core/workflows/complete-milestone.md +855 -0
  373. package/gsd-core/workflows/debug.md +237 -0
  374. package/gsd-core/workflows/diagnose-issues.md +245 -0
  375. package/gsd-core/workflows/discover-product.md +112 -0
  376. package/gsd-core/workflows/discovery-phase.md +291 -0
  377. package/gsd-core/workflows/discuss-phase/modes/advisor.md +176 -0
  378. package/gsd-core/workflows/discuss-phase/modes/all.md +28 -0
  379. package/gsd-core/workflows/discuss-phase/modes/analyze.md +44 -0
  380. package/gsd-core/workflows/discuss-phase/modes/auto.md +57 -0
  381. package/gsd-core/workflows/discuss-phase/modes/batch.md +52 -0
  382. package/gsd-core/workflows/discuss-phase/modes/chain.md +98 -0
  383. package/gsd-core/workflows/discuss-phase/modes/default.md +141 -0
  384. package/gsd-core/workflows/discuss-phase/modes/power.md +44 -0
  385. package/gsd-core/workflows/discuss-phase/modes/text.md +55 -0
  386. package/gsd-core/workflows/discuss-phase/templates/checkpoint.json +18 -0
  387. package/gsd-core/workflows/discuss-phase/templates/context.md +136 -0
  388. package/gsd-core/workflows/discuss-phase/templates/discussion-log.md +50 -0
  389. package/gsd-core/workflows/discuss-phase-assumptions.md +675 -0
  390. package/gsd-core/workflows/discuss-phase-power.md +291 -0
  391. package/gsd-core/workflows/discuss-phase.md +499 -0
  392. package/gsd-core/workflows/do.md +111 -0
  393. package/gsd-core/workflows/docs-update.md +1176 -0
  394. package/gsd-core/workflows/edit-phase.md +295 -0
  395. package/gsd-core/workflows/eval-review.md +156 -0
  396. package/gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md +95 -0
  397. package/gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md +94 -0
  398. package/gsd-core/workflows/execute-phase/steps/post-merge-gate.md +117 -0
  399. package/gsd-core/workflows/execute-phase.md +1752 -0
  400. package/gsd-core/workflows/execute-plan.md +526 -0
  401. package/gsd-core/workflows/explore.md +146 -0
  402. package/gsd-core/workflows/extract-learnings.md +243 -0
  403. package/gsd-core/workflows/fast.md +124 -0
  404. package/gsd-core/workflows/forensics.md +279 -0
  405. package/gsd-core/workflows/graduation.md +196 -0
  406. package/gsd-core/workflows/health.md +224 -0
  407. package/gsd-core/workflows/help/modes/brief.md +22 -0
  408. package/gsd-core/workflows/help/modes/default.md +50 -0
  409. package/gsd-core/workflows/help/modes/full.md +789 -0
  410. package/gsd-core/workflows/help/modes/topic.md +74 -0
  411. package/gsd-core/workflows/help.md +24 -0
  412. package/gsd-core/workflows/import.md +256 -0
  413. package/gsd-core/workflows/inbox.md +387 -0
  414. package/gsd-core/workflows/ingest-docs.md +340 -0
  415. package/gsd-core/workflows/insert-phase.md +152 -0
  416. package/gsd-core/workflows/list-phase-assumptions.md +178 -0
  417. package/gsd-core/workflows/list-workspaces.md +57 -0
  418. package/gsd-core/workflows/manager.md +393 -0
  419. package/gsd-core/workflows/map-codebase.md +446 -0
  420. package/gsd-core/workflows/milestone-summary.md +224 -0
  421. package/gsd-core/workflows/model-domain.md +162 -0
  422. package/gsd-core/workflows/mvp-phase.md +222 -0
  423. package/gsd-core/workflows/new-milestone.md +635 -0
  424. package/gsd-core/workflows/new-project.md +1555 -0
  425. package/gsd-core/workflows/new-workspace.md +240 -0
  426. package/gsd-core/workflows/next.md +299 -0
  427. package/gsd-core/workflows/node-repair.md +92 -0
  428. package/gsd-core/workflows/note.md +158 -0
  429. package/gsd-core/workflows/pause-work.md +244 -0
  430. package/gsd-core/workflows/plan-milestone-gaps.md +281 -0
  431. package/gsd-core/workflows/plan-phase.md +1814 -0
  432. package/gsd-core/workflows/plan-review-convergence.md +346 -0
  433. package/gsd-core/workflows/plant-seed.md +230 -0
  434. package/gsd-core/workflows/pr-branch.md +157 -0
  435. package/gsd-core/workflows/profile-user.md +453 -0
  436. package/gsd-core/workflows/progress.md +699 -0
  437. package/gsd-core/workflows/quick.md +1017 -0
  438. package/gsd-core/workflows/reapply-patches.md +426 -0
  439. package/gsd-core/workflows/recommend-architecture.md +135 -0
  440. package/gsd-core/workflows/remove-phase.md +156 -0
  441. package/gsd-core/workflows/remove-workspace.md +108 -0
  442. package/gsd-core/workflows/resume-project.md +332 -0
  443. package/gsd-core/workflows/review.md +748 -0
  444. package/gsd-core/workflows/scan.md +107 -0
  445. package/gsd-core/workflows/secure-phase.md +182 -0
  446. package/gsd-core/workflows/session-report.md +146 -0
  447. package/gsd-core/workflows/settings-advanced.md +810 -0
  448. package/gsd-core/workflows/settings-integrations.md +312 -0
  449. package/gsd-core/workflows/settings.md +566 -0
  450. package/gsd-core/workflows/ship.md +405 -0
  451. package/gsd-core/workflows/sketch-wrap-up.md +286 -0
  452. package/gsd-core/workflows/sketch.md +361 -0
  453. package/gsd-core/workflows/spec-phase.md +263 -0
  454. package/gsd-core/workflows/spike-wrap-up.md +307 -0
  455. package/gsd-core/workflows/spike.md +453 -0
  456. package/gsd-core/workflows/stats.md +80 -0
  457. package/gsd-core/workflows/sync-skills.md +182 -0
  458. package/gsd-core/workflows/testing-strategy.md +122 -0
  459. package/gsd-core/workflows/thread.md +222 -0
  460. package/gsd-core/workflows/transition.md +694 -0
  461. package/gsd-core/workflows/ui-phase.md +328 -0
  462. package/gsd-core/workflows/ui-review.md +193 -0
  463. package/gsd-core/workflows/ultraplan-phase.md +199 -0
  464. package/gsd-core/workflows/undo.md +314 -0
  465. package/gsd-core/workflows/update.md +496 -0
  466. package/gsd-core/workflows/validate-phase.md +181 -0
  467. package/gsd-core/workflows/verify-phase.md +544 -0
  468. package/gsd-core/workflows/verify-work.md +781 -0
  469. package/hooks/dist/gsd-check-update-worker.js +108 -0
  470. package/hooks/dist/gsd-check-update.js +66 -0
  471. package/hooks/dist/gsd-config-reload.js +133 -0
  472. package/hooks/dist/gsd-context-monitor.js +195 -0
  473. package/hooks/dist/gsd-cursor-post-tool.js +75 -0
  474. package/hooks/dist/gsd-cursor-session-start.js +52 -0
  475. package/hooks/dist/gsd-graphify-update.sh +158 -0
  476. package/hooks/dist/gsd-phase-boundary.sh +47 -0
  477. package/hooks/dist/gsd-prompt-guard.js +97 -0
  478. package/hooks/dist/gsd-read-guard.js +101 -0
  479. package/hooks/dist/gsd-read-injection-scanner.js +203 -0
  480. package/hooks/dist/gsd-session-state.sh +59 -0
  481. package/hooks/dist/gsd-statusline.js +566 -0
  482. package/hooks/dist/gsd-update-banner.js +138 -0
  483. package/hooks/dist/gsd-validate-commit.sh +57 -0
  484. package/hooks/dist/gsd-workflow-guard.js +167 -0
  485. package/hooks/dist/gsd-worktree-path-guard.js +169 -0
  486. package/hooks/dist/lib/git-cmd.js +150 -0
  487. package/hooks/dist/lib/gsd-graphify-rebuild.sh +65 -0
  488. package/hooks/dist/managed-hooks-registry.cjs +38 -0
  489. package/hooks/gsd-check-update-worker.js +108 -0
  490. package/hooks/gsd-check-update.js +66 -0
  491. package/hooks/gsd-config-reload.js +133 -0
  492. package/hooks/gsd-context-monitor.js +195 -0
  493. package/hooks/gsd-cursor-post-tool.js +75 -0
  494. package/hooks/gsd-cursor-session-start.js +52 -0
  495. package/hooks/gsd-graphify-update.sh +158 -0
  496. package/hooks/gsd-phase-boundary.sh +47 -0
  497. package/hooks/gsd-prompt-guard.js +97 -0
  498. package/hooks/gsd-read-guard.js +101 -0
  499. package/hooks/gsd-read-injection-scanner.js +203 -0
  500. package/hooks/gsd-session-state.sh +59 -0
  501. package/hooks/gsd-statusline.js +566 -0
  502. package/hooks/gsd-update-banner.js +138 -0
  503. package/hooks/gsd-validate-commit.sh +57 -0
  504. package/hooks/gsd-workflow-guard.js +167 -0
  505. package/hooks/gsd-worktree-path-guard.js +169 -0
  506. package/hooks/hooks.json +69 -0
  507. package/hooks/lib/git-cmd.js +150 -0
  508. package/hooks/lib/gsd-graphify-rebuild.sh +65 -0
  509. package/hooks/managed-hooks-registry.cjs +38 -0
  510. package/package.json +115 -0
  511. package/scripts/affected-tests-lib.cjs +542 -0
  512. package/scripts/audit-workflow-script-paths.cjs +73 -0
  513. package/scripts/base64-scan.sh +351 -0
  514. package/scripts/build-hooks.js +247 -0
  515. package/scripts/changeset/README.md +129 -0
  516. package/scripts/changeset/cli.cjs +590 -0
  517. package/scripts/changeset/github-release-notes.cjs +199 -0
  518. package/scripts/changeset/lint.cjs +111 -0
  519. package/scripts/changeset/new.cjs +137 -0
  520. package/scripts/changeset/parse.cjs +114 -0
  521. package/scripts/changeset/render.cjs +34 -0
  522. package/scripts/changeset/serialize.cjs +130 -0
  523. package/scripts/check-alias-drift.cjs +114 -0
  524. package/scripts/check-env.cjs +312 -0
  525. package/scripts/check-npm-integrity.cjs +215 -0
  526. package/scripts/ci-guard-runner.cjs +22 -0
  527. package/scripts/ci-prepare-test-scope.cjs +51 -0
  528. package/scripts/ci-rebase-check.cjs +86 -0
  529. package/scripts/ci-test-scope.cjs +431 -0
  530. package/scripts/command-contract-helpers.cjs +64 -0
  531. package/scripts/diff-touches-shipped-paths.cjs +155 -0
  532. package/scripts/fix-slash-commands.cjs +147 -0
  533. package/scripts/gen-inventory-manifest.cjs +115 -0
  534. package/scripts/gen-research-agents.cjs +276 -0
  535. package/scripts/generate-package-identity.cjs +125 -0
  536. package/scripts/issue-dedupe.cjs +278 -0
  537. package/scripts/lib/allowlist-ratchet.cjs +136 -0
  538. package/scripts/lib/cli-exit.cjs +56 -0
  539. package/scripts/lint-command-contract.cjs +114 -0
  540. package/scripts/lint-descriptions.cjs +87 -0
  541. package/scripts/lint-docs-required.cjs +222 -0
  542. package/scripts/lint-legacy-dir-name.cjs +160 -0
  543. package/scripts/lint-package-identity-drift.cjs +141 -0
  544. package/scripts/lint-pr-check-project-dir.cjs +99 -0
  545. package/scripts/lint-shell-command-projection-drift.cjs +62 -0
  546. package/scripts/lint-skill-deps.cjs +185 -0
  547. package/scripts/lint-test-file-count.allowlist.json +135 -0
  548. package/scripts/lint-test-file-count.cjs +246 -0
  549. package/scripts/mutation-matrix.cjs +222 -0
  550. package/scripts/pr-template-policy.cjs +268 -0
  551. package/scripts/prompt-injection-scan.sh +207 -0
  552. package/scripts/release-notes/discord-release-summary.cjs +373 -0
  553. package/scripts/release-notes/format-github-release-notes.cjs +261 -0
  554. package/scripts/release-tarball-smoke.cjs +629 -0
  555. package/scripts/research-profiles.cjs +149 -0
  556. package/scripts/run-affected-tests.cjs +7 -0
  557. package/scripts/run-cross-platform-tests.cjs +67 -0
  558. package/scripts/run-tests.cjs +315 -0
  559. package/scripts/secret-scan-lint.sh +231 -0
  560. package/scripts/secret-scan.sh +358 -0
  561. package/scripts/setup-branch-protection.sh +236 -0
  562. package/scripts/strip-prose-atrefs.cjs +106 -0
  563. package/scripts/sync-manifest-versions.cjs +119 -0
  564. package/scripts/sync-rulesets.sh +34 -0
  565. package/scripts/sync-runtime-launcher.cjs +399 -0
  566. package/scripts/test-failure-reasons.cjs +34 -0
  567. package/scripts/verify-npm-publish.cjs +240 -0
  568. package/scripts/workflow-policy.cjs +450 -0
@@ -0,0 +1,77 @@
1
+ # GSD Canonical Artifact Registry
2
+
3
+ This directory contains the template files for every artifact that GSD workflows officially produce. The table below is the authoritative index: **if a `.planning/` root file is not listed here, `gsd-health` will flag it as W019** (unrecognized artifact).
4
+
5
+ Agents should query this file before treating a `.planning/` file as authoritative. If the file name does not appear below, it is not a canonical GSD artifact.
6
+
7
+ ---
8
+
9
+ ## `.planning/` Root Artifacts
10
+
11
+ These files live directly at `.planning/` — not inside phase subdirectories.
12
+
13
+ | File | Template | Produced by | Purpose |
14
+ |------|----------|-------------|---------|
15
+ | `PROJECT.md` | `project.md` | `/gsd:new-project` | Project identity, goals, requirements summary |
16
+ | `ROADMAP.md` | `roadmap.md` | `/gsd:new-milestone`, `/gsd:new-project` | Phase plan with milestones and progress tracking |
17
+ | `STATE.md` | `state.md` | `/gsd:new-project`, `/gsd:health --repair` | Current session state, active phase, last activity |
18
+ | `REQUIREMENTS.md` | `requirements.md` | `/gsd:new-milestone` | Functional requirements with traceability |
19
+ | `MILESTONES.md` | `milestone.md` | `/gsd:complete-milestone` | Log of completed milestones with accomplishments |
20
+ | `BACKLOG.md` | *(inline)* | `/gsd-add-backlog` | Pending ideas and deferred work |
21
+ | `LEARNINGS.md` | *(inline)* | `/gsd:extract-learnings`, `/gsd:execute-phase` | Phase retrospective learnings for future plans |
22
+ | `THREADS.md` | *(inline)* | `/gsd:thread` | Persistent discussion threads |
23
+ | `config.json` | `config.json` | `/gsd:new-project`, `/gsd:health --repair` | Project-specific GSD configuration |
24
+ | `CLAUDE.md` | `claude-md.md` | `/gsd-profile` | Auto-assembled Claude Code context file |
25
+ | `RETROSPECTIVE.md` | *(inline)* | `/gsd:complete-milestone` | Living milestone retrospective updated at each milestone close |
26
+
27
+ ### Version-stamped artifacts (pattern: `vX.Y-*.md`)
28
+
29
+ | Pattern | Produced by | Purpose |
30
+ |---------|-------------|---------|
31
+ | `vX.Y-MILESTONE-AUDIT.md` | `/gsd:audit-milestone` | Milestone audit report before archiving |
32
+
33
+ These files are archived to `.planning/milestones/` by `/gsd:complete-milestone`. Finding them at the `.planning/` root after completion indicates the archive step was skipped.
34
+
35
+ ---
36
+
37
+ ## Phase Subdirectory Artifacts (`.planning/phases/NN-name/`)
38
+
39
+ These files live inside a phase directory. They are NOT checked by W019 (which only inspects the `.planning/` root).
40
+
41
+ | File Pattern | Template | Produced by | Purpose |
42
+ |-------------|----------|-------------|---------|
43
+ | `NN-MM-PLAN.md` | `phase-prompt.md` | `/gsd:plan-phase` | Executable implementation plan |
44
+ | `NN-MM-SUMMARY.md` | `summary.md` | `/gsd:execute-phase` | Post-execution summary with learnings |
45
+ | `NN-CONTEXT.md` | `context.md` | `/gsd:discuss-phase` | Scoped discussion decisions for the phase |
46
+ | `NN-RESEARCH.md` | `research.md` | `/gsd:plan-phase`, `/gsd:plan-phase --research-phase <N>` | Technical research for the phase |
47
+ | `NN-VALIDATION.md` | `VALIDATION.md` | `/gsd:plan-phase` (Nyquist) | Validation architecture (Nyquist method) |
48
+ | `NN-UAT.md` | `UAT.md` | `/gsd:validate-phase` | User acceptance test results |
49
+ | `NN-PATTERNS.md` | *(inline)* | `/gsd:plan-phase` (pattern mapper) | Analog file mapping for the phase |
50
+ | `NN-UI-SPEC.md` | `UI-SPEC.md` | `/gsd:ui-phase` | UI design contract |
51
+ | `NN-SECURITY.md` | `SECURITY.md` | `/gsd:secure-phase` | Security threat model |
52
+ | `NN-AI-SPEC.md` | `AI-SPEC.md` | `/gsd:ai-integration-phase` | AI integration spec with eval strategy |
53
+ | `NN-DEBUG.md` | `DEBUG.md` | `/gsd:debug` | Debug session log |
54
+ | `NN-REVIEWS.md` | *(inline)* | `/gsd:review` | Cross-AI review feedback |
55
+
56
+ ---
57
+
58
+ ## Milestone Archive (`.planning/milestones/`)
59
+
60
+ Files archived by `/gsd:complete-milestone`. These are never checked by W019.
61
+
62
+ | File Pattern | Source |
63
+ |-------------|--------|
64
+ | `vX.Y-ROADMAP.md` | Snapshot of ROADMAP.md at milestone close |
65
+ | `vX.Y-REQUIREMENTS.md` | Snapshot of REQUIREMENTS.md at milestone close |
66
+ | `vX.Y-MILESTONE-AUDIT.md` | Moved from `.planning/` root |
67
+ | `vX.Y-phases/` | Archived phase directories (if `--archive-phases` used) |
68
+
69
+ ---
70
+
71
+ ## Adding a New Canonical Artifact
72
+
73
+ When a new workflow produces a `.planning/` root file:
74
+
75
+ 1. Add the file name to `CANONICAL_EXACT` in `gsd-core/bin/lib/artifacts.cjs`
76
+ 2. Add a row to the **`.planning/` Root Artifacts** table above
77
+ 3. Add the template to `gsd-core/templates/` if one exists
@@ -0,0 +1,61 @@
1
+ ---
2
+ phase: {N}
3
+ slug: {phase-slug}
4
+ status: draft
5
+ threats_open: 0
6
+ asvs_level: 1
7
+ created: {date}
8
+ ---
9
+
10
+ # Phase {N} — Security
11
+
12
+ > Per-phase security contract: threat register, accepted risks, and audit trail.
13
+
14
+ ---
15
+
16
+ ## Trust Boundaries
17
+
18
+ | Boundary | Description | Data Crossing |
19
+ |----------|-------------|---------------|
20
+ | {boundary} | {description} | {data type / sensitivity} |
21
+
22
+ ---
23
+
24
+ ## Threat Register
25
+
26
+ | Threat ID | Category | Component | Disposition | Mitigation | Status |
27
+ |-----------|----------|-----------|-------------|------------|--------|
28
+ | T-{N}-01 | {STRIDE category} | {component} | {mitigate / accept / transfer} | {control or reference} | open |
29
+
30
+ *Status: open · closed*
31
+ *Disposition: mitigate (implementation required) · accept (documented risk) · transfer (third-party)*
32
+
33
+ ---
34
+
35
+ ## Accepted Risks Log
36
+
37
+ | Risk ID | Threat Ref | Rationale | Accepted By | Date |
38
+ |---------|------------|-----------|-------------|------|
39
+
40
+ *Accepted risks do not resurface in future audit runs.*
41
+
42
+ *If none: "No accepted risks."*
43
+
44
+ ---
45
+
46
+ ## Security Audit Trail
47
+
48
+ | Audit Date | Threats Total | Closed | Open | Run By |
49
+ |------------|---------------|--------|------|--------|
50
+ | {YYYY-MM-DD} | {N} | {N} | {N} | {name / agent} |
51
+
52
+ ---
53
+
54
+ ## Sign-Off
55
+
56
+ - [ ] All threats have a disposition (mitigate / accept / transfer)
57
+ - [ ] Accepted risks documented in Accepted Risks Log
58
+ - [ ] `threats_open: 0` confirmed
59
+ - [ ] `status: verified` set in frontmatter
60
+
61
+ **Approval:** {pending / verified YYYY-MM-DD}
@@ -0,0 +1,265 @@
1
+ # UAT Template
2
+
3
+ Template for `.planning/phases/XX-name/{phase_num}-UAT.md` — persistent UAT session tracking.
4
+
5
+ ---
6
+
7
+ ## File Template
8
+
9
+ ```markdown
10
+ ---
11
+ status: testing | partial | complete | diagnosed
12
+ phase: XX-name
13
+ source: [list of SUMMARY.md files tested]
14
+ started: [ISO timestamp]
15
+ updated: [ISO timestamp]
16
+ ---
17
+
18
+ ## Current Test
19
+ <!-- OVERWRITE each test - shows where we are -->
20
+
21
+ number: [N]
22
+ name: [test name]
23
+ expected: |
24
+ [what user should observe]
25
+ awaiting: user response
26
+
27
+ ## Tests
28
+
29
+ ### 1. [Test Name]
30
+ expected: [observable behavior - what user should see]
31
+ result: [pending]
32
+
33
+ ### 2. [Test Name]
34
+ expected: [observable behavior]
35
+ result: pass
36
+
37
+ ### 3. [Test Name]
38
+ expected: [observable behavior]
39
+ result: issue
40
+ reported: "[verbatim user response]"
41
+ severity: major
42
+
43
+ ### 4. [Test Name]
44
+ expected: [observable behavior]
45
+ result: skipped
46
+ reason: [why skipped]
47
+
48
+ ### 5. [Test Name]
49
+ expected: [observable behavior]
50
+ result: blocked
51
+ blocked_by: server | physical-device | release-build | third-party | prior-phase
52
+ reason: [why blocked]
53
+
54
+ ...
55
+
56
+ ## Summary
57
+
58
+ total: [N]
59
+ passed: [N]
60
+ issues: [N]
61
+ pending: [N]
62
+ skipped: [N]
63
+ blocked: [N]
64
+
65
+ ## Gaps
66
+
67
+ <!-- YAML format for plan-phase --gaps consumption -->
68
+ - truth: "[expected behavior from test]"
69
+ status: failed
70
+ reason: "User reported: [verbatim response]"
71
+ severity: blocker | major | minor | cosmetic
72
+ test: [N]
73
+ root_cause: "" # Filled by diagnosis
74
+ artifacts: [] # Filled by diagnosis
75
+ missing: [] # Filled by diagnosis
76
+ debug_session: "" # Filled by diagnosis
77
+ ```
78
+
79
+ ---
80
+
81
+ <section_rules>
82
+
83
+ **Frontmatter:**
84
+ - `status`: OVERWRITE - "testing", "partial", or "complete"
85
+ - `phase`: IMMUTABLE - set on creation
86
+ - `source`: IMMUTABLE - SUMMARY files being tested
87
+ - `started`: IMMUTABLE - set on creation
88
+ - `updated`: OVERWRITE - update on every change
89
+
90
+ **Current Test:**
91
+ - OVERWRITE entirely on each test transition
92
+ - Shows which test is active and what's awaited
93
+ - On completion: "[testing complete]"
94
+
95
+ **Tests:**
96
+ - Each test: OVERWRITE result field when user responds
97
+ - `result` values: [pending], pass, issue, skipped, blocked
98
+ - If issue: add `reported` (verbatim) and `severity` (inferred)
99
+ - If skipped: add `reason` if provided
100
+ - If blocked: add `blocked_by` (tag) and `reason` (if provided)
101
+
102
+ **Summary:**
103
+ - OVERWRITE counts after each response
104
+ - Tracks: total, passed, issues, pending, skipped
105
+
106
+ **Gaps:**
107
+ - APPEND only when issue found (YAML format)
108
+ - After diagnosis: fill `root_cause`, `artifacts`, `missing`, `debug_session`
109
+ - This section feeds directly into /gsd:plan-phase --gaps
110
+
111
+ </section_rules>
112
+
113
+ <diagnosis_lifecycle>
114
+
115
+ **After testing complete (status: complete), if gaps exist:**
116
+
117
+ 1. User runs diagnosis (from verify-work offer or manually)
118
+ 2. diagnose-issues workflow spawns parallel debug agents
119
+ 3. Each agent investigates one gap, returns root cause
120
+ 4. UAT.md Gaps section updated with diagnosis:
121
+ - Each gap gets `root_cause`, `artifacts`, `missing`, `debug_session` filled
122
+ 5. status → "diagnosed"
123
+ 6. Ready for /gsd:plan-phase --gaps with root causes
124
+
125
+ **After diagnosis:**
126
+ ```yaml
127
+ ## Gaps
128
+
129
+ - truth: "Comment appears immediately after submission"
130
+ status: failed
131
+ reason: "User reported: works but doesn't show until I refresh the page"
132
+ severity: major
133
+ test: 2
134
+ root_cause: "useEffect in CommentList.tsx missing commentCount dependency"
135
+ artifacts:
136
+ - path: "src/components/CommentList.tsx"
137
+ issue: "useEffect missing dependency"
138
+ missing:
139
+ - "Add commentCount to useEffect dependency array"
140
+ debug_session: ".planning/debug/comment-not-refreshing.md"
141
+ ```
142
+
143
+ </diagnosis_lifecycle>
144
+
145
+ <lifecycle>
146
+
147
+ **Creation:** When /gsd:verify-work starts new session
148
+ - Extract tests from SUMMARY.md files
149
+ - Set status to "testing"
150
+ - Current Test points to test 1
151
+ - All tests have result: [pending]
152
+
153
+ **During testing:**
154
+ - Present test from Current Test section
155
+ - User responds with pass confirmation or issue description
156
+ - Update test result (pass/issue/skipped)
157
+ - Update Summary counts
158
+ - If issue: append to Gaps section (YAML format), infer severity
159
+ - Move Current Test to next pending test
160
+
161
+ **On completion:**
162
+ - status → "complete"
163
+ - Current Test → "[testing complete]"
164
+ - Commit file
165
+ - Present summary with next steps
166
+
167
+ **Partial completion:**
168
+ - status → "partial" (if pending, blocked, or unresolved skipped tests remain)
169
+ - Current Test → "[testing paused — {N} items outstanding]"
170
+ - Commit file
171
+ - Present summary with outstanding items highlighted
172
+
173
+ **Resuming partial session:**
174
+ - `/gsd:verify-work {phase}` picks up from first pending/blocked test
175
+ - When all items resolved, status advances to "complete"
176
+
177
+ **Resume after /clear:**
178
+ 1. Read frontmatter → know phase and status
179
+ 2. Read Current Test → know where we are
180
+ 3. Find first [pending] result → continue from there
181
+ 4. Summary shows progress so far
182
+
183
+ </lifecycle>
184
+
185
+ <severity_guide>
186
+
187
+ Severity is INFERRED from user's natural language, never asked.
188
+
189
+ | User describes | Infer |
190
+ |----------------|-------|
191
+ | Crash, error, exception, fails completely, unusable | blocker |
192
+ | Doesn't work, nothing happens, wrong behavior, missing | major |
193
+ | Works but..., slow, weird, minor, small issue | minor |
194
+ | Color, font, spacing, alignment, visual, looks off | cosmetic |
195
+
196
+ Default: **major** (safe default, user can clarify if wrong)
197
+
198
+ </severity_guide>
199
+
200
+ <good_example>
201
+ ```markdown
202
+ ---
203
+ status: diagnosed
204
+ phase: 04-comments
205
+ source: 04-01-SUMMARY.md, 04-02-SUMMARY.md
206
+ started: 2025-01-15T10:30:00Z
207
+ updated: 2025-01-15T10:45:00Z
208
+ ---
209
+
210
+ ## Current Test
211
+
212
+ [testing complete]
213
+
214
+ ## Tests
215
+
216
+ ### 1. View Comments on Post
217
+ expected: Comments section expands, shows count and comment list
218
+ result: pass
219
+
220
+ ### 2. Create Top-Level Comment
221
+ expected: Submit comment via rich text editor, appears in list with author info
222
+ result: issue
223
+ reported: "works but doesn't show until I refresh the page"
224
+ severity: major
225
+
226
+ ### 3. Reply to a Comment
227
+ expected: Click Reply, inline composer appears, submit shows nested reply
228
+ result: pass
229
+
230
+ ### 4. Visual Nesting
231
+ expected: 3+ level thread shows indentation, left borders, caps at reasonable depth
232
+ result: pass
233
+
234
+ ### 5. Delete Own Comment
235
+ expected: Click delete on own comment, removed or shows [deleted] if has replies
236
+ result: pass
237
+
238
+ ### 6. Comment Count
239
+ expected: Post shows accurate count, increments when adding comment
240
+ result: pass
241
+
242
+ ## Summary
243
+
244
+ total: 6
245
+ passed: 5
246
+ issues: 1
247
+ pending: 0
248
+ skipped: 0
249
+
250
+ ## Gaps
251
+
252
+ - truth: "Comment appears immediately after submission in list"
253
+ status: failed
254
+ reason: "User reported: works but doesn't show until I refresh the page"
255
+ severity: major
256
+ test: 2
257
+ root_cause: "useEffect in CommentList.tsx missing commentCount dependency"
258
+ artifacts:
259
+ - path: "src/components/CommentList.tsx"
260
+ issue: "useEffect missing dependency"
261
+ missing:
262
+ - "Add commentCount to useEffect dependency array"
263
+ debug_session: ".planning/debug/comment-not-refreshing.md"
264
+ ```
265
+ </good_example>
@@ -0,0 +1,100 @@
1
+ ---
2
+ phase: {N}
3
+ slug: {phase-slug}
4
+ status: draft
5
+ shadcn_initialized: false
6
+ preset: none
7
+ created: {date}
8
+ ---
9
+
10
+ # Phase {N} — UI Design Contract
11
+
12
+ > Visual and interaction contract for frontend phases. Generated by gsd-ui-researcher, verified by gsd-ui-checker.
13
+
14
+ ---
15
+
16
+ ## Design System
17
+
18
+ | Property | Value |
19
+ |----------|-------|
20
+ | Tool | {shadcn / none} |
21
+ | Preset | {preset string or "not applicable"} |
22
+ | Component library | {radix / base-ui / none} |
23
+ | Icon library | {library} |
24
+ | Font | {font} |
25
+
26
+ ---
27
+
28
+ ## Spacing Scale
29
+
30
+ Declared values (must be multiples of 4):
31
+
32
+ | Token | Value | Usage |
33
+ |-------|-------|-------|
34
+ | xs | 4px | Icon gaps, inline padding |
35
+ | sm | 8px | Compact element spacing |
36
+ | md | 16px | Default element spacing |
37
+ | lg | 24px | Section padding |
38
+ | xl | 32px | Layout gaps |
39
+ | 2xl | 48px | Major section breaks |
40
+ | 3xl | 64px | Page-level spacing |
41
+
42
+ Exceptions: {list any, or "none"}
43
+
44
+ ---
45
+
46
+ ## Typography
47
+
48
+ | Role | Size | Weight | Line Height |
49
+ |------|------|--------|-------------|
50
+ | Body | {px} | {weight} | {ratio} |
51
+ | Label | {px} | {weight} | {ratio} |
52
+ | Heading | {px} | {weight} | {ratio} |
53
+ | Display | {px} | {weight} | {ratio} |
54
+
55
+ ---
56
+
57
+ ## Color
58
+
59
+ | Role | Value | Usage |
60
+ |------|-------|-------|
61
+ | Dominant (60%) | {hex} | Background, surfaces |
62
+ | Secondary (30%) | {hex} | Cards, sidebar, nav |
63
+ | Accent (10%) | {hex} | {list specific elements only} |
64
+ | Destructive | {hex} | Destructive actions only |
65
+
66
+ Accent reserved for: {explicit list — never "all interactive elements"}
67
+
68
+ ---
69
+
70
+ ## Copywriting Contract
71
+
72
+ | Element | Copy |
73
+ |---------|------|
74
+ | Primary CTA | {specific verb + noun} |
75
+ | Empty state heading | {copy} |
76
+ | Empty state body | {copy + next step} |
77
+ | Error state | {problem + solution path} |
78
+ | Destructive confirmation | {action name}: {confirmation copy} |
79
+
80
+ ---
81
+
82
+ ## Registry Safety
83
+
84
+ | Registry | Blocks Used | Safety Gate |
85
+ |----------|-------------|-------------|
86
+ | shadcn official | {list} | not required |
87
+ | {third-party name} | {list} | shadcn view + diff required |
88
+
89
+ ---
90
+
91
+ ## Checker Sign-Off
92
+
93
+ - [ ] Dimension 1 Copywriting: PASS
94
+ - [ ] Dimension 2 Visuals: PASS
95
+ - [ ] Dimension 3 Color: PASS
96
+ - [ ] Dimension 4 Typography: PASS
97
+ - [ ] Dimension 5 Spacing: PASS
98
+ - [ ] Dimension 6 Registry Safety: PASS
99
+
100
+ **Approval:** {pending / approved YYYY-MM-DD}
@@ -0,0 +1,76 @@
1
+ ---
2
+ phase: {N}
3
+ slug: {phase-slug}
4
+ status: draft
5
+ nyquist_compliant: false
6
+ wave_0_complete: false
7
+ created: {date}
8
+ ---
9
+
10
+ # Phase {N} — Validation Strategy
11
+
12
+ > Per-phase validation contract for feedback sampling during execution.
13
+
14
+ ---
15
+
16
+ ## Test Infrastructure
17
+
18
+ | Property | Value |
19
+ |----------|-------|
20
+ | **Framework** | {pytest 7.x / jest 29.x / vitest / go test / other} |
21
+ | **Config file** | {path or "none — Wave 0 installs"} |
22
+ | **Quick run command** | `{quick command}` |
23
+ | **Full suite command** | `{full command}` |
24
+ | **Estimated runtime** | ~{N} seconds |
25
+
26
+ ---
27
+
28
+ ## Sampling Rate
29
+
30
+ - **After every task commit:** Run `{quick run command}`
31
+ - **After every plan wave:** Run `{full suite command}`
32
+ - **Before `/gsd:verify-work`:** Full suite must be green
33
+ - **Max feedback latency:** {N} seconds
34
+
35
+ ---
36
+
37
+ ## Per-Task Verification Map
38
+
39
+ | Task ID | Plan | Wave | Requirement | Threat Ref | Secure Behavior | Test Type | Automated Command | File Exists | Status |
40
+ |---------|------|------|-------------|------------|-----------------|-----------|-------------------|-------------|--------|
41
+ | {N}-01-01 | 01 | 1 | REQ-{XX} | T-{N}-01 / — | {expected secure behavior or "N/A"} | unit | `{command}` | ✅ / ❌ W0 | ⬜ pending |
42
+
43
+ *Status: ⬜ pending · ✅ green · ❌ red · ⚠️ flaky*
44
+
45
+ ---
46
+
47
+ ## Wave 0 Requirements
48
+
49
+ - [ ] `{tests/test_file.py}` — stubs for REQ-{XX}
50
+ - [ ] `{tests/conftest.py}` — shared fixtures
51
+ - [ ] `{framework install}` — if no framework detected
52
+
53
+ *If none: "Existing infrastructure covers all phase requirements."*
54
+
55
+ ---
56
+
57
+ ## Manual-Only Verifications
58
+
59
+ | Behavior | Requirement | Why Manual | Test Instructions |
60
+ |----------|-------------|------------|-------------------|
61
+ | {behavior} | REQ-{XX} | {reason} | {steps} |
62
+
63
+ *If none: "All phase behaviors have automated verification."*
64
+
65
+ ---
66
+
67
+ ## Validation Sign-Off
68
+
69
+ - [ ] All tasks have `<automated>` verify or Wave 0 dependencies
70
+ - [ ] Sampling continuity: no 3 consecutive tasks without automated verify
71
+ - [ ] Wave 0 covers all MISSING references
72
+ - [ ] No watch-mode flags
73
+ - [ ] Feedback latency < {N}s
74
+ - [ ] `nyquist_compliant: true` set in frontmatter
75
+
76
+ **Approval:** {pending / approved YYYY-MM-DD}
@@ -0,0 +1,58 @@
1
+ # ADR-[NNNN]: Architecture for [PROJECT_TITLE]
2
+
3
+ - **Status:** [Proposed | Accepted]
4
+ - **Date:** [DATE]
5
+ - **Deciders:** [user / team]
6
+ - **Sources:** `DOMAIN-MODEL.md` (subdomain complexity), `PROJECT.md`, `REQUIREMENTS.md`
7
+
8
+ ## Context
9
+
10
+ [The problem and the forces. Pull the core/supporting/generic split and complexity from DOMAIN-MODEL.md. State the non-functional drivers that matter (scale, lifespan, audit/regulatory, integration count) and the team/ops constraints (team count, CD maturity). Keep it about *why a decision is needed*, not the decision.]
11
+
12
+ ## Decision
13
+
14
+ ### Axis A — domain-logic organization (per subdomain)
15
+
16
+ | Subdomain | Type (from DOMAIN-MODEL) | Rung | Why |
17
+ |-----------|--------------------------|------|-----|
18
+ | [core subdomain] | Core | [Transaction Script / Domain Model / + Hexagonal / + CQRS / + Event Sourcing] | [the concrete signal that justifies this rung] |
19
+ | [supporting] | Supporting | [usually Transaction Script] | [why] |
20
+ | [generic] | Generic | Buy / off-the-shelf | [why] |
21
+
22
+ ### Axis B — deployment topology
23
+
24
+ **Chosen:** [Modular Monolith (default) / Microservices / specific component extracted]
25
+
26
+ "You must be this tall" gates (required for microservices):
27
+ - Multiple independent teams needing independent deploy: [yes/no]
28
+ - CD / monitoring / DevOps maturity in place: [yes/no]
29
+ - Bounded contexts well-understood already: [yes/no]
30
+
31
+ [If any "no" → Modular Monolith. If a specific component is extracted, record the Hard-Parts disintegrators that justified it.]
32
+
33
+ ### Baseline note
34
+
35
+ [State how this compares to the default baseline — "modular monolith + Domain Model in the complex core + Transaction Script elsewhere + ADRs + fitness functions" — and where/why it deviates.]
36
+
37
+ ## Consequences
38
+
39
+ - **Positive:** [what this buys]
40
+ - **Negative / cost:** [the tax we accept]
41
+ - **Fitness functions to enforce the chosen boundaries:** [e.g., "no cross-module DB access," module dependency rules, "domain layer imports no framework"]
42
+
43
+ ## Alternatives considered (and rejected)
44
+
45
+ | Alternative | Why rejected |
46
+ |-------------|--------------|
47
+ | [e.g., Microservices now] | [e.g., single team, contexts still being learned — fails the "tall enough" gates] |
48
+ | [e.g., Hexagonal everywhere] | [e.g., most subdomains are CRUD — one-impl ports would be over-engineering] |
49
+
50
+ ## Over-/under-engineering check
51
+
52
+ For each non-floor rung chosen above, the **current, concrete requirement** that justifies it:
53
+ - [Rung] ← [the real adapter / scaling need / team / audit mandate that exists today]
54
+
55
+ [If no concrete requirement exists for a rung, drop to the floor. If a known requirement was ignored, raise the rung.]
56
+
57
+ ---
58
+ *Architecture decision. Next: `/gsd:plan-phase`. Test strategy will follow this shape (rich core → more unit tests; CRUD edges → integration tests).*