@bhargavvc/sdd-cc 1.35.0 → 1.42.4

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 (1376) hide show
  1. package/README.ja-JP.md +54 -52
  2. package/README.ko-KR.md +47 -45
  3. package/README.md +86 -733
  4. package/README.pt-BR.md +14 -12
  5. package/README.zh-CN.md +31 -29
  6. package/agents/sdd-ai-researcher.md +2 -2
  7. package/agents/sdd-code-fixer.md +169 -17
  8. package/agents/sdd-code-reviewer.md +40 -8
  9. package/agents/sdd-codebase-mapper.md +89 -6
  10. package/agents/sdd-debug-session-manager.md +314 -0
  11. package/agents/sdd-debugger.md +147 -80
  12. package/agents/sdd-doc-classifier.md +168 -0
  13. package/agents/sdd-doc-synthesizer.md +204 -0
  14. package/agents/sdd-doc-verifier.md +20 -4
  15. package/agents/sdd-doc-writer.md +22 -9
  16. package/agents/sdd-domain-researcher.md +2 -2
  17. package/agents/sdd-eval-auditor.md +30 -3
  18. package/agents/sdd-eval-planner.md +2 -2
  19. package/agents/sdd-executor.md +203 -43
  20. package/agents/sdd-framework-selector.md +1 -1
  21. package/agents/sdd-integration-checker.md +30 -3
  22. package/agents/sdd-intel-updater.md +51 -23
  23. package/agents/sdd-nyquist-auditor.md +31 -4
  24. package/agents/sdd-pattern-mapper.md +335 -0
  25. package/agents/sdd-phase-researcher.md +195 -32
  26. package/agents/sdd-plan-checker.md +135 -24
  27. package/agents/sdd-planner.md +190 -205
  28. package/agents/sdd-project-researcher.md +7 -7
  29. package/agents/sdd-research-synthesizer.md +6 -6
  30. package/agents/sdd-roadmapper.md +19 -10
  31. package/agents/sdd-security-auditor.md +33 -6
  32. package/agents/sdd-ui-auditor.md +23 -7
  33. package/agents/sdd-ui-checker.md +16 -7
  34. package/agents/sdd-ui-researcher.md +8 -8
  35. package/agents/sdd-verifier.md +124 -27
  36. package/bin/install.js +5016 -372
  37. package/bin/sdd-sdk.js +37 -0
  38. package/commands/sdd/add-tests.md +5 -4
  39. package/commands/sdd/ai-integration-phase.md +4 -3
  40. package/commands/sdd/audit-fix.md +2 -1
  41. package/commands/sdd/audit-milestone.md +3 -2
  42. package/commands/sdd/autonomous.md +3 -3
  43. package/commands/sdd/capture.md +62 -0
  44. package/commands/sdd/cleanup.md +2 -1
  45. package/commands/sdd/code-review.md +8 -4
  46. package/commands/sdd/commit.md +39 -0
  47. package/commands/sdd/complete-milestone.md +15 -8
  48. package/commands/sdd/config.md +58 -0
  49. package/commands/sdd/debug.md +21 -155
  50. package/commands/sdd/discuss-phase.md +18 -11
  51. package/commands/sdd/docs-update.md +3 -2
  52. package/commands/sdd/eval-review.md +4 -3
  53. package/commands/sdd/execute-phase.md +5 -4
  54. package/commands/sdd/explore.md +3 -3
  55. package/commands/sdd/extract-learnings.md +23 -0
  56. package/commands/sdd/fast.md +4 -3
  57. package/commands/sdd/forensics.md +3 -2
  58. package/commands/sdd/graphify.md +199 -0
  59. package/commands/sdd/health.md +12 -3
  60. package/commands/sdd/help.md +1 -1
  61. package/commands/sdd/import.md +10 -5
  62. package/commands/sdd/inbox.md +39 -0
  63. package/commands/sdd/ingest-docs.md +42 -0
  64. package/commands/sdd/manager.md +8 -3
  65. package/commands/sdd/map-codebase.md +18 -6
  66. package/commands/sdd/milestone-summary.md +1 -1
  67. package/commands/sdd/mvp-phase.md +45 -0
  68. package/commands/sdd/new-milestone.md +4 -3
  69. package/commands/sdd/new-project.md +4 -3
  70. package/commands/sdd/ns-context.md +23 -0
  71. package/commands/sdd/ns-ideate.md +24 -0
  72. package/commands/sdd/ns-manage.md +29 -0
  73. package/commands/sdd/ns-project.md +22 -0
  74. package/commands/sdd/ns-review.md +26 -0
  75. package/commands/sdd/ns-workflow.md +28 -0
  76. package/commands/sdd/pause-work.md +6 -1
  77. package/commands/sdd/phase.md +56 -0
  78. package/commands/sdd/plan-phase.md +15 -5
  79. package/commands/sdd/plan-review-convergence.md +59 -0
  80. package/commands/sdd/pr-branch.md +2 -1
  81. package/commands/sdd/profile-user.md +1 -1
  82. package/commands/sdd/progress.md +27 -5
  83. package/commands/sdd/quick.md +128 -3
  84. package/commands/sdd/resume-work.md +2 -12
  85. package/commands/sdd/review-backlog.md +3 -2
  86. package/commands/sdd/review.md +3 -2
  87. package/commands/sdd/secure-phase.md +3 -2
  88. package/commands/sdd/settings.md +2 -9
  89. package/commands/sdd/ship.md +2 -1
  90. package/commands/sdd/sketch.md +60 -0
  91. package/commands/sdd/spec-phase.md +63 -0
  92. package/commands/sdd/spike.md +57 -0
  93. package/commands/sdd/stats.md +2 -1
  94. package/commands/sdd/surface.md +129 -0
  95. package/commands/sdd/thread.md +8 -111
  96. package/commands/sdd/ui-phase.md +3 -2
  97. package/commands/sdd/ui-review.md +3 -2
  98. package/commands/sdd/ultraplan-phase.md +34 -0
  99. package/commands/sdd/undo.md +2 -1
  100. package/commands/sdd/update.md +21 -10
  101. package/commands/sdd/validate-phase.md +3 -2
  102. package/commands/sdd/verify-work.md +5 -4
  103. package/commands/sdd/workspace.md +52 -0
  104. package/commands/sdd/workstreams.md +12 -11
  105. package/hooks/dist/sdd-check-update-worker.js +116 -0
  106. package/hooks/dist/sdd-check-update.js +13 -88
  107. package/hooks/dist/sdd-context-monitor.js +28 -1
  108. package/hooks/dist/sdd-phase-boundary.sh +23 -3
  109. package/hooks/dist/sdd-read-guard.js +21 -2
  110. package/hooks/dist/sdd-read-injection-scanner.js +152 -0
  111. package/hooks/dist/sdd-session-state.sh +38 -12
  112. package/hooks/dist/sdd-statusline.js +324 -28
  113. package/hooks/dist/sdd-update-banner.js +134 -0
  114. package/hooks/dist/sdd-validate-commit.sh +15 -5
  115. package/hooks/dist/sdd-workflow-guard.js +2 -2
  116. package/hooks/lib/git-cmd.js +150 -0
  117. package/hooks/sdd-check-update-worker.js +116 -0
  118. package/hooks/sdd-check-update.js +13 -88
  119. package/hooks/sdd-context-monitor.js +28 -1
  120. package/hooks/sdd-phase-boundary.sh +23 -3
  121. package/hooks/sdd-read-guard.js +21 -2
  122. package/hooks/sdd-read-injection-scanner.js +152 -0
  123. package/hooks/sdd-session-state.sh +38 -12
  124. package/hooks/sdd-statusline.js +324 -28
  125. package/hooks/sdd-update-banner.js +134 -0
  126. package/hooks/sdd-validate-commit.sh +15 -5
  127. package/hooks/sdd-workflow-guard.js +2 -2
  128. package/package.json +32 -7
  129. package/scripts/audit-workflow-script-paths.cjs +73 -0
  130. package/scripts/build-hooks.js +98 -4
  131. package/scripts/changeset/cli.cjs +269 -0
  132. package/scripts/changeset/github-release-notes.cjs +198 -0
  133. package/scripts/changeset/lint.cjs +110 -0
  134. package/scripts/changeset/new.cjs +137 -0
  135. package/scripts/changeset/parse.cjs +60 -0
  136. package/scripts/changeset/render.cjs +34 -0
  137. package/scripts/changeset/serialize.cjs +74 -0
  138. package/scripts/command-contract-helpers.cjs +61 -0
  139. package/scripts/diff-touches-shipped-paths.cjs +147 -0
  140. package/scripts/fix-slash-commands.cjs +106 -0
  141. package/scripts/gen-inventory-manifest.cjs +109 -0
  142. package/scripts/lint-command-contract.cjs +108 -0
  143. package/scripts/lint-descriptions.cjs +83 -0
  144. package/scripts/lint-no-source-grep-extras.cjs +81 -0
  145. package/scripts/lint-no-source-grep.cjs +174 -0
  146. package/scripts/lint-shell-command-projection-drift.cjs +57 -0
  147. package/scripts/lint-skill-deps.cjs +180 -0
  148. package/scripts/pr-template-policy.cjs +169 -0
  149. package/scripts/prompt-injection-scan.sh +2 -0
  150. package/scripts/rebrand-gsd-to-sdd.sh +4 -3
  151. package/scripts/strip-prose-atrefs.cjs +106 -0
  152. package/scripts/verify-tarball-sdk-dist.sh +69 -0
  153. package/sdd/bin/check-latest-version.cjs +104 -0
  154. package/sdd/bin/lib/active-workstream-store.cjs +85 -0
  155. package/sdd/bin/lib/adr-parser.cjs +394 -0
  156. package/sdd/bin/lib/artifacts.cjs +53 -0
  157. package/sdd/bin/lib/audit.cjs +755 -0
  158. package/sdd/bin/lib/cjs-command-router-adapter.cjs +39 -0
  159. package/sdd/bin/lib/clusters.cjs +136 -0
  160. package/sdd/bin/lib/command-aliases.generated.cjs +838 -0
  161. package/sdd/bin/lib/commands.cjs +108 -98
  162. package/sdd/bin/lib/config-schema.cjs +135 -0
  163. package/sdd/bin/lib/config.cjs +253 -68
  164. package/sdd/bin/lib/context-utilization.cjs +47 -0
  165. package/sdd/bin/lib/core.cjs +997 -607
  166. package/sdd/bin/lib/decisions.cjs +48 -0
  167. package/sdd/bin/lib/docs.cjs +36 -33
  168. package/sdd/bin/lib/drift.cjs +379 -0
  169. package/sdd/bin/lib/fallow-runner.cjs +109 -0
  170. package/sdd/bin/lib/frontmatter.cjs +19 -11
  171. package/sdd/bin/lib/gap-checker.cjs +197 -0
  172. package/sdd/bin/lib/graphify.cjs +577 -0
  173. package/sdd/bin/lib/init-command-router.cjs +70 -0
  174. package/sdd/bin/lib/init.cjs +603 -102
  175. package/sdd/bin/lib/install-profiles.cjs +572 -0
  176. package/sdd/bin/lib/installer-migration-authoring.cjs +117 -0
  177. package/sdd/bin/lib/installer-migration-report.cjs +328 -0
  178. package/sdd/bin/lib/installer-migrations/000-first-time-baseline.cjs +220 -0
  179. package/sdd/bin/lib/installer-migrations/001-legacy-orphan-files.cjs +41 -0
  180. package/sdd/bin/lib/installer-migrations/002-codex-legacy-hooks-json.cjs +80 -0
  181. package/sdd/bin/lib/installer-migrations.cjs +703 -0
  182. package/sdd/bin/lib/intel.cjs +35 -52
  183. package/sdd/bin/lib/learnings.cjs +2 -1
  184. package/sdd/bin/lib/milestone.cjs +313 -283
  185. package/sdd/bin/lib/model-catalog.cjs +136 -0
  186. package/sdd/bin/lib/model-profiles.cjs +25 -70
  187. package/sdd/bin/lib/phase-command-router.cjs +96 -0
  188. package/sdd/bin/lib/phase.cjs +556 -102
  189. package/sdd/bin/lib/phases-command-router.cjs +39 -0
  190. package/sdd/bin/lib/plan-scan.cjs +138 -0
  191. package/sdd/bin/lib/planning-workspace.cjs +361 -0
  192. package/sdd/bin/lib/profile-output.cjs +109 -43
  193. package/sdd/bin/lib/profile-pipeline.cjs +1 -1
  194. package/sdd/bin/lib/review-reviewer-selection.cjs +125 -0
  195. package/sdd/bin/lib/roadmap-command-router.cjs +23 -0
  196. package/sdd/bin/lib/roadmap.cjs +278 -17
  197. package/sdd/bin/lib/runtime-homes.cjs +178 -0
  198. package/sdd/bin/lib/sdd2-import.cjs +3 -3
  199. package/sdd/bin/lib/secrets.cjs +33 -0
  200. package/sdd/bin/lib/security.cjs +8 -7
  201. package/sdd/bin/lib/shell-command-projection.cjs +548 -0
  202. package/sdd/bin/lib/state-command-router.cjs +100 -0
  203. package/sdd/bin/lib/state-document.cjs +12 -0
  204. package/sdd/bin/lib/state-document.generated.cjs +127 -0
  205. package/sdd/bin/lib/state.cjs +720 -218
  206. package/sdd/bin/lib/surface.cjs +398 -0
  207. package/sdd/bin/lib/template.cjs +4 -2
  208. package/sdd/bin/lib/uat.cjs +9 -2
  209. package/sdd/bin/lib/validate-command-router.cjs +55 -0
  210. package/sdd/bin/lib/verify-command-router.cjs +34 -0
  211. package/sdd/bin/lib/verify.cjs +464 -137
  212. package/sdd/bin/lib/workstream-inventory.cjs +159 -0
  213. package/sdd/bin/lib/workstream-name-policy.cjs +33 -0
  214. package/sdd/bin/lib/workstream.cjs +73 -195
  215. package/sdd/bin/lib/worktree-safety.cjs +563 -0
  216. package/sdd/bin/sdd-tools.cjs +386 -252
  217. package/sdd/bin/verify-reapply-patches.cjs +247 -0
  218. package/sdd/contexts/review.md +1 -0
  219. package/sdd/references/artifact-types.md +18 -0
  220. package/sdd/references/autonomous-smart-discuss.md +277 -0
  221. package/sdd/references/checkpoints.md +36 -0
  222. package/sdd/references/context-budget.md +85 -49
  223. package/sdd/references/continuation-format.md +26 -22
  224. package/sdd/references/debugger-philosophy.md +76 -0
  225. package/sdd/references/decimal-phase-calculation.md +5 -5
  226. package/sdd/references/doc-conflict-engine.md +91 -0
  227. package/sdd/references/domain-probes.md +1 -1
  228. package/sdd/references/execute-mvp-tdd.md +81 -0
  229. package/sdd/references/executor-examples.md +110 -0
  230. package/sdd/references/gate-prompts.md +2 -2
  231. package/sdd/references/git-integration.md +10 -7
  232. package/sdd/references/git-planning-commit.md +6 -4
  233. package/sdd/references/mandatory-initial-read.md +2 -0
  234. package/sdd/references/model-profiles.md +106 -6
  235. package/sdd/references/mvp-concepts.md +49 -0
  236. package/sdd/references/phase-argument-parsing.md +3 -3
  237. package/sdd/references/planner-antipatterns.md +89 -0
  238. package/sdd/references/planner-chunked.md +49 -0
  239. package/sdd/references/planner-human-verify-mode.md +57 -0
  240. package/sdd/references/planner-mvp-mode.md +53 -0
  241. package/sdd/references/planner-revision.md +1 -1
  242. package/sdd/references/planner-source-audit.md +73 -0
  243. package/sdd/references/planning-config.md +30 -13
  244. package/sdd/references/project-skills-discovery.md +19 -0
  245. package/sdd/references/scout-codebase.md +51 -0
  246. package/sdd/references/skeleton-template.md +48 -0
  247. package/sdd/references/sketch-interactivity.md +41 -0
  248. package/sdd/references/sketch-theme-system.md +94 -0
  249. package/sdd/references/sketch-tooling.md +45 -0
  250. package/sdd/references/sketch-variant-patterns.md +81 -0
  251. package/sdd/references/spidr-splitting.md +69 -0
  252. package/sdd/references/tdd.md +67 -0
  253. package/sdd/references/thinking-partner.md +1 -1
  254. package/sdd/references/universal-anti-patterns.md +4 -4
  255. package/sdd/references/user-story-template.md +58 -0
  256. package/sdd/references/verification-overrides.md +3 -3
  257. package/sdd/references/verify-mvp-mode.md +85 -0
  258. package/sdd/references/workstream-flag.md +11 -11
  259. package/sdd/references/worktree-path-safety.md +89 -0
  260. package/sdd/templates/AI-SPEC.md +1 -1
  261. package/sdd/templates/DEBUG.md +8 -3
  262. package/sdd/templates/README.md +77 -0
  263. package/sdd/templates/UAT.md +4 -4
  264. package/sdd/templates/VALIDATION.md +1 -1
  265. package/sdd/templates/claude-md.md +5 -5
  266. package/sdd/templates/config.json +16 -2
  267. package/sdd/templates/debug-subagent-prompt.md +1 -1
  268. package/sdd/templates/dev-preferences.md +1 -1
  269. package/sdd/templates/discovery.md +2 -2
  270. package/sdd/templates/phase-prompt.md +1 -1
  271. package/sdd/templates/planner-subagent-prompt.md +3 -3
  272. package/sdd/templates/project.md +1 -1
  273. package/sdd/templates/research.md +41 -1
  274. package/sdd/templates/spec.md +307 -0
  275. package/sdd/templates/state.md +9 -1
  276. package/sdd/workflows/add-backlog.md +90 -0
  277. package/sdd/workflows/add-phase.md +7 -7
  278. package/sdd/workflows/add-tests.md +12 -12
  279. package/sdd/workflows/add-todo.md +4 -4
  280. package/sdd/workflows/ai-integration-phase.md +26 -16
  281. package/sdd/workflows/analyze-dependencies.md +3 -3
  282. package/sdd/workflows/audit-fix.md +23 -3
  283. package/sdd/workflows/audit-milestone.md +37 -20
  284. package/sdd/workflows/audit-uat.md +3 -3
  285. package/sdd/workflows/autonomous.md +31 -301
  286. package/sdd/workflows/check-todos.md +6 -6
  287. package/sdd/workflows/cleanup.md +1 -1
  288. package/sdd/workflows/code-review-fix.md +20 -16
  289. package/sdd/workflows/code-review.md +114 -16
  290. package/sdd/workflows/commit.md +166 -0
  291. package/sdd/workflows/complete-milestone.md +68 -15
  292. package/sdd/workflows/debug.md +231 -0
  293. package/sdd/workflows/diagnose-issues.md +8 -6
  294. package/sdd/workflows/discovery-phase.md +3 -3
  295. package/sdd/workflows/discuss-phase/modes/advisor.md +175 -0
  296. package/sdd/workflows/discuss-phase/modes/all.md +28 -0
  297. package/sdd/workflows/discuss-phase/modes/analyze.md +44 -0
  298. package/sdd/workflows/discuss-phase/modes/auto.md +56 -0
  299. package/sdd/workflows/discuss-phase/modes/batch.md +52 -0
  300. package/sdd/workflows/discuss-phase/modes/chain.md +97 -0
  301. package/sdd/workflows/discuss-phase/modes/default.md +141 -0
  302. package/sdd/workflows/discuss-phase/modes/power.md +44 -0
  303. package/sdd/workflows/discuss-phase/modes/text.md +55 -0
  304. package/sdd/workflows/discuss-phase/templates/checkpoint.json +18 -0
  305. package/sdd/workflows/discuss-phase/templates/context.md +136 -0
  306. package/sdd/workflows/discuss-phase/templates/discussion-log.md +50 -0
  307. package/sdd/workflows/discuss-phase-assumptions.md +24 -21
  308. package/sdd/workflows/discuss-phase-power.md +3 -3
  309. package/sdd/workflows/discuss-phase.md +203 -905
  310. package/sdd/workflows/do.md +25 -21
  311. package/sdd/workflows/docs-update.md +23 -17
  312. package/sdd/workflows/edit-phase.md +294 -0
  313. package/sdd/workflows/eval-review.md +7 -7
  314. package/sdd/workflows/execute-phase/steps/codebase-drift-gate.md +81 -0
  315. package/sdd/workflows/execute-phase/steps/per-plan-worktree-gate.md +94 -0
  316. package/sdd/workflows/execute-phase/steps/post-merge-gate.md +116 -0
  317. package/sdd/workflows/execute-phase.md +650 -252
  318. package/sdd/workflows/execute-plan.md +75 -35
  319. package/sdd/workflows/explore.md +7 -3
  320. package/sdd/workflows/extract-learnings.md +242 -0
  321. package/sdd/workflows/fast.md +13 -12
  322. package/sdd/workflows/forensics.md +19 -6
  323. package/sdd/workflows/graduation.md +195 -0
  324. package/sdd/workflows/health.md +49 -7
  325. package/sdd/workflows/help.md +340 -149
  326. package/sdd/workflows/import.md +20 -43
  327. package/sdd/workflows/inbox.md +5 -5
  328. package/sdd/workflows/ingest-docs.md +339 -0
  329. package/sdd/workflows/insert-phase.md +33 -12
  330. package/sdd/workflows/list-phase-assumptions.md +2 -2
  331. package/sdd/workflows/list-workspaces.md +2 -2
  332. package/sdd/workflows/manager.md +38 -11
  333. package/sdd/workflows/map-codebase.md +87 -23
  334. package/sdd/workflows/milestone-summary.md +8 -8
  335. package/sdd/workflows/mvp-phase.md +221 -0
  336. package/sdd/workflows/new-milestone.md +163 -23
  337. package/sdd/workflows/new-project.md +254 -53
  338. package/sdd/workflows/new-workspace.md +8 -8
  339. package/sdd/workflows/next.md +85 -18
  340. package/sdd/workflows/note.md +2 -2
  341. package/sdd/workflows/pause-work.md +13 -9
  342. package/sdd/workflows/plan-milestone-gaps.md +18 -11
  343. package/sdd/workflows/plan-phase.md +767 -94
  344. package/sdd/workflows/plan-review-convergence.md +329 -0
  345. package/sdd/workflows/plant-seed.md +146 -89
  346. package/sdd/workflows/pr-branch.md +1 -1
  347. package/sdd/workflows/profile-user.md +15 -15
  348. package/sdd/workflows/progress.md +198 -56
  349. package/sdd/workflows/quick.md +318 -54
  350. package/{commands/sdd → sdd/workflows}/reapply-patches.md +102 -23
  351. package/sdd/workflows/remove-phase.md +10 -10
  352. package/sdd/workflows/remove-workspace.md +21 -6
  353. package/sdd/workflows/resume-project.md +26 -23
  354. package/sdd/workflows/review.md +151 -20
  355. package/sdd/workflows/scan.md +5 -3
  356. package/sdd/workflows/secure-phase.md +26 -13
  357. package/sdd/workflows/settings-advanced.md +579 -0
  358. package/sdd/workflows/settings-integrations.md +281 -0
  359. package/sdd/workflows/settings.md +202 -23
  360. package/sdd/workflows/ship.md +131 -16
  361. package/sdd/workflows/sketch-wrap-up.md +285 -0
  362. package/sdd/workflows/sketch.md +360 -0
  363. package/sdd/workflows/spec-phase.md +262 -0
  364. package/sdd/workflows/spike-wrap-up.md +306 -0
  365. package/sdd/workflows/spike.md +452 -0
  366. package/sdd/workflows/stats.md +21 -2
  367. package/sdd/workflows/sync-skills.md +182 -0
  368. package/sdd/workflows/thread.md +221 -0
  369. package/sdd/workflows/transition.md +52 -30
  370. package/sdd/workflows/ui-phase.md +37 -20
  371. package/sdd/workflows/ui-review.md +12 -10
  372. package/sdd/workflows/ultraplan-phase.md +198 -0
  373. package/sdd/workflows/undo.md +9 -9
  374. package/sdd/workflows/update.md +187 -17
  375. package/sdd/workflows/validate-phase.md +12 -10
  376. package/sdd/workflows/verify-phase.md +112 -27
  377. package/sdd/workflows/verify-work.md +97 -28
  378. package/sdk/dist/cli-transport.d.ts +19 -0
  379. package/sdk/dist/cli-transport.d.ts.map +1 -0
  380. package/sdk/dist/cli-transport.js +104 -0
  381. package/sdk/dist/cli-transport.js.map +1 -0
  382. package/sdk/dist/cli.d.ts +46 -0
  383. package/sdk/dist/cli.d.ts.map +1 -0
  384. package/sdk/dist/cli.js +511 -0
  385. package/sdk/dist/cli.js.map +1 -0
  386. package/sdk/dist/config.d.ts +84 -0
  387. package/sdk/dist/config.d.ts.map +1 -0
  388. package/sdk/dist/config.js +135 -0
  389. package/sdk/dist/config.js.map +1 -0
  390. package/sdk/dist/context-engine.d.ts +49 -0
  391. package/sdk/dist/context-engine.d.ts.map +1 -0
  392. package/sdk/dist/context-engine.js +142 -0
  393. package/sdk/dist/context-engine.js.map +1 -0
  394. package/sdk/dist/context-truncation.d.ts +33 -0
  395. package/sdk/dist/context-truncation.d.ts.map +1 -0
  396. package/sdk/dist/context-truncation.js +197 -0
  397. package/sdk/dist/context-truncation.js.map +1 -0
  398. package/sdk/dist/errors.d.ts +46 -0
  399. package/sdk/dist/errors.d.ts.map +1 -0
  400. package/sdk/dist/errors.js +64 -0
  401. package/sdk/dist/errors.js.map +1 -0
  402. package/sdk/dist/event-stream.d.ts +53 -0
  403. package/sdk/dist/event-stream.d.ts.map +1 -0
  404. package/sdk/dist/event-stream.js +321 -0
  405. package/sdk/dist/event-stream.js.map +1 -0
  406. package/sdk/dist/golden/capture.d.ts +15 -0
  407. package/sdk/dist/golden/capture.d.ts.map +1 -0
  408. package/sdk/dist/golden/capture.js +67 -0
  409. package/sdk/dist/golden/capture.js.map +1 -0
  410. package/sdk/dist/golden/golden-integration-covered.d.ts +6 -0
  411. package/sdk/dist/golden/golden-integration-covered.d.ts.map +1 -0
  412. package/sdk/dist/golden/golden-integration-covered.js +30 -0
  413. package/sdk/dist/golden/golden-integration-covered.js.map +1 -0
  414. package/sdk/dist/golden/golden-mutation-covered.d.ts +7 -0
  415. package/sdk/dist/golden/golden-mutation-covered.d.ts.map +1 -0
  416. package/sdk/dist/golden/golden-mutation-covered.js +17 -0
  417. package/sdk/dist/golden/golden-mutation-covered.js.map +1 -0
  418. package/sdk/dist/golden/golden-policy.d.ts +10 -0
  419. package/sdk/dist/golden/golden-policy.d.ts.map +1 -0
  420. package/sdk/dist/golden/golden-policy.js +98 -0
  421. package/sdk/dist/golden/golden-policy.js.map +1 -0
  422. package/sdk/dist/golden/init-golden-normalize.d.ts +8 -0
  423. package/sdk/dist/golden/init-golden-normalize.d.ts.map +1 -0
  424. package/sdk/dist/golden/init-golden-normalize.js +14 -0
  425. package/sdk/dist/golden/init-golden-normalize.js.map +1 -0
  426. package/sdk/dist/golden/read-only-golden-rows.d.ts +20 -0
  427. package/sdk/dist/golden/read-only-golden-rows.d.ts.map +1 -0
  428. package/sdk/dist/golden/read-only-golden-rows.js +67 -0
  429. package/sdk/dist/golden/read-only-golden-rows.js.map +1 -0
  430. package/sdk/dist/golden/registry-canonical-commands.d.ts +6 -0
  431. package/sdk/dist/golden/registry-canonical-commands.d.ts.map +1 -0
  432. package/sdk/dist/golden/registry-canonical-commands.js +30 -0
  433. package/sdk/dist/golden/registry-canonical-commands.js.map +1 -0
  434. package/sdk/dist/index.d.ts +125 -0
  435. package/sdk/dist/index.d.ts.map +1 -0
  436. package/sdk/dist/index.js +298 -0
  437. package/sdk/dist/index.js.map +1 -0
  438. package/sdk/dist/init-runner.d.ts +90 -0
  439. package/sdk/dist/init-runner.d.ts.map +1 -0
  440. package/sdk/dist/init-runner.js +613 -0
  441. package/sdk/dist/init-runner.js.map +1 -0
  442. package/sdk/dist/logger.d.ts +50 -0
  443. package/sdk/dist/logger.d.ts.map +1 -0
  444. package/sdk/dist/logger.js +70 -0
  445. package/sdk/dist/logger.js.map +1 -0
  446. package/sdk/dist/model-catalog.d.ts +31 -0
  447. package/sdk/dist/model-catalog.d.ts.map +1 -0
  448. package/sdk/dist/model-catalog.js +31 -0
  449. package/sdk/dist/model-catalog.js.map +1 -0
  450. package/sdk/dist/phase-prompt.d.ts +72 -0
  451. package/sdk/dist/phase-prompt.d.ts.map +1 -0
  452. package/sdk/dist/phase-prompt.js +213 -0
  453. package/sdk/dist/phase-prompt.js.map +1 -0
  454. package/sdk/dist/phase-runner.d.ts +145 -0
  455. package/sdk/dist/phase-runner.d.ts.map +1 -0
  456. package/sdk/dist/phase-runner.js +1206 -0
  457. package/sdk/dist/phase-runner.js.map +1 -0
  458. package/sdk/dist/plan-parser.d.ts +55 -0
  459. package/sdk/dist/plan-parser.d.ts.map +1 -0
  460. package/sdk/dist/plan-parser.js +389 -0
  461. package/sdk/dist/plan-parser.js.map +1 -0
  462. package/sdk/dist/planning-journal.d.ts +64 -0
  463. package/sdk/dist/planning-journal.d.ts.map +1 -0
  464. package/sdk/dist/planning-journal.js +88 -0
  465. package/sdk/dist/planning-journal.js.map +1 -0
  466. package/sdk/dist/planning-runtime.d.ts +67 -0
  467. package/sdk/dist/planning-runtime.d.ts.map +1 -0
  468. package/sdk/dist/planning-runtime.js +58 -0
  469. package/sdk/dist/planning-runtime.js.map +1 -0
  470. package/sdk/dist/prompt-builder.d.ts +44 -0
  471. package/sdk/dist/prompt-builder.d.ts.map +1 -0
  472. package/sdk/dist/prompt-builder.js +180 -0
  473. package/sdk/dist/prompt-builder.js.map +1 -0
  474. package/sdk/dist/prompt-sanitizer.d.ts +35 -0
  475. package/sdk/dist/prompt-sanitizer.d.ts.map +1 -0
  476. package/sdk/dist/prompt-sanitizer.js +101 -0
  477. package/sdk/dist/prompt-sanitizer.js.map +1 -0
  478. package/sdk/dist/query/active-workstream-store.d.ts +7 -0
  479. package/sdk/dist/query/active-workstream-store.d.ts.map +1 -0
  480. package/sdk/dist/query/active-workstream-store.js +56 -0
  481. package/sdk/dist/query/active-workstream-store.js.map +1 -0
  482. package/sdk/dist/query/agent-failure-classifier.d.ts +38 -0
  483. package/sdk/dist/query/agent-failure-classifier.d.ts.map +1 -0
  484. package/sdk/dist/query/agent-failure-classifier.js +83 -0
  485. package/sdk/dist/query/agent-failure-classifier.js.map +1 -0
  486. package/sdk/dist/query/audit-open.d.ts +46 -0
  487. package/sdk/dist/query/audit-open.d.ts.map +1 -0
  488. package/sdk/dist/query/audit-open.js +662 -0
  489. package/sdk/dist/query/audit-open.js.map +1 -0
  490. package/sdk/dist/query/check-auto-mode.d.ts +13 -0
  491. package/sdk/dist/query/check-auto-mode.d.ts.map +1 -0
  492. package/sdk/dist/query/check-auto-mode.js +40 -0
  493. package/sdk/dist/query/check-auto-mode.js.map +1 -0
  494. package/sdk/dist/query/check-completion.d.ts +10 -0
  495. package/sdk/dist/query/check-completion.d.ts.map +1 -0
  496. package/sdk/dist/query/check-completion.js +157 -0
  497. package/sdk/dist/query/check-completion.js.map +1 -0
  498. package/sdk/dist/query/check-decision-coverage.d.ts +33 -0
  499. package/sdk/dist/query/check-decision-coverage.d.ts.map +1 -0
  500. package/sdk/dist/query/check-decision-coverage.js +472 -0
  501. package/sdk/dist/query/check-decision-coverage.js.map +1 -0
  502. package/sdk/dist/query/check-gates.d.ts +10 -0
  503. package/sdk/dist/query/check-gates.d.ts.map +1 -0
  504. package/sdk/dist/query/check-gates.js +89 -0
  505. package/sdk/dist/query/check-gates.js.map +1 -0
  506. package/sdk/dist/query/check-ship-ready.d.ts +10 -0
  507. package/sdk/dist/query/check-ship-ready.d.ts.map +1 -0
  508. package/sdk/dist/query/check-ship-ready.js +93 -0
  509. package/sdk/dist/query/check-ship-ready.js.map +1 -0
  510. package/sdk/dist/query/check-verification-status.d.ts +10 -0
  511. package/sdk/dist/query/check-verification-status.d.ts.map +1 -0
  512. package/sdk/dist/query/check-verification-status.js +142 -0
  513. package/sdk/dist/query/check-verification-status.js.map +1 -0
  514. package/sdk/dist/query/command-aliases.generated.d.ts +31 -0
  515. package/sdk/dist/query/command-aliases.generated.d.ts.map +1 -0
  516. package/sdk/dist/query/command-aliases.generated.js +135 -0
  517. package/sdk/dist/query/command-aliases.generated.js.map +1 -0
  518. package/sdk/dist/query/command-catalog.d.ts +9 -0
  519. package/sdk/dist/query/command-catalog.d.ts.map +1 -0
  520. package/sdk/dist/query/command-catalog.js +17 -0
  521. package/sdk/dist/query/command-catalog.js.map +1 -0
  522. package/sdk/dist/query/command-definition.d.ts +19 -0
  523. package/sdk/dist/query/command-definition.d.ts.map +1 -0
  524. package/sdk/dist/query/command-definition.js +44 -0
  525. package/sdk/dist/query/command-definition.js.map +1 -0
  526. package/sdk/dist/query/command-family-handlers.d.ts +3 -0
  527. package/sdk/dist/query/command-family-handlers.d.ts.map +1 -0
  528. package/sdk/dist/query/command-family-handlers.js +94 -0
  529. package/sdk/dist/query/command-family-handlers.js.map +1 -0
  530. package/sdk/dist/query/command-manifest.d.ts +2 -0
  531. package/sdk/dist/query/command-manifest.d.ts.map +1 -0
  532. package/sdk/dist/query/command-manifest.init.d.ts +6 -0
  533. package/sdk/dist/query/command-manifest.init.d.ts.map +1 -0
  534. package/sdk/dist/query/command-manifest.init.js +23 -0
  535. package/sdk/dist/query/command-manifest.init.js.map +1 -0
  536. package/sdk/dist/query/command-manifest.js +17 -0
  537. package/sdk/dist/query/command-manifest.js.map +1 -0
  538. package/sdk/dist/query/command-manifest.non-family.d.ts +9 -0
  539. package/sdk/dist/query/command-manifest.non-family.d.ts.map +1 -0
  540. package/sdk/dist/query/command-manifest.non-family.js +59 -0
  541. package/sdk/dist/query/command-manifest.non-family.js.map +1 -0
  542. package/sdk/dist/query/command-manifest.phase.d.ts +6 -0
  543. package/sdk/dist/query/command-manifest.phase.d.ts.map +1 -0
  544. package/sdk/dist/query/command-manifest.phase.js +15 -0
  545. package/sdk/dist/query/command-manifest.phase.js.map +1 -0
  546. package/sdk/dist/query/command-manifest.phases.d.ts +7 -0
  547. package/sdk/dist/query/command-manifest.phases.d.ts.map +1 -0
  548. package/sdk/dist/query/command-manifest.phases.js +10 -0
  549. package/sdk/dist/query/command-manifest.phases.js.map +1 -0
  550. package/sdk/dist/query/command-manifest.roadmap.d.ts +6 -0
  551. package/sdk/dist/query/command-manifest.roadmap.d.ts.map +1 -0
  552. package/sdk/dist/query/command-manifest.roadmap.js +10 -0
  553. package/sdk/dist/query/command-manifest.roadmap.js.map +1 -0
  554. package/sdk/dist/query/command-manifest.state.d.ts +9 -0
  555. package/sdk/dist/query/command-manifest.state.d.ts.map +1 -0
  556. package/sdk/dist/query/command-manifest.state.js +30 -0
  557. package/sdk/dist/query/command-manifest.state.js.map +1 -0
  558. package/sdk/dist/query/command-manifest.types.d.ts +12 -0
  559. package/sdk/dist/query/command-manifest.types.d.ts.map +1 -0
  560. package/sdk/dist/query/command-manifest.types.js +2 -0
  561. package/sdk/dist/query/command-manifest.types.js.map +1 -0
  562. package/sdk/dist/query/command-manifest.validate.d.ts +6 -0
  563. package/sdk/dist/query/command-manifest.validate.d.ts.map +1 -0
  564. package/sdk/dist/query/command-manifest.validate.js +10 -0
  565. package/sdk/dist/query/command-manifest.validate.js.map +1 -0
  566. package/sdk/dist/query/command-manifest.verify.d.ts +6 -0
  567. package/sdk/dist/query/command-manifest.verify.d.ts.map +1 -0
  568. package/sdk/dist/query/command-manifest.verify.js +14 -0
  569. package/sdk/dist/query/command-manifest.verify.js.map +1 -0
  570. package/sdk/dist/query/command-static-catalog-domain.d.ts +3 -0
  571. package/sdk/dist/query/command-static-catalog-domain.d.ts.map +1 -0
  572. package/sdk/dist/query/command-static-catalog-domain.js +116 -0
  573. package/sdk/dist/query/command-static-catalog-domain.js.map +1 -0
  574. package/sdk/dist/query/command-static-catalog-foundation.d.ts +7 -0
  575. package/sdk/dist/query/command-static-catalog-foundation.d.ts.map +1 -0
  576. package/sdk/dist/query/command-static-catalog-foundation.js +98 -0
  577. package/sdk/dist/query/command-static-catalog-foundation.js.map +1 -0
  578. package/sdk/dist/query/command-topology.d.ts +32 -0
  579. package/sdk/dist/query/command-topology.d.ts.map +1 -0
  580. package/sdk/dist/query/command-topology.js +66 -0
  581. package/sdk/dist/query/command-topology.js.map +1 -0
  582. package/sdk/dist/query/commands-list.d.ts +14 -0
  583. package/sdk/dist/query/commands-list.d.ts.map +1 -0
  584. package/sdk/dist/query/commands-list.js +18 -0
  585. package/sdk/dist/query/commands-list.js.map +1 -0
  586. package/sdk/dist/query/commit.d.ts +79 -0
  587. package/sdk/dist/query/commit.d.ts.map +1 -0
  588. package/sdk/dist/query/commit.js +340 -0
  589. package/sdk/dist/query/commit.js.map +1 -0
  590. package/sdk/dist/query/config-gates.d.ts +12 -0
  591. package/sdk/dist/query/config-gates.d.ts.map +1 -0
  592. package/sdk/dist/query/config-gates.js +66 -0
  593. package/sdk/dist/query/config-gates.js.map +1 -0
  594. package/sdk/dist/query/config-mutation.d.ts +86 -0
  595. package/sdk/dist/query/config-mutation.d.ts.map +1 -0
  596. package/sdk/dist/query/config-mutation.js +518 -0
  597. package/sdk/dist/query/config-mutation.js.map +1 -0
  598. package/sdk/dist/query/config-query.d.ts +57 -0
  599. package/sdk/dist/query/config-query.d.ts.map +1 -0
  600. package/sdk/dist/query/config-query.js +208 -0
  601. package/sdk/dist/query/config-query.js.map +1 -0
  602. package/sdk/dist/query/config-schema.d.ts +36 -0
  603. package/sdk/dist/query/config-schema.d.ts.map +1 -0
  604. package/sdk/dist/query/config-schema.js +147 -0
  605. package/sdk/dist/query/config-schema.js.map +1 -0
  606. package/sdk/dist/query/decisions.d.ts +58 -0
  607. package/sdk/dist/query/decisions.d.ts.map +1 -0
  608. package/sdk/dist/query/decisions.js +161 -0
  609. package/sdk/dist/query/decisions.js.map +1 -0
  610. package/sdk/dist/query/detect-custom-files.d.ts +11 -0
  611. package/sdk/dist/query/detect-custom-files.d.ts.map +1 -0
  612. package/sdk/dist/query/detect-custom-files.js +89 -0
  613. package/sdk/dist/query/detect-custom-files.js.map +1 -0
  614. package/sdk/dist/query/detect-phase-type.d.ts +9 -0
  615. package/sdk/dist/query/detect-phase-type.d.ts.map +1 -0
  616. package/sdk/dist/query/detect-phase-type.js +124 -0
  617. package/sdk/dist/query/detect-phase-type.js.map +1 -0
  618. package/sdk/dist/query/docs-init.d.ts +26 -0
  619. package/sdk/dist/query/docs-init.d.ts.map +1 -0
  620. package/sdk/dist/query/docs-init.js +231 -0
  621. package/sdk/dist/query/docs-init.js.map +1 -0
  622. package/sdk/dist/query/fallow-audit.d.ts +44 -0
  623. package/sdk/dist/query/fallow-audit.d.ts.map +1 -0
  624. package/sdk/dist/query/fallow-audit.js +44 -0
  625. package/sdk/dist/query/fallow-audit.js.map +1 -0
  626. package/sdk/dist/query/frontmatter-mutation.d.ts +77 -0
  627. package/sdk/dist/query/frontmatter-mutation.d.ts.map +1 -0
  628. package/sdk/dist/query/frontmatter-mutation.js +317 -0
  629. package/sdk/dist/query/frontmatter-mutation.js.map +1 -0
  630. package/sdk/dist/query/frontmatter.d.ts +93 -0
  631. package/sdk/dist/query/frontmatter.d.ts.map +1 -0
  632. package/sdk/dist/query/frontmatter.js +365 -0
  633. package/sdk/dist/query/frontmatter.js.map +1 -0
  634. package/sdk/dist/query/helpers.d.ts +191 -0
  635. package/sdk/dist/query/helpers.d.ts.map +1 -0
  636. package/sdk/dist/query/helpers.js +613 -0
  637. package/sdk/dist/query/helpers.js.map +1 -0
  638. package/sdk/dist/query/index.d.ts +8 -0
  639. package/sdk/dist/query/index.d.ts.map +1 -0
  640. package/sdk/dist/query/index.js +6 -0
  641. package/sdk/dist/query/index.js.map +1 -0
  642. package/sdk/dist/query/init-complex.d.ts +47 -0
  643. package/sdk/dist/query/init-complex.d.ts.map +1 -0
  644. package/sdk/dist/query/init-complex.js +718 -0
  645. package/sdk/dist/query/init-complex.js.map +1 -0
  646. package/sdk/dist/query/init.d.ts +106 -0
  647. package/sdk/dist/query/init.d.ts.map +1 -0
  648. package/sdk/dist/query/init.js +1159 -0
  649. package/sdk/dist/query/init.js.map +1 -0
  650. package/sdk/dist/query/intel.d.ts +43 -0
  651. package/sdk/dist/query/intel.d.ts.map +1 -0
  652. package/sdk/dist/query/intel.js +416 -0
  653. package/sdk/dist/query/intel.js.map +1 -0
  654. package/sdk/dist/query/mutation-event-decorator.d.ts +5 -0
  655. package/sdk/dist/query/mutation-event-decorator.d.ts.map +1 -0
  656. package/sdk/dist/query/mutation-event-decorator.js +28 -0
  657. package/sdk/dist/query/mutation-event-decorator.js.map +1 -0
  658. package/sdk/dist/query/mutation-event-mapper.d.ts +4 -0
  659. package/sdk/dist/query/mutation-event-mapper.d.ts.map +1 -0
  660. package/sdk/dist/query/mutation-event-mapper.js +70 -0
  661. package/sdk/dist/query/mutation-event-mapper.js.map +1 -0
  662. package/sdk/dist/query/mvp.d.ts +113 -0
  663. package/sdk/dist/query/mvp.d.ts.map +1 -0
  664. package/sdk/dist/query/mvp.js +225 -0
  665. package/sdk/dist/query/mvp.js.map +1 -0
  666. package/sdk/dist/query/phase-filesystem-adapter.d.ts +4 -0
  667. package/sdk/dist/query/phase-filesystem-adapter.d.ts.map +1 -0
  668. package/sdk/dist/query/phase-filesystem-adapter.js +33 -0
  669. package/sdk/dist/query/phase-filesystem-adapter.js.map +1 -0
  670. package/sdk/dist/query/phase-lifecycle-policy.d.ts +34 -0
  671. package/sdk/dist/query/phase-lifecycle-policy.d.ts.map +1 -0
  672. package/sdk/dist/query/phase-lifecycle-policy.js +138 -0
  673. package/sdk/dist/query/phase-lifecycle-policy.js.map +1 -0
  674. package/sdk/dist/query/phase-lifecycle.d.ts +116 -0
  675. package/sdk/dist/query/phase-lifecycle.d.ts.map +1 -0
  676. package/sdk/dist/query/phase-lifecycle.js +1486 -0
  677. package/sdk/dist/query/phase-lifecycle.js.map +1 -0
  678. package/sdk/dist/query/phase-list-queries.d.ts +18 -0
  679. package/sdk/dist/query/phase-list-queries.d.ts.map +1 -0
  680. package/sdk/dist/query/phase-list-queries.js +129 -0
  681. package/sdk/dist/query/phase-list-queries.js.map +1 -0
  682. package/sdk/dist/query/phase-ready.d.ts +9 -0
  683. package/sdk/dist/query/phase-ready.d.ts.map +1 -0
  684. package/sdk/dist/query/phase-ready.js +132 -0
  685. package/sdk/dist/query/phase-ready.js.map +1 -0
  686. package/sdk/dist/query/phase-roadmap-mutation.d.ts +13 -0
  687. package/sdk/dist/query/phase-roadmap-mutation.d.ts.map +1 -0
  688. package/sdk/dist/query/phase-roadmap-mutation.js +65 -0
  689. package/sdk/dist/query/phase-roadmap-mutation.js.map +1 -0
  690. package/sdk/dist/query/phase.d.ts +48 -0
  691. package/sdk/dist/query/phase.d.ts.map +1 -0
  692. package/sdk/dist/query/phase.js +451 -0
  693. package/sdk/dist/query/phase.js.map +1 -0
  694. package/sdk/dist/query/pipeline.d.ts +53 -0
  695. package/sdk/dist/query/pipeline.d.ts.map +1 -0
  696. package/sdk/dist/query/pipeline.js +198 -0
  697. package/sdk/dist/query/pipeline.js.map +1 -0
  698. package/sdk/dist/query/plan-scan.d.ts +14 -0
  699. package/sdk/dist/query/plan-scan.d.ts.map +1 -0
  700. package/sdk/dist/query/plan-scan.js +70 -0
  701. package/sdk/dist/query/plan-scan.js.map +1 -0
  702. package/sdk/dist/query/plan-task-structure.d.ts +9 -0
  703. package/sdk/dist/query/plan-task-structure.d.ts.map +1 -0
  704. package/sdk/dist/query/plan-task-structure.js +59 -0
  705. package/sdk/dist/query/plan-task-structure.js.map +1 -0
  706. package/sdk/dist/query/profile-extract-messages.d.ts +40 -0
  707. package/sdk/dist/query/profile-extract-messages.d.ts.map +1 -0
  708. package/sdk/dist/query/profile-extract-messages.js +195 -0
  709. package/sdk/dist/query/profile-extract-messages.js.map +1 -0
  710. package/sdk/dist/query/profile-output.d.ts +11 -0
  711. package/sdk/dist/query/profile-output.d.ts.map +1 -0
  712. package/sdk/dist/query/profile-output.js +873 -0
  713. package/sdk/dist/query/profile-output.js.map +1 -0
  714. package/sdk/dist/query/profile-questionnaire-data.d.ts +21 -0
  715. package/sdk/dist/query/profile-questionnaire-data.d.ts.map +1 -0
  716. package/sdk/dist/query/profile-questionnaire-data.js +171 -0
  717. package/sdk/dist/query/profile-questionnaire-data.js.map +1 -0
  718. package/sdk/dist/query/profile-sample.d.ts +22 -0
  719. package/sdk/dist/query/profile-sample.d.ts.map +1 -0
  720. package/sdk/dist/query/profile-sample.js +136 -0
  721. package/sdk/dist/query/profile-sample.js.map +1 -0
  722. package/sdk/dist/query/profile-scan-sessions.d.ts +49 -0
  723. package/sdk/dist/query/profile-scan-sessions.d.ts.map +1 -0
  724. package/sdk/dist/query/profile-scan-sessions.js +137 -0
  725. package/sdk/dist/query/profile-scan-sessions.js.map +1 -0
  726. package/sdk/dist/query/profile.d.ts +61 -0
  727. package/sdk/dist/query/profile.d.ts.map +1 -0
  728. package/sdk/dist/query/profile.js +307 -0
  729. package/sdk/dist/query/profile.js.map +1 -0
  730. package/sdk/dist/query/progress.d.ts +77 -0
  731. package/sdk/dist/query/progress.d.ts.map +1 -0
  732. package/sdk/dist/query/progress.js +481 -0
  733. package/sdk/dist/query/progress.js.map +1 -0
  734. package/sdk/dist/query/query-cli-adapter.d.ts +8 -0
  735. package/sdk/dist/query/query-cli-adapter.d.ts.map +1 -0
  736. package/sdk/dist/query/query-cli-adapter.js +32 -0
  737. package/sdk/dist/query/query-cli-adapter.js.map +1 -0
  738. package/sdk/dist/query/query-cli-output.d.ts +9 -0
  739. package/sdk/dist/query/query-cli-output.d.ts.map +1 -0
  740. package/sdk/dist/query/query-cli-output.js +28 -0
  741. package/sdk/dist/query/query-cli-output.js.map +1 -0
  742. package/sdk/dist/query/query-command-diagnosis.d.ts +6 -0
  743. package/sdk/dist/query/query-command-diagnosis.d.ts.map +1 -0
  744. package/sdk/dist/query/query-command-diagnosis.js +6 -0
  745. package/sdk/dist/query/query-command-diagnosis.js.map +1 -0
  746. package/sdk/dist/query/query-command-resolution-strategy.d.ts +29 -0
  747. package/sdk/dist/query/query-command-resolution-strategy.d.ts.map +1 -0
  748. package/sdk/dist/query/query-command-resolution-strategy.js +103 -0
  749. package/sdk/dist/query/query-command-resolution-strategy.js.map +1 -0
  750. package/sdk/dist/query/query-command-semantics.d.ts +7 -0
  751. package/sdk/dist/query/query-command-semantics.d.ts.map +1 -0
  752. package/sdk/dist/query/query-command-semantics.js +7 -0
  753. package/sdk/dist/query/query-command-semantics.js.map +1 -0
  754. package/sdk/dist/query/query-dispatch-contract.d.ts +21 -0
  755. package/sdk/dist/query/query-dispatch-contract.d.ts.map +1 -0
  756. package/sdk/dist/query/query-dispatch-contract.js +2 -0
  757. package/sdk/dist/query/query-dispatch-contract.js.map +1 -0
  758. package/sdk/dist/query/query-dispatch-error-mapper.d.ts +6 -0
  759. package/sdk/dist/query/query-dispatch-error-mapper.d.ts.map +1 -0
  760. package/sdk/dist/query/query-dispatch-error-mapper.js +6 -0
  761. package/sdk/dist/query/query-dispatch-error-mapper.js.map +1 -0
  762. package/sdk/dist/query/query-dispatch-formatting.d.ts +6 -0
  763. package/sdk/dist/query/query-dispatch-formatting.d.ts.map +1 -0
  764. package/sdk/dist/query/query-dispatch-formatting.js +6 -0
  765. package/sdk/dist/query/query-dispatch-formatting.js.map +1 -0
  766. package/sdk/dist/query/query-dispatch-input-validation.d.ts +6 -0
  767. package/sdk/dist/query/query-dispatch-input-validation.d.ts.map +1 -0
  768. package/sdk/dist/query/query-dispatch-input-validation.js +6 -0
  769. package/sdk/dist/query/query-dispatch-input-validation.js.map +1 -0
  770. package/sdk/dist/query/query-dispatch-observability.d.ts +2 -0
  771. package/sdk/dist/query/query-dispatch-observability.d.ts.map +1 -0
  772. package/sdk/dist/query/query-dispatch-observability.js +7 -0
  773. package/sdk/dist/query/query-dispatch-observability.js.map +1 -0
  774. package/sdk/dist/query/query-dispatch-plan.d.ts +6 -0
  775. package/sdk/dist/query/query-dispatch-plan.d.ts.map +1 -0
  776. package/sdk/dist/query/query-dispatch-plan.js +6 -0
  777. package/sdk/dist/query/query-dispatch-plan.js.map +1 -0
  778. package/sdk/dist/query/query-dispatch-result-builder.d.ts +6 -0
  779. package/sdk/dist/query/query-dispatch-result-builder.d.ts.map +1 -0
  780. package/sdk/dist/query/query-dispatch-result-builder.js +6 -0
  781. package/sdk/dist/query/query-dispatch-result-builder.js.map +1 -0
  782. package/sdk/dist/query/query-dispatch.d.ts +48 -0
  783. package/sdk/dist/query/query-dispatch.d.ts.map +1 -0
  784. package/sdk/dist/query/query-dispatch.js +175 -0
  785. package/sdk/dist/query/query-dispatch.js.map +1 -0
  786. package/sdk/dist/query/query-error-details-schema.d.ts +19 -0
  787. package/sdk/dist/query/query-error-details-schema.d.ts.map +1 -0
  788. package/sdk/dist/query/query-error-details-schema.js +10 -0
  789. package/sdk/dist/query/query-error-details-schema.js.map +1 -0
  790. package/sdk/dist/query/query-error-taxonomy.d.ts +38 -0
  791. package/sdk/dist/query/query-error-taxonomy.d.ts.map +1 -0
  792. package/sdk/dist/query/query-error-taxonomy.js +74 -0
  793. package/sdk/dist/query/query-error-taxonomy.js.map +1 -0
  794. package/sdk/dist/query/query-fallback-bridge-adapter.d.ts +14 -0
  795. package/sdk/dist/query/query-fallback-bridge-adapter.d.ts.map +1 -0
  796. package/sdk/dist/query/query-fallback-bridge-adapter.js +33 -0
  797. package/sdk/dist/query/query-fallback-bridge-adapter.js.map +1 -0
  798. package/sdk/dist/query/query-fallback-executor.d.ts +11 -0
  799. package/sdk/dist/query/query-fallback-executor.d.ts.map +1 -0
  800. package/sdk/dist/query/query-fallback-executor.js +31 -0
  801. package/sdk/dist/query/query-fallback-executor.js.map +1 -0
  802. package/sdk/dist/query/query-fallback-output-classifier.d.ts +6 -0
  803. package/sdk/dist/query/query-fallback-output-classifier.d.ts.map +1 -0
  804. package/sdk/dist/query/query-fallback-output-classifier.js +27 -0
  805. package/sdk/dist/query/query-fallback-output-classifier.js.map +1 -0
  806. package/sdk/dist/query/query-fallback-policy.d.ts +6 -0
  807. package/sdk/dist/query/query-fallback-policy.d.ts.map +1 -0
  808. package/sdk/dist/query/query-fallback-policy.js +7 -0
  809. package/sdk/dist/query/query-fallback-policy.js.map +1 -0
  810. package/sdk/dist/query/query-native-dispatch-adapter.d.ts +7 -0
  811. package/sdk/dist/query/query-native-dispatch-adapter.d.ts.map +1 -0
  812. package/sdk/dist/query/query-native-dispatch-adapter.js +6 -0
  813. package/sdk/dist/query/query-native-dispatch-adapter.js.map +1 -0
  814. package/sdk/dist/query/query-policy-capability.d.ts +10 -0
  815. package/sdk/dist/query/query-policy-capability.d.ts.map +1 -0
  816. package/sdk/dist/query/query-policy-capability.js +17 -0
  817. package/sdk/dist/query/query-policy-capability.js.map +1 -0
  818. package/sdk/dist/query/query-runtime-context.d.ts +19 -0
  819. package/sdk/dist/query/query-runtime-context.d.ts.map +1 -0
  820. package/sdk/dist/query/query-runtime-context.js +31 -0
  821. package/sdk/dist/query/query-runtime-context.js.map +1 -0
  822. package/sdk/dist/query/query-unknown-command-hints.d.ts +2 -0
  823. package/sdk/dist/query/query-unknown-command-hints.d.ts.map +1 -0
  824. package/sdk/dist/query/query-unknown-command-hints.js +6 -0
  825. package/sdk/dist/query/query-unknown-command-hints.js.map +1 -0
  826. package/sdk/dist/query/registry-assembly-descriptor.d.ts +12 -0
  827. package/sdk/dist/query/registry-assembly-descriptor.d.ts.map +1 -0
  828. package/sdk/dist/query/registry-assembly-descriptor.js +61 -0
  829. package/sdk/dist/query/registry-assembly-descriptor.js.map +1 -0
  830. package/sdk/dist/query/registry-assembly-invariants.d.ts +30 -0
  831. package/sdk/dist/query/registry-assembly-invariants.d.ts.map +1 -0
  832. package/sdk/dist/query/registry-assembly-invariants.js +77 -0
  833. package/sdk/dist/query/registry-assembly-invariants.js.map +1 -0
  834. package/sdk/dist/query/registry-assembly.d.ts +10 -0
  835. package/sdk/dist/query/registry-assembly.d.ts.map +1 -0
  836. package/sdk/dist/query/registry-assembly.js +53 -0
  837. package/sdk/dist/query/registry-assembly.js.map +1 -0
  838. package/sdk/dist/query/registry.d.ts +90 -0
  839. package/sdk/dist/query/registry.d.ts.map +1 -0
  840. package/sdk/dist/query/registry.js +129 -0
  841. package/sdk/dist/query/registry.js.map +1 -0
  842. package/sdk/dist/query/requirements-extract-from-plans.d.ts +9 -0
  843. package/sdk/dist/query/requirements-extract-from-plans.d.ts.map +1 -0
  844. package/sdk/dist/query/requirements-extract-from-plans.js +76 -0
  845. package/sdk/dist/query/requirements-extract-from-plans.js.map +1 -0
  846. package/sdk/dist/query/roadmap-update-plan-progress.d.ts +11 -0
  847. package/sdk/dist/query/roadmap-update-plan-progress.d.ts.map +1 -0
  848. package/sdk/dist/query/roadmap-update-plan-progress.js +124 -0
  849. package/sdk/dist/query/roadmap-update-plan-progress.js.map +1 -0
  850. package/sdk/dist/query/roadmap.d.ts +137 -0
  851. package/sdk/dist/query/roadmap.d.ts.map +1 -0
  852. package/sdk/dist/query/roadmap.js +753 -0
  853. package/sdk/dist/query/roadmap.js.map +1 -0
  854. package/sdk/dist/query/route-next-action.d.ts +9 -0
  855. package/sdk/dist/query/route-next-action.d.ts.map +1 -0
  856. package/sdk/dist/query/route-next-action.js +318 -0
  857. package/sdk/dist/query/route-next-action.js.map +1 -0
  858. package/sdk/dist/query/schema-detect.d.ts +21 -0
  859. package/sdk/dist/query/schema-detect.d.ts.map +1 -0
  860. package/sdk/dist/query/schema-detect.js +146 -0
  861. package/sdk/dist/query/schema-detect.js.map +1 -0
  862. package/sdk/dist/query/secrets.d.ts +27 -0
  863. package/sdk/dist/query/secrets.d.ts.map +1 -0
  864. package/sdk/dist/query/secrets.js +42 -0
  865. package/sdk/dist/query/secrets.js.map +1 -0
  866. package/sdk/dist/query/skill-manifest.d.ts +50 -0
  867. package/sdk/dist/query/skill-manifest.d.ts.map +1 -0
  868. package/sdk/dist/query/skill-manifest.js +171 -0
  869. package/sdk/dist/query/skill-manifest.js.map +1 -0
  870. package/sdk/dist/query/skills.d.ts +27 -0
  871. package/sdk/dist/query/skills.d.ts.map +1 -0
  872. package/sdk/dist/query/skills.js +137 -0
  873. package/sdk/dist/query/skills.js.map +1 -0
  874. package/sdk/dist/query/state-document.d.ts +14 -0
  875. package/sdk/dist/query/state-document.d.ts.map +1 -0
  876. package/sdk/dist/query/state-document.js +110 -0
  877. package/sdk/dist/query/state-document.js.map +1 -0
  878. package/sdk/dist/query/state-mutation.d.ts +224 -0
  879. package/sdk/dist/query/state-mutation.d.ts.map +1 -0
  880. package/sdk/dist/query/state-mutation.js +1539 -0
  881. package/sdk/dist/query/state-mutation.js.map +1 -0
  882. package/sdk/dist/query/state-project-load.d.ts +23 -0
  883. package/sdk/dist/query/state-project-load.d.ts.map +1 -0
  884. package/sdk/dist/query/state-project-load.js +75 -0
  885. package/sdk/dist/query/state-project-load.js.map +1 -0
  886. package/sdk/dist/query/state.d.ts +78 -0
  887. package/sdk/dist/query/state.d.ts.map +1 -0
  888. package/sdk/dist/query/state.js +430 -0
  889. package/sdk/dist/query/state.js.map +1 -0
  890. package/sdk/dist/query/summary.d.ts +18 -0
  891. package/sdk/dist/query/summary.d.ts.map +1 -0
  892. package/sdk/dist/query/summary.js +249 -0
  893. package/sdk/dist/query/summary.js.map +1 -0
  894. package/sdk/dist/query/template.d.ts +46 -0
  895. package/sdk/dist/query/template.d.ts.map +1 -0
  896. package/sdk/dist/query/template.js +210 -0
  897. package/sdk/dist/query/template.js.map +1 -0
  898. package/sdk/dist/query/uat.d.ts +34 -0
  899. package/sdk/dist/query/uat.d.ts.map +1 -0
  900. package/sdk/dist/query/uat.js +339 -0
  901. package/sdk/dist/query/uat.js.map +1 -0
  902. package/sdk/dist/query/utils.d.ts +59 -0
  903. package/sdk/dist/query/utils.d.ts.map +1 -0
  904. package/sdk/dist/query/utils.js +74 -0
  905. package/sdk/dist/query/utils.js.map +1 -0
  906. package/sdk/dist/query/validate.d.ts +67 -0
  907. package/sdk/dist/query/validate.d.ts.map +1 -0
  908. package/sdk/dist/query/validate.js +908 -0
  909. package/sdk/dist/query/validate.js.map +1 -0
  910. package/sdk/dist/query/verify.d.ts +110 -0
  911. package/sdk/dist/query/verify.d.ts.map +1 -0
  912. package/sdk/dist/query/verify.js +631 -0
  913. package/sdk/dist/query/verify.js.map +1 -0
  914. package/sdk/dist/query/websearch.d.ts +24 -0
  915. package/sdk/dist/query/websearch.d.ts.map +1 -0
  916. package/sdk/dist/query/websearch.js +68 -0
  917. package/sdk/dist/query/websearch.js.map +1 -0
  918. package/sdk/dist/query/workspace.d.ts +62 -0
  919. package/sdk/dist/query/workspace.d.ts.map +1 -0
  920. package/sdk/dist/query/workspace.js +104 -0
  921. package/sdk/dist/query/workspace.js.map +1 -0
  922. package/sdk/dist/query/workstream-inventory.d.ts +52 -0
  923. package/sdk/dist/query/workstream-inventory.d.ts.map +1 -0
  924. package/sdk/dist/query/workstream-inventory.js +141 -0
  925. package/sdk/dist/query/workstream-inventory.js.map +1 -0
  926. package/sdk/dist/query/workstream.d.ts +35 -0
  927. package/sdk/dist/query/workstream.d.ts.map +1 -0
  928. package/sdk/dist/query/workstream.js +298 -0
  929. package/sdk/dist/query/workstream.js.map +1 -0
  930. package/sdk/dist/query/worktree.d.ts +3 -0
  931. package/sdk/dist/query/worktree.d.ts.map +1 -0
  932. package/sdk/dist/query/worktree.js +36 -0
  933. package/sdk/dist/query/worktree.js.map +1 -0
  934. package/sdk/dist/query-command-executor.d.ts +22 -0
  935. package/sdk/dist/query-command-executor.d.ts.map +1 -0
  936. package/sdk/dist/query-command-executor.js +22 -0
  937. package/sdk/dist/query-command-executor.js.map +1 -0
  938. package/sdk/dist/query-execution-policy.d.ts +24 -0
  939. package/sdk/dist/query-execution-policy.d.ts.map +1 -0
  940. package/sdk/dist/query-execution-policy.js +27 -0
  941. package/sdk/dist/query-execution-policy.js.map +1 -0
  942. package/sdk/dist/query-failure-classification.d.ts +9 -0
  943. package/sdk/dist/query-failure-classification.d.ts.map +1 -0
  944. package/sdk/dist/query-failure-classification.js +32 -0
  945. package/sdk/dist/query-failure-classification.js.map +1 -0
  946. package/sdk/dist/query-hotpath-methods.d.ts +19 -0
  947. package/sdk/dist/query-hotpath-methods.d.ts.map +1 -0
  948. package/sdk/dist/query-hotpath-methods.js +34 -0
  949. package/sdk/dist/query-hotpath-methods.js.map +1 -0
  950. package/sdk/dist/query-native-direct-adapter.d.ts +20 -0
  951. package/sdk/dist/query-native-direct-adapter.d.ts.map +1 -0
  952. package/sdk/dist/query-native-direct-adapter.js +52 -0
  953. package/sdk/dist/query-native-direct-adapter.js.map +1 -0
  954. package/sdk/dist/query-native-hotpath-adapter.d.ts +15 -0
  955. package/sdk/dist/query-native-hotpath-adapter.d.ts.map +1 -0
  956. package/sdk/dist/query-native-hotpath-adapter.js +32 -0
  957. package/sdk/dist/query-native-hotpath-adapter.js.map +1 -0
  958. package/sdk/dist/query-raw-output-projection.d.ts +6 -0
  959. package/sdk/dist/query-raw-output-projection.d.ts.map +1 -0
  960. package/sdk/dist/query-raw-output-projection.js +67 -0
  961. package/sdk/dist/query-raw-output-projection.js.map +1 -0
  962. package/sdk/dist/query-runtime-bridge.d.ts +61 -0
  963. package/sdk/dist/query-runtime-bridge.d.ts.map +1 -0
  964. package/sdk/dist/query-runtime-bridge.js +144 -0
  965. package/sdk/dist/query-runtime-bridge.js.map +1 -0
  966. package/sdk/dist/query-sdd-tools-path.d.ts +2 -0
  967. package/sdk/dist/query-sdd-tools-path.d.ts.map +1 -0
  968. package/sdk/dist/query-sdd-tools-path.js +2 -0
  969. package/sdk/dist/query-sdd-tools-path.js.map +1 -0
  970. package/sdk/dist/query-sdd-tools-runtime.d.ts +20 -0
  971. package/sdk/dist/query-sdd-tools-runtime.d.ts.map +1 -0
  972. package/sdk/dist/query-sdd-tools-runtime.js +47 -0
  973. package/sdk/dist/query-sdd-tools-runtime.js.map +1 -0
  974. package/sdk/dist/query-subprocess-adapter.d.ts +18 -0
  975. package/sdk/dist/query-subprocess-adapter.d.ts.map +1 -0
  976. package/sdk/dist/query-subprocess-adapter.js +92 -0
  977. package/sdk/dist/query-subprocess-adapter.js.map +1 -0
  978. package/sdk/dist/query-tools-error-factory.d.ts +16 -0
  979. package/sdk/dist/query-tools-error-factory.d.ts.map +1 -0
  980. package/sdk/dist/query-tools-error-factory.js +33 -0
  981. package/sdk/dist/query-tools-error-factory.js.map +1 -0
  982. package/sdk/dist/research-gate.d.ts +24 -0
  983. package/sdk/dist/research-gate.d.ts.map +1 -0
  984. package/sdk/dist/research-gate.js +70 -0
  985. package/sdk/dist/research-gate.js.map +1 -0
  986. package/sdk/dist/runtime-gate.d.ts +14 -0
  987. package/sdk/dist/runtime-gate.d.ts.map +1 -0
  988. package/sdk/dist/runtime-gate.js +48 -0
  989. package/sdk/dist/runtime-gate.js.map +1 -0
  990. package/sdk/dist/sdd-tools-error.d.ts +23 -0
  991. package/sdk/dist/sdd-tools-error.d.ts.map +1 -0
  992. package/sdk/dist/sdd-tools-error.js +29 -0
  993. package/sdk/dist/sdd-tools-error.js.map +1 -0
  994. package/sdk/dist/sdd-tools.d.ts +97 -0
  995. package/sdk/dist/sdd-tools.d.ts.map +1 -0
  996. package/sdk/dist/sdd-tools.js +168 -0
  997. package/sdk/dist/sdd-tools.js.map +1 -0
  998. package/sdk/dist/sdd-transport-policy.d.ts +10 -0
  999. package/sdk/dist/sdd-transport-policy.d.ts.map +1 -0
  1000. package/sdk/dist/sdd-transport-policy.js +32 -0
  1001. package/sdk/dist/sdd-transport-policy.js.map +1 -0
  1002. package/sdk/dist/sdd-transport.d.ts +39 -0
  1003. package/sdk/dist/sdd-transport.d.ts.map +1 -0
  1004. package/sdk/dist/sdd-transport.js +78 -0
  1005. package/sdk/dist/sdd-transport.js.map +1 -0
  1006. package/sdk/dist/sdk-package-compatibility.d.ts +38 -0
  1007. package/sdk/dist/sdk-package-compatibility.d.ts.map +1 -0
  1008. package/sdk/dist/sdk-package-compatibility.js +90 -0
  1009. package/sdk/dist/sdk-package-compatibility.js.map +1 -0
  1010. package/sdk/dist/session-runner.d.ts +40 -0
  1011. package/sdk/dist/session-runner.d.ts.map +1 -0
  1012. package/sdk/dist/session-runner.js +274 -0
  1013. package/sdk/dist/session-runner.js.map +1 -0
  1014. package/sdk/dist/tool-scoping.d.ts +31 -0
  1015. package/sdk/dist/tool-scoping.d.ts.map +1 -0
  1016. package/sdk/dist/tool-scoping.js +54 -0
  1017. package/sdk/dist/tool-scoping.js.map +1 -0
  1018. package/sdk/dist/types.d.ts +794 -0
  1019. package/sdk/dist/types.d.ts.map +1 -0
  1020. package/sdk/dist/types.js +77 -0
  1021. package/sdk/dist/types.js.map +1 -0
  1022. package/sdk/dist/workstream-name-policy.d.ts +13 -0
  1023. package/sdk/dist/workstream-name-policy.d.ts.map +1 -0
  1024. package/sdk/dist/workstream-name-policy.js +24 -0
  1025. package/sdk/dist/workstream-name-policy.js.map +1 -0
  1026. package/sdk/dist/workstream-utils.d.ts +15 -0
  1027. package/sdk/dist/workstream-utils.d.ts.map +1 -0
  1028. package/sdk/dist/workstream-utils.js +21 -0
  1029. package/sdk/dist/workstream-utils.js.map +1 -0
  1030. package/sdk/dist/ws-transport.d.ts +32 -0
  1031. package/sdk/dist/ws-transport.d.ts.map +1 -0
  1032. package/sdk/dist/ws-transport.js +84 -0
  1033. package/sdk/dist/ws-transport.js.map +1 -0
  1034. package/sdk/package-lock.json +2502 -0
  1035. package/sdk/package.json +57 -0
  1036. package/sdk/prompts/templates/project.md +186 -0
  1037. package/sdk/prompts/templates/requirements.md +231 -0
  1038. package/sdk/prompts/templates/research-project/ARCHITECTURE.md +204 -0
  1039. package/sdk/prompts/templates/research-project/FEATURES.md +147 -0
  1040. package/sdk/prompts/templates/research-project/PITFALLS.md +200 -0
  1041. package/sdk/prompts/templates/research-project/STACK.md +120 -0
  1042. package/sdk/prompts/templates/research-project/SUMMARY.md +170 -0
  1043. package/sdk/prompts/templates/roadmap.md +202 -0
  1044. package/sdk/prompts/templates/state.md +175 -0
  1045. package/sdk/shared/model-catalog.json +122 -0
  1046. package/sdk/src/assembled-prompts.test.ts +349 -0
  1047. package/sdk/src/bug-3591-sddtools-runtime-workstream.test.ts +179 -0
  1048. package/sdk/src/cli-transport.test.ts +388 -0
  1049. package/sdk/src/cli-transport.ts +130 -0
  1050. package/sdk/src/cli.test.ts +426 -0
  1051. package/sdk/src/cli.ts +589 -0
  1052. package/sdk/src/config.test.ts +271 -0
  1053. package/sdk/src/config.ts +218 -0
  1054. package/sdk/src/context-engine.test.ts +295 -0
  1055. package/sdk/src/context-engine.ts +170 -0
  1056. package/sdk/src/context-truncation.test.ts +163 -0
  1057. package/sdk/src/context-truncation.ts +233 -0
  1058. package/sdk/src/e2e.integration.test.ts +181 -0
  1059. package/sdk/src/errors.ts +72 -0
  1060. package/sdk/src/event-stream.test.ts +661 -0
  1061. package/sdk/src/event-stream.ts +441 -0
  1062. package/sdk/src/golden/capture.ts +95 -0
  1063. package/sdk/src/golden/fixtures/generate-slug.golden.json +1 -0
  1064. package/sdk/src/golden/fixtures/profile-sample-sessions/demo-project/sample.jsonl +3 -0
  1065. package/sdk/src/golden/fixtures/summary-extract-sample.md +26 -0
  1066. package/sdk/src/golden/fixtures/uat-render-checkpoint-sample.md +15 -0
  1067. package/sdk/src/golden/golden-integration-covered.ts +30 -0
  1068. package/sdk/src/golden/golden-mutation-covered.ts +17 -0
  1069. package/sdk/src/golden/golden-policy.test.ts +8 -0
  1070. package/sdk/src/golden/golden-policy.ts +120 -0
  1071. package/sdk/src/golden/golden.integration.test.ts +677 -0
  1072. package/sdk/src/golden/init-golden-normalize.ts +15 -0
  1073. package/sdk/src/golden/read-only-golden-rows.ts +77 -0
  1074. package/sdk/src/golden/read-only-parity.integration.test.ts +133 -0
  1075. package/sdk/src/golden/registry-canonical-commands.ts +31 -0
  1076. package/sdk/src/index.ts +352 -0
  1077. package/sdk/src/init-e2e.integration.test.ts +138 -0
  1078. package/sdk/src/init-runner.test.ts +740 -0
  1079. package/sdk/src/init-runner.ts +734 -0
  1080. package/sdk/src/lifecycle-e2e.integration.test.ts +258 -0
  1081. package/sdk/src/logger.test.ts +149 -0
  1082. package/sdk/src/logger.ts +113 -0
  1083. package/sdk/src/milestone-runner.test.ts +421 -0
  1084. package/sdk/src/model-catalog.ts +70 -0
  1085. package/sdk/src/phase-prompt.test.ts +535 -0
  1086. package/sdk/src/phase-prompt.ts +259 -0
  1087. package/sdk/src/phase-runner-types.test.ts +421 -0
  1088. package/sdk/src/phase-runner.integration.test.ts +377 -0
  1089. package/sdk/src/phase-runner.test.ts +2720 -0
  1090. package/sdk/src/phase-runner.ts +1442 -0
  1091. package/sdk/src/plan-parser.test.ts +579 -0
  1092. package/sdk/src/plan-parser.ts +431 -0
  1093. package/sdk/src/planning-journal.test.ts +70 -0
  1094. package/sdk/src/planning-journal.ts +153 -0
  1095. package/sdk/src/planning-runtime.test.ts +29 -0
  1096. package/sdk/src/planning-runtime.ts +100 -0
  1097. package/sdk/src/prompt-builder.test.ts +318 -0
  1098. package/sdk/src/prompt-builder.ts +218 -0
  1099. package/sdk/src/prompt-sanitizer.test.ts +260 -0
  1100. package/sdk/src/prompt-sanitizer.ts +116 -0
  1101. package/sdk/src/query/QUERY-HANDLERS.md +349 -0
  1102. package/sdk/src/query/active-workstream-store.ts +50 -0
  1103. package/sdk/src/query/agent-failure-classifier.test.ts +157 -0
  1104. package/sdk/src/query/agent-failure-classifier.ts +105 -0
  1105. package/sdk/src/query/audit-open.ts +722 -0
  1106. package/sdk/src/query/check-auto-mode.test.ts +77 -0
  1107. package/sdk/src/query/check-auto-mode.ts +49 -0
  1108. package/sdk/src/query/check-completion.test.ts +113 -0
  1109. package/sdk/src/query/check-completion.ts +182 -0
  1110. package/sdk/src/query/check-decision-coverage.test.ts +519 -0
  1111. package/sdk/src/query/check-decision-coverage.ts +554 -0
  1112. package/sdk/src/query/check-gates.test.ts +103 -0
  1113. package/sdk/src/query/check-gates.ts +112 -0
  1114. package/sdk/src/query/check-ship-ready.test.ts +111 -0
  1115. package/sdk/src/query/check-ship-ready.ts +104 -0
  1116. package/sdk/src/query/check-verification-status.test.ts +143 -0
  1117. package/sdk/src/query/check-verification-status.ts +160 -0
  1118. package/sdk/src/query/command-aliases.generated.ts +156 -0
  1119. package/sdk/src/query/command-catalog.ts +31 -0
  1120. package/sdk/src/query/command-definition.test.ts +47 -0
  1121. package/sdk/src/query/command-definition.ts +70 -0
  1122. package/sdk/src/query/command-family-handlers.ts +117 -0
  1123. package/sdk/src/query/command-manifest.init.ts +24 -0
  1124. package/sdk/src/query/command-manifest.non-family.ts +85 -0
  1125. package/sdk/src/query/command-manifest.phase.ts +16 -0
  1126. package/sdk/src/query/command-manifest.phases.ts +11 -0
  1127. package/sdk/src/query/command-manifest.roadmap.ts +11 -0
  1128. package/sdk/src/query/command-manifest.state.ts +31 -0
  1129. package/sdk/src/query/command-manifest.ts +17 -0
  1130. package/sdk/src/query/command-manifest.types.ts +13 -0
  1131. package/sdk/src/query/command-manifest.validate.ts +11 -0
  1132. package/sdk/src/query/command-manifest.verify.ts +15 -0
  1133. package/sdk/src/query/command-resolution.test.ts +70 -0
  1134. package/sdk/src/query/command-seam-coverage.test.ts +118 -0
  1135. package/sdk/src/query/command-static-catalog-domain.ts +117 -0
  1136. package/sdk/src/query/command-static-catalog-foundation.ts +103 -0
  1137. package/sdk/src/query/command-topology.test.ts +28 -0
  1138. package/sdk/src/query/command-topology.ts +114 -0
  1139. package/sdk/src/query/commands-list.test.ts +36 -0
  1140. package/sdk/src/query/commands-list.ts +19 -0
  1141. package/sdk/src/query/commit.test.ts +485 -0
  1142. package/sdk/src/query/commit.ts +383 -0
  1143. package/sdk/src/query/config-gates.test.ts +89 -0
  1144. package/sdk/src/query/config-gates.ts +69 -0
  1145. package/sdk/src/query/config-mutation.test.ts +598 -0
  1146. package/sdk/src/query/config-mutation.ts +575 -0
  1147. package/sdk/src/query/config-query.test.ts +367 -0
  1148. package/sdk/src/query/config-query.ts +244 -0
  1149. package/sdk/src/query/config-schema.ts +159 -0
  1150. package/sdk/src/query/decisions.test.ts +215 -0
  1151. package/sdk/src/query/decisions.ts +192 -0
  1152. package/sdk/src/query/decomposed-handlers.test.ts +431 -0
  1153. package/sdk/src/query/detect-custom-files.test.ts +115 -0
  1154. package/sdk/src/query/detect-custom-files.ts +96 -0
  1155. package/sdk/src/query/detect-phase-type.test.ts +105 -0
  1156. package/sdk/src/query/detect-phase-type.ts +141 -0
  1157. package/sdk/src/query/docs-init.ts +258 -0
  1158. package/sdk/src/query/fallow-audit.ts +88 -0
  1159. package/sdk/src/query/frontmatter-array.test.ts +14 -0
  1160. package/sdk/src/query/frontmatter-mutation.test.ts +259 -0
  1161. package/sdk/src/query/frontmatter-mutation.ts +343 -0
  1162. package/sdk/src/query/frontmatter.test.ts +326 -0
  1163. package/sdk/src/query/frontmatter.ts +395 -0
  1164. package/sdk/src/query/helpers.test.ts +615 -0
  1165. package/sdk/src/query/helpers.ts +646 -0
  1166. package/sdk/src/query/index-thin-seam.test.ts +16 -0
  1167. package/sdk/src/query/index.ts +9 -0
  1168. package/sdk/src/query/init-complex.test.ts +616 -0
  1169. package/sdk/src/query/init-complex.ts +799 -0
  1170. package/sdk/src/query/init-progress-precedence.test.ts +177 -0
  1171. package/sdk/src/query/init-workstream-milestone-op.test.ts +321 -0
  1172. package/sdk/src/query/init.test.ts +792 -0
  1173. package/sdk/src/query/init.ts +1262 -0
  1174. package/sdk/src/query/intel.test.ts +90 -0
  1175. package/sdk/src/query/intel.ts +404 -0
  1176. package/sdk/src/query/mutation-event-decorator.test.ts +45 -0
  1177. package/sdk/src/query/mutation-event-decorator.ts +37 -0
  1178. package/sdk/src/query/mutation-event-mapper.test.ts +33 -0
  1179. package/sdk/src/query/mutation-event-mapper.ts +102 -0
  1180. package/sdk/src/query/mvp.test.ts +335 -0
  1181. package/sdk/src/query/mvp.ts +292 -0
  1182. package/sdk/src/query/normalize-query-command.test.ts +102 -0
  1183. package/sdk/src/query/phase-filesystem-adapter.ts +35 -0
  1184. package/sdk/src/query/phase-lifecycle-policy.ts +171 -0
  1185. package/sdk/src/query/phase-lifecycle.test.ts +1750 -0
  1186. package/sdk/src/query/phase-lifecycle.ts +1833 -0
  1187. package/sdk/src/query/phase-list-queries.test.ts +88 -0
  1188. package/sdk/src/query/phase-list-queries.ts +152 -0
  1189. package/sdk/src/query/phase-ready.test.ts +65 -0
  1190. package/sdk/src/query/phase-ready.ts +159 -0
  1191. package/sdk/src/query/phase-roadmap-mutation.ts +77 -0
  1192. package/sdk/src/query/phase.test.ts +651 -0
  1193. package/sdk/src/query/phase.ts +550 -0
  1194. package/sdk/src/query/pipeline.test.ts +169 -0
  1195. package/sdk/src/query/pipeline.ts +243 -0
  1196. package/sdk/src/query/plan-scan.test.ts +35 -0
  1197. package/sdk/src/query/plan-scan.ts +82 -0
  1198. package/sdk/src/query/plan-task-structure.test.ts +65 -0
  1199. package/sdk/src/query/plan-task-structure.ts +63 -0
  1200. package/sdk/src/query/policy-convergence.test.ts +28 -0
  1201. package/sdk/src/query/profile-extract-messages.ts +247 -0
  1202. package/sdk/src/query/profile-output.ts +929 -0
  1203. package/sdk/src/query/profile-questionnaire-data.ts +181 -0
  1204. package/sdk/src/query/profile-sample.ts +184 -0
  1205. package/sdk/src/query/profile-scan-sessions.ts +174 -0
  1206. package/sdk/src/query/profile.test.ts +136 -0
  1207. package/sdk/src/query/profile.ts +337 -0
  1208. package/sdk/src/query/progress.test.ts +156 -0
  1209. package/sdk/src/query/progress.ts +566 -0
  1210. package/sdk/src/query/query-cli-adapter.test.ts +79 -0
  1211. package/sdk/src/query/query-cli-adapter.ts +39 -0
  1212. package/sdk/src/query/query-cli-output.test.ts +33 -0
  1213. package/sdk/src/query/query-cli-output.ts +35 -0
  1214. package/sdk/src/query/query-command-diagnosis.test.ts +22 -0
  1215. package/sdk/src/query/query-command-diagnosis.ts +5 -0
  1216. package/sdk/src/query/query-command-resolution-strategy.test.ts +34 -0
  1217. package/sdk/src/query/query-command-resolution-strategy.ts +121 -0
  1218. package/sdk/src/query/query-command-semantics.test.ts +22 -0
  1219. package/sdk/src/query/query-command-semantics.ts +22 -0
  1220. package/sdk/src/query/query-dispatch-contract.ts +30 -0
  1221. package/sdk/src/query/query-dispatch-error-mapper.test.ts +62 -0
  1222. package/sdk/src/query/query-dispatch-error-mapper.ts +5 -0
  1223. package/sdk/src/query/query-dispatch-formatting.test.ts +28 -0
  1224. package/sdk/src/query/query-dispatch-formatting.ts +5 -0
  1225. package/sdk/src/query/query-dispatch-input-validation.test.ts +23 -0
  1226. package/sdk/src/query/query-dispatch-input-validation.ts +5 -0
  1227. package/sdk/src/query/query-dispatch-observability.test.ts +10 -0
  1228. package/sdk/src/query/query-dispatch-observability.ts +6 -0
  1229. package/sdk/src/query/query-dispatch-plan.test.ts +25 -0
  1230. package/sdk/src/query/query-dispatch-plan.ts +5 -0
  1231. package/sdk/src/query/query-dispatch-result-builder.test.ts +16 -0
  1232. package/sdk/src/query/query-dispatch-result-builder.ts +5 -0
  1233. package/sdk/src/query/query-dispatch.test.ts +399 -0
  1234. package/sdk/src/query/query-dispatch.ts +243 -0
  1235. package/sdk/src/query/query-error-details-schema.ts +29 -0
  1236. package/sdk/src/query/query-error-taxonomy.test.ts +39 -0
  1237. package/sdk/src/query/query-error-taxonomy.ts +117 -0
  1238. package/sdk/src/query/query-fallback-bridge-adapter.test.ts +32 -0
  1239. package/sdk/src/query/query-fallback-bridge-adapter.ts +54 -0
  1240. package/sdk/src/query/query-fallback-executor.test.ts +82 -0
  1241. package/sdk/src/query/query-fallback-executor.ts +44 -0
  1242. package/sdk/src/query/query-fallback-output-classifier.test.ts +36 -0
  1243. package/sdk/src/query/query-fallback-output-classifier.ts +31 -0
  1244. package/sdk/src/query/query-fallback-policy.test.ts +13 -0
  1245. package/sdk/src/query/query-fallback-policy.ts +11 -0
  1246. package/sdk/src/query/query-native-dispatch-adapter.ts +16 -0
  1247. package/sdk/src/query/query-policy-capability.test.ts +10 -0
  1248. package/sdk/src/query/query-policy-capability.ts +26 -0
  1249. package/sdk/src/query/query-policy-snapshot.test.ts +9 -0
  1250. package/sdk/src/query/query-registry-capability.test.ts +14 -0
  1251. package/sdk/src/query/query-runtime-context.ts +44 -0
  1252. package/sdk/src/query/query-unknown-command-hints.test.ts +9 -0
  1253. package/sdk/src/query/query-unknown-command-hints.ts +5 -0
  1254. package/sdk/src/query/registry-assembly-descriptor.ts +87 -0
  1255. package/sdk/src/query/registry-assembly-invariants.ts +127 -0
  1256. package/sdk/src/query/registry-assembly.test.ts +138 -0
  1257. package/sdk/src/query/registry-assembly.ts +78 -0
  1258. package/sdk/src/query/registry.test.ts +208 -0
  1259. package/sdk/src/query/registry.ts +142 -0
  1260. package/sdk/src/query/requirements-extract-from-plans.test.ts +58 -0
  1261. package/sdk/src/query/requirements-extract-from-plans.ts +86 -0
  1262. package/sdk/src/query/roadmap-update-plan-progress.test.ts +233 -0
  1263. package/sdk/src/query/roadmap-update-plan-progress.ts +159 -0
  1264. package/sdk/src/query/roadmap.test.ts +1181 -0
  1265. package/sdk/src/query/roadmap.ts +894 -0
  1266. package/sdk/src/query/route-next-action.test.ts +61 -0
  1267. package/sdk/src/query/route-next-action.ts +345 -0
  1268. package/sdk/src/query/schema-detect.ts +189 -0
  1269. package/sdk/src/query/secrets.test.ts +66 -0
  1270. package/sdk/src/query/secrets.ts +43 -0
  1271. package/sdk/src/query/skill-manifest.test.ts +62 -0
  1272. package/sdk/src/query/skill-manifest.ts +216 -0
  1273. package/sdk/src/query/skills.test.ts +234 -0
  1274. package/sdk/src/query/skills.ts +143 -0
  1275. package/sdk/src/query/state-document.test.ts +197 -0
  1276. package/sdk/src/query/state-document.ts +129 -0
  1277. package/sdk/src/query/state-mutation.test.ts +1198 -0
  1278. package/sdk/src/query/state-mutation.ts +1718 -0
  1279. package/sdk/src/query/state-project-load.ts +80 -0
  1280. package/sdk/src/query/state.test.ts +616 -0
  1281. package/sdk/src/query/state.ts +463 -0
  1282. package/sdk/src/query/sub-repos-root.integration.test.ts +79 -0
  1283. package/sdk/src/query/summary.test.ts +95 -0
  1284. package/sdk/src/query/summary.ts +296 -0
  1285. package/sdk/src/query/template.test.ts +180 -0
  1286. package/sdk/src/query/template.ts +242 -0
  1287. package/sdk/src/query/uat.test.ts +77 -0
  1288. package/sdk/src/query/uat.ts +365 -0
  1289. package/sdk/src/query/utils.test.ts +82 -0
  1290. package/sdk/src/query/utils.ts +106 -0
  1291. package/sdk/src/query/validate.test.ts +831 -0
  1292. package/sdk/src/query/validate.ts +952 -0
  1293. package/sdk/src/query/verify.test.ts +414 -0
  1294. package/sdk/src/query/verify.ts +692 -0
  1295. package/sdk/src/query/websearch.test.ts +31 -0
  1296. package/sdk/src/query/websearch.ts +82 -0
  1297. package/sdk/src/query/workspace.test.ts +120 -0
  1298. package/sdk/src/query/workspace.ts +145 -0
  1299. package/sdk/src/query/workstream-inventory.ts +195 -0
  1300. package/sdk/src/query/workstream.test.ts +153 -0
  1301. package/sdk/src/query/workstream.ts +324 -0
  1302. package/sdk/src/query/worktree.ts +39 -0
  1303. package/sdk/src/query-command-executor.ts +31 -0
  1304. package/sdk/src/query-execution-policy.test.ts +52 -0
  1305. package/sdk/src/query-execution-policy.ts +46 -0
  1306. package/sdk/src/query-failure-classification.test.ts +23 -0
  1307. package/sdk/src/query-failure-classification.ts +42 -0
  1308. package/sdk/src/query-hotpath-methods.ts +48 -0
  1309. package/sdk/src/query-native-direct-adapter.test.ts +35 -0
  1310. package/sdk/src/query-native-direct-adapter.ts +70 -0
  1311. package/sdk/src/query-native-hotpath-adapter.test.ts +43 -0
  1312. package/sdk/src/query-native-hotpath-adapter.ts +45 -0
  1313. package/sdk/src/query-raw-output-projection.test.ts +39 -0
  1314. package/sdk/src/query-raw-output-projection.ts +74 -0
  1315. package/sdk/src/query-runtime-bridge.test.ts +150 -0
  1316. package/sdk/src/query-runtime-bridge.ts +215 -0
  1317. package/sdk/src/query-runtime-seam-coverage.test.ts +20 -0
  1318. package/sdk/src/query-sdd-tools-path.ts +1 -0
  1319. package/sdk/src/query-sdd-tools-runtime.ts +89 -0
  1320. package/sdk/src/query-subprocess-adapter.test.ts +84 -0
  1321. package/sdk/src/query-subprocess-adapter.ts +146 -0
  1322. package/sdk/src/query-tools-error-factory.test.ts +35 -0
  1323. package/sdk/src/query-tools-error-factory.ts +76 -0
  1324. package/sdk/src/research-gate.test.ts +190 -0
  1325. package/sdk/src/research-gate.ts +94 -0
  1326. package/sdk/src/runtime-bridge-options.test.ts +33 -0
  1327. package/sdk/src/runtime-gate.test.ts +84 -0
  1328. package/sdk/src/runtime-gate.ts +52 -0
  1329. package/sdk/src/sdd-tools-error.test.ts +21 -0
  1330. package/sdk/src/sdd-tools-error.ts +65 -0
  1331. package/sdk/src/sdd-tools.test.ts +472 -0
  1332. package/sdk/src/sdd-tools.ts +237 -0
  1333. package/sdk/src/sdd-transport-policy.test.ts +34 -0
  1334. package/sdk/src/sdd-transport-policy.ts +48 -0
  1335. package/sdk/src/sdd-transport.test.ts +292 -0
  1336. package/sdk/src/sdd-transport.ts +117 -0
  1337. package/sdk/src/sdk-package-compatibility.test.ts +97 -0
  1338. package/sdk/src/sdk-package-compatibility.ts +141 -0
  1339. package/sdk/src/session-runner.test.ts +164 -0
  1340. package/sdk/src/session-runner.ts +327 -0
  1341. package/sdk/src/tool-scoping.test.ts +160 -0
  1342. package/sdk/src/tool-scoping.ts +61 -0
  1343. package/sdk/src/types.ts +927 -0
  1344. package/sdk/src/workflow-agent-skills-consistency.test.ts +98 -0
  1345. package/sdk/src/workstream-name-policy.ts +24 -0
  1346. package/sdk/src/workstream-utils.ts +21 -0
  1347. package/sdk/src/ws-flag.test.ts +285 -0
  1348. package/sdk/src/ws-transport.test.ts +161 -0
  1349. package/sdk/src/ws-transport.ts +93 -0
  1350. package/sdk/tsconfig.json +20 -0
  1351. package/commands/sdd/add-backlog.md +0 -76
  1352. package/commands/sdd/add-phase.md +0 -43
  1353. package/commands/sdd/add-todo.md +0 -47
  1354. package/commands/sdd/analyze-dependencies.md +0 -34
  1355. package/commands/sdd/check-todos.md +0 -45
  1356. package/commands/sdd/code-review-fix.md +0 -52
  1357. package/commands/sdd/do.md +0 -30
  1358. package/commands/sdd/from-sdd2.md +0 -45
  1359. package/commands/sdd/insert-phase.md +0 -32
  1360. package/commands/sdd/intel.md +0 -179
  1361. package/commands/sdd/join-discord.md +0 -19
  1362. package/commands/sdd/list-phase-assumptions.md +0 -46
  1363. package/commands/sdd/list-workspaces.md +0 -19
  1364. package/commands/sdd/new-workspace.md +0 -44
  1365. package/commands/sdd/next.md +0 -26
  1366. package/commands/sdd/note.md +0 -34
  1367. package/commands/sdd/plan-milestone-gaps.md +0 -34
  1368. package/commands/sdd/plant-seed.md +0 -28
  1369. package/commands/sdd/remove-phase.md +0 -31
  1370. package/commands/sdd/remove-workspace.md +0 -26
  1371. package/commands/sdd/research-phase.md +0 -195
  1372. package/commands/sdd/scan.md +0 -26
  1373. package/commands/sdd/session-report.md +0 -19
  1374. package/commands/sdd/set-profile.md +0 -12
  1375. package/scripts/sync-upstream.sh +0 -56
  1376. package/sdd/workflows/research-phase.md +0 -82
