@opengsd/gsd-core 1.13.0 → 1.15.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 (441) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/README.ja-JP.md +3 -3
  4. package/README.ko-KR.md +3 -3
  5. package/README.pt-BR.md +3 -3
  6. package/README.zh-CN.md +3 -3
  7. package/agents/gsd-advisor-researcher.compact.md +85 -0
  8. package/agents/gsd-ai-researcher.compact.md +96 -0
  9. package/agents/gsd-assumptions-analyzer.compact.md +81 -0
  10. package/agents/gsd-code-fixer.compact.md +459 -0
  11. package/agents/gsd-code-fixer.md +9 -8
  12. package/agents/gsd-code-reviewer.compact.md +269 -0
  13. package/agents/gsd-code-reviewer.md +15 -3
  14. package/agents/gsd-codebase-mapper.compact.md +760 -0
  15. package/agents/gsd-debug-session-manager.compact.md +360 -0
  16. package/agents/gsd-debug-session-manager.md +17 -2
  17. package/agents/gsd-debugger.md +2 -2
  18. package/agents/gsd-doc-classifier.compact.md +192 -0
  19. package/agents/gsd-doc-synthesizer.compact.md +200 -0
  20. package/agents/gsd-doc-verifier.compact.md +143 -0
  21. package/agents/gsd-doc-writer.compact.md +440 -0
  22. package/agents/gsd-dom-verifier.compact.md +138 -0
  23. package/agents/gsd-domain-researcher.compact.md +141 -0
  24. package/agents/gsd-eval-auditor.compact.md +160 -0
  25. package/agents/gsd-eval-auditor.md +1 -1
  26. package/agents/gsd-eval-planner.compact.md +137 -0
  27. package/agents/gsd-executor.md +13 -8
  28. package/agents/gsd-framework-selector.compact.md +82 -0
  29. package/agents/gsd-integration-checker.compact.md +245 -0
  30. package/agents/gsd-intel-updater.compact.md +226 -0
  31. package/agents/gsd-intel-updater.md +1 -1
  32. package/agents/gsd-mempalace-curator.compact.md +45 -0
  33. package/agents/gsd-nyquist-auditor.compact.md +179 -0
  34. package/agents/gsd-pattern-mapper.compact.md +275 -0
  35. package/agents/gsd-phase-researcher.md +19 -11
  36. package/agents/gsd-plan-checker.md +8 -7
  37. package/agents/gsd-planner.md +12 -8
  38. package/agents/gsd-project-researcher.compact.md +587 -0
  39. package/agents/gsd-project-researcher.md +1 -1
  40. package/agents/gsd-research-synthesizer.compact.md +212 -0
  41. package/agents/gsd-research-synthesizer.md +1 -1
  42. package/agents/gsd-roadmapper.compact.md +454 -0
  43. package/agents/gsd-roadmapper.md +13 -0
  44. package/agents/gsd-security-auditor.compact.md +162 -0
  45. package/agents/gsd-ui-auditor.compact.md +404 -0
  46. package/agents/gsd-ui-auditor.md +155 -17
  47. package/agents/gsd-ui-checker.compact.md +277 -0
  48. package/agents/gsd-ui-researcher.compact.md +282 -0
  49. package/agents/gsd-ui-researcher.md +1 -1
  50. package/agents/gsd-user-profiler.compact.md +108 -0
  51. package/agents/gsd-verifier.md +10 -9
  52. package/bin/install.js +848 -163
  53. package/commands/gsd/autonomous.md +2 -2
  54. package/commands/gsd/capture.md +1 -1
  55. package/commands/gsd/cleanup.md +1 -0
  56. package/commands/gsd/code-review.md +2 -1
  57. package/commands/gsd/complete-milestone.md +1 -0
  58. package/commands/gsd/config.md +1 -0
  59. package/commands/gsd/debug.md +1 -0
  60. package/commands/gsd/graphify.md +1 -0
  61. package/commands/gsd/health.md +1 -0
  62. package/commands/gsd/mempalace-capture.md +8 -3
  63. package/commands/gsd/mempalace-recall.md +1 -0
  64. package/commands/gsd/new-milestone.md +1 -0
  65. package/commands/gsd/new-project.md +1 -0
  66. package/commands/gsd/next.md +1 -0
  67. package/commands/gsd/pause-work.md +1 -0
  68. package/commands/gsd/phase.md +1 -0
  69. package/commands/gsd/plan-review-convergence.md +6 -6
  70. package/commands/gsd/pr-branch.md +1 -0
  71. package/commands/gsd/progress.md +1 -1
  72. package/commands/gsd/quick-batch.md +1 -1
  73. package/commands/gsd/resume-work.md +1 -0
  74. package/commands/gsd/review-backlog.md +1 -0
  75. package/commands/gsd/review.md +2 -3
  76. package/commands/gsd/settings.md +2 -1
  77. package/commands/gsd/stats.md +1 -0
  78. package/commands/gsd/thread.md +1 -0
  79. package/commands/gsd/workspace.md +1 -0
  80. package/commands/gsd/workstreams.md +1 -0
  81. package/gsd-core/bin/check-latest-version.cjs +8 -3
  82. package/gsd-core/bin/gsd-tools.cjs +672 -146
  83. package/gsd-core/bin/lib/adr-parser.cjs +4 -2
  84. package/gsd-core/bin/lib/artifacts.cjs +2 -1
  85. package/gsd-core/bin/lib/audit.cjs +119 -34
  86. package/gsd-core/bin/lib/broken-windows.cjs +168 -49
  87. package/gsd-core/bin/lib/capability-lifecycle.cjs +10 -6
  88. package/gsd-core/bin/lib/capability-loader.cjs +135 -1
  89. package/gsd-core/bin/lib/capability-registry.cjs +96 -189
  90. package/gsd-core/bin/lib/capability-source.cjs +19 -2
  91. package/gsd-core/bin/lib/capability-validator.cjs +14 -2
  92. package/gsd-core/bin/lib/check-command-router.cjs +213 -49
  93. package/gsd-core/bin/lib/code-review-depth.cjs +2 -2
  94. package/gsd-core/bin/lib/codex-agent-toml.cjs +21 -25
  95. package/gsd-core/bin/lib/commands.cjs +823 -112
  96. package/gsd-core/bin/lib/config-loader.cjs +66 -4
  97. package/gsd-core/bin/lib/config.cjs +186 -45
  98. package/gsd-core/bin/lib/coverage.cjs +1 -1
  99. package/gsd-core/bin/lib/decisions.cjs +164 -45
  100. package/gsd-core/bin/lib/external-descriptor-trust.cjs +29 -14
  101. package/gsd-core/bin/lib/frontmatter.cjs +13 -0
  102. package/gsd-core/bin/lib/graphify.cjs +10 -2
  103. package/gsd-core/bin/lib/gsd2-import.cjs +1 -2
  104. package/gsd-core/bin/lib/health-diagnostic-rules/state-consistency.cjs +12 -1
  105. package/gsd-core/bin/lib/health-diagnostic-rules/worktree-health.cjs +1 -1
  106. package/gsd-core/bin/lib/host-runtime-detection.cjs +9 -0
  107. package/gsd-core/bin/lib/init.cjs +614 -86
  108. package/gsd-core/bin/lib/install-engine.cjs +29 -3
  109. package/gsd-core/bin/lib/install-profiles.cjs +14 -0
  110. package/gsd-core/bin/lib/installer-migrations.cjs +41 -5
  111. package/gsd-core/bin/lib/loop-resolver.cjs +50 -31
  112. package/gsd-core/bin/lib/mcp-catalog.cjs +2 -2
  113. package/gsd-core/bin/lib/milestone.cjs +37 -13
  114. package/gsd-core/bin/lib/model-resolver.cjs +253 -53
  115. package/gsd-core/bin/lib/phase-command-router.cjs +16 -2
  116. package/gsd-core/bin/lib/phase-id-card.cjs +32 -0
  117. package/gsd-core/bin/lib/phase-id-display.cjs +78 -0
  118. package/gsd-core/bin/lib/phase-id.cjs +268 -27
  119. package/gsd-core/bin/lib/phase-lifecycle.cjs +61 -0
  120. package/gsd-core/bin/lib/phase-locator.cjs +29 -10
  121. package/gsd-core/bin/lib/phase.cjs +393 -88
  122. package/gsd-core/bin/lib/plan-document.cjs +49 -1
  123. package/gsd-core/bin/lib/planning-document.cjs +459 -0
  124. package/gsd-core/bin/lib/planning-inspect.cjs +52 -19
  125. package/gsd-core/bin/lib/planning-snapshot.cjs +61 -12
  126. package/gsd-core/bin/lib/planning-workspace.cjs +57 -3
  127. package/gsd-core/bin/lib/pr-branch-patterns.cjs +57 -0
  128. package/gsd-core/bin/lib/pristine-baseline.cjs +182 -0
  129. package/gsd-core/bin/lib/probe-core.cjs +7 -1
  130. package/gsd-core/bin/lib/prohibition-enforcement.cjs +91 -4
  131. package/gsd-core/bin/lib/project-root.cjs +41 -2
  132. package/gsd-core/bin/lib/quick-batch.cjs +1 -1
  133. package/gsd-core/bin/lib/refactor-trigger-command-router.cjs +61 -2
  134. package/gsd-core/bin/lib/research-store.cjs +11 -12
  135. package/gsd-core/bin/lib/review-lane-descriptor.cjs +10 -30
  136. package/gsd-core/bin/lib/review-lane-invocation.cjs +23 -0
  137. package/gsd-core/bin/lib/review-reviewer-selection.cjs +2 -2
  138. package/gsd-core/bin/lib/reviewer-step-dispatch.cjs +337 -0
  139. package/gsd-core/bin/lib/roadmap-command-router.cjs +12 -4
  140. package/gsd-core/bin/lib/roadmap-parser.cjs +219 -18
  141. package/gsd-core/bin/lib/roadmap-upgrade.cjs +1539 -13
  142. package/gsd-core/bin/lib/roadmap.cjs +356 -42
  143. package/gsd-core/bin/lib/runtime-artifact-conversion.cjs +310 -41
  144. package/gsd-core/bin/lib/runtime-artifact-install-plan.cjs +15 -4
  145. package/gsd-core/bin/lib/runtime-artifact-layout.cjs +13 -5
  146. package/gsd-core/bin/lib/runtime-homes.cjs +4 -0
  147. package/gsd-core/bin/lib/runtime-hooks-surface.cjs +408 -37
  148. package/gsd-core/bin/lib/runtime-name-policy.cjs +111 -1
  149. package/gsd-core/bin/lib/security.cjs +126 -7
  150. package/gsd-core/bin/lib/shell-command-projection.cjs +10 -6
  151. package/gsd-core/bin/lib/state-document.cjs +130 -28
  152. package/gsd-core/bin/lib/state-md-schema.cjs +21 -14
  153. package/gsd-core/bin/lib/state-transition.cjs +181 -30
  154. package/gsd-core/bin/lib/state.cjs +265 -27
  155. package/gsd-core/bin/lib/surface.cjs +77 -3
  156. package/gsd-core/bin/lib/task-command-router.cjs +12 -6
  157. package/gsd-core/bin/lib/tdd-red-evidence.cjs +78 -5
  158. package/gsd-core/bin/lib/uat-predicate.cjs +47 -4
  159. package/gsd-core/bin/lib/uat.cjs +9 -1
  160. package/gsd-core/bin/lib/ui-consideration-probe.cjs +15 -2
  161. package/gsd-core/bin/lib/ui-frontend-evidence.cjs +100 -9
  162. package/gsd-core/bin/lib/undo-commit-selection.cjs +131 -0
  163. package/gsd-core/bin/lib/update-context.cjs +30 -24
  164. package/gsd-core/bin/lib/vendor/js-yaml.cjs +11 -3
  165. package/gsd-core/bin/lib/verification.cjs +315 -30
  166. package/gsd-core/bin/lib/verify-command-grounding.cjs +47 -3
  167. package/gsd-core/bin/lib/verify.cjs +320 -48
  168. package/gsd-core/bin/lib/workstream-inventory.cjs +1 -0
  169. package/gsd-core/bin/lib/worktree-base-ref.cjs +482 -73
  170. package/gsd-core/bin/lib/worktree-safety.cjs +797 -58
  171. package/gsd-core/bin/shared/config-defaults.manifest.json +4 -0
  172. package/gsd-core/bin/shared/config-schema.manifest.json +6 -0
  173. package/gsd-core/bin/verify-reapply-patches.cjs +439 -80
  174. package/gsd-core/references/checkpoints.md +5 -3
  175. package/gsd-core/references/compact-content-gate.md +66 -0
  176. package/gsd-core/references/edge-probe-fixtures/01-round-half-even/expected-coverage.json +28 -3
  177. package/gsd-core/references/edge-probe-fixtures/02-merge-intervals/expected-coverage.json +37 -4
  178. package/gsd-core/references/edge-probe-fixtures/03-truncate-graphemes/expected-coverage.json +28 -3
  179. package/gsd-core/references/edge-probe-fixtures/04-money-rounding/expected-coverage.json +28 -3
  180. package/gsd-core/references/edge-probe-fixtures/05-list-dedupe/expected-coverage.json +37 -4
  181. package/gsd-core/references/edge-probe-fixtures/06-resolved-mixed/expected-coverage.json +37 -4
  182. package/gsd-core/references/edge-probe.md +195 -21
  183. package/gsd-core/references/execute-phase-between-wave-reset.md +7 -6
  184. package/gsd-core/references/execute-phase-wave-guard.md +22 -11
  185. package/gsd-core/references/gsd-run-resolver.md +1 -1
  186. package/gsd-core/references/loop-hook-dispatch.md +18 -0
  187. package/gsd-core/references/model-profiles.md +13 -4
  188. package/gsd-core/references/phase-argument-parsing.md +9 -7
  189. package/gsd-core/references/phase-id-convention.md +28 -0
  190. package/gsd-core/references/planner-gap-closure.md +2 -0
  191. package/gsd-core/references/planner-load-graph-context.md +24 -13
  192. package/gsd-core/references/planner-verify-command-grounding.md +14 -0
  193. package/gsd-core/references/planning-config.md +14 -2
  194. package/gsd-core/references/tdd.md +30 -4
  195. package/gsd-core/references/thinking-models-planning.md +18 -2
  196. package/gsd-core/references/ui-consideration-probe.md +10 -5
  197. package/gsd-core/references/verification-patterns.md +17 -4
  198. package/gsd-core/references/verify-command-path-resolvability.md +10 -2
  199. package/gsd-core/references/worktree-path-safety.md +433 -2
  200. package/gsd-core/templates/README.md +7 -1
  201. package/gsd-core/templates/state.md +6 -3
  202. package/gsd-core/templates/summary.compact.md +212 -0
  203. package/gsd-core/templates/user-setup.compact.md +199 -0
  204. package/gsd-core/templates/user-setup.md +0 -9
  205. package/gsd-core/templates/verification-report.md +1 -1
  206. package/gsd-core/workflows/_runtime-launcher.snippet.sh +1 -1
  207. package/gsd-core/workflows/add-backlog.md +1 -1
  208. package/gsd-core/workflows/add-phase.md +1 -1
  209. package/gsd-core/workflows/add-tests.md +2 -2
  210. package/gsd-core/workflows/add-todo.md +6 -5
  211. package/gsd-core/workflows/ai-integration-phase.md +11 -3
  212. package/gsd-core/workflows/audit-fix.md +1 -1
  213. package/gsd-core/workflows/audit-milestone.md +1 -1
  214. package/gsd-core/workflows/audit-uat.md +1 -1
  215. package/gsd-core/workflows/autonomous/steps/converge-fail-fast.md +9 -18
  216. package/gsd-core/workflows/autonomous.md +29 -16
  217. package/gsd-core/workflows/check-todos.md +6 -4
  218. package/gsd-core/workflows/cleanup.md +5 -3
  219. package/gsd-core/workflows/code-review/steps/dispatch-fix.md +4 -3
  220. package/gsd-core/workflows/code-review/steps/structural-pre-pass.md +8 -1
  221. package/gsd-core/workflows/code-review-fix.md +108 -22
  222. package/gsd-core/workflows/code-review.md +216 -73
  223. package/gsd-core/workflows/complete-milestone/detail/elaboration.md +274 -0
  224. package/gsd-core/workflows/complete-milestone.md +41 -264
  225. package/gsd-core/workflows/debug.md +3 -3
  226. package/gsd-core/workflows/diagnose-issues.md +1 -1
  227. package/gsd-core/workflows/discuss-phase/modes/advisor.md +1 -1
  228. package/gsd-core/workflows/discuss-phase/modes/chain.md +1 -1
  229. package/gsd-core/workflows/discuss-phase-assumptions.md +1 -1
  230. package/gsd-core/workflows/discuss-phase.md +1 -1
  231. package/gsd-core/workflows/do.md +2 -2
  232. package/gsd-core/workflows/docs-update/detail/elaboration.md +179 -0
  233. package/gsd-core/workflows/docs-update.md +17 -158
  234. package/gsd-core/workflows/edit-phase.md +1 -1
  235. package/gsd-core/workflows/eval-review.md +10 -3
  236. package/gsd-core/workflows/execute-phase/detail/elaboration.md +124 -0
  237. package/gsd-core/workflows/execute-phase/steps/code-review-disposition.md +1017 -0
  238. package/gsd-core/workflows/execute-phase/steps/codebase-drift-gate.md +19 -4
  239. package/gsd-core/workflows/execute-phase/steps/completion-reconciliation.md +56 -0
  240. package/gsd-core/workflows/execute-phase/steps/executor-isolation-dispatch.md +43 -4
  241. package/gsd-core/workflows/execute-phase/steps/executor-progress-policy.md +43 -0
  242. package/gsd-core/workflows/execute-phase/steps/gap-closure-artifacts.md +1 -1
  243. package/gsd-core/workflows/execute-phase/steps/partial-wave.md +1 -1
  244. package/gsd-core/workflows/execute-phase/steps/per-plan-executor-routing.md +1 -1
  245. package/gsd-core/workflows/execute-phase/steps/per-plan-worktree-gate.md +1 -1
  246. package/gsd-core/workflows/execute-phase/steps/post-merge-gate.md +46 -9
  247. package/gsd-core/workflows/execute-phase/steps/protected-branch.md +1 -1
  248. package/gsd-core/workflows/execute-phase/steps/ready-wave-gate.md +37 -0
  249. package/gsd-core/workflows/execute-phase/steps/regression-gate-run.md +1 -1
  250. package/gsd-core/workflows/execute-phase/steps/sequential-root-pin.md +35 -0
  251. package/gsd-core/workflows/execute-phase/steps/stale-reverification.md +24 -0
  252. package/gsd-core/workflows/execute-phase/steps/tdd-applicability-resolution.md +1 -1
  253. package/gsd-core/workflows/execute-phase/steps/threat-id-gate.md +28 -0
  254. package/gsd-core/workflows/execute-phase/steps/wave-post-gate-hooks.md +1 -1
  255. package/gsd-core/workflows/execute-phase/steps/worktree-base-check.md +25 -0
  256. package/gsd-core/workflows/execute-phase.md +83 -172
  257. package/gsd-core/workflows/execute-plan.md +24 -10
  258. package/gsd-core/workflows/explore.md +3 -3
  259. package/gsd-core/workflows/extract-learnings.md +2 -1
  260. package/gsd-core/workflows/fast.md +1 -1
  261. package/gsd-core/workflows/forensics.md +1 -1
  262. package/gsd-core/workflows/graduation.md +1 -1
  263. package/gsd-core/workflows/health.md +2 -2
  264. package/gsd-core/workflows/help/modes/full.compact.md +398 -0
  265. package/gsd-core/workflows/help/modes/full.md +5 -5
  266. package/gsd-core/workflows/help/modes/topic.md +15 -5
  267. package/gsd-core/workflows/help.md +1 -1
  268. package/gsd-core/workflows/import.md +2 -2
  269. package/gsd-core/workflows/inbox.md +2 -2
  270. package/gsd-core/workflows/ingest-docs.md +3 -3
  271. package/gsd-core/workflows/insert-phase.md +1 -1
  272. package/gsd-core/workflows/list-seeds.md +1 -1
  273. package/gsd-core/workflows/list-workspaces.md +1 -1
  274. package/gsd-core/workflows/manager.md +2 -2
  275. package/gsd-core/workflows/map-codebase.md +52 -5
  276. package/gsd-core/workflows/milestone-summary.md +1 -1
  277. package/gsd-core/workflows/mvp-phase.md +1 -1
  278. package/gsd-core/workflows/new-milestone.md +56 -14
  279. package/gsd-core/workflows/new-project/detail/elaboration.md +216 -0
  280. package/gsd-core/workflows/new-project/steps/auto-mode-config.md +3 -3
  281. package/gsd-core/workflows/new-project/steps/codebase-map-offer.md +1 -1
  282. package/gsd-core/workflows/new-project.md +39 -209
  283. package/gsd-core/workflows/new-workspace.md +2 -2
  284. package/gsd-core/workflows/next.md +1 -1
  285. package/gsd-core/workflows/note.md +1 -1
  286. package/gsd-core/workflows/onboard.md +1 -1
  287. package/gsd-core/workflows/pause-work.md +1 -1
  288. package/gsd-core/workflows/plan-phase/detail/elaboration.md +209 -0
  289. package/gsd-core/workflows/plan-phase/steps/chunked-planning-mode.md +17 -5
  290. package/gsd-core/workflows/plan-phase/steps/prd-express-path.md +1 -1
  291. package/gsd-core/workflows/plan-phase/steps/stall-detection-helpers.md +23 -5
  292. package/gsd-core/workflows/plan-phase.md +45 -187
  293. package/gsd-core/workflows/plan-review-convergence.md +21 -5
  294. package/gsd-core/workflows/plant-seed.md +62 -20
  295. package/gsd-core/workflows/pr-branch.md +132 -20
  296. package/gsd-core/workflows/profile-user.md +2 -2
  297. package/gsd-core/workflows/progress.md +1 -1
  298. package/gsd-core/workflows/quick/steps/plan-checker-loop.md +25 -0
  299. package/gsd-core/workflows/quick/steps/quick-verification.md +1 -1
  300. package/gsd-core/workflows/quick/steps/worktree-pre-dispatch-commit.md +1 -1
  301. package/gsd-core/workflows/quick-batch/steps/batch-init.md +1 -1
  302. package/gsd-core/workflows/quick-batch/steps/completion.md +1 -1
  303. package/gsd-core/workflows/quick-batch/steps/merge-wave.md +1 -1
  304. package/gsd-core/workflows/quick-batch/steps/planner-wave.md +1 -1
  305. package/gsd-core/workflows/quick-batch/steps/research-phase.md +1 -1
  306. package/gsd-core/workflows/quick-batch/steps/resume-mode.md +1 -1
  307. package/gsd-core/workflows/quick-batch/steps/verification-wave.md +1 -1
  308. package/gsd-core/workflows/quick-batch/steps/worktree-dispatch.md +1 -1
  309. package/gsd-core/workflows/quick-batch.md +1 -1
  310. package/gsd-core/workflows/quick.md +29 -10
  311. package/gsd-core/workflows/reapply-patches.md +86 -6
  312. package/gsd-core/workflows/remove-phase.md +1 -1
  313. package/gsd-core/workflows/remove-workspace.md +2 -2
  314. package/gsd-core/workflows/resume-project.md +1 -1
  315. package/gsd-core/workflows/review.md +31 -16
  316. package/gsd-core/workflows/scan.md +1 -1
  317. package/gsd-core/workflows/secure-phase.md +3 -2
  318. package/gsd-core/workflows/settings-advanced.md +30 -10
  319. package/gsd-core/workflows/settings-integrations.md +2 -3
  320. package/gsd-core/workflows/settings.md +22 -9
  321. package/gsd-core/workflows/ship.md +3 -2
  322. package/gsd-core/workflows/sketch-wrap-up.md +1 -1
  323. package/gsd-core/workflows/sketch.md +1 -1
  324. package/gsd-core/workflows/smart-entry.md +2 -2
  325. package/gsd-core/workflows/spec-phase.md +15 -5
  326. package/gsd-core/workflows/spike-wrap-up.md +1 -1
  327. package/gsd-core/workflows/spike.md +1 -1
  328. package/gsd-core/workflows/stats.md +1 -1
  329. package/gsd-core/workflows/sync-skills.md +5 -5
  330. package/gsd-core/workflows/thread.md +1 -1
  331. package/gsd-core/workflows/transition.md +1 -1
  332. package/gsd-core/workflows/ui-phase.md +44 -8
  333. package/gsd-core/workflows/ui-review.md +18 -4
  334. package/gsd-core/workflows/ultraplan-phase.md +1 -1
  335. package/gsd-core/workflows/undo.md +339 -20
  336. package/gsd-core/workflows/update.md +14 -12
  337. package/gsd-core/workflows/validate-phase.md +3 -2
  338. package/gsd-core/workflows/verify-work/detail/elaboration.md +230 -0
  339. package/gsd-core/workflows/verify-work/steps/automated-ui-verification.md +1 -1
  340. package/gsd-core/workflows/verify-work/steps/mvp-uat-framing.md +1 -1
  341. package/gsd-core/workflows/verify-work.md +101 -196
  342. package/hooks/dist/gsd-agent-isolation-guard.js +66 -16
  343. package/hooks/dist/gsd-context-monitor.js +88 -15
  344. package/hooks/dist/gsd-cursor-subagent-start.js +34 -14
  345. package/hooks/dist/gsd-secret-read-guard.js +71 -19
  346. package/hooks/dist/gsd-statusline.js +81 -20
  347. package/hooks/dist/gsd-validate-commit.sh +97 -8
  348. package/hooks/dist/gsd-worktree-path-guard.js +25 -14
  349. package/hooks/dist/gsd-write-guard.js +46 -1
  350. package/hooks/dist/lib/dispatch-identity.js +187 -0
  351. package/hooks/dist/lib/filename-classification.js +64 -0
  352. package/hooks/dist/lib/isolation-deny-reason.js +53 -1
  353. package/hooks/dist/lib/isolation-sentinel.js +58 -19
  354. package/hooks/gsd-agent-isolation-guard.js +66 -16
  355. package/hooks/gsd-context-monitor.js +88 -15
  356. package/hooks/gsd-cursor-subagent-start.js +34 -14
  357. package/hooks/gsd-secret-read-guard.js +71 -19
  358. package/hooks/gsd-statusline.js +81 -20
  359. package/hooks/gsd-validate-commit.sh +97 -8
  360. package/hooks/gsd-worktree-path-guard.js +25 -14
  361. package/hooks/gsd-write-guard.js +46 -1
  362. package/hooks/lib/dispatch-identity.js +187 -0
  363. package/hooks/lib/filename-classification.js +64 -0
  364. package/hooks/lib/isolation-deny-reason.js +53 -1
  365. package/hooks/lib/isolation-sentinel.js +58 -19
  366. package/package.json +11 -6
  367. package/scripts/benchmark-compact-content-variants.cjs +298 -0
  368. package/scripts/benchmark-compact-content.cjs +368 -0
  369. package/scripts/build-hooks.js +15 -6
  370. package/scripts/check-contract-drift.cjs +131 -12
  371. package/scripts/check-env.cjs +36 -8
  372. package/scripts/check-glossary-refs.cjs +25 -21
  373. package/scripts/ci-next-health.cjs +271 -0
  374. package/scripts/ci-prepare-test-scope.cjs +7 -7
  375. package/scripts/ci-test-scope.cjs +126 -20
  376. package/scripts/ci-timeout-report.cjs +1 -1
  377. package/scripts/command-contract-helpers.cjs +3 -0
  378. package/scripts/diff-touches-shipped-paths.cjs +1 -1
  379. package/scripts/docs-guard-registry.cjs +35 -2
  380. package/scripts/gen-adr-index.cjs +8 -2
  381. package/scripts/gen-inventory-manifest.cjs +12 -0
  382. package/scripts/gen-loop-host-contract.cjs +69 -0
  383. package/scripts/gen-platform-conformance-tier.cjs +557 -0
  384. package/scripts/lib/drift-scan.cjs +1 -1
  385. package/scripts/lib/macos-conformance-tier.generated.cjs +224 -0
  386. package/scripts/lib/ndjson-reporter.cjs +3 -2
  387. package/scripts/lib/npm-version-check-diagnosis.cjs +59 -0
  388. package/scripts/lib/platform-conformance-tier.generated.cjs +287 -0
  389. package/scripts/lib/suite-detection.cjs +32 -0
  390. package/scripts/lint-allowed-tools-parity.cjs +221 -0
  391. package/scripts/lint-docs-guard-registration.exempt-baseline.cjs +47 -3
  392. package/scripts/lint-phase-arg-assignment.cjs +257 -0
  393. package/scripts/lint-phase-id-drift.cjs +623 -13
  394. package/scripts/lint-pr-branch-pattern-drift.cjs +148 -0
  395. package/scripts/lint-response-language-coverage.cjs +9 -3
  396. package/scripts/lint-retired-runtime-name.cjs +619 -0
  397. package/scripts/lint-source-test-name-collision.cjs +1 -1
  398. package/scripts/lint-state-write-path-drift.cjs +93 -0
  399. package/scripts/lint-test-file-count.allowlist.json +29 -9
  400. package/scripts/lint-vendored-deps.cjs +128 -17
  401. package/scripts/lint-workflow-shellcheck-baseline.json +100 -0
  402. package/scripts/prompt-injection-scan.sh +18 -0
  403. package/scripts/release-tarball-smoke.cjs +194 -1
  404. package/scripts/workflow-size.cjs +139 -0
  405. package/skills/gsd-autonomous/SKILL.md +2 -2
  406. package/skills/gsd-capture/SKILL.md +1 -1
  407. package/skills/gsd-cleanup/SKILL.md +1 -0
  408. package/skills/gsd-code-review/SKILL.md +2 -1
  409. package/skills/gsd-complete-milestone/SKILL.md +1 -0
  410. package/skills/gsd-config/SKILL.md +1 -0
  411. package/skills/gsd-debug/SKILL.md +1 -0
  412. package/skills/gsd-graphify/SKILL.md +1 -0
  413. package/skills/gsd-health/SKILL.md +1 -0
  414. package/skills/gsd-mempalace-capture/SKILL.md +8 -3
  415. package/skills/gsd-mempalace-recall/SKILL.md +1 -0
  416. package/skills/gsd-new-milestone/SKILL.md +1 -0
  417. package/skills/gsd-new-project/SKILL.md +1 -0
  418. package/skills/gsd-next/SKILL.md +1 -0
  419. package/skills/gsd-pause-work/SKILL.md +1 -0
  420. package/skills/gsd-phase/SKILL.md +1 -0
  421. package/skills/gsd-plan-review-convergence/SKILL.md +5 -5
  422. package/skills/gsd-pr-branch/SKILL.md +1 -0
  423. package/skills/gsd-progress/SKILL.md +1 -1
  424. package/skills/gsd-quick-batch/SKILL.md +1 -1
  425. package/skills/gsd-resume-work/SKILL.md +1 -0
  426. package/skills/gsd-review/SKILL.md +2 -3
  427. package/skills/gsd-review-backlog/SKILL.md +1 -0
  428. package/skills/gsd-settings/SKILL.md +2 -1
  429. package/skills/gsd-stats/SKILL.md +1 -0
  430. package/skills/gsd-thread/SKILL.md +1 -0
  431. package/skills/gsd-workspace/SKILL.md +1 -0
  432. package/skills/gsd-workstreams/SKILL.md +1 -0
  433. package/vscode/package.json +1 -1
  434. package/gsd-core/templates/claude-md.md +0 -145
  435. package/gsd-core/templates/codebase/concerns.md +0 -310
  436. package/gsd-core/templates/codebase/conventions.md +0 -307
  437. package/gsd-core/templates/codebase/integrations.md +0 -280
  438. package/gsd-core/templates/codebase/structure.md +0 -285
  439. package/gsd-core/templates/codebase/testing.md +0 -480
  440. package/gsd-core/templates/debug-subagent-prompt.md +0 -91
  441. package/gsd-core/templates/discovery.md +0 -146
@@ -0,0 +1,224 @@
1
+ // GENERATED FILE — do not hand-edit. Run `node scripts/gen-platform-conformance-tier.cjs --target macos --write` to regenerate.
2
+ // macOS-specific conformance tier (#4593), separate from and narrower than the general/
3
+ // Windows-oriented tier in platform-conformance-tier.generated.cjs — see
4
+ // docs/adr/4593-macos-conformance-tier-architecture.md for the full rationale.
5
+ 'use strict';
6
+
7
+ module.exports = {
8
+ MACOS_CONFORMANCE_TIER_FILES: [
9
+ "tests/adr-612-bracket-phase-counting.test.cjs",
10
+ "tests/adr-index-gate.test.cjs",
11
+ "tests/adr-parser.property.test.cjs",
12
+ "tests/adr-parser.unit.test.cjs",
13
+ "tests/agent-classification-parity.test.cjs",
14
+ "tests/agent-install-check.test.cjs",
15
+ "tests/agent-skills.test.cjs",
16
+ "tests/api-coverage-gate-e2e.test.cjs",
17
+ "tests/api-coverage.test.cjs",
18
+ "tests/ask-user-questions-fallback.test.cjs",
19
+ "tests/audit-command-cutover.test.cjs",
20
+ "tests/broken-windows.test.cjs",
21
+ "tests/capability-cli.test.cjs",
22
+ "tests/capability-command-dispatch.test.cjs",
23
+ "tests/capability-consent.test.cjs",
24
+ "tests/capability-ledger.test.cjs",
25
+ "tests/capability-lifecycle.test.cjs",
26
+ "tests/capability-loader.test.cjs",
27
+ "tests/capability-lock-mkdir-failure-3987.test.cjs",
28
+ "tests/capability-registry.test.cjs",
29
+ "tests/capability-source.test.cjs",
30
+ "tests/capability-state.test.cjs",
31
+ "tests/capability-trust.test.cjs",
32
+ "tests/changeset-parse.test.cjs",
33
+ "tests/check-contract-drift.test.cjs",
34
+ "tests/check-predicate.test.cjs",
35
+ "tests/check-ui-plan-gate.test.cjs",
36
+ "tests/check-ui-safety-gate.test.cjs",
37
+ "tests/check-update-config-dir.test.cjs",
38
+ "tests/chunked-planning-parallel.test.cjs",
39
+ "tests/ci-docs-guard-registry.test.cjs",
40
+ "tests/ci-test-scope.test.cjs",
41
+ "tests/cline-install.test.cjs",
42
+ "tests/code-review-pipeline-regression.test.cjs",
43
+ "tests/codex-config-agents.test.cjs",
44
+ "tests/codex-config-hooks.test.cjs",
45
+ "tests/codex-config-install.test.cjs",
46
+ "tests/codex-config.test.cjs",
47
+ "tests/commands.test.cjs",
48
+ "tests/commit-docs-bypass.test.cjs",
49
+ "tests/commit-files-deletion.test.cjs",
50
+ "tests/commit-files-pathspec.test.cjs",
51
+ "tests/commonjs-marker.test.cjs",
52
+ "tests/completion-ratio-scope-withholding.test.cjs",
53
+ "tests/config-loader.test.cjs",
54
+ "tests/config-schema.property.test.cjs",
55
+ "tests/config.test.cjs",
56
+ "tests/configured-entrypoint-validation.test.cjs",
57
+ "tests/contributor-standards.test.cjs",
58
+ "tests/core-utils.test.cjs",
59
+ "tests/cursor-subagent-isolation.test.cjs",
60
+ "tests/debugger-semantic-recall.test.cjs",
61
+ "tests/default-flip-documentation-lint.test.cjs",
62
+ "tests/discuss-phase-power.test.cjs",
63
+ "tests/docs-parity-live-registry.test.cjs",
64
+ "tests/effort-surface-axis.test.cjs",
65
+ "tests/effort-sync-installed-runtime.test.cjs",
66
+ "tests/emitted-attribution.test.cjs",
67
+ "tests/ensure-runtime-build.test.cjs",
68
+ "tests/execute-phase-decimal-arithmetic.test.cjs",
69
+ "tests/executed-plan.test.cjs",
70
+ "tests/executor-mvp-tdd-section.test.cjs",
71
+ "tests/external-job.test.cjs",
72
+ "tests/failing-direction.test.cjs",
73
+ "tests/fallow-runner.test.cjs",
74
+ "tests/feat-2483-review-claude-mds-guard.test.cjs",
75
+ "tests/features-index-gate.test.cjs",
76
+ "tests/frontmatter.unit.test.cjs",
77
+ "tests/gap-checker.property.test.cjs",
78
+ "tests/gemini-runtime-removed.test.cjs",
79
+ "tests/gen-context-index.test.cjs",
80
+ "tests/gen-section-manifest.test.cjs",
81
+ "tests/git-base-branch.test.cjs",
82
+ "tests/graphify-query.test.cjs",
83
+ "tests/graphify-visualization.test.cjs",
84
+ "tests/gsd-secret-read-guard.test.cjs",
85
+ "tests/gsd-settings-advanced.test.cjs",
86
+ "tests/gsd-statusline.test.cjs",
87
+ "tests/gsd-tools-path-refs.test.cjs",
88
+ "tests/gsd-validate-commit-crash-policy.test.cjs",
89
+ "tests/gsd-validate-commit-sigpipe.test.cjs",
90
+ "tests/gsd-write-guard.test.cjs",
91
+ "tests/health-diagnostic-rules/worktree-health.test.cjs",
92
+ "tests/health-diagnostic.test.cjs",
93
+ "tests/helpers-cleanup.test.cjs",
94
+ "tests/helpers-process-isolation.test.cjs",
95
+ "tests/hooks-crash-policy.test.cjs",
96
+ "tests/hooks-opt-in.test.cjs",
97
+ "tests/host-integration.test.cjs",
98
+ "tests/init-manager.test.cjs",
99
+ "tests/init.test.cjs",
100
+ "tests/install-minimal-hooks.test.cjs",
101
+ "tests/install-path-detection.test.cjs",
102
+ "tests/install-regressions.test.cjs",
103
+ "tests/install-runtime-artifacts.test.cjs",
104
+ "tests/install-write-confinement.test.cjs",
105
+ "tests/install.test.cjs",
106
+ "tests/installer-migration-antigravity-retire-confighome-artifacts.test.cjs",
107
+ "tests/installer-migration-config-root-marker.test.cjs",
108
+ "tests/installer-migration-pi-retire-hooks-dir.test.cjs",
109
+ "tests/installer-migration-prune-stale-pristine.test.cjs",
110
+ "tests/installer-migration-rename-gsd-core.test.cjs",
111
+ "tests/installer-migrations.test.cjs",
112
+ "tests/intel.test.cjs",
113
+ "tests/inventory-nested-families.test.cjs",
114
+ "tests/isolation-sentinel.test.cjs",
115
+ "tests/issue-version-gate.test.cjs",
116
+ "tests/kimi-upgrades.test.cjs",
117
+ "tests/lint-docs-command-form.test.cjs",
118
+ "tests/lint-retired-runtime-name.test.cjs",
119
+ "tests/lint-workflow-shellcheck-fetch.test.cjs",
120
+ "tests/list-seeds.test.cjs",
121
+ "tests/markdown-sectionizer.test.cjs",
122
+ "tests/mcp-catalog.test.cjs",
123
+ "tests/milestone-archive.test.cjs",
124
+ "tests/milestone-window-single-owner.test.cjs",
125
+ "tests/model-catalog.unit.test.cjs",
126
+ "tests/model-resolver.test.cjs",
127
+ "tests/no-exact-case-env-access.rule.test.cjs",
128
+ "tests/no-pending-3212-markers.test.cjs",
129
+ "tests/no-phantom-issue-refs.test.cjs",
130
+ "tests/no-posix-mode-bit-assert.rule.test.cjs",
131
+ "tests/no-private-binary-resolution.rule.test.cjs",
132
+ "tests/no-unguarded-nonportable-exec.rule.test.cjs",
133
+ "tests/nsegment-phase-grammar.test.cjs",
134
+ "tests/observability/event.test.cjs",
135
+ "tests/onboard-command.test.cjs",
136
+ "tests/opencode-plugin-adapter.test.cjs",
137
+ "tests/pause-work-context-detection.test.cjs",
138
+ "tests/pause-work-improvements.test.cjs",
139
+ "tests/perf-317-context-monitor-fs.test.cjs",
140
+ "tests/phase-completion-single-owner.test.cjs",
141
+ "tests/phase-estimation.test.cjs",
142
+ "tests/phase-id-drift-guard.test.cjs",
143
+ "tests/phase-id.test.cjs",
144
+ "tests/phase-locator.test.cjs",
145
+ "tests/phase.test.cjs",
146
+ "tests/plan-count-single-owner.test.cjs",
147
+ "tests/plan-document.test.cjs",
148
+ "tests/plan-phase-stall-detection.test.cjs",
149
+ "tests/plan-review-convergence.test.cjs",
150
+ "tests/planning-inspect.test.cjs",
151
+ "tests/planning-inspect.unit.test.cjs",
152
+ "tests/planning-lock-mkdir-failure-1884.test.cjs",
153
+ "tests/planning-snapshot.test.cjs",
154
+ "tests/planning-workspace.test.cjs",
155
+ "tests/platform-conformance-tier.test.cjs",
156
+ "tests/plugin-manifest.test.cjs",
157
+ "tests/policy-shell-pinning.test.cjs",
158
+ "tests/portability-rule-disable-ban.test.cjs",
159
+ "tests/precommit-alias-drift-hook.test.cjs",
160
+ "tests/prepush-enterprise-email-hook.test.cjs",
161
+ "tests/process-seam.test.cjs",
162
+ "tests/profile-output.test.cjs",
163
+ "tests/profile-pipeline.test.cjs",
164
+ "tests/project-root.test.cjs",
165
+ "tests/quick-batch.test.cjs",
166
+ "tests/quick-branching.test.cjs",
167
+ "tests/quick-research.test.cjs",
168
+ "tests/reapply-verify-hunks.test.cjs",
169
+ "tests/refactor-1390-t3-characterization.test.cjs",
170
+ "tests/require-issue-link-policy.test.cjs",
171
+ "tests/response-language-coverage.test.cjs",
172
+ "tests/retired-artifact-cleanup.test.cjs",
173
+ "tests/review-build-prompt-optional-sections.test.cjs",
174
+ "tests/review-lane-runner.test.cjs",
175
+ "tests/review-lane-windows-spawn-resolution.test.cjs",
176
+ "tests/review-parallel-lanes.test.cjs",
177
+ "tests/review-plan-coverage-manifest.test.cjs",
178
+ "tests/review-reviewer-selection.test.cjs",
179
+ "tests/reviewer-manifest-body.test.cjs",
180
+ "tests/reviewer-step-dispatch.test.cjs",
181
+ "tests/roadmap-mode-field.test.cjs",
182
+ "tests/roadmap-parser.test.cjs",
183
+ "tests/roadmap-phase-fallback.test.cjs",
184
+ "tests/roadmap-upgrade-bracket.test.cjs",
185
+ "tests/roadmap.test.cjs",
186
+ "tests/run-tests-harness.test.cjs",
187
+ "tests/runtime-artifact-layout.test.cjs",
188
+ "tests/runtime-identity.test.cjs",
189
+ "tests/runtime-launcher-parity.test.cjs",
190
+ "tests/runtime-name-policy.test.cjs",
191
+ "tests/security.test.cjs",
192
+ "tests/settings-jsonc.test.cjs",
193
+ "tests/shared-hooks-dir-resolution.test.cjs",
194
+ "tests/shell-command-projection-dispatch.test.cjs",
195
+ "tests/shipped-reference-cites.test.cjs",
196
+ "tests/spawn-liveness-banner.test.cjs",
197
+ "tests/state-document.test.cjs",
198
+ "tests/state-transition.test.cjs",
199
+ "tests/state.test.cjs",
200
+ "tests/todos-workstream-scope.test.cjs",
201
+ "tests/tracer-bullet.test.cjs",
202
+ "tests/uat-predicate.test.cjs",
203
+ "tests/uat.test.cjs",
204
+ "tests/ui-interaction-capture.test.cjs",
205
+ "tests/ui-safety-gate.test.cjs",
206
+ "tests/ui-spec-inventory-provenance.test.cjs",
207
+ "tests/unreachable-guard-drift.test.cjs",
208
+ "tests/unreachable-shell-guard.test.cjs",
209
+ "tests/unusable-input.test.cjs",
210
+ "tests/update-custom-backup.test.cjs",
211
+ "tests/user-artifact-staging.test.cjs",
212
+ "tests/verification-overrides.test.cjs",
213
+ "tests/verification-status.test.cjs",
214
+ "tests/verify-archive-dirs-live-path.test.cjs",
215
+ "tests/verify-command-grounding.test.cjs",
216
+ "tests/verify.test.cjs",
217
+ "tests/workflow-fragments.test.cjs",
218
+ "tests/workflow-shell-pinning.test.cjs",
219
+ "tests/workstream-inventory.test.cjs",
220
+ "tests/workstream.test.cjs",
221
+ "tests/worktree-safety.test.cjs",
222
+ "tests/worktree.test.cjs",
223
+ ],
224
+ };
@@ -16,8 +16,9 @@
16
16
  // Durability, not `--test-reporter-destination` (#3889 root cause): a
17
17
  // reporter that YIELDS strings has them piped by Node into a
18
18
  // `fs.WriteStream` targeting the destination path, and that stream buffers.
19
- // The parent's `execFileSync` timeout SIGKILLs the child on a hang, and
20
- // SIGKILL is uncatchable and gives the process zero chance to flush — so a
19
+ // The parent's per-chunk timeout (run-tests.cjs's runChunk) kills the child
20
+ // on a hang, and a hard kill (TerminateProcess on Windows, SIGKILL on POSIX)
21
+ // is uncatchable and gives the process zero chance to flush — so a
21
22
  // yield-based reporter can lose every event still sitting in the stream's
22
23
  // buffer, which is exactly the case this feature exists to diagnose (proven
23
24
  // live: a chunk killed at 2006ms produced a `killed after 2006ms` line from
@@ -0,0 +1,59 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * #4460: distinguishes WHY scripts/check-env.cjs's npm-version check's
5
+ * spawnSync(npmCmd, ['--version'], ...) produced no usable output, instead
6
+ * of collapsing every case into "npm binary not found on PATH" -- a
7
+ * message that used to fire identically for a genuinely-missing binary AND
8
+ * for a spawnSync TIMEOUT under CI load (exitCode stays non-zero, stdout
9
+ * stays empty, either way). Root-caused live: an unrelated PR's Windows CI
10
+ * shard failed this check twice in a row while running ~51 concurrent test
11
+ * files; npm.cmd's own cold-start plausibly exceeded the check's original
12
+ * 10s window under that contention, and the misleading message made a real
13
+ * timeout indistinguishable from npm actually being absent.
14
+ *
15
+ * Expects `result.timedOut` to already be computed the same way this
16
+ * repo's canonical OS-shell-projection seam (execNpm / isSpawnTimeout,
17
+ * src/shell-command-projection.cts) computes it: `error.code ===
18
+ * 'ETIMEDOUT'`, which Node's spawnSync guarantees when its own `timeout`
19
+ * option fires. NOT imported directly here -- check-env.cjs deliberately
20
+ * cannot depend on that seam's compiled output (gsd-core/bin/lib/*.cjs), a
21
+ * tsc build artifact that does not exist yet when check-env.cjs runs as its
22
+ * own standalone pre-`npm ci` CI step (confirmed live: an earlier version
23
+ * of this fix routed through execNpm directly and crashed every real CI
24
+ * job with MODULE_NOT_FOUND) -- so the same ETIMEDOUT check is computed
25
+ * inline in check-env.cjs instead. Checking `result.signal === 'SIGTERM'`
26
+ * directly (what an earlier version of this fix did) is platform-fragile
27
+ * per that seam's own documented reasoning, with a specifically-called-out
28
+ * risk of a false NEGATIVE on Windows -- the exact platform this failure
29
+ * was discovered on.
30
+ *
31
+ * Kept out of scripts/check-env.cjs itself (which runs its CLI unconditionally
32
+ * on require, with no `require.main === module` guard) so this pure logic
33
+ * can be required directly by tests without triggering a real environment
34
+ * check.
35
+ *
36
+ * @param {{exitCode: number, stdout: string, signal: string|null, error: (Error & {code?: string})|null, timedOut: boolean}} result
37
+ * @returns {string}
38
+ */
39
+ function describeNpmVersionCheckFailure(result) {
40
+ if (result.error && result.error.code === 'ENOENT') {
41
+ return 'npm binary not found on PATH';
42
+ }
43
+ if (result.timedOut) {
44
+ return `npm --version timed out under CI load -- not a missing binary`;
45
+ }
46
+ if (result.exitCode !== 0) {
47
+ return `npm --version exited ${result.exitCode} with no usable output`;
48
+ }
49
+ if (result.exitCode === 0) {
50
+ // npm ran and exited cleanly but printed nothing -- distinct from every
51
+ // case above (which all involve a failed/absent spawn), so it gets its
52
+ // own message rather than falling through to "not found on PATH", which
53
+ // would misdescribe a real npm binary that simply produced no output.
54
+ return 'npm --version exited 0 but produced no output';
55
+ }
56
+ return 'npm binary not found on PATH';
57
+ }
58
+
59
+ module.exports = { describeNpmVersionCheckFailure };
@@ -0,0 +1,287 @@
1
+ // GENERATED FILE — do not hand-edit. Run `node scripts/gen-platform-conformance-tier.cjs --write` to regenerate.
2
+ 'use strict';
3
+
4
+ module.exports = {
5
+ CONFORMANCE_TIER_FILES: [
6
+ "tests/adr-index-gate.test.cjs",
7
+ "tests/adr857-core-without-capabilities.test.cjs",
8
+ "tests/agent-install-check.test.cjs",
9
+ "tests/agent-install-validation.test.cjs",
10
+ "tests/agent-skills.test.cjs",
11
+ "tests/antigravity-upgrades.test.cjs",
12
+ "tests/api-coverage-gate-e2e.test.cjs",
13
+ "tests/api-coverage.test.cjs",
14
+ "tests/assumption-delta-checkpoint-e2e.test.cjs",
15
+ "tests/assumption-delta.test.cjs",
16
+ "tests/audit-command-cutover.test.cjs",
17
+ "tests/augment-upgrades.test.cjs",
18
+ "tests/broken-windows.test.cjs",
19
+ "tests/capability-cli.test.cjs",
20
+ "tests/capability-command-dispatch.test.cjs",
21
+ "tests/capability-consent.test.cjs",
22
+ "tests/capability-ledger.test.cjs",
23
+ "tests/capability-lifecycle.test.cjs",
24
+ "tests/capability-loader.test.cjs",
25
+ "tests/capability-lock-mkdir-failure-3987.test.cjs",
26
+ "tests/capability-probe-fallback.test.cjs",
27
+ "tests/capability-source.test.cjs",
28
+ "tests/capability-state.test.cjs",
29
+ "tests/changeset-new.test.cjs",
30
+ "tests/check-contract-drift.test.cjs",
31
+ "tests/check-env.test.cjs",
32
+ "tests/check-gap-analysis-plan-post-e2e.test.cjs",
33
+ "tests/check-glossary-refs.test.cjs",
34
+ "tests/check-predicate.test.cjs",
35
+ "tests/check-tdd-review-checkpoint-e2e.test.cjs",
36
+ "tests/check-ui-safety-gate.test.cjs",
37
+ "tests/check-update-config-dir.test.cjs",
38
+ "tests/chunked-planning-parallel.test.cjs",
39
+ "tests/ci-docs-guard-registry.test.cjs",
40
+ "tests/ci-rebase-check.test.cjs",
41
+ "tests/ci-test-scope.test.cjs",
42
+ "tests/cjs-command-router-adapter.test.cjs",
43
+ "tests/claude-md.test.cjs",
44
+ "tests/cline-install.test.cjs",
45
+ "tests/close-phase-todos-padded-resolves.test.cjs",
46
+ "tests/code-review-fix-pipeline-regression.test.cjs",
47
+ "tests/code-review-pipeline-regression.test.cjs",
48
+ "tests/code-review-tier3-files-override-scoping.test.cjs",
49
+ "tests/code-review.test.cjs",
50
+ "tests/codex-config-agents.test.cjs",
51
+ "tests/codex-config-hooks.test.cjs",
52
+ "tests/codex-config-install.test.cjs",
53
+ "tests/codex-config.test.cjs",
54
+ "tests/codex-inherit-smoke.test.cjs",
55
+ "tests/command-routing-hub.test.cjs",
56
+ "tests/commands.test.cjs",
57
+ "tests/commit-files-deletion.test.cjs",
58
+ "tests/commit-files-pathspec.test.cjs",
59
+ "tests/commonjs-marker.test.cjs",
60
+ "tests/compact-content-4139.test.cjs",
61
+ "tests/completion-ratio-scope-withholding.test.cjs",
62
+ "tests/config-defaults-runtime-exclusion.test.cjs",
63
+ "tests/config-get-default.test.cjs",
64
+ "tests/config-loader.test.cjs",
65
+ "tests/config-schema.property.test.cjs",
66
+ "tests/config.test.cjs",
67
+ "tests/configured-entrypoint-validation.test.cjs",
68
+ "tests/copilot-install.test.cjs",
69
+ "tests/copilot-upgrades.test.cjs",
70
+ "tests/core-utils.test.cjs",
71
+ "tests/cursor-hook-workspace-roots.test.cjs",
72
+ "tests/cursor-hooks.test.cjs",
73
+ "tests/cursor-subagent-isolation.test.cjs",
74
+ "tests/dispatch-identity.test.cjs",
75
+ "tests/dispatcher.test.cjs",
76
+ "tests/drift-detection.test.cjs",
77
+ "tests/effort-surface-axis.test.cjs",
78
+ "tests/effort-sync-installed-runtime.test.cjs",
79
+ "tests/emitted-ack-trailer.test.cjs",
80
+ "tests/emitted-attribution.test.cjs",
81
+ "tests/emitted-provenance.test.cjs",
82
+ "tests/ensure-runtime-build.test.cjs",
83
+ "tests/eslint-rules.test.cjs",
84
+ "tests/execute-phase-decimal-arithmetic.test.cjs",
85
+ "tests/execute-phase-worktree-guard.test.cjs",
86
+ "tests/execute-plan-update-codebase-map-diff-base.test.cjs",
87
+ "tests/execute-wave-post-gate-pipeline-e2e.test.cjs",
88
+ "tests/executed-plan.test.cjs",
89
+ "tests/executor-mvp-tdd-section.test.cjs",
90
+ "tests/external-descriptor-confinement.test.cjs",
91
+ "tests/failing-direction.test.cjs",
92
+ "tests/fallow-runner.test.cjs",
93
+ "tests/faulty-deps.test.cjs",
94
+ "tests/feat-2483-review-claude-mds-guard.test.cjs",
95
+ "tests/features-index-gate.test.cjs",
96
+ "tests/frontmatter.test.cjs",
97
+ "tests/gap-checker.property.test.cjs",
98
+ "tests/gemini-runtime-removed.test.cjs",
99
+ "tests/gen-context-index.test.cjs",
100
+ "tests/gen-health-docs.test.cjs",
101
+ "tests/gen-section-manifest.test.cjs",
102
+ "tests/git-base-branch.test.cjs",
103
+ "tests/golden-install-tree.test.cjs",
104
+ "tests/graphify-graph-path.test.cjs",
105
+ "tests/graphify-visualization.test.cjs",
106
+ "tests/graphify.test.cjs",
107
+ "tests/gsd-agent-isolation-guard.test.cjs",
108
+ "tests/gsd-check-update-worker-atomic-cache.test.cjs",
109
+ "tests/gsd-check-update-worker-platform-gate.test.cjs",
110
+ "tests/gsd-mcp-server-bin.test.cjs",
111
+ "tests/gsd-statusline.test.cjs",
112
+ "tests/gsd-validate-commit-crash-policy.test.cjs",
113
+ "tests/gsd-validate-commit-sigpipe.test.cjs",
114
+ "tests/gsd-write-guard.test.cjs",
115
+ "tests/health-diagnostic-rules/config-validation.test.cjs",
116
+ "tests/health-diagnostic-rules/worktree-health.test.cjs",
117
+ "tests/health-diagnostic.test.cjs",
118
+ "tests/helpers-cleanup.test.cjs",
119
+ "tests/helpers-process-isolation.test.cjs",
120
+ "tests/hermes-skills-migration.test.cjs",
121
+ "tests/hooks-commonjs-marker.test.cjs",
122
+ "tests/hooks-crash-policy.test.cjs",
123
+ "tests/hooks-opt-in.test.cjs",
124
+ "tests/host-integration.test.cjs",
125
+ "tests/init-manager.test.cjs",
126
+ "tests/init.test.cjs",
127
+ "tests/install-minimal-hooks.test.cjs",
128
+ "tests/install-nested-layout.test.cjs",
129
+ "tests/install-path-detection.test.cjs",
130
+ "tests/install-regressions.test.cjs",
131
+ "tests/install-runtime-artifacts.test.cjs",
132
+ "tests/install-write-confinement.test.cjs",
133
+ "tests/install.test.cjs",
134
+ "tests/installer-migration-antigravity-retire-confighome-artifacts.test.cjs",
135
+ "tests/installer-migration-config-root-marker.test.cjs",
136
+ "tests/installer-migration-pi-retire-hooks-dir.test.cjs",
137
+ "tests/installer-migration-prune-stale-pristine.test.cjs",
138
+ "tests/installer-migration-rename-gsd-core.test.cjs",
139
+ "tests/installer-migrations.test.cjs",
140
+ "tests/intel.test.cjs",
141
+ "tests/inventory-nested-families.test.cjs",
142
+ "tests/io.test.cjs",
143
+ "tests/isolation-sentinel.test.cjs",
144
+ "tests/kilo-upgrades.test.cjs",
145
+ "tests/kimi-agent-converter.test.cjs",
146
+ "tests/kimi-upgrades.test.cjs",
147
+ "tests/kimi-variant-disambiguation.test.cjs",
148
+ "tests/lint-phase-arg-assignment.test.cjs",
149
+ "tests/lint-workflow-shellcheck-fetch.test.cjs",
150
+ "tests/live-config-guard.test.cjs",
151
+ "tests/lockfile-cve-audit.test.cjs",
152
+ "tests/locking-bugs-1909-1916-1925-1927.test.cjs",
153
+ "tests/loop-hooks-empty-points-e2e.test.cjs",
154
+ "tests/loop-hooks-ship-pre-e2e.test.cjs",
155
+ "tests/loop-hooks-verify-post-e2e.test.cjs",
156
+ "tests/mcp-catalog.property.test.cjs",
157
+ "tests/mcp-catalog.test.cjs",
158
+ "tests/milestone-archive.test.cjs",
159
+ "tests/milestone-window-single-owner.test.cjs",
160
+ "tests/model-resolver.test.cjs",
161
+ "tests/mutation-workflow-base-ref.test.cjs",
162
+ "tests/new-milestone-clear-phases.test.cjs",
163
+ "tests/no-bare-npm-exec.rule.test.cjs",
164
+ "tests/no-exact-case-env-access.rule.test.cjs",
165
+ "tests/no-path-literal-in-assert.rule.test.cjs",
166
+ "tests/no-pending-3212-markers.test.cjs",
167
+ "tests/no-phantom-issue-refs.test.cjs",
168
+ "tests/no-posix-mode-bit-assert.rule.test.cjs",
169
+ "tests/no-private-binary-resolution.rule.test.cjs",
170
+ "tests/no-unbounded-dirname-walk.rule.test.cjs",
171
+ "tests/no-unbounded-spawn.test.cjs",
172
+ "tests/no-unguarded-nonportable-exec.rule.test.cjs",
173
+ "tests/npm-audit-baseline.test.cjs",
174
+ "tests/npm-integrity-gate.test.cjs",
175
+ "tests/nsegment-phase-grammar.test.cjs",
176
+ "tests/onboard-command.test.cjs",
177
+ "tests/opencode-command-dir-plural.test.cjs",
178
+ "tests/opencode-plugin-adapter.test.cjs",
179
+ "tests/overlay-repo-helpers.test.cjs",
180
+ "tests/packaging-shipped-scripts-require-only-shipped.test.cjs",
181
+ "tests/path-replacement.test.cjs",
182
+ "tests/pause-work-context-detection.test.cjs",
183
+ "tests/pause-work-improvements.test.cjs",
184
+ "tests/perf-317-context-monitor-fs.test.cjs",
185
+ "tests/phase-completion-single-owner.test.cjs",
186
+ "tests/phase-estimation.test.cjs",
187
+ "tests/phase-locator.test.cjs",
188
+ "tests/phase.test.cjs",
189
+ "tests/phase6-capstone-conformance.test.cjs",
190
+ "tests/pi-config-dir-env-override.test.cjs",
191
+ "tests/plan-count-single-owner.test.cjs",
192
+ "tests/plan-phase-stall-detection.test.cjs",
193
+ "tests/plan-pre-hook-e2e.test.cjs",
194
+ "tests/plan-review-convergence.test.cjs",
195
+ "tests/planning-inspect.test.cjs",
196
+ "tests/planning-inspect.unit.test.cjs",
197
+ "tests/planning-lock-mkdir-failure-1884.test.cjs",
198
+ "tests/planning-prompt-drift.test.cjs",
199
+ "tests/planning-snapshot.test.cjs",
200
+ "tests/planning-workspace.test.cjs",
201
+ "tests/platform-conformance-tier.test.cjs",
202
+ "tests/platform-guard.unit.test.cjs",
203
+ "tests/plugin-manifest.test.cjs",
204
+ "tests/policy-160-route0-resume.test.cjs",
205
+ "tests/policy-shell-pinning.test.cjs",
206
+ "tests/portability-rule-disable-ban.test.cjs",
207
+ "tests/pr-branch-planning-filter.test.cjs",
208
+ "tests/precommit-alias-drift-hook.test.cjs",
209
+ "tests/prepush-enterprise-email-hook.test.cjs",
210
+ "tests/process-seam.test.cjs",
211
+ "tests/profile-output.test.cjs",
212
+ "tests/profile-pipeline.test.cjs",
213
+ "tests/prohibition-enforcement.test.cjs",
214
+ "tests/project-root.test.cjs",
215
+ "tests/quick-batch.test.cjs",
216
+ "tests/quick-branching.test.cjs",
217
+ "tests/quick-research.test.cjs",
218
+ "tests/quick-review-scope-tip-bound.test.cjs",
219
+ "tests/read-guard.test.cjs",
220
+ "tests/reapply-verify-hunks.test.cjs",
221
+ "tests/repo-layout.test.cjs",
222
+ "tests/representative-corpus.test.cjs",
223
+ "tests/require-fs-op-fallback.rule.test.cjs",
224
+ "tests/require-full-tmpdir-triad.rule.test.cjs",
225
+ "tests/require-userprofile-with-home.rule.test.cjs",
226
+ "tests/response-language-coverage.test.cjs",
227
+ "tests/retired-artifact-cleanup.test.cjs",
228
+ "tests/review-build-prompt-optional-sections.test.cjs",
229
+ "tests/review-default-reviewers-config.test.cjs",
230
+ "tests/review-lane-runner.test.cjs",
231
+ "tests/review-lane-windows-spawn-resolution.test.cjs",
232
+ "tests/review-model-config.test.cjs",
233
+ "tests/review-parallel-lanes.test.cjs",
234
+ "tests/review-plan-coverage-manifest.test.cjs",
235
+ "tests/reviewer-manifest-body.test.cjs",
236
+ "tests/reviewer-step-dispatch.test.cjs",
237
+ "tests/revision-remediation-binding.test.cjs",
238
+ "tests/roadmap-parser.test.cjs",
239
+ "tests/roadmap-upgrade-bracket.test.cjs",
240
+ "tests/roadmap.test.cjs",
241
+ "tests/run-tests-harness.test.cjs",
242
+ "tests/run-tests-temp-root.test.cjs",
243
+ "tests/run-with-timeout.test.cjs",
244
+ "tests/runtime-artifact-layout-surface.test.cjs",
245
+ "tests/runtime-artifact-layout.test.cjs",
246
+ "tests/runtime-converters.test.cjs",
247
+ "tests/runtime-homes-descriptor-drive.test.cjs",
248
+ "tests/runtime-identity.test.cjs",
249
+ "tests/runtime-launcher-parity.test.cjs",
250
+ "tests/security.test.cjs",
251
+ "tests/settings-jsonc.test.cjs",
252
+ "tests/sh-hook-paths.test.cjs",
253
+ "tests/shared-hooks-dir-resolution.test.cjs",
254
+ "tests/shell-command-projection-dispatch.test.cjs",
255
+ "tests/shell-command-projection-path-sep.test.cjs",
256
+ "tests/ship-notes-wedged-pr.test.cjs",
257
+ "tests/shipped-reference-cites.test.cjs",
258
+ "tests/skill-manifest.test.cjs",
259
+ "tests/slug-derivation-drift-guard.test.cjs",
260
+ "tests/state-todos-render.test.cjs",
261
+ "tests/state.test.cjs",
262
+ "tests/teams-status.test.cjs",
263
+ "tests/test-gate-watch-mode.test.cjs",
264
+ "tests/todos-workstream-scope.test.cjs",
265
+ "tests/ui-interaction-capture.test.cjs",
266
+ "tests/undo-commit-selection-4465.test.cjs",
267
+ "tests/undo-commit-selection.test.cjs",
268
+ "tests/unreachable-guard-drift.test.cjs",
269
+ "tests/unreachable-shell-guard.test.cjs",
270
+ "tests/unusable-input.test.cjs",
271
+ "tests/update-custom-backup.test.cjs",
272
+ "tests/user-artifact-staging.test.cjs",
273
+ "tests/verification-status.test.cjs",
274
+ "tests/verify-archive-dirs-live-path.test.cjs",
275
+ "tests/verify-command-grounding.test.cjs",
276
+ "tests/verify.test.cjs",
277
+ "tests/windsurf-hooks-bridge.test.cjs",
278
+ "tests/workflow-guard.test.cjs",
279
+ "tests/workflow-shell-pinning.test.cjs",
280
+ "tests/workstream-inventory.test.cjs",
281
+ "tests/workstream-scoped-paths.test.cjs",
282
+ "tests/workstream.test.cjs",
283
+ "tests/worktree-cleanup.test.cjs",
284
+ "tests/worktree-safety.test.cjs",
285
+ "tests/worktree.test.cjs",
286
+ ],
287
+ };
@@ -0,0 +1,32 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Suite classification by filename suffix (#4591 packaging fix — extracted
5
+ * from scripts/run-tests.cjs so a SHIPPED script, e.g.
6
+ * scripts/gen-platform-conformance-tier.cjs, can depend on it: run-tests.cjs
7
+ * itself does not ship (it is a repo-development-only tool), so a shipped
8
+ * file requiring it directly is MODULE_NOT_FOUND in a published install
9
+ * (tests/packaging-shipped-scripts-require-only-shipped.test.cjs, #2858).
10
+ * run-tests.cjs re-exports suiteOf from here unchanged for full backward
11
+ * compatibility — this is a pure relocation, not a behavior change.
12
+ *
13
+ * A file with no suite suffix (plain `foo.test.cjs`) belongs to the `unit`
14
+ * suite and returns `null` here; a suite-tagged file (`foo.install.test.cjs`)
15
+ * returns its marker string.
16
+ */
17
+
18
+ const { basename } = require('node:path');
19
+
20
+ const MARKED_SUITES = ['integration', 'install', 'security', 'slow', 'qa'];
21
+
22
+ function suiteOf(filename) {
23
+ const name = basename(filename);
24
+ if (!name.endsWith('.test.cjs')) return null;
25
+ const base = name.slice(0, -'.test.cjs'.length);
26
+ const lastDot = base.lastIndexOf('.');
27
+ if (lastDot === -1) return null;
28
+ const marker = base.slice(lastDot + 1);
29
+ return MARKED_SUITES.includes(marker) ? marker : null;
30
+ }
31
+
32
+ module.exports = { MARKED_SUITES, suiteOf };