@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,178 @@
1
+ <purpose>
2
+ Autonomous audit-to-fix pipeline. Runs an audit, parses findings, classifies each as
3
+ auto-fixable vs manual-only, spawns executor agents for fixable issues, runs tests
4
+ after each fix, and commits atomically with finding IDs for traceability.
5
+ </purpose>
6
+
7
+ <available_agent_types>
8
+ - gsd-executor — executes a specific, scoped code change
9
+ </available_agent_types>
10
+
11
+ <process>
12
+
13
+ <step name="parse-arguments">
14
+ Extract flags from the user's invocation:
15
+
16
+ - `--max N` — maximum findings to fix (default: **5**)
17
+ - `--severity high|medium|all` — minimum severity to process (default: **medium**)
18
+ - `--dry-run` — classify findings without fixing (shows classification table only)
19
+ - `--source <audit>` — which audit to run (default: **audit-uat**)
20
+
21
+ Validate `--source` is a supported audit. Currently supported:
22
+ - `audit-uat`
23
+
24
+ If `--source` is not supported, stop with an error:
25
+ ```
26
+ Error: Unsupported audit source "{source}". Supported sources: audit-uat
27
+ ```
28
+ </step>
29
+
30
+ <step name="run-audit">
31
+ Invoke the source audit command and capture output.
32
+
33
+ For `audit-uat` source:
34
+ ```bash
35
+ _GSD_SHIM_NAME="gsd-tools.cjs"; _GSD_RUNTIME_ROOT="${RUNTIME_DIR:-$(git rev-parse --show-toplevel 2>/dev/null || pwd)}"; GSD_TOOLS="${_GSD_RUNTIME_ROOT}/gsd-core/bin/${_GSD_SHIM_NAME}"; if [ -f "$GSD_TOOLS" ]; then gsd_run() { node "$GSD_TOOLS" "$@"; }; elif [ -f "${_GSD_RUNTIME_ROOT}/.claude/gsd-core/bin/${_GSD_SHIM_NAME}" ]; then GSD_TOOLS="${_GSD_RUNTIME_ROOT}/.claude/gsd-core/bin/${_GSD_SHIM_NAME}"; gsd_run() { node "$GSD_TOOLS" "$@"; }; elif command -v gsd-tools >/dev/null 2>&1; then GSD_TOOLS="$(command -v gsd-tools)"; gsd_run() { "$GSD_TOOLS" "$@"; }; elif [ -f "$HOME/.claude/gsd-core/bin/${_GSD_SHIM_NAME}" ]; then GSD_TOOLS="$HOME/.claude/gsd-core/bin/${_GSD_SHIM_NAME}"; gsd_run() { node "$GSD_TOOLS" "$@"; }; else echo "ERROR: gsd-tools.cjs not found at $GSD_TOOLS and gsd-tools is not on PATH. Run: npx -y @therocketcode/gsd-core@latest --claude --local" >&2; exit 1; fi
36
+ INIT=$(gsd_run query audit-uat 2>/dev/null || echo "{}")
37
+ if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
38
+ ```
39
+
40
+ Read existing UAT and verification files to extract findings:
41
+ - Glob: `.planning/phases/*/*-UAT.md`
42
+ - Glob: `.planning/phases/*/*-VERIFICATION.md`
43
+
44
+ Parse each finding into a structured record:
45
+ - **ID** — sequential identifier (F-01, F-02, ...)
46
+ - **description** — concise summary of the issue
47
+ - **severity** — high, medium, or low
48
+ - **file_refs** — specific file paths referenced in the finding
49
+ </step>
50
+
51
+ <step name="classify-findings">
52
+ For each finding, classify as one of:
53
+
54
+ - **auto-fixable** — clear code change, specific file referenced, testable fix
55
+ - **manual-only** — requires design decisions, ambiguous scope, architectural changes, user input needed
56
+ - **skip** — severity below the `--severity` threshold
57
+
58
+ **Classification heuristics** (err on manual-only when uncertain):
59
+
60
+ Auto-fixable signals:
61
+ - References a specific file path + line number
62
+ - Describes a missing test or assertion
63
+ - Missing export, wrong import path, typo in identifier
64
+ - Clear single-file change with obvious expected behavior
65
+
66
+ Manual-only signals:
67
+ - Uses words like "consider", "evaluate", "design", "rethink"
68
+ - Requires new architecture or API changes
69
+ - Ambiguous scope or multiple valid approaches
70
+ - Requires user input or design decisions
71
+ - Cross-cutting concerns affecting multiple subsystems
72
+ - Performance or scalability issues without clear fix
73
+
74
+ **When uncertain, always classify as manual-only.**
75
+ </step>
76
+
77
+ <step name="present-classification">
78
+ Display the classification table:
79
+
80
+ ```
81
+ ## Audit-Fix Classification
82
+
83
+ | # | Finding | Severity | Classification | Reason |
84
+ |---|---------|----------|---------------|--------|
85
+ | F-01 | Missing export in index.ts | high | auto-fixable | Specific file, clear fix |
86
+ | F-02 | No error handling in payment flow | high | manual-only | Requires design decisions |
87
+ | F-03 | Test stub with 0 assertions | medium | auto-fixable | Clear test gap |
88
+ ```
89
+
90
+ If `--dry-run` was specified, **stop here and exit**. The classification table is the
91
+ final output — do not proceed to fixing.
92
+ </step>
93
+
94
+ <step name="fix-loop">
95
+ For each **auto-fixable** finding (up to `--max`, ordered by severity desc):
96
+
97
+ **a. Spawn executor agent** (runs in a subagent — no output until it returns, ~1–5 min; expected, not a freeze)**:**
98
+ ```
99
+ Agent(
100
+ prompt="Fix finding {ID}: {description}. Files: {file_refs}. Make the minimal change to resolve this specific finding. Do not refactor surrounding code.",
101
+ subagent_type="gsd-executor"
102
+ )
103
+ ```
104
+
105
+ > **ORCHESTRATOR RULE — CODEX RUNTIME**: After calling Agent() above, stop working on this task immediately. Do not read more files, edit code, or run tests related to this task while the subagent is active. Wait for the subagent to return its result. This prevents duplicate work, conflicting edits, and wasted context. Only resume when the subagent result is available.
106
+
107
+ **b. Run tests:**
108
+ ```bash
109
+ AUDIT_TEST_CMD=$(gsd_run query config-get workflow.test_command --default "" 2>/dev/null || true)
110
+ if [ -z "$AUDIT_TEST_CMD" ]; then
111
+ if [ -f "Makefile" ] && grep -q "^test:" Makefile; then
112
+ AUDIT_TEST_CMD="make test"
113
+ elif [ -f "Justfile" ] || [ -f "justfile" ]; then
114
+ AUDIT_TEST_CMD="just test"
115
+ elif [ -f "package.json" ]; then
116
+ AUDIT_TEST_CMD="npm test"
117
+ elif [ -f "Cargo.toml" ]; then
118
+ AUDIT_TEST_CMD="cargo test"
119
+ elif [ -f "go.mod" ]; then
120
+ AUDIT_TEST_CMD="go test ./..."
121
+ elif [ -f "pyproject.toml" ] || [ -f "requirements.txt" ]; then
122
+ AUDIT_TEST_CMD="python -m pytest -x -q --tb=short"
123
+ else
124
+ AUDIT_TEST_CMD="true"
125
+ fi
126
+ fi
127
+ eval "$AUDIT_TEST_CMD" 2>&1 | tail -20
128
+ ```
129
+
130
+ **c. If tests pass** — commit atomically:
131
+ ```bash
132
+ git add {changed_files}
133
+ git commit -m "fix({scope}): resolve {ID} — {description}"
134
+ ```
135
+ The commit message **must** include the finding ID (e.g., F-01) for traceability.
136
+
137
+ **d. If tests fail** — revert changes, mark finding as `fix-failed`, and **stop the pipeline**:
138
+ ```bash
139
+ git checkout -- {changed_files} 2>/dev/null
140
+ ```
141
+ Log the failure reason and stop processing — do not continue to the next finding.
142
+ A test failure indicates the codebase may be in an unexpected state, so the pipeline
143
+ must halt to avoid cascading issues. Remaining auto-fixable findings will appear in the
144
+ report as `not-attempted`.
145
+ </step>
146
+
147
+ <step name="report">
148
+ Present the final summary:
149
+
150
+ ```
151
+ ## Audit-Fix Complete
152
+
153
+ **Source:** {audit_command}
154
+ **Findings:** {total} total, {auto} auto-fixable, {manual} manual-only
155
+ **Fixed:** {fixed_count}/{auto} auto-fixable findings
156
+ **Failed:** {failed_count} (reverted)
157
+
158
+ | # | Finding | Status | Commit |
159
+ |---|---------|--------|--------|
160
+ | F-01 | Missing export | Fixed | abc1234 |
161
+ | F-03 | Test stub | Fix failed | (reverted) |
162
+
163
+ ### Manual-only findings (require developer attention):
164
+ - F-02: No error handling in payment flow — requires design decisions
165
+ ```
166
+ </step>
167
+
168
+ </process>
169
+
170
+ <success_criteria>
171
+ - Auto-fixable findings processed sequentially until --max reached or a test failure stops the pipeline
172
+ - Tests pass after each committed fix (no broken commits)
173
+ - Failed fixes are reverted cleanly (no partial changes left)
174
+ - Pipeline stops after the first test failure (no cascading fixes)
175
+ - Every commit message contains the finding ID
176
+ - Manual-only findings are surfaced for developer attention
177
+ - --dry-run produces a useful standalone classification table
178
+ </success_criteria>
@@ -0,0 +1,360 @@
1
+ <purpose>
2
+ Verify milestone achieved its definition of done by aggregating phase verifications, checking cross-phase integration, and assessing requirements coverage. Reads existing VERIFICATION.md files (phases already verified during execute-phase), aggregates tech debt and deferred gaps, then spawns integration checker for cross-phase wiring.
3
+ </purpose>
4
+
5
+ <required_reading>
6
+ Read all files referenced by the invoking prompt's execution_context before starting.
7
+ </required_reading>
8
+
9
+ <available_agent_types>
10
+ Valid GSD subagent types (use exact names — do not fall back to 'general-purpose'):
11
+ - gsd-integration-checker — Checks cross-phase integration
12
+ </available_agent_types>
13
+
14
+ <process>
15
+
16
+ ## 0. Initialize Milestone Context
17
+
18
+ ```bash
19
+ _GSD_SHIM_NAME="gsd-tools.cjs"; _GSD_RUNTIME_ROOT="${RUNTIME_DIR:-$(git rev-parse --show-toplevel 2>/dev/null || pwd)}"; GSD_TOOLS="${_GSD_RUNTIME_ROOT}/gsd-core/bin/${_GSD_SHIM_NAME}"; if [ -f "$GSD_TOOLS" ]; then gsd_run() { node "$GSD_TOOLS" "$@"; }; elif [ -f "${_GSD_RUNTIME_ROOT}/.claude/gsd-core/bin/${_GSD_SHIM_NAME}" ]; then GSD_TOOLS="${_GSD_RUNTIME_ROOT}/.claude/gsd-core/bin/${_GSD_SHIM_NAME}"; gsd_run() { node "$GSD_TOOLS" "$@"; }; elif command -v gsd-tools >/dev/null 2>&1; then GSD_TOOLS="$(command -v gsd-tools)"; gsd_run() { "$GSD_TOOLS" "$@"; }; elif [ -f "$HOME/.claude/gsd-core/bin/${_GSD_SHIM_NAME}" ]; then GSD_TOOLS="$HOME/.claude/gsd-core/bin/${_GSD_SHIM_NAME}"; gsd_run() { node "$GSD_TOOLS" "$@"; }; else echo "ERROR: gsd-tools.cjs not found at $GSD_TOOLS and gsd-tools is not on PATH. Run: npx -y @therocketcode/gsd-core@latest --claude --local" >&2; exit 1; fi
20
+ INIT=$(gsd_run query init.milestone-op)
21
+ if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
22
+ AGENT_SKILLS_CHECKER=$(gsd_run query agent-skills gsd-integration-checker)
23
+ ```
24
+
25
+ Extract from init JSON: `milestone_version`, `milestone_name`, `phase_count`, `completed_phases`, `commit_docs`.
26
+
27
+ Resolve integration checker model:
28
+ ```bash
29
+ integration_checker_model=$(gsd_run query resolve-model gsd-integration-checker --raw)
30
+ ```
31
+
32
+ ## 1. Determine Milestone Scope
33
+
34
+ ```bash
35
+ # Get phases in milestone (sorted numerically, handles decimals)
36
+ gsd_run query phases.list
37
+ ```
38
+
39
+ - Parse version from arguments or detect current from ROADMAP.md
40
+ - Identify all phase directories in scope
41
+ - Extract milestone definition of done from ROADMAP.md
42
+ - Extract requirements mapped to this milestone from REQUIREMENTS.md
43
+
44
+ ## 2. Read All Phase Verifications
45
+
46
+ For each phase directory, read the VERIFICATION.md:
47
+
48
+ ```bash
49
+ # For each phase, use find-phase to resolve the directory (handles archived phases)
50
+ PHASE_INFO=$(gsd_run query find-phase 01 --raw)
51
+ # Extract directory from JSON, then read VERIFICATION.md from that directory
52
+ # Repeat for each phase number from ROADMAP.md
53
+ ```
54
+
55
+ From each VERIFICATION.md, extract:
56
+ - **Status:** passed | gaps_found
57
+ - **Critical gaps:** (if any — these are blockers)
58
+ - **Non-critical gaps:** tech debt, deferred items, warnings
59
+ - **Anti-patterns found:** TODOs, stubs, placeholders
60
+ - **Requirements coverage:** which requirements satisfied/blocked
61
+
62
+ If a phase is missing VERIFICATION.md, flag it as "unverified phase" — this is a blocker.
63
+
64
+ ## 3. Spawn Integration Checker
65
+
66
+ With phase context collected:
67
+
68
+ Extract `MILESTONE_REQ_IDS` from REQUIREMENTS.md traceability table — all REQ-IDs assigned to phases in this milestone.
69
+
70
+ Print: "Spawning integration checker (runs in a subagent — no output until it returns, ~1–5 min; expected, not a freeze)"
71
+
72
+ ```
73
+ Agent(
74
+ prompt="Check cross-phase integration and E2E flows.
75
+
76
+ Phases: {phase_dirs}
77
+ Phase exports: {from SUMMARYs}
78
+ API routes: {routes created}
79
+
80
+ Milestone Requirements:
81
+ {MILESTONE_REQ_IDS — list each REQ-ID with description and assigned phase}
82
+
83
+ MUST map each integration finding to affected requirement IDs where applicable.
84
+
85
+ Verify cross-phase wiring and E2E user flows.
86
+ ${AGENT_SKILLS_CHECKER}",
87
+ subagent_type="gsd-integration-checker",
88
+ model="{integration_checker_model}"
89
+ )
90
+ ```
91
+
92
+ > **ORCHESTRATOR RULE — CODEX RUNTIME**: After calling Agent() above, stop working on this task immediately. Do not read more files, edit code, or run tests related to this task while the subagent is active. Wait for the subagent to return its result. This prevents duplicate work, conflicting edits, and wasted context. Only resume when the subagent result is available.
93
+
94
+ ## 4. Collect Results
95
+
96
+ Combine:
97
+ - Phase-level gaps and tech debt (from step 2)
98
+ - Integration checker's report (wiring gaps, broken flows)
99
+
100
+ ## 5. Check Requirements Coverage (3-Source Cross-Reference)
101
+
102
+ MUST cross-reference three independent sources for each requirement:
103
+
104
+ ### 5a. Parse REQUIREMENTS.md Traceability Table
105
+
106
+ Extract all REQ-IDs mapped to milestone phases from the traceability table:
107
+ - Requirement ID, description, assigned phase, current status, checked-off state (`[x]` vs `[ ]`)
108
+
109
+ ### 5b. Parse Phase VERIFICATION.md Requirements Tables
110
+
111
+ For each phase's VERIFICATION.md, extract the expanded requirements table:
112
+ - Requirement | Source Plan | Description | Status | Evidence
113
+ - Map each entry back to its REQ-ID
114
+
115
+ ### 5c. Extract SUMMARY.md Frontmatter Cross-Check
116
+
117
+ For each phase's SUMMARY.md, extract `requirements-completed` from YAML frontmatter:
118
+ ```bash
119
+ for summary in .planning/phases/*-*/*-SUMMARY.md; do
120
+ [ -e "$summary" ] || continue
121
+ gsd_run query summary-extract "$summary" --fields requirements_completed --pick requirements_completed
122
+ done
123
+ ```
124
+
125
+ ### 5d. Status Determination Matrix
126
+
127
+ For each REQ-ID, determine status using all three sources:
128
+
129
+ | VERIFICATION.md Status | SUMMARY Frontmatter | REQUIREMENTS.md | → Final Status |
130
+ |------------------------|---------------------|-----------------|----------------|
131
+ | passed | listed | `[x]` | **satisfied** |
132
+ | passed | listed | `[ ]` | **satisfied** (update checkbox) |
133
+ | passed | missing | any | **partial** (verify manually) |
134
+ | gaps_found | any | any | **unsatisfied** |
135
+ | missing | listed | any | **partial** (verification gap) |
136
+ | missing | missing | any | **unsatisfied** |
137
+
138
+ ### 5e. FAIL Gate and Orphan Detection
139
+
140
+ **REQUIRED:** Any `unsatisfied` requirement MUST force `gaps_found` status on the milestone audit.
141
+
142
+ **Orphan detection:** Requirements present in REQUIREMENTS.md traceability table but absent from ALL phase VERIFICATION.md files MUST be flagged as orphaned. Orphaned requirements are treated as `unsatisfied` — they were assigned but never verified by any phase.
143
+
144
+ ## 5.5. Nyquist Compliance Discovery
145
+
146
+ Skip if `workflow.nyquist_validation` is explicitly `false` (absent = enabled).
147
+
148
+ ```bash
149
+ NYQUIST_CONFIG=$(gsd_run query config-get workflow.nyquist_validation --raw --default true 2>/dev/null)
150
+ ```
151
+
152
+ If `false`: skip entirely.
153
+
154
+ For each phase directory, check `*-VALIDATION.md`. If exists, parse frontmatter (`nyquist_compliant`, `wave_0_complete`).
155
+
156
+ Classify per phase:
157
+
158
+ | Status | Condition |
159
+ |--------|-----------|
160
+ | COMPLIANT | `nyquist_compliant: true` and all tasks green |
161
+ | PARTIAL | VALIDATION.md exists, `nyquist_compliant: false` or red/pending |
162
+ | MISSING | No VALIDATION.md |
163
+
164
+ Add to audit YAML: `nyquist: { compliant_phases, partial_phases, missing_phases, overall }`
165
+
166
+ Discovery only — never auto-calls `/gsd:validate-phase`.
167
+
168
+ ## 6. Aggregate into v{version}-MILESTONE-AUDIT.md
169
+
170
+ Create `.planning/v{version}-v{version}-MILESTONE-AUDIT.md` with:
171
+
172
+ ```yaml
173
+ ---
174
+ milestone: {version}
175
+ audited: {timestamp}
176
+ status: passed | gaps_found | tech_debt
177
+ scores:
178
+ requirements: N/M
179
+ phases: N/M
180
+ integration: N/M
181
+ flows: N/M
182
+ gaps: # Critical blockers
183
+ requirements:
184
+ - id: "{REQ-ID}"
185
+ status: "unsatisfied | partial | orphaned"
186
+ phase: "{assigned phase}"
187
+ claimed_by_plans: ["{plan files that reference this requirement}"]
188
+ completed_by_plans: ["{plan files whose SUMMARY marks it complete}"]
189
+ verification_status: "passed | gaps_found | missing | orphaned"
190
+ evidence: "{specific evidence or lack thereof}"
191
+ integration: [...]
192
+ flows: [...]
193
+ tech_debt: # Non-critical, deferred
194
+ - phase: 01-auth
195
+ items:
196
+ - "TODO: add rate limiting"
197
+ - "Warning: no password strength validation"
198
+ - phase: 03-dashboard
199
+ items:
200
+ - "Deferred: mobile responsive layout"
201
+ ---
202
+ ```
203
+
204
+ Plus full markdown report with tables for requirements, phases, integration, tech debt.
205
+
206
+ **Status values:**
207
+ - `passed` — all requirements met, no critical gaps, minimal tech debt
208
+ - `gaps_found` — critical blockers exist
209
+ - `tech_debt` — no blockers but accumulated deferred items need review
210
+
211
+ ## 7. Present Results
212
+
213
+ Route by status (see `<offer_next>`).
214
+
215
+ </process>
216
+
217
+ <offer_next>
218
+ Output this markdown directly (not as a code block). Route based on status:
219
+
220
+ ---
221
+
222
+ **If passed:**
223
+
224
+ ## ✓ Milestone {version} — Audit Passed
225
+
226
+ **Score:** {N}/{M} requirements satisfied
227
+ **Report:** .planning/v{version}-MILESTONE-AUDIT.md
228
+
229
+ All requirements covered. Cross-phase integration verified. E2E flows complete.
230
+
231
+ ───────────────────────────────────────────────────────────────
232
+
233
+ ## ▶ Next Up — [${PROJECT_CODE}] ${PROJECT_TITLE}
234
+
235
+ **Complete milestone** — archive and tag
236
+
237
+ /clear then:
238
+
239
+ /gsd:complete-milestone {version}
240
+
241
+ ───────────────────────────────────────────────────────────────
242
+
243
+ ---
244
+
245
+ **If gaps_found:**
246
+
247
+ ## ⚠ Milestone {version} — Gaps Found
248
+
249
+ **Score:** {N}/{M} requirements satisfied
250
+ **Report:** .planning/v{version}-MILESTONE-AUDIT.md
251
+
252
+ ### Unsatisfied Requirements
253
+
254
+ {For each unsatisfied requirement:}
255
+ - **{REQ-ID}: {description}** (Phase {X})
256
+ - {reason}
257
+
258
+ ### Cross-Phase Issues
259
+
260
+ {For each integration gap:}
261
+ - **{from} → {to}:** {issue}
262
+
263
+ ### Broken Flows
264
+
265
+ {For each flow gap:}
266
+ - **{flow name}:** breaks at {step}
267
+
268
+ ### Nyquist Coverage
269
+
270
+ | Phase | VALIDATION.md | Compliant | Action |
271
+ |-------|---------------|-----------|--------|
272
+ | {phase} | exists/missing | true/false/partial | `/gsd:validate-phase {N}` |
273
+
274
+ Phases needing validation: run `/gsd:validate-phase {N}` for each flagged phase.
275
+
276
+ ───────────────────────────────────────────────────────────────
277
+
278
+ ## ▶ Next Up — [${PROJECT_CODE}] ${PROJECT_TITLE}
279
+
280
+ **Close the gaps inline** — gap planning happens as part of this audit's
281
+ output (see the Unsatisfied Requirements, Cross-Phase Issues, Broken Flows,
282
+ and Nyquist Coverage sections above). Insert one closure phase per gap (or
283
+ per group of related gaps) using the standard phase chain:
284
+
285
+ /clear then:
286
+
287
+ /gsd:phase --insert <N> "Close gap: <REQ-ID> — <description>"
288
+ /gsd:discuss-phase <N>
289
+ /gsd:plan-phase <N>
290
+ /gsd:execute-phase <N>
291
+
292
+ For Nyquist-coverage gaps flagged in the table above, prefer running
293
+ `/gsd:validate-phase <N>` for each flagged phase (and `/gsd:secure-phase
294
+ <N>` if SECURITY.md was flagged) before inserting a new closure phase —
295
+ they may close the gap retroactively without a new phase.
296
+
297
+ ───────────────────────────────────────────────────────────────
298
+
299
+ **Also available:**
300
+ - cat .planning/v{version}-MILESTONE-AUDIT.md — see full report
301
+ - /gsd:complete-milestone {version} — proceed anyway (accept tech debt)
302
+
303
+ ───────────────────────────────────────────────────────────────
304
+
305
+ ---
306
+
307
+ **If tech_debt (no blockers but accumulated debt):**
308
+
309
+ ## ⚡ Milestone {version} — Tech Debt Review
310
+
311
+ **Score:** {N}/{M} requirements satisfied
312
+ **Report:** .planning/v{version}-MILESTONE-AUDIT.md
313
+
314
+ All requirements met. No critical blockers. Accumulated tech debt needs review.
315
+
316
+ ### Tech Debt by Phase
317
+
318
+ {For each phase with debt:}
319
+ **Phase {X}: {name}**
320
+ - {item 1}
321
+ - {item 2}
322
+
323
+ ### Total: {N} items across {M} phases
324
+
325
+ ───────────────────────────────────────────────────────────────
326
+
327
+ ## ▶ Options
328
+
329
+ **A. Complete milestone** — accept debt, track in backlog
330
+
331
+ /gsd:complete-milestone {version}
332
+
333
+ **B. Plan a cleanup phase** — address the debt above before completing.
334
+ Insert a closure phase using the standard chain:
335
+
336
+ /clear then:
337
+
338
+ /gsd:phase --insert <N> "Address tech debt: <area>"
339
+ /gsd:discuss-phase <N>
340
+ /gsd:plan-phase <N>
341
+ /gsd:execute-phase <N>
342
+
343
+ ───────────────────────────────────────────────────────────────
344
+ </offer_next>
345
+
346
+ <success_criteria>
347
+ - [ ] Milestone scope identified
348
+ - [ ] All phase VERIFICATION.md files read
349
+ - [ ] SUMMARY.md `requirements-completed` frontmatter extracted for each phase
350
+ - [ ] REQUIREMENTS.md traceability table parsed for all milestone REQ-IDs
351
+ - [ ] 3-source cross-reference completed (VERIFICATION + SUMMARY + traceability)
352
+ - [ ] Orphaned requirements detected (in traceability but absent from all VERIFICATIONs)
353
+ - [ ] Tech debt and deferred gaps aggregated
354
+ - [ ] Integration checker spawned with milestone requirement IDs
355
+ - [ ] v{version}-MILESTONE-AUDIT.md created with structured requirement gap objects
356
+ - [ ] FAIL gate enforced — any unsatisfied requirement forces gaps_found status
357
+ - [ ] Nyquist compliance scanned for all milestone phases (if enabled)
358
+ - [ ] Missing VALIDATION.md phases flagged with validate-phase suggestion
359
+ - [ ] Results presented with actionable next steps
360
+ </success_criteria>
@@ -0,0 +1,110 @@
1
+ <purpose>
2
+ Cross-phase audit of all UAT and verification files. Finds every outstanding item (pending, skipped, blocked, human_needed), optionally verifies against the codebase to detect stale docs, and produces a prioritized human test plan.
3
+ </purpose>
4
+
5
+ <process>
6
+
7
+ <step name="initialize">
8
+ Run the CLI audit:
9
+
10
+ ```bash
11
+ _GSD_SHIM_NAME="gsd-tools.cjs"; _GSD_RUNTIME_ROOT="${RUNTIME_DIR:-$(git rev-parse --show-toplevel 2>/dev/null || pwd)}"; GSD_TOOLS="${_GSD_RUNTIME_ROOT}/gsd-core/bin/${_GSD_SHIM_NAME}"; if [ -f "$GSD_TOOLS" ]; then gsd_run() { node "$GSD_TOOLS" "$@"; }; elif [ -f "${_GSD_RUNTIME_ROOT}/.claude/gsd-core/bin/${_GSD_SHIM_NAME}" ]; then GSD_TOOLS="${_GSD_RUNTIME_ROOT}/.claude/gsd-core/bin/${_GSD_SHIM_NAME}"; gsd_run() { node "$GSD_TOOLS" "$@"; }; elif command -v gsd-tools >/dev/null 2>&1; then GSD_TOOLS="$(command -v gsd-tools)"; gsd_run() { "$GSD_TOOLS" "$@"; }; elif [ -f "$HOME/.claude/gsd-core/bin/${_GSD_SHIM_NAME}" ]; then GSD_TOOLS="$HOME/.claude/gsd-core/bin/${_GSD_SHIM_NAME}"; gsd_run() { node "$GSD_TOOLS" "$@"; }; else echo "ERROR: gsd-tools.cjs not found at $GSD_TOOLS and gsd-tools is not on PATH. Run: npx -y @therocketcode/gsd-core@latest --claude --local" >&2; exit 1; fi
12
+ AUDIT=$(gsd_run query audit-uat --raw)
13
+ ```
14
+
15
+ Parse JSON for `results` array and `summary` object.
16
+
17
+ If `summary.total_items` is 0:
18
+ ```
19
+ ## All Clear
20
+
21
+ No outstanding UAT or verification items found across all phases.
22
+ All tests are passing, resolved, or diagnosed with fix plans.
23
+ ```
24
+ Stop here.
25
+ </step>
26
+
27
+ <step name="categorize">
28
+ Group items by what's actionable NOW vs. what needs prerequisites:
29
+
30
+ **Testable Now** (no external dependencies):
31
+ - `pending` — tests never run
32
+ - `human_uat` — human verification items
33
+ - `skipped_unresolved` — skipped without clear blocking reason
34
+
35
+ **Needs Prerequisites:**
36
+ - `server_blocked` — needs external server running
37
+ - `device_needed` — needs physical device (not simulator)
38
+ - `build_needed` — needs release/preview build
39
+ - `third_party` — needs external service configuration
40
+
41
+ For each item in "Testable Now", use Grep/Read to check if the underlying feature still exists in the codebase:
42
+ - If the test references a component/function that no longer exists → mark as `stale`
43
+ - If the test references code that has been significantly rewritten → mark as `needs_update`
44
+ - Otherwise → mark as `active`
45
+ </step>
46
+
47
+ <step name="present">
48
+ Present the audit report:
49
+
50
+ ```
51
+ ## UAT Audit Report
52
+
53
+ **{total_items} outstanding items across {total_files} files in {phase_count} phases**
54
+
55
+ ### Testable Now ({count})
56
+
57
+ | # | Phase | Test | Description | Status |
58
+ |---|-------|------|-------------|--------|
59
+ | 1 | {phase} | {test_name} | {expected} | {active/stale/needs_update} |
60
+ ...
61
+
62
+ ### Needs Prerequisites ({count})
63
+
64
+ | # | Phase | Test | Blocked By | Description |
65
+ |---|-------|------|------------|-------------|
66
+ | 1 | {phase} | {test_name} | {category} | {expected} |
67
+ ...
68
+
69
+ ### Stale (can be closed) ({count})
70
+
71
+ | # | Phase | Test | Why Stale |
72
+ |---|-------|------|-----------|
73
+ | 1 | {phase} | {test_name} | {reason} |
74
+ ...
75
+
76
+ ---
77
+
78
+ ## Recommended Actions
79
+
80
+ 1. **Close stale items:** `/gsd:verify-work {phase}` — mark stale tests as resolved
81
+ 2. **Run active tests:** Human UAT test plan below
82
+ 3. **When prerequisites met:** Retest blocked items with `/gsd:verify-work {phase}`
83
+ ```
84
+ </step>
85
+
86
+ <step name="test_plan">
87
+ Generate a human UAT test plan for "Testable Now" + "active" items only:
88
+
89
+ Group by what can be tested together (same screen, same feature, same prerequisite):
90
+
91
+ ```
92
+ ## Human UAT Test Plan
93
+
94
+ ### Group 1: {category — e.g., "Billing Flow"}
95
+ Prerequisites: {what needs to be running/configured}
96
+
97
+ 1. **{Test name}** (Phase {N})
98
+ - Navigate to: {where}
99
+ - Do: {action}
100
+ - Expected: {expected behavior}
101
+
102
+ 2. **{Test name}** (Phase {N})
103
+ ...
104
+
105
+ ### Group 2: {category}
106
+ ...
107
+ ```
108
+ </step>
109
+
110
+ </process>