package/README.md CHANGED
@@ -4,9 +4,9 @@
4
4
 
5
5
  **English** · [Português](README.pt-BR.md) · [简体中文](README.zh-CN.md) · [日本語](README.ja-JP.md) · [한국어](README.ko-KR.md)
6
6
 
7
- **A light-weight and powerful meta-prompting, context engineering and spec-driven development system for Claude Code, OpenCode, Gemini CLI, Kilo, Codex, Copilot, Cursor, Windsurf, Antigravity, Augment, Trae, Qwen Code, Cline, and CodeBuddy.**
7
+ **A light-weight meta-prompting, context engineering, and spec-driven development system for Claude Code, OpenCode, Gemini CLI, Kilo, Codex, Copilot, Cursor, Windsurf, and more.**
8
8
 
9
- **Solves context rot — the quality degradation that happens as Claude fills its context window.**
9
+ **Solves context rot — the quality degradation that happens as your AI fills its context window.**
10
10
 
11
11
  [![npm version](https://img.shields.io/npm/v/@bhargavvc/sdd-cc?style=for-the-badge&logo=npm&logoColor=white&color=CB3837)](https://www.npmjs.com/package/@bhargavvc/sdd-cc)
12
12
  [![npm downloads](https://img.shields.io/npm/dm/@bhargavvc/sdd-cc?style=for-the-badge&logo=npm&logoColor=white&color=CB3837)](https://www.npmjs.com/package/@bhargavvc/sdd-cc)
@@ -41,23 +41,14 @@ npx @bhargavvc/sdd-cc@latest
41
41
 
42
42
  **Trusted by engineers at Amazon, Google, Shopify, and Webflow.**
43
43
 
44
- [Why I Built This](#why-i-built-this) · [How It Works](#how-it-works) · [Commands](#commands) · [Why It Works](#why-it-works) · [User Guide](docs/USER-GUIDE.md)
45
-
46
44
  </div>
47
45
 
48
46
  ---
49
47
 
50
48
  > [!IMPORTANT]
51
- > ### Welcome Back to SDD
52
- >
53
- > If you're returning to SDD after the recent Anthropic Terms of Service changes — welcome back. We kept building while you were gone.
49
+ > **Returning to SDD?**
54
50
  >
55
- > **To re-import an existing project into SDD:**
56
- > 1. Run `/sdd-map-codebase` to scan and index your current codebase state
57
- > 2. Run `/sdd-new-project` to initialize a fresh SDD planning structure using the codebase map as context
58
- > 3. Review [docs/USER-GUIDE.md](docs/USER-GUIDE.md) and the [CHANGELOG](CHANGELOG.md) for updates — a lot has changed since you were last here
59
- >
60
- > Your code is fine. SDD just needs its planning context rebuilt. The two commands above handle that.
51
+ > Run `/sdd-map-codebase` to re-index your codebase, then `/sdd-new-project` to rebuild SDD's planning context. Your code is fine — SDD just needs its context rebuilt. See the [CHANGELOG](CHANGELOG.md) for what's new.
61
52
 
62
53
  ---
63
54
 
@@ -65,830 +56,192 @@ npx @bhargavvc/sdd-cc@latest
65
56
 
66
57
  I'm a solo developer. I don't write code — Claude Code does.
67
58
 
68
- Other spec-driven development tools exist; BMAD, Speckit... But they all seem to make things way more complicated than they need to be (sprint ceremonies, story points, stakeholder syncs, retrospectives, Jira workflows) or lack real big picture understanding of what you're building. I'm not a 50-person software company. I don't want to play enterprise theater. I'm just a creative person trying to build great things that work.
59
+ Other spec-driven tools exist, but they're all built for 50-person engineering orgs sprint ceremonies, story points, stakeholder syncs, Jira workflows. I'm not that. I'm a creative person trying to build great things consistently.
69
60
 
70
61
  So I built SDD. The complexity is in the system, not in your workflow. Behind the scenes: context engineering, XML prompt formatting, subagent orchestration, state management. What you see: a few commands that just work.
71
62
 
72
63
  The system gives Claude everything it needs to do the work *and* verify it. I trust the workflow. It just does a good job.
73
64
 
74
- That's what this is. No enterprise roleplay bullshit. Just an incredibly effective system for building cool stuff consistently using Claude Code.
75
-
76
65
  — **TÂCHES**
77
66
 
78
67
  ---
79
68
 
80
- Vibecoding has a bad reputation. You describe what you want, AI generates code, and you get inconsistent garbage that falls apart at scale.
81
-
82
- SDD fixes that. It's the context engineering layer that makes Claude Code reliable. Describe your idea, let the system extract everything it needs to know, and let Claude Code get to work.
83
-
84
- ---
85
-
86
- ## Who This Is For
87
-
88
- People who want to describe what they want and have it built correctly — without pretending they're running a 50-person engineering org.
89
-
90
- Built-in quality gates catch real problems: schema drift detection flags ORM changes missing migrations, security enforcement anchors verification to threat models, and scope reduction detection prevents the planner from silently dropping your requirements.
91
-
92
- ### v1.34.0 Highlights
93
-
94
- - **Gates taxonomy** — 4 canonical gate types (pre-flight, revision, escalation, abort) wired into plan-checker and verifier agents
95
- - **Shell hooks fix** — `hooks/*.sh` files are now correctly included in the npm package, eliminating startup hook errors on fresh installs
96
- - **Post-merge hunk verification** — `reapply-patches` detects silently dropped hunks after three-way merge
97
- - **detectConfigDir fix** — Claude Code users no longer see false "update available" warnings when multiple runtimes are installed
98
- - **3 bug fixes** — Milestone backlog preservation, detectConfigDir priority, and npm package manifest
99
-
100
- ---
101
-
102
- ## Getting Started
103
-
104
- ```bash
105
- npx @bhargavvc/sdd-cc@latest
106
- ```
107
-
108
- The installer prompts you to choose:
109
- 1. **Runtime** — Claude Code, OpenCode, Gemini, Kilo, Codex, Copilot, Cursor, Windsurf, Antigravity, Augment, Trae, Qwen Code, CodeBuddy, Cline, or all (interactive multi-select — pick multiple runtimes in a single install session)
110
- 2. **Location** — Global (all projects) or local (current project only)
111
-
112
- Verify with:
113
- - Claude Code / Gemini / Copilot / Antigravity / Qwen Code: `/sdd-help`
114
- - OpenCode / Kilo / Augment / Trae / CodeBuddy: `/sdd-help`
115
- - Codex: `$sdd-help`
116
- - Cline: SDD installs via `.clinerules` — verify by checking `.clinerules` exists
117
-
118
- > [!NOTE]
119
- > Claude Code 2.1.88+, Qwen Code, and Codex install as skills (`skills/sdd-*/SKILL.md`). Older Claude Code versions use `commands/sdd/`. Cline uses `.clinerules` for configuration. The installer handles all formats automatically.
120
-
121
- > [!TIP]
122
- > For source-based installs or environments where npm is unavailable, see **[docs/manual-update.md](docs/manual-update.md)**.
123
-
124
- ### Staying Updated
125
-
126
- SDD evolves fast. Update periodically:
127
-
128
- ```bash
129
- npx @bhargavvc/sdd-cc@latest
130
- ```
131
-
132
- <details>
133
- <summary><strong>Non-interactive Install (Docker, CI, Scripts)</strong></summary>
134
-
135
- ```bash
136
- # Claude Code
137
- npx @bhargavvc/sdd-cc --claude --global # Install to ~/.claude/
138
- npx @bhargavvc/sdd-cc --claude --local # Install to ./.claude/
139
-
140
- # OpenCode
141
- npx @bhargavvc/sdd-cc --opencode --global # Install to ~/.config/opencode/
142
-
143
- # Gemini CLI
144
- npx @bhargavvc/sdd-cc --gemini --global # Install to ~/.gemini/
145
-
146
- # Kilo
147
- npx @bhargavvc/sdd-cc --kilo --global # Install to ~/.config/kilo/
148
- npx @bhargavvc/sdd-cc --kilo --local # Install to ./.kilo/
149
-
150
- # Codex
151
- npx @bhargavvc/sdd-cc --codex --global # Install to ~/.codex/
152
- npx @bhargavvc/sdd-cc --codex --local # Install to ./.codex/
153
-
154
- # Copilot
155
- npx @bhargavvc/sdd-cc --copilot --global # Install to ~/.github/
156
- npx @bhargavvc/sdd-cc --copilot --local # Install to ./.github/
157
-
158
- # Cursor CLI
159
- npx @bhargavvc/sdd-cc --cursor --global # Install to ~/.cursor/
160
- npx @bhargavvc/sdd-cc --cursor --local # Install to ./.cursor/
161
-
162
- # Windsurf
163
- npx @bhargavvc/sdd-cc --windsurf --global # Install to ~/.codeium/windsurf/
164
- npx @bhargavvc/sdd-cc --windsurf --local # Install to ./.windsurf/
165
-
166
- # Antigravity
167
- npx @bhargavvc/sdd-cc --antigravity --global # Install to ~/.gemini/antigravity/
168
- npx @bhargavvc/sdd-cc --antigravity --local # Install to ./.agent/
169
-
170
- # Augment
171
- npx @bhargavvc/sdd-cc --augment --global # Install to ~/.augment/
172
- npx @bhargavvc/sdd-cc --augment --local # Install to ./.augment/
173
-
174
- # Trae
175
- npx @bhargavvc/sdd-cc --trae --global # Install to ~/.trae/
176
- npx @bhargavvc/sdd-cc --trae --local # Install to ./.trae/
177
-
178
- # Qwen Code
179
- npx @bhargavvc/sdd-cc --qwen --global # Install to ~/.qwen/
180
- npx @bhargavvc/sdd-cc --qwen --local # Install to ./.qwen/
181
-
182
- # CodeBuddy
183
- npx @bhargavvc/sdd-cc --codebuddy --global # Install to ~/.codebuddy/
184
- npx @bhargavvc/sdd-cc --codebuddy --local # Install to ./.codebuddy/
185
-
186
- # Cline
187
- npx @bhargavvc/sdd-cc --cline --global # Install to ~/.cline/
188
- npx @bhargavvc/sdd-cc --cline --local # Install to ./.clinerules
189
-
190
- # All runtimes
191
- npx @bhargavvc/sdd-cc --all --global # Install to all directories
192
- ```
193
-
194
- Use `--global` (`-g`) or `--local` (`-l`) to skip the location prompt.
195
- Use `--claude`, `--opencode`, `--gemini`, `--kilo`, `--codex`, `--copilot`, `--cursor`, `--windsurf`, `--antigravity`, `--augment`, `--trae`, `--qwen`, `--codebuddy`, `--cline`, or `--all` to skip the runtime prompt.
196
- Use `--sdk` to also install the SDD SDK CLI (`sdd-sdk`) for headless autonomous execution.
197
-
198
- </details>
199
-
200
- <details>
201
- <summary><strong>Development Installation</strong></summary>
202
-
203
- Clone the repository, build hooks, and run the installer locally:
204
-
205
- ```bash
206
- git clone https://github.com/bhargavvc/sdd-cc.git
207
- cd sdd
208
- npm run build:hooks
209
- node bin/install.js --claude --local
210
- ```
211
-
212
- The `build:hooks` step is required — it compiles hook sources into `hooks/dist/` which the installer copies from. Without it, hooks won't be installed and you'll get hook errors in Claude Code. (The npm release handles this automatically via `prepublishOnly`.)
213
-
214
- Installs to `./.claude/` for testing modifications before contributing.
215
-
216
- </details>
217
-
218
- ### Recommended: Skip Permissions Mode
219
-
220
- SDD is designed for frictionless automation. Run Claude Code with:
221
-
222
- ```bash
223
- claude --dangerously-skip-permissions
224
- ```
225
-
226
- > [!TIP]
227
- > This is how SDD is intended to be used — stopping to approve `date` and `git commit` 50 times defeats the purpose.
228
-
229
- <details>
230
- <summary><strong>Alternative: Granular Permissions</strong></summary>
231
-
232
- If you prefer not to use that flag, add this to your project's `.claude/settings.json`:
233
-
234
- ```json
235
- {
236
- "permissions": {
237
- "allow": [
238
- "Bash(date:*)",
239
- "Bash(echo:*)",
240
- "Bash(cat:*)",
241
- "Bash(ls:*)",
242
- "Bash(mkdir:*)",
243
- "Bash(wc:*)",
244
- "Bash(head:*)",
245
- "Bash(tail:*)",
246
- "Bash(sort:*)",
247
- "Bash(grep:*)",
248
- "Bash(tr:*)",
249
- "Bash(git add:*)",
250
- "Bash(git commit:*)",
251
- "Bash(git status:*)",
252
- "Bash(git log:*)",
253
- "Bash(git diff:*)",
254
- "Bash(git tag:*)"
255
- ]
256
- }
257
- }
258
- ```
259
-
260
- </details>
261
-
262
- ---
263
-
264
69
  ## How It Works
265
70
 
266
- > **Already have code?** Run `/sdd-map-codebase` first. It spawns parallel agents to analyze your stack, architecture, conventions, and concerns. Then `/sdd-new-project` knows your codebase — questions focus on what you're adding, and planning automatically loads your patterns.
71
+ The loop is six commands. Each one does exactly one thing.
267
72
 
268
- ### 1. Initialize Project
73
+ ### 1. Initialize
269
74
 
270
- ```
75
+ ```bash
271
76
  /sdd-new-project
272
77
  ```
273
78
 
274
- One command, one flow. The system:
275
-
276
- 1. **Questions** — Asks until it understands your idea completely (goals, constraints, tech preferences, edge cases)
277
- 2. **Research** — Spawns parallel agents to investigate the domain (optional but recommended)
278
- 3. **Requirements** — Extracts what's v1, v2, and out of scope
279
- 4. **Roadmap** — Creates phases mapped to requirements
280
-
281
- You approve the roadmap. Now you're ready to build.
79
+ Questions research → requirements → roadmap. You approve it, then you're ready to build.
282
80
 
283
- **Creates:** `PROJECT.md`, `REQUIREMENTS.md`, `ROADMAP.md`, `STATE.md`, `.planning/research/`
81
+ > **Already have code?** Run `/sdd-map-codebase` first. It analyzes your stack, architecture, and conventions so `/sdd-new-project` asks the right questions.
284
82
 
285
- ---
286
-
287
- ### 2. Discuss Phase
83
+ ### 2. Discuss
288
84
 
289
- ```
85
+ ```bash
290
86
  /sdd-discuss-phase 1
291
87
  ```
292
88
 
293
- **This is where you shape the implementation.**
294
-
295
- Your roadmap has a sentence or two per phase. That's not enough context to build something the way *you* imagine it. This step captures your preferences before anything gets researched or planned.
296
-
297
- The system analyzes the phase and identifies gray areas based on what's being built:
298
-
299
- - **Visual features** → Layout, density, interactions, empty states
300
- - **APIs/CLIs** → Response format, flags, error handling, verbosity
301
- - **Content systems** → Structure, tone, depth, flow
302
- - **Organization tasks** → Grouping criteria, naming, duplicates, exceptions
303
-
304
- For each area you select, it asks until you're satisfied. The output — `CONTEXT.md` — feeds directly into the next two steps:
89
+ Your roadmap has a sentence per phase. That's not enough to build it the way *you* imagine it. Discuss captures your decisions before anything gets planned: layouts, API shapes, error handling, data structures — whatever gray areas exist for this specific phase.
305
90
 
306
- 1. **Researcher reads it** Knows what patterns to investigate ("user wants card layout" research card component libraries)
307
- 2. **Planner reads it** — Knows what decisions are locked ("infinite scroll decided" → plan includes scroll handling)
91
+ The output feeds directly into research and planning. Skip it, get reasonable defaults. Use it, get your vision.
308
92
 
309
- The deeper you go here, the more the system builds what you actually want. Skip it and you get reasonable defaults. Use it and you get *your* vision.
93
+ ### 3. Plan
310
94
 
311
- **Creates:** `{phase_num}-CONTEXT.md`
312
-
313
- > **Assumptions Mode:** Prefer codebase analysis over questions? Set `workflow.discuss_mode` to `assumptions` in `/sdd-settings`. The system reads your code, surfaces what it would do and why, and only asks you to correct what's wrong. See [Discuss Mode](docs/workflow-discuss-mode.md).
314
-
315
- ---
316
-
317
- ### 3. Plan Phase
318
-
319
- ```
95
+ ```bash
320
96
  /sdd-plan-phase 1
321
97
  ```
322
98
 
323
- The system:
99
+ Research → plan → verify, in a loop until the plans pass. Each plan is small enough to execute in a fresh context window.
324
100
 
325
- 1. **Researches** — Investigates how to implement this phase, guided by your CONTEXT.md decisions
326
- 2. **Plans** — Creates 2-3 atomic task plans with XML structure
327
- 3. **Verifies** — Checks plans against requirements, loops until they pass
101
+ ### 4. Execute
328
102
 
329
- Each plan is small enough to execute in a fresh context window. No degradation, no "I'll be more concise now."
330
-
331
- **Creates:** `{phase_num}-RESEARCH.md`, `{phase_num}-{N}-PLAN.md`
332
-
333
- ---
334
-
335
- ### 4. Execute Phase
336
-
337
- ```
103
+ ```bash
338
104
  /sdd-execute-phase 1
339
105
  ```
340
106
 
341
- The system:
342
-
343
- 1. **Runs plans in waves** — Parallel where possible, sequential when dependent
344
- 2. **Fresh context per plan** — 200k tokens purely for implementation, zero accumulated garbage
345
- 3. **Commits per task** — Every task gets its own atomic commit
346
- 4. **Verifies against goals** — Checks the codebase delivers what the phase promised
347
-
348
- Walk away, come back to completed work with clean git history.
349
-
350
- **How Wave Execution Works:**
351
-
352
- Plans are grouped into "waves" based on dependencies. Within each wave, plans run in parallel. Waves run sequentially.
353
-
354
- ```
355
- ┌────────────────────────────────────────────────────────────────────┐
356
- │ PHASE EXECUTION │
357
- ├────────────────────────────────────────────────────────────────────┤
358
- │ │
359
- │ WAVE 1 (parallel) WAVE 2 (parallel) WAVE 3 │
360
- │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
361
- │ │ Plan 01 │ │ Plan 02 │ → │ Plan 03 │ │ Plan 04 │ → │ Plan 05 │ │
362
- │ │ │ │ │ │ │ │ │ │ │ │
363
- │ │ User │ │ Product │ │ Orders │ │ Cart │ │ Checkout│ │
364
- │ │ Model │ │ Model │ │ API │ │ API │ │ UI │ │
365
- │ └─────────┘ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
366
- │ │ │ ↑ ↑ ↑ │
367
- │ └───────────┴──────────────┴───────────┘ │ │
368
- │ Dependencies: Plan 03 needs Plan 01 │ │
369
- │ Plan 04 needs Plan 02 │ │
370
- │ Plan 05 needs Plans 03 + 04 │ │
371
- │ │
372
- └────────────────────────────────────────────────────────────────────┘
373
- ```
374
-
375
- **Why waves matter:**
376
- - Independent plans → Same wave → Run in parallel
377
- - Dependent plans → Later wave → Wait for dependencies
378
- - File conflicts → Sequential plans or same plan
107
+ Plans run in parallel waves. Each executor gets a fresh 200k-token context. Each task gets its own atomic commit. Walk away, come back to completed work with a clean git history.
379
108
 
380
- This is why "vertical slices" (Plan 01: User feature end-to-end) parallelize better than "horizontal layers" (Plan 01: All models, Plan 02: All APIs).
109
+ Your main context window stays at 30–40%. The work happens in the subagents.
381
110
 
382
- **Creates:** `{phase_num}-{N}-SUMMARY.md`, `{phase_num}-VERIFICATION.md`
111
+ ### 5. Verify
383
112
 
384
- ---
385
-
386
- ### 5. Verify Work
387
-
388
- ```
113
+ ```bash
389
114
  /sdd-verify-work 1
390
115
  ```
391
116
 
392
- **This is where you confirm it actually works.**
393
-
394
- Automated verification checks that code exists and tests pass. But does the feature *work* the way you expected? This is your chance to use it.
395
-
396
- The system:
117
+ Walk through what was built. Anything broken gets a diagnosed fix plan — ready for immediate re-execution. You don't debug manually; you just run execute again.
397
118
 
398
- 1. **Extracts testable deliverables** — What you should be able to do now
399
- 2. **Walks you through one at a time** — "Can you log in with email?" Yes/no, or describe what's wrong
400
- 3. **Diagnoses failures automatically** — Spawns debug agents to find root causes
401
- 4. **Creates verified fix plans** — Ready for immediate re-execution
119
+ ### 6. Repeat Ship
402
120
 
403
- If everything passes, you move on. If something's broken, you don't manually debug — you just run `/sdd-execute-phase` again with the fix plans it created.
404
-
405
- **Creates:** `{phase_num}-UAT.md`, fix plans if issues found
406
-
407
- ---
408
-
409
- ### 6. Repeat → Ship → Complete → Next Milestone
410
-
411
- ```
412
- /sdd-discuss-phase 2
413
- /sdd-plan-phase 2
414
- /sdd-execute-phase 2
415
- /sdd-verify-work 2
416
- /sdd-ship 2 # Create PR from verified work
417
- ...
121
+ ```bash
122
+ /sdd-ship 1
418
123
  /sdd-complete-milestone
419
124
  /sdd-new-milestone
420
125
  ```
421
126
 
422
- Or let SDD figure out the next step automatically:
423
-
424
- ```
425
- /sdd-next # Auto-detect and run next step
426
- ```
427
-
428
- Loop **discuss → plan → execute → verify → ship** until milestone complete.
429
-
430
- If you want faster intake during discussion, use `/sdd-discuss-phase <n> --batch` to answer a small grouped set of questions at once instead of one-by-one. Use `--chain` to auto-chain discuss into plan+execute without stopping between steps.
431
-
432
- Each phase gets your input (discuss), proper research (plan), clean execution (execute), and human verification (verify). Context stays fresh. Quality stays high.
433
-
434
- When all phases are done, `/sdd-complete-milestone` archives the milestone and tags the release.
435
-
436
- Then `/sdd-new-milestone` starts the next version — same flow as `new-project` but for your existing codebase. You describe what you want to build next, the system researches the domain, you scope requirements, and it creates a fresh roadmap. Each milestone is a clean cycle: define → build → ship.
437
-
438
- ---
439
-
440
- ### Quick Mode
441
-
442
- ```
443
- /sdd-quick
444
- ```
445
-
446
- **For ad-hoc tasks that don't need full planning.**
447
-
448
- Quick mode gives you SDD guarantees (atomic commits, state tracking) with a faster path:
449
-
450
- - **Same agents** — Planner + executor, same quality
451
- - **Skips optional steps** — No research, no plan checker, no verifier by default
452
- - **Separate tracking** — Lives in `.planning/quick/`, not phases
453
-
454
- **`--discuss` flag:** Lightweight discussion to surface gray areas before planning.
455
-
456
- **`--research` flag:** Spawns a focused researcher before planning. Investigates implementation approaches, library options, and pitfalls. Use when you're unsure how to approach a task.
457
-
458
- **`--full` flag:** Enables all phases — discussion + research + plan-checking + verification. The full SDD pipeline in quick-task form.
459
-
460
- **`--validate` flag:** Enables plan-checking + post-execution verification only (the previous `--full` behavior).
461
-
462
- Flags are composable: `--discuss --research --validate` gives discussion + research + plan-checking + verification.
463
-
464
- ```
465
- /sdd-quick
466
- > What do you want to do? "Add dark mode toggle to settings"
467
- ```
468
-
469
- **Creates:** `.planning/quick/001-add-dark-mode-toggle/PLAN.md`, `SUMMARY.md`
127
+ Loop discuss plan execute → verify → ship until the milestone is done. Then archive, tag, and start the next one fresh.
470
128
 
471
129
  ---
472
130
 
473
- ## Why It Works
131
+ ## Getting Started
474
132
 
475
- ### Context Engineering
476
-
477
- Claude Code is incredibly powerful *if* you give it the context it needs. Most people don't.
478
-
479
- SDD handles it for you:
480
-
481
- | File | What it does |
482
- |------|--------------|
483
- | `PROJECT.md` | Project vision, always loaded |
484
- | `research/` | Ecosystem knowledge (stack, features, architecture, pitfalls) |
485
- | `REQUIREMENTS.md` | Scoped v1/v2 requirements with phase traceability |
486
- | `ROADMAP.md` | Where you're going, what's done |
487
- | `STATE.md` | Decisions, blockers, position — memory across sessions |
488
- | `PLAN.md` | Atomic task with XML structure, verification steps |
489
- | `SUMMARY.md` | What happened, what changed, committed to history |
490
- | `todos/` | Captured ideas and tasks for later work |
491
- | `threads/` | Persistent context threads for cross-session work |
492
- | `seeds/` | Forward-looking ideas that surface at the right milestone |
493
-
494
- Size limits based on where Claude's quality degrades. Stay under, get consistent excellence.
495
-
496
- ### XML Prompt Formatting
497
-
498
- Every plan is structured XML optimized for Claude:
499
-
500
- ```xml
501
- <task type="auto">
502
- <name>Create login endpoint</name>
503
- <files>src/app/api/auth/login/route.ts</files>
504
- <action>
505
- Use jose for JWT (not jsonwebtoken - CommonJS issues).
506
- Validate credentials against users table.
507
- Return httpOnly cookie on success.
508
- </action>
509
- <verify>curl -X POST localhost:3000/api/auth/login returns 200 + Set-Cookie</verify>
510
- <done>Valid credentials return cookie, invalid return 401</done>
511
- </task>
133
+ ```bash
134
+ npx @bhargavvc/sdd-cc@latest
512
135
  ```
513
136
 
514
- Precise instructions. No guessing. Verification built in.
515
-
516
- ### Multi-Agent Orchestration
517
-
518
- Every stage uses the same pattern: a thin orchestrator spawns specialized agents, collects results, and routes to the next step.
519
-
520
- | Stage | Orchestrator does | Agents do |
521
- |-------|------------------|-----------|
522
- | Research | Coordinates, presents findings | 4 parallel researchers investigate stack, features, architecture, pitfalls |
523
- | Planning | Validates, manages iteration | Planner creates plans, checker verifies, loop until pass |
524
- | Execution | Groups into waves, tracks progress | Executors implement in parallel, each with fresh 200k context |
525
- | Verification | Presents results, routes next | Verifier checks codebase against goals, debuggers diagnose failures |
526
-
527
- The orchestrator never does heavy lifting. It spawns agents, waits, integrates results.
528
-
529
- **The result:** You can run an entire phase — deep research, multiple plans created and verified, thousands of lines of code written across parallel executors, automated verification against goals — and your main context window stays at 30-40%. The work happens in fresh subagent contexts. Your session stays fast and responsive.
530
-
531
- ### Atomic Git Commits
532
-
533
- Each task gets its own commit immediately after completion:
137
+ The installer prompts for your runtime (Claude Code, OpenCode, Gemini CLI, Kilo, Codex, Copilot, Cursor, Windsurf, and more) and whether to install globally or locally.
534
138
 
535
139
  ```bash
536
- abc123f docs(08-02): complete user registration plan
537
- def456g feat(08-02): add email confirmation flow
538
- hij789k feat(08-02): implement password hashing
539
- lmn012o feat(08-02): create registration endpoint
140
+ claude --dangerously-skip-permissions
540
141
  ```
541
142
 
542
- > [!NOTE]
543
- > **Benefits:** Git bisect finds exact failing task. Each task independently revertable. Clear history for Claude in future sessions. Better observability in AI-automated workflow.
143
+ SDD is built for frictionless automation. Skip-permissions is how it's intended to run.
544
144
 
545
- Every commit is surgical, traceable, and meaningful.
145
+ Install only the skills you need with `--profile=core` (six core-loop skills), `--profile=standard` (core + phase management), or the default full install. Profiles compose: `--profile=core,audit`. `--minimal` is an alias for `--profile=core`. See **[docs/USER-GUIDE.md](docs/USER-GUIDE.md)** for the full walkthrough, non-interactive install flags for all 15 runtimes, and permissions configuration. See [ADR-0011](docs/adr/0011-skill-surface-budget-module.md) for the profile model and runtime surface control.
546
146
 
547
- ### Modular by Design
548
-
549
- - Add phases to current milestone
550
- - Insert urgent work between phases
551
- - Complete milestones and start fresh
552
- - Adjust plans without rebuilding everything
553
-
554
- You're never locked in. The system adapts.
147
+ Current release highlights are in [docs/RELEASE-v1.42.1.md](docs/RELEASE-v1.42.1.md): package legitimacy checks, safer installer migrations, runtime surface control, custom ship PR sections, reviewer defaults, fallow structural review, and quota-aware execution recovery.
555
148
 
556
149
  ---
557
150
 
558
151
  ## Commands
559
152
 
560
- ### Core Workflow
561
-
562
- | Command | What it does |
563
- |---------|--------------|
564
- | `/sdd-new-project [--auto]` | Full initialization: questions → research → requirements → roadmap |
565
- | `/sdd-discuss-phase [N] [--auto] [--analyze] [--chain]` | Capture implementation decisions before planning (`--analyze` adds trade-off analysis, `--chain` auto-chains into plan+execute) |
566
- | `/sdd-plan-phase [N] [--auto] [--reviews]` | Research + plan + verify for a phase (`--reviews` loads codebase review findings) |
567
- | `/sdd-execute-phase <N>` | Execute all plans in parallel waves, verify when complete |
568
- | `/sdd-verify-work [N]` | Manual user acceptance testing ¹ |
569
- | `/sdd-ship [N] [--draft]` | Create PR from verified phase work with auto-generated body |
570
- | `/sdd-next` | Automatically advance to the next logical workflow step |
571
- | `/sdd-fast <text>` | Inline trivial tasks — skips planning entirely, executes immediately |
572
- | `/sdd-audit-milestone` | Verify milestone achieved its definition of done |
573
- | `/sdd-complete-milestone` | Archive milestone, tag release |
574
- | `/sdd-new-milestone [name]` | Start next version: questions → research → requirements → roadmap |
575
- | `/sdd-forensics [desc]` | Post-mortem investigation of failed workflow runs (diagnoses stuck loops, missing artifacts, git anomalies) |
576
- | `/sdd-milestone-summary [version]` | Generate comprehensive project summary for team onboarding and review |
577
-
578
- ### Workstreams
579
-
580
- | Command | What it does |
581
- |---------|--------------|
582
- | `/sdd-workstreams list` | Show all workstreams and their status |
583
- | `/sdd-workstreams create <name>` | Create a namespaced workstream for parallel milestone work |
584
- | `/sdd-workstreams switch <name>` | Switch active workstream |
585
- | `/sdd-workstreams complete <name>` | Complete and merge a workstream |
586
-
587
- ### Multi-Project Workspaces
588
-
589
- | Command | What it does |
590
- |---------|--------------|
591
- | `/sdd-new-workspace` | Create isolated workspace with repo copies (worktrees or clones) |
592
- | `/sdd-list-workspaces` | Show all SDD workspaces and their status |
593
- | `/sdd-remove-workspace` | Remove workspace and clean up worktrees |
594
-
595
- ### UI Design
596
-
597
- | Command | What it does |
598
- |---------|--------------|
599
- | `/sdd-ui-phase [N]` | Generate UI design contract (UI-SPEC.md) for frontend phases |
600
- | `/sdd-ui-review [N]` | Retroactive 6-pillar visual audit of implemented frontend code |
601
-
602
- ### Navigation
603
-
604
- | Command | What it does |
605
- |---------|--------------|
606
- | `/sdd-progress` | Where am I? What's next? |
607
- | `/sdd-next` | Auto-detect state and run the next step |
608
- | `/sdd-help` | Show all commands and usage guide |
609
- | `/sdd-update` | Update SDD with changelog preview |
610
- | `/sdd-join-discord` | Join the SDD Discord community |
611
- | `/sdd-manager` | Interactive command center for managing multiple phases |
612
-
613
- ### Brownfield
153
+ The main loop:
614
154
 
615
155
  | Command | What it does |
616
156
  |---------|--------------|
617
- | `/sdd-map-codebase [area]` | Analyze existing codebase before new-project |
157
+ | `/sdd-new-project` | Questions research requirements → roadmap |
158
+ | `/sdd-discuss-phase [N]` | Capture implementation decisions before planning |
159
+ | `/sdd-plan-phase [N]` | Research + plan + verify |
160
+ | `/sdd-execute-phase <N>` | Execute plans in parallel waves |
161
+ | `/sdd-verify-work [N]` | Manual acceptance testing |
162
+ | `/sdd-ship [N]` | Create PR from verified phase work |
163
+ | `/sdd-progress --next` | Auto-detect and run the next step |
164
+ | `/sdd-complete-milestone` | Archive milestone and tag release |
165
+ | `/sdd-new-milestone` | Start next version |
166
+ | `/sdd:surface` | Enable/disable skill clusters at runtime without reinstall |
167
+
168
+ For ad-hoc tasks, autonomous mode, codebase analysis, forensics, and the full command surface — see **[docs/COMMANDS.md](docs/COMMANDS.md)**.
618
169
 
619
- ### Phase Management
620
-
621
- | Command | What it does |
622
- |---------|--------------|
623
- | `/sdd-add-phase` | Append phase to roadmap |
624
- | `/sdd-insert-phase [N]` | Insert urgent work between phases |
625
- | `/sdd-remove-phase [N]` | Remove future phase, renumber |
626
- | `/sdd-list-phase-assumptions [N]` | See Claude's intended approach before planning |
627
- | `/sdd-plan-milestone-gaps` | Create phases to close gaps from audit |
628
-
629
- ### Session
630
-
631
- | Command | What it does |
632
- |---------|--------------|
633
- | `/sdd-pause-work` | Create handoff when stopping mid-phase (writes HANDOFF.json) |
634
- | `/sdd-resume-work` | Restore from last session |
635
- | `/sdd-session-report` | Generate session summary with work performed and outcomes |
636
-
637
- ### Workstreams
638
-
639
- | Command | What it does |
640
- |---------|--------------|
641
- | `/sdd-workstreams` | Manage parallel workstreams (list, create, switch, status, progress, complete) |
170
+ ---
642
171
 
643
- ### Code Quality
172
+ ## Why It Works
644
173
 
645
- | Command | What it does |
646
- |---------|--------------|
647
- | `/sdd-review` | Cross-AI peer review of current phase or branch |
648
- | `/sdd-secure-phase [N]` | Security enforcement with threat-model-anchored verification |
649
- | `/sdd-pr-branch` | Create clean PR branch filtering `.planning/` commits |
650
- | `/sdd-audit-uat` | Audit verification debt — find phases missing UAT |
651
- | `/sdd-docs-update` | Verified documentation generation with doc-writer and doc-verifier agents |
174
+ Three things most AI-coding setups get wrong:
652
175
 
653
- ### Backlog & Threads
176
+ **1. Context bloat.** As a session grows, quality degrades. SDD keeps your main context clean by doing the heavy work in fresh subagent contexts. Researchers, planners, and executors each start fresh with exactly what they need.
654
177
 
655
- | Command | What it does |
656
- |---------|--------------|
657
- | `/sdd-plant-seed <idea>` | Capture forward-looking ideas with trigger conditions — surfaces at the right milestone |
658
- | `/sdd-add-backlog <desc>` | Add idea to backlog parking lot (999.x numbering, outside active sequence) |
659
- | `/sdd-review-backlog` | Review and promote backlog items to active milestone or remove stale entries |
660
- | `/sdd-thread [name]` | Persistent context threads — lightweight cross-session knowledge for work spanning multiple sessions |
178
+ **2. No shared memory.** SDD maintains structured artifacts that survive session boundaries: `PROJECT.md` (vision), `REQUIREMENTS.md` (scope), `ROADMAP.md` (where you're going), `STATE.md` (current position and decisions), `CONTEXT.md` (per-phase implementation decisions). Every new session loads these and knows exactly where things stand.
661
179
 
662
- ### Utilities
180
+ **3. No verification.** Code that "runs" isn't code that "works." SDD's verify step walks you through what was built, diagnoses failures with dedicated debug agents, and generates fix plans before you declare a phase done.
663
181
 
664
- | Command | What it does |
665
- |---------|--------------|
666
- | `/sdd-settings` | Configure model profile and workflow agents |
667
- | `/sdd-set-profile <profile>` | Switch model profile (quality/balanced/budget/inherit) |
668
- | `/sdd-add-todo [desc]` | Capture idea for later |
669
- | `/sdd-check-todos` | List pending todos |
670
- | `/sdd-debug [desc]` | Systematic debugging with persistent state |
671
- | `/sdd-do <text>` | Route freeform text to the right SDD command automatically |
672
- | `/sdd-note <text>` | Zero-friction idea capture — append, list, or promote notes to todos |
673
- | `/sdd-quick [--full] [--validate] [--discuss] [--research]` | Execute ad-hoc task with SDD guarantees (`--full` enables all phases, `--validate` adds plan-checking and verification, `--discuss` gathers context first, `--research` investigates approaches before planning) |
674
- | `/sdd-health [--repair]` | Validate `.planning/` directory integrity, auto-repair with `--repair` |
675
- | `/sdd-stats` | Display project statistics — phases, plans, requirements, git metrics |
676
- | `/sdd-profile-user [--questionnaire] [--refresh]` | Generate developer behavioral profile from session analysis for personalized responses |
677
-
678
- <sup>¹ Contributed by reddit user OracleGreyBeard</sup>
182
+ See **[docs/ARCHITECTURE.md](docs/ARCHITECTURE.md)** for how the multi-agent orchestration and context engineering work in detail.
679
183
 
680
184
  ---
681
185
 
682
186
  ## Configuration
683
187
 
684
- SDD stores project settings in `.planning/config.json`. Configure during `/sdd-new-project` or update later with `/sdd-settings`. For the full config schema, workflow toggles, git branching options, and per-agent model breakdown, see the [User Guide](docs/USER-GUIDE.md#configuration-reference).
685
-
686
- ### Core Settings
687
-
688
- | Setting | Options | Default | What it controls |
689
- |---------|---------|---------|------------------|
690
- | `mode` | `yolo`, `interactive` | `interactive` | Auto-approve vs confirm at each step |
691
- | `granularity` | `coarse`, `standard`, `fine` | `standard` | Phase granularity — how finely scope is sliced (phases × plans) |
692
- | `project_code` | string | `""` | Prefix phase directories with a project code |
693
-
694
- ### Model Profiles
695
-
696
- Control which Claude model each agent uses. Balance quality vs token spend.
697
-
698
- | Profile | Planning | Execution | Verification |
699
- |---------|----------|-----------|--------------|
700
- | `quality` | Opus | Opus | Sonnet |
701
- | `balanced` (default) | Opus | Sonnet | Sonnet |
702
- | `budget` | Sonnet | Sonnet | Haiku |
703
- | `inherit` | Inherit | Inherit | Inherit |
704
-
705
- Switch profiles:
706
- ```
707
- /sdd-set-profile budget
708
- ```
709
-
710
- Use `inherit` when using non-Anthropic providers (OpenRouter, local models) or to follow the current runtime model selection (e.g. OpenCode `/model`).
711
-
712
- Or configure via `/sdd-settings`.
713
-
714
- ### Workflow Agents
188
+ Settings live in `.planning/config.json`. Configure during `/sdd-new-project` or update with `/sdd-settings`.
715
189
 
716
- These spawn additional agents during planning/execution. They improve quality but add tokens and time.
190
+ Key dials:
717
191
 
718
- | Setting | Default | What it does |
719
- |---------|---------|--------------|
720
- | `workflow.research` | `true` | Researches domain before planning each phase |
721
- | `workflow.plan_check` | `true` | Verifies plans achieve phase goals before execution |
722
- | `workflow.verifier` | `true` | Confirms must-haves were delivered after execution |
723
- | `workflow.auto_advance` | `false` | Auto-chain discuss → plan → execute without stopping |
724
- | `workflow.research_before_questions` | `false` | Run research before discussion questions instead of after |
725
- | `workflow.discuss_mode` | `'discuss'` | Discussion mode: `discuss` (interview), `assumptions` (codebase-first) |
726
- | `workflow.skip_discuss` | `false` | Skip discuss-phase in autonomous mode |
727
- | `workflow.text_mode` | `false` | Text-only mode for remote sessions (no TUI menus) |
728
- | `workflow.use_worktrees` | `true` | Toggle worktree isolation for execution |
192
+ | Setting | What it controls |
193
+ |---------|-----------------|
194
+ | `mode` | `interactive` (confirm each step) or `yolo` (auto-approve) |
195
+ | Model profiles | `quality` / `balanced` / `budget` controls which model each agent uses |
196
+ | `workflow.research` / `plan_check` / `verifier` | Toggle the quality agents that add tokens and time |
197
+ | `parallelization.enabled` | Run independent plans simultaneously |
729
198
 
730
- Use `/sdd-settings` to toggle these, or override per-invocation:
731
- - `/sdd-plan-phase --skip-research`
732
- - `/sdd-plan-phase --skip-verify`
199
+ Optional structural review: set `code_quality.fallow.enabled` to `true` to add a fallow pre-pass to `/sdd-code-review`. SDD writes `.planning/phases/<phase>/FALLOW.json` and surfaces a `Structural Findings (fallow)` section in `REVIEW.md`. Install with `npm install -D fallow@^2.70.0` (or system-wide via `cargo install fallow`; note that the Rust binary's JSON schema must match the documented v2.70+ contract — older versions may produce silent zero-finding output).
733
200
 
734
- ### Execution
201
+ Package legitimacy checks are built into the research, planning, and execution path: recommended dependencies get audited, unverified packages require a human checkpoint, and failed installs stop instead of trying similarly named alternatives.
735
202
 
736
- | Setting | Default | What it controls |
737
- |---------|---------|------------------|
738
- | `parallelization.enabled` | `true` | Run independent plans simultaneously |
739
- | `planning.commit_docs` | `true` | Track `.planning/` in git |
740
- | `hooks.context_warnings` | `true` | Show context window usage warnings |
741
-
742
- ### Agent Skills
743
-
744
- Inject project-specific skills into subagents during execution.
745
-
746
- | Setting | Type | What it does |
747
- |---------|------|--------------|
748
- | `agent_skills.<agent_type>` | `string[]` | Paths to skill directories loaded into that agent type at spawn time |
749
-
750
- Skills are injected as `<agent_skills>` blocks in agent prompts, giving subagents access to project-specific knowledge.
751
-
752
- ### Git Branching
753
-
754
- Control how SDD handles branches during execution.
755
-
756
- | Setting | Options | Default | What it does |
757
- |---------|---------|---------|--------------|
758
- | `git.branching_strategy` | `none`, `phase`, `milestone` | `none` | Branch creation strategy |
759
- | `git.phase_branch_template` | string | `sdd/phase-{phase}-{slug}` | Template for phase branches |
760
- | `git.milestone_branch_template` | string | `sdd/{milestone}-{slug}` | Template for milestone branches |
761
-
762
- **Strategies:**
763
- - **`none`** — Commits to current branch (default SDD behavior)
764
- - **`phase`** — Creates a branch per phase, merges at phase completion
765
- - **`milestone`** — Creates one branch for entire milestone, merges at completion
766
-
767
- At milestone completion, SDD offers squash merge (recommended) or merge with history.
203
+ For the full configuration reference all settings, git branching strategies, per-runtime model overrides, workstream config inheritance, agent skills injection — see **[docs/CONFIGURATION.md](docs/CONFIGURATION.md)**.
768
204
 
769
205
  ---
770
206
 
771
- ## Security
772
-
773
- ### Built-in Security Hardening
774
-
775
- SDD includes defense-in-depth security since v1.27:
776
-
777
- - **Path traversal prevention** — All user-supplied file paths (`--text-file`, `--prd`) are validated to resolve within the project directory
778
- - **Prompt injection detection** — Centralized `security.cjs` module scans for injection patterns in user-supplied text before it enters planning artifacts
779
- - **PreToolUse prompt guard hook** — `sdd-prompt-guard` scans writes to `.planning/` for embedded injection vectors (advisory, not blocking)
780
- - **Safe JSON parsing** — Malformed `--fields` arguments are caught before they corrupt state
781
- - **Shell argument validation** — User text is sanitized before shell interpolation
782
- - **CI-ready injection scanner** — `prompt-injection-scan.test.cjs` scans all agent/workflow/command files for embedded injection vectors
783
-
784
- > [!NOTE]
785
- > Because SDD generates markdown files that become LLM system prompts, any user-controlled text flowing into planning artifacts is a potential indirect prompt injection vector. These protections are designed to catch such vectors at multiple layers.
786
-
787
- ### Protecting Sensitive Files
788
-
789
- SDD's codebase mapping and analysis commands read files to understand your project. **Protect files containing secrets** by adding them to Claude Code's deny list:
207
+ ## Documentation
790
208
 
791
- 1. Open Claude Code settings (`.claude/settings.json` or global)
792
- 2. Add sensitive file patterns to the deny list:
793
-
794
- ```json
795
- {
796
- "permissions": {
797
- "deny": [
798
- "Read(.env)",
799
- "Read(.env.*)",
800
- "Read(**/secrets/*)",
801
- "Read(**/*credential*)",
802
- "Read(**/*.pem)",
803
- "Read(**/*.key)"
804
- ]
805
- }
806
- }
807
- ```
808
-
809
- This prevents Claude from reading these files entirely, regardless of what commands you run.
810
-
811
- > [!IMPORTANT]
812
- > SDD includes built-in protections against committing secrets, but defense-in-depth is best practice. Deny read access to sensitive files as a first line of defense.
209
+ | Doc | What's in it |
210
+ |-----|-------------|
211
+ | [User Guide](docs/USER-GUIDE.md) | End-to-end walkthrough, install options, all runtime flags, configuration reference |
212
+ | [Commands](docs/COMMANDS.md) | Every command with flags and examples |
213
+ | [Configuration](docs/CONFIGURATION.md) | Full config schema, model profiles, git branching |
214
+ | [Architecture](docs/ARCHITECTURE.md) | How the multi-agent orchestration works |
215
+ | [CLI Tools](docs/CLI-TOOLS.md) | `sdd-sdk query` and programmatic SDK dispatch seams |
216
+ | [Features](docs/FEATURES.md) | Complete feature index |
217
+ | [Changelog](CHANGELOG.md) | What changed in each release |
813
218
 
814
219
  ---
815
220
 
816
221
  ## Troubleshooting
817
222
 
818
- **Commands not found after install?**
819
- - Restart your runtime to reload commands/skills
820
- - Verify files exist in `~/.claude/skills/sdd-*/SKILL.md` (Claude Code 2.1.88+) or `~/.claude/commands/sdd/` (legacy)
821
- - For Codex, verify skills exist in `~/.codex/skills/sdd-*/SKILL.md` (global) or `./.codex/skills/sdd-*/SKILL.md` (local)
822
-
823
- **Commands not working as expected?**
824
- - Run `/sdd-help` to verify installation
825
- - Re-run `npx @bhargavvc/sdd-cc` to reinstall
223
+ **Commands not showing up?** Restart your runtime after install. SDD installs to `~/.claude/skills/sdd-*/` (Claude Code), `~/.codex/skills/sdd-*/` (Codex), or the equivalent for your runtime.
826
224
 
827
- **Updating to the latest version?**
225
+ **Something broken?** Re-run the installer — it's idempotent:
828
226
  ```bash
829
227
  npx @bhargavvc/sdd-cc@latest
830
228
  ```
831
229
 
832
- **Using Docker or containerized environments?**
833
-
834
- If file reads fail with tilde paths (`~/.claude/...`), set `CLAUDE_CONFIG_DIR` before installing:
230
+ **Containers or Docker?** Set `CLAUDE_CONFIG_DIR` before installing to avoid tilde-expansion issues:
835
231
  ```bash
836
232
  CLAUDE_CONFIG_DIR=/home/youruser/.claude npx @bhargavvc/sdd-cc --global
837
233
  ```
838
- This ensures absolute paths are used instead of `~` which may not expand correctly in containers.
839
234
 
840
- ### Uninstalling
841
-
842
- To remove SDD completely:
843
-
844
- ```bash
845
- # Global installs
846
- npx @bhargavvc/sdd-cc --claude --global --uninstall
847
- npx @bhargavvc/sdd-cc --opencode --global --uninstall
848
- npx @bhargavvc/sdd-cc --gemini --global --uninstall
849
- npx @bhargavvc/sdd-cc --kilo --global --uninstall
850
- npx @bhargavvc/sdd-cc --codex --global --uninstall
851
- npx @bhargavvc/sdd-cc --copilot --global --uninstall
852
- npx @bhargavvc/sdd-cc --cursor --global --uninstall
853
- npx @bhargavvc/sdd-cc --windsurf --global --uninstall
854
- npx @bhargavvc/sdd-cc --antigravity --global --uninstall
855
- npx @bhargavvc/sdd-cc --augment --global --uninstall
856
- npx @bhargavvc/sdd-cc --trae --global --uninstall
857
- npx @bhargavvc/sdd-cc --qwen --global --uninstall
858
- npx @bhargavvc/sdd-cc --codebuddy --global --uninstall
859
- npx @bhargavvc/sdd-cc --cline --global --uninstall
860
-
861
- # Local installs (current project)
862
- npx @bhargavvc/sdd-cc --claude --local --uninstall
863
- npx @bhargavvc/sdd-cc --opencode --local --uninstall
864
- npx @bhargavvc/sdd-cc --gemini --local --uninstall
865
- npx @bhargavvc/sdd-cc --kilo --local --uninstall
866
- npx @bhargavvc/sdd-cc --codex --local --uninstall
867
- npx @bhargavvc/sdd-cc --copilot --local --uninstall
868
- npx @bhargavvc/sdd-cc --cursor --local --uninstall
869
- npx @bhargavvc/sdd-cc --windsurf --local --uninstall
870
- npx @bhargavvc/sdd-cc --antigravity --local --uninstall
871
- npx @bhargavvc/sdd-cc --augment --local --uninstall
872
- npx @bhargavvc/sdd-cc --trae --local --uninstall
873
- npx @bhargavvc/sdd-cc --qwen --local --uninstall
874
- npx @bhargavvc/sdd-cc --codebuddy --local --uninstall
875
- npx @bhargavvc/sdd-cc --cline --local --uninstall
876
- ```
877
-
878
- This removes all SDD commands, agents, hooks, and settings while preserving your other configurations.
235
+ Full troubleshooting and uninstall instructions in **[docs/USER-GUIDE.md](docs/USER-GUIDE.md#troubleshooting)**.
879
236
 
880
237
  ---
881
238
 
882
- ## Community Ports
883
-
884
- OpenCode, Gemini CLI, Kilo, and Codex are now natively supported via `npx @bhargavvc/sdd-cc`.
885
-
886
- These community ports pioneered multi-runtime support:
239
+ ## Community
887
240
 
888
- | Project | Platform | Description |
889
- |---------|----------|-------------|
890
- | [sdd-opencode](https://github.com/rokicool/sdd-opencode) | OpenCode | Original OpenCode adaptation |
891
- | sdd-gemini (archived) | Gemini CLI | Original Gemini adaptation by uberfuzzy |
241
+ | Project | Platform |
242
+ |---------|----------|
243
+ | [sdd-opencode](https://github.com/rokicool/sdd-opencode) | Original OpenCode port |
244
+ | [Discord](https://discord.gg/mYgfVNfA2r) | Community support |
892
245
 
893
246
  ---
894
247