@ai-is-gonna/get-tasks-done 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1517) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +249 -0
  3. package/agents/gtd-advisor-researcher.md +127 -0
  4. package/agents/gtd-ai-researcher.md +133 -0
  5. package/agents/gtd-assumptions-analyzer.md +105 -0
  6. package/agents/gtd-code-fixer.md +668 -0
  7. package/agents/gtd-code-reviewer.md +387 -0
  8. package/agents/gtd-codebase-mapper.md +853 -0
  9. package/agents/gtd-debug-session-manager.md +314 -0
  10. package/agents/gtd-debugger.md +1452 -0
  11. package/agents/gtd-doc-classifier.md +168 -0
  12. package/agents/gtd-doc-synthesizer.md +204 -0
  13. package/agents/gtd-doc-verifier.md +217 -0
  14. package/agents/gtd-doc-writer.md +615 -0
  15. package/agents/gtd-domain-researcher.md +153 -0
  16. package/agents/gtd-eval-auditor.md +191 -0
  17. package/agents/gtd-eval-planner.md +154 -0
  18. package/agents/gtd-framework-selector.md +160 -0
  19. package/agents/gtd-integration-checker.md +470 -0
  20. package/agents/gtd-intel-updater.md +342 -0
  21. package/agents/gtd-nyquist-auditor.md +203 -0
  22. package/agents/gtd-pattern-mapper.md +335 -0
  23. package/agents/gtd-phase-researcher.md +928 -0
  24. package/agents/gtd-plan-checker.md +1000 -0
  25. package/agents/gtd-planner.md +926 -0
  26. package/agents/gtd-project-researcher.md +677 -0
  27. package/agents/gtd-research-synthesizer.md +247 -0
  28. package/agents/gtd-roadmapper.md +688 -0
  29. package/agents/gtd-security-auditor.md +155 -0
  30. package/agents/gtd-task-executor.md +166 -0
  31. package/agents/gtd-ui-auditor.md +495 -0
  32. package/agents/gtd-ui-checker.md +309 -0
  33. package/agents/gtd-ui-researcher.md +380 -0
  34. package/agents/gtd-user-profiler.md +171 -0
  35. package/agents/gtd-verifier.md +917 -0
  36. package/bin/gtd-sdk.js +37 -0
  37. package/bin/install.js +11358 -0
  38. package/commands/gtd/add-tests.md +42 -0
  39. package/commands/gtd/ai-integration-phase.md +37 -0
  40. package/commands/gtd/audit-fix.md +34 -0
  41. package/commands/gtd/audit-milestone.md +37 -0
  42. package/commands/gtd/audit-uat.md +24 -0
  43. package/commands/gtd/autonomous.md +46 -0
  44. package/commands/gtd/capture.md +62 -0
  45. package/commands/gtd/cleanup.md +24 -0
  46. package/commands/gtd/code-review.md +59 -0
  47. package/commands/gtd/complete-milestone.md +143 -0
  48. package/commands/gtd/config.md +58 -0
  49. package/commands/gtd/debug.md +52 -0
  50. package/commands/gtd/discuss-phase.md +76 -0
  51. package/commands/gtd/docs-update.md +49 -0
  52. package/commands/gtd/eval-review.md +33 -0
  53. package/commands/gtd/explore.md +27 -0
  54. package/commands/gtd/export-phase-issues.md +43 -0
  55. package/commands/gtd/extract-learnings.md +23 -0
  56. package/commands/gtd/fast.md +31 -0
  57. package/commands/gtd/forensics.md +57 -0
  58. package/commands/gtd/graphify.md +199 -0
  59. package/commands/gtd/health.md +31 -0
  60. package/commands/gtd/help.md +28 -0
  61. package/commands/gtd/import.md +35 -0
  62. package/commands/gtd/inbox.md +39 -0
  63. package/commands/gtd/ingest-docs.md +42 -0
  64. package/commands/gtd/manager.md +45 -0
  65. package/commands/gtd/map-codebase.md +83 -0
  66. package/commands/gtd/milestone-summary.md +51 -0
  67. package/commands/gtd/mvp-phase.md +45 -0
  68. package/commands/gtd/new-milestone.md +45 -0
  69. package/commands/gtd/new-project.md +47 -0
  70. package/commands/gtd/ns-context.md +23 -0
  71. package/commands/gtd/ns-ideate.md +24 -0
  72. package/commands/gtd/ns-manage.md +28 -0
  73. package/commands/gtd/ns-project.md +22 -0
  74. package/commands/gtd/ns-review.md +26 -0
  75. package/commands/gtd/ns-workflow.md +30 -0
  76. package/commands/gtd/orchestrate-tasks.md +83 -0
  77. package/commands/gtd/pause-work.md +43 -0
  78. package/commands/gtd/phase.md +56 -0
  79. package/commands/gtd/plan-phase.md +62 -0
  80. package/commands/gtd/plan-review-convergence.md +59 -0
  81. package/commands/gtd/pr-branch.md +26 -0
  82. package/commands/gtd/profile-user.md +46 -0
  83. package/commands/gtd/progress.md +46 -0
  84. package/commands/gtd/quick.md +174 -0
  85. package/commands/gtd/resume-work.md +30 -0
  86. package/commands/gtd/review-backlog.md +63 -0
  87. package/commands/gtd/review.md +41 -0
  88. package/commands/gtd/secure-phase.md +36 -0
  89. package/commands/gtd/settings.md +29 -0
  90. package/commands/gtd/sketch.md +60 -0
  91. package/commands/gtd/spec-phase.md +63 -0
  92. package/commands/gtd/spike.md +57 -0
  93. package/commands/gtd/stats.md +19 -0
  94. package/commands/gtd/surface.md +130 -0
  95. package/commands/gtd/thread.md +24 -0
  96. package/commands/gtd/ui-phase.md +35 -0
  97. package/commands/gtd/ui-review.md +33 -0
  98. package/commands/gtd/ultraplan-phase.md +34 -0
  99. package/commands/gtd/undo.md +35 -0
  100. package/commands/gtd/update.md +48 -0
  101. package/commands/gtd/validate-phase.md +36 -0
  102. package/commands/gtd/verify-work.md +39 -0
  103. package/commands/gtd/work-task-issue.md +45 -0
  104. package/commands/gtd/workspace.md +52 -0
  105. package/commands/gtd/workstreams.md +70 -0
  106. package/get-tasks-done/bin/check-latest-version.cjs +104 -0
  107. package/get-tasks-done/bin/gtd-tools.cjs +1264 -0
  108. package/get-tasks-done/bin/lib/active-workstream-store.cjs +85 -0
  109. package/get-tasks-done/bin/lib/adr-parser.cjs +394 -0
  110. package/get-tasks-done/bin/lib/artifacts.cjs +53 -0
  111. package/get-tasks-done/bin/lib/audit.cjs +755 -0
  112. package/get-tasks-done/bin/lib/cjs-command-router-adapter.cjs +39 -0
  113. package/get-tasks-done/bin/lib/clusters.cjs +147 -0
  114. package/get-tasks-done/bin/lib/command-aliases.generated.cjs +830 -0
  115. package/get-tasks-done/bin/lib/commands.cjs +1031 -0
  116. package/get-tasks-done/bin/lib/config-schema.cjs +31 -0
  117. package/get-tasks-done/bin/lib/config.cjs +621 -0
  118. package/get-tasks-done/bin/lib/configuration.generated.cjs +253 -0
  119. package/get-tasks-done/bin/lib/context-utilization.cjs +47 -0
  120. package/get-tasks-done/bin/lib/core.cjs +1921 -0
  121. package/get-tasks-done/bin/lib/decisions.cjs +48 -0
  122. package/get-tasks-done/bin/lib/docs.cjs +270 -0
  123. package/get-tasks-done/bin/lib/drift.cjs +388 -0
  124. package/get-tasks-done/bin/lib/export-phase-issues.cjs +1862 -0
  125. package/get-tasks-done/bin/lib/fallow-runner.cjs +109 -0
  126. package/get-tasks-done/bin/lib/frontmatter.cjs +389 -0
  127. package/get-tasks-done/bin/lib/gap-checker.cjs +197 -0
  128. package/get-tasks-done/bin/lib/github-api-client.cjs +97 -0
  129. package/get-tasks-done/bin/lib/github-repo.cjs +154 -0
  130. package/get-tasks-done/bin/lib/graphify.cjs +592 -0
  131. package/get-tasks-done/bin/lib/gtd2-import.cjs +514 -0
  132. package/get-tasks-done/bin/lib/init-command-router.cjs +65 -0
  133. package/get-tasks-done/bin/lib/init.cjs +1898 -0
  134. package/get-tasks-done/bin/lib/install-profiles.cjs +589 -0
  135. package/get-tasks-done/bin/lib/installer-migration-authoring.cjs +117 -0
  136. package/get-tasks-done/bin/lib/installer-migration-report.cjs +354 -0
  137. package/get-tasks-done/bin/lib/installer-migrations/000-first-time-baseline.cjs +220 -0
  138. package/get-tasks-done/bin/lib/installer-migrations/001-legacy-orphan-files.cjs +41 -0
  139. package/get-tasks-done/bin/lib/installer-migrations/002-codex-legacy-hooks-json.cjs +80 -0
  140. package/get-tasks-done/bin/lib/installer-migrations/003-legacy-acronym-install-cleanup.cjs +135 -0
  141. package/get-tasks-done/bin/lib/installer-migrations.cjs +703 -0
  142. package/get-tasks-done/bin/lib/intel.cjs +643 -0
  143. package/get-tasks-done/bin/lib/learnings.cjs +379 -0
  144. package/get-tasks-done/bin/lib/milestone.cjs +314 -0
  145. package/get-tasks-done/bin/lib/model-catalog.cjs +143 -0
  146. package/get-tasks-done/bin/lib/model-profiles.cjs +27 -0
  147. package/get-tasks-done/bin/lib/orchestrate-tasks.cjs +2166 -0
  148. package/get-tasks-done/bin/lib/phase-command-router.cjs +96 -0
  149. package/get-tasks-done/bin/lib/phase.cjs +1422 -0
  150. package/get-tasks-done/bin/lib/phases-command-router.cjs +39 -0
  151. package/get-tasks-done/bin/lib/plan-scan.cjs +138 -0
  152. package/get-tasks-done/bin/lib/planning-workspace.cjs +361 -0
  153. package/get-tasks-done/bin/lib/profile-output.cjs +1132 -0
  154. package/get-tasks-done/bin/lib/profile-pipeline.cjs +539 -0
  155. package/get-tasks-done/bin/lib/project-root.generated.cjs +117 -0
  156. package/get-tasks-done/bin/lib/review-reviewer-selection.cjs +125 -0
  157. package/get-tasks-done/bin/lib/roadmap-command-router.cjs +23 -0
  158. package/get-tasks-done/bin/lib/roadmap.cjs +621 -0
  159. package/get-tasks-done/bin/lib/runtime-homes.cjs +178 -0
  160. package/get-tasks-done/bin/lib/runtime-slash.cjs +109 -0
  161. package/get-tasks-done/bin/lib/schema-detect.cjs +238 -0
  162. package/get-tasks-done/bin/lib/secrets.cjs +33 -0
  163. package/get-tasks-done/bin/lib/security.cjs +504 -0
  164. package/get-tasks-done/bin/lib/shell-command-projection.cjs +548 -0
  165. package/get-tasks-done/bin/lib/state-command-router.cjs +318 -0
  166. package/get-tasks-done/bin/lib/state-document.cjs +12 -0
  167. package/get-tasks-done/bin/lib/state-document.generated.cjs +127 -0
  168. package/get-tasks-done/bin/lib/state.cjs +1917 -0
  169. package/get-tasks-done/bin/lib/surface.cjs +398 -0
  170. package/get-tasks-done/bin/lib/task-issue-shared.cjs +64 -0
  171. package/get-tasks-done/bin/lib/template.cjs +228 -0
  172. package/get-tasks-done/bin/lib/uat.cjs +289 -0
  173. package/get-tasks-done/bin/lib/validate-command-router.cjs +57 -0
  174. package/get-tasks-done/bin/lib/verify-command-router.cjs +34 -0
  175. package/get-tasks-done/bin/lib/verify.cjs +1557 -0
  176. package/get-tasks-done/bin/lib/work-task-issue.cjs +3429 -0
  177. package/get-tasks-done/bin/lib/workstream-inventory-builder.generated.cjs +79 -0
  178. package/get-tasks-done/bin/lib/workstream-inventory.cjs +132 -0
  179. package/get-tasks-done/bin/lib/workstream-name-policy.cjs +33 -0
  180. package/get-tasks-done/bin/lib/workstream.cjs +374 -0
  181. package/get-tasks-done/bin/lib/worktree-safety.cjs +563 -0
  182. package/get-tasks-done/bin/verify-reapply-patches.cjs +247 -0
  183. package/get-tasks-done/contexts/dev.md +21 -0
  184. package/get-tasks-done/contexts/research.md +22 -0
  185. package/get-tasks-done/contexts/review.md +23 -0
  186. package/get-tasks-done/references/agent-contracts.md +79 -0
  187. package/get-tasks-done/references/ai-evals.md +156 -0
  188. package/get-tasks-done/references/ai-frameworks.md +186 -0
  189. package/get-tasks-done/references/artifact-types.md +131 -0
  190. package/get-tasks-done/references/autonomous-smart-discuss.md +277 -0
  191. package/get-tasks-done/references/checkpoints.md +814 -0
  192. package/get-tasks-done/references/common-bug-patterns.md +114 -0
  193. package/get-tasks-done/references/context-budget.md +85 -0
  194. package/get-tasks-done/references/continuation-format.md +253 -0
  195. package/get-tasks-done/references/debugger-philosophy.md +76 -0
  196. package/get-tasks-done/references/decimal-phase-calculation.md +64 -0
  197. package/get-tasks-done/references/doc-conflict-engine.md +91 -0
  198. package/get-tasks-done/references/domain-probes.md +125 -0
  199. package/get-tasks-done/references/execute-mvp-tdd.md +81 -0
  200. package/get-tasks-done/references/executor-examples.md +110 -0
  201. package/get-tasks-done/references/few-shot-examples/plan-checker.md +73 -0
  202. package/get-tasks-done/references/few-shot-examples/verifier.md +109 -0
  203. package/get-tasks-done/references/gate-prompts.md +100 -0
  204. package/get-tasks-done/references/gates.md +70 -0
  205. package/get-tasks-done/references/git-integration.md +298 -0
  206. package/get-tasks-done/references/git-planning-commit.md +40 -0
  207. package/get-tasks-done/references/ios-scaffold.md +123 -0
  208. package/get-tasks-done/references/mandatory-initial-read.md +2 -0
  209. package/get-tasks-done/references/model-profile-resolution.md +38 -0
  210. package/get-tasks-done/references/model-profiles.md +245 -0
  211. package/get-tasks-done/references/mvp-concepts.md +49 -0
  212. package/get-tasks-done/references/phase-argument-parsing.md +61 -0
  213. package/get-tasks-done/references/plan-checker-task-atomicity.md +73 -0
  214. package/get-tasks-done/references/planner-antipatterns.md +89 -0
  215. package/get-tasks-done/references/planner-chunked.md +49 -0
  216. package/get-tasks-done/references/planner-execution-flow.md +85 -0
  217. package/get-tasks-done/references/planner-gap-closure.md +71 -0
  218. package/get-tasks-done/references/planner-graphify-auto-update.md +67 -0
  219. package/get-tasks-done/references/planner-human-verify-mode.md +57 -0
  220. package/get-tasks-done/references/planner-mvp-mode.md +53 -0
  221. package/get-tasks-done/references/planner-reviews.md +39 -0
  222. package/get-tasks-done/references/planner-revision.md +87 -0
  223. package/get-tasks-done/references/planner-source-audit.md +73 -0
  224. package/get-tasks-done/references/planning-config.md +463 -0
  225. package/get-tasks-done/references/project-skills-discovery.md +19 -0
  226. package/get-tasks-done/references/questioning.md +162 -0
  227. package/get-tasks-done/references/revision-loop.md +97 -0
  228. package/get-tasks-done/references/scout-codebase.md +51 -0
  229. package/get-tasks-done/references/skeleton-template.md +48 -0
  230. package/get-tasks-done/references/sketch-interactivity.md +41 -0
  231. package/get-tasks-done/references/sketch-theme-system.md +94 -0
  232. package/get-tasks-done/references/sketch-tooling.md +45 -0
  233. package/get-tasks-done/references/sketch-variant-patterns.md +81 -0
  234. package/get-tasks-done/references/spidr-splitting.md +69 -0
  235. package/get-tasks-done/references/tdd.md +330 -0
  236. package/get-tasks-done/references/thinking-models-debug.md +44 -0
  237. package/get-tasks-done/references/thinking-models-execution.md +50 -0
  238. package/get-tasks-done/references/thinking-models-planning.md +62 -0
  239. package/get-tasks-done/references/thinking-models-research.md +50 -0
  240. package/get-tasks-done/references/thinking-models-verification.md +55 -0
  241. package/get-tasks-done/references/thinking-partner.md +96 -0
  242. package/get-tasks-done/references/ui-brand.md +160 -0
  243. package/get-tasks-done/references/universal-anti-patterns.md +63 -0
  244. package/get-tasks-done/references/user-profiling.md +681 -0
  245. package/get-tasks-done/references/user-story-template.md +58 -0
  246. package/get-tasks-done/references/verification-overrides.md +227 -0
  247. package/get-tasks-done/references/verification-patterns.md +612 -0
  248. package/get-tasks-done/references/verify-mvp-mode.md +85 -0
  249. package/get-tasks-done/references/workstream-flag.md +111 -0
  250. package/get-tasks-done/references/worktree-path-safety.md +89 -0
  251. package/get-tasks-done/templates/AI-SPEC.md +246 -0
  252. package/get-tasks-done/templates/DEBUG.md +169 -0
  253. package/get-tasks-done/templates/README.md +77 -0
  254. package/get-tasks-done/templates/SECURITY.md +61 -0
  255. package/get-tasks-done/templates/UAT.md +265 -0
  256. package/get-tasks-done/templates/UI-SPEC.md +100 -0
  257. package/get-tasks-done/templates/VALIDATION.md +76 -0
  258. package/get-tasks-done/templates/claude-md.md +147 -0
  259. package/get-tasks-done/templates/codebase/architecture.md +255 -0
  260. package/get-tasks-done/templates/codebase/concerns.md +310 -0
  261. package/get-tasks-done/templates/codebase/conventions.md +307 -0
  262. package/get-tasks-done/templates/codebase/integrations.md +280 -0
  263. package/get-tasks-done/templates/codebase/stack.md +186 -0
  264. package/get-tasks-done/templates/codebase/structure.md +285 -0
  265. package/get-tasks-done/templates/codebase/testing.md +480 -0
  266. package/get-tasks-done/templates/config.json +55 -0
  267. package/get-tasks-done/templates/context.md +352 -0
  268. package/get-tasks-done/templates/continue-here.md +78 -0
  269. package/get-tasks-done/templates/copilot-instructions.md +8 -0
  270. package/get-tasks-done/templates/debug-subagent-prompt.md +91 -0
  271. package/get-tasks-done/templates/dev-preferences.md +21 -0
  272. package/get-tasks-done/templates/discovery.md +146 -0
  273. package/get-tasks-done/templates/discussion-log.md +63 -0
  274. package/get-tasks-done/templates/milestone-archive.md +123 -0
  275. package/get-tasks-done/templates/milestone.md +115 -0
  276. package/get-tasks-done/templates/phase-prompt.md +616 -0
  277. package/get-tasks-done/templates/planner-subagent-prompt.md +118 -0
  278. package/get-tasks-done/templates/project.md +186 -0
  279. package/get-tasks-done/templates/requirements.md +231 -0
  280. package/get-tasks-done/templates/research-project/ARCHITECTURE.md +204 -0
  281. package/get-tasks-done/templates/research-project/FEATURES.md +147 -0
  282. package/get-tasks-done/templates/research-project/PITFALLS.md +200 -0
  283. package/get-tasks-done/templates/research-project/STACK.md +120 -0
  284. package/get-tasks-done/templates/research-project/SUMMARY.md +170 -0
  285. package/get-tasks-done/templates/research.md +592 -0
  286. package/get-tasks-done/templates/retrospective.md +54 -0
  287. package/get-tasks-done/templates/roadmap.md +202 -0
  288. package/get-tasks-done/templates/spec.md +307 -0
  289. package/get-tasks-done/templates/state.md +184 -0
  290. package/get-tasks-done/templates/summary-complex.md +59 -0
  291. package/get-tasks-done/templates/summary-minimal.md +41 -0
  292. package/get-tasks-done/templates/summary-standard.md +48 -0
  293. package/get-tasks-done/templates/summary.md +248 -0
  294. package/get-tasks-done/templates/user-profile.md +146 -0
  295. package/get-tasks-done/templates/user-setup.md +311 -0
  296. package/get-tasks-done/templates/verification-report.md +322 -0
  297. package/get-tasks-done/workflows/add-backlog.md +90 -0
  298. package/get-tasks-done/workflows/add-phase.md +112 -0
  299. package/get-tasks-done/workflows/add-tests.md +354 -0
  300. package/get-tasks-done/workflows/add-todo.md +160 -0
  301. package/get-tasks-done/workflows/ai-integration-phase.md +294 -0
  302. package/get-tasks-done/workflows/analyze-dependencies.md +96 -0
  303. package/get-tasks-done/workflows/audit-fix.md +177 -0
  304. package/get-tasks-done/workflows/audit-milestone.md +357 -0
  305. package/get-tasks-done/workflows/audit-uat.md +109 -0
  306. package/get-tasks-done/workflows/autonomous.md +790 -0
  307. package/get-tasks-done/workflows/check-todos.md +179 -0
  308. package/get-tasks-done/workflows/cleanup.md +154 -0
  309. package/get-tasks-done/workflows/code-review-fix.md +501 -0
  310. package/get-tasks-done/workflows/code-review.md +613 -0
  311. package/get-tasks-done/workflows/complete-milestone.md +854 -0
  312. package/get-tasks-done/workflows/debug.md +231 -0
  313. package/get-tasks-done/workflows/diagnose-issues.md +240 -0
  314. package/get-tasks-done/workflows/discovery-phase.md +291 -0
  315. package/get-tasks-done/workflows/discuss-phase/modes/advisor.md +175 -0
  316. package/get-tasks-done/workflows/discuss-phase/modes/all.md +28 -0
  317. package/get-tasks-done/workflows/discuss-phase/modes/analyze.md +44 -0
  318. package/get-tasks-done/workflows/discuss-phase/modes/auto.md +56 -0
  319. package/get-tasks-done/workflows/discuss-phase/modes/batch.md +52 -0
  320. package/get-tasks-done/workflows/discuss-phase/modes/chain.md +97 -0
  321. package/get-tasks-done/workflows/discuss-phase/modes/default.md +141 -0
  322. package/get-tasks-done/workflows/discuss-phase/modes/power.md +44 -0
  323. package/get-tasks-done/workflows/discuss-phase/modes/text.md +55 -0
  324. package/get-tasks-done/workflows/discuss-phase/templates/checkpoint.json +18 -0
  325. package/get-tasks-done/workflows/discuss-phase/templates/context.md +136 -0
  326. package/get-tasks-done/workflows/discuss-phase/templates/discussion-log.md +50 -0
  327. package/get-tasks-done/workflows/discuss-phase-assumptions.md +674 -0
  328. package/get-tasks-done/workflows/discuss-phase-power.md +291 -0
  329. package/get-tasks-done/workflows/discuss-phase.md +499 -0
  330. package/get-tasks-done/workflows/do.md +110 -0
  331. package/get-tasks-done/workflows/docs-update.md +1161 -0
  332. package/get-tasks-done/workflows/edit-phase.md +294 -0
  333. package/get-tasks-done/workflows/eval-review.md +155 -0
  334. package/get-tasks-done/workflows/explore.md +143 -0
  335. package/get-tasks-done/workflows/export-phase-issues.md +74 -0
  336. package/get-tasks-done/workflows/extract-learnings.md +242 -0
  337. package/get-tasks-done/workflows/fast.md +105 -0
  338. package/get-tasks-done/workflows/forensics.md +278 -0
  339. package/get-tasks-done/workflows/graduation.md +195 -0
  340. package/get-tasks-done/workflows/health.md +223 -0
  341. package/get-tasks-done/workflows/help/modes/brief.md +24 -0
  342. package/get-tasks-done/workflows/help/modes/default.md +52 -0
  343. package/get-tasks-done/workflows/help/modes/full.md +813 -0
  344. package/get-tasks-done/workflows/help/modes/topic.md +74 -0
  345. package/get-tasks-done/workflows/help.md +24 -0
  346. package/get-tasks-done/workflows/import.md +253 -0
  347. package/get-tasks-done/workflows/inbox.md +87 -0
  348. package/get-tasks-done/workflows/ingest-docs.md +339 -0
  349. package/get-tasks-done/workflows/insert-phase.md +151 -0
  350. package/get-tasks-done/workflows/list-phase-assumptions.md +178 -0
  351. package/get-tasks-done/workflows/list-workspaces.md +56 -0
  352. package/get-tasks-done/workflows/manager.md +393 -0
  353. package/get-tasks-done/workflows/map-codebase.md +443 -0
  354. package/get-tasks-done/workflows/milestone-summary.md +223 -0
  355. package/get-tasks-done/workflows/mvp-phase.md +221 -0
  356. package/get-tasks-done/workflows/new-milestone.md +634 -0
  357. package/get-tasks-done/workflows/new-project.md +1443 -0
  358. package/get-tasks-done/workflows/new-workspace.md +239 -0
  359. package/get-tasks-done/workflows/next.md +220 -0
  360. package/get-tasks-done/workflows/node-repair.md +92 -0
  361. package/get-tasks-done/workflows/note.md +158 -0
  362. package/get-tasks-done/workflows/orchestrate-tasks.md +209 -0
  363. package/get-tasks-done/workflows/pause-work.md +243 -0
  364. package/get-tasks-done/workflows/plan-milestone-gaps.md +280 -0
  365. package/get-tasks-done/workflows/plan-phase.md +1756 -0
  366. package/get-tasks-done/workflows/plan-review-convergence.md +329 -0
  367. package/get-tasks-done/workflows/plant-seed.md +229 -0
  368. package/get-tasks-done/workflows/pr-branch.md +156 -0
  369. package/get-tasks-done/workflows/profile-user.md +452 -0
  370. package/get-tasks-done/workflows/progress.md +668 -0
  371. package/get-tasks-done/workflows/quick.md +1169 -0
  372. package/get-tasks-done/workflows/reapply-patches.md +390 -0
  373. package/get-tasks-done/workflows/remove-phase.md +155 -0
  374. package/get-tasks-done/workflows/remove-workspace.md +107 -0
  375. package/get-tasks-done/workflows/resume-project.md +329 -0
  376. package/get-tasks-done/workflows/review.md +459 -0
  377. package/get-tasks-done/workflows/scan.md +104 -0
  378. package/get-tasks-done/workflows/secure-phase.md +179 -0
  379. package/get-tasks-done/workflows/session-report.md +146 -0
  380. package/get-tasks-done/workflows/settings-advanced.md +532 -0
  381. package/get-tasks-done/workflows/settings-integrations.md +281 -0
  382. package/get-tasks-done/workflows/settings.md +502 -0
  383. package/get-tasks-done/workflows/sketch-wrap-up.md +285 -0
  384. package/get-tasks-done/workflows/sketch.md +360 -0
  385. package/get-tasks-done/workflows/spec-phase.md +262 -0
  386. package/get-tasks-done/workflows/spike-wrap-up.md +306 -0
  387. package/get-tasks-done/workflows/spike.md +452 -0
  388. package/get-tasks-done/workflows/stats.md +79 -0
  389. package/get-tasks-done/workflows/sync-skills.md +182 -0
  390. package/get-tasks-done/workflows/thread.md +221 -0
  391. package/get-tasks-done/workflows/transition.md +693 -0
  392. package/get-tasks-done/workflows/ui-phase.md +327 -0
  393. package/get-tasks-done/workflows/ui-review.md +192 -0
  394. package/get-tasks-done/workflows/ultraplan-phase.md +198 -0
  395. package/get-tasks-done/workflows/undo.md +314 -0
  396. package/get-tasks-done/workflows/update.md +644 -0
  397. package/get-tasks-done/workflows/validate-phase.md +178 -0
  398. package/get-tasks-done/workflows/verify-phase.md +543 -0
  399. package/get-tasks-done/workflows/verify-work.md +797 -0
  400. package/get-tasks-done/workflows/work-task-issue.md +249 -0
  401. package/hooks/dist/gtd-check-update-worker.js +117 -0
  402. package/hooks/dist/gtd-check-update.js +64 -0
  403. package/hooks/dist/gtd-context-monitor.js +192 -0
  404. package/hooks/dist/gtd-phase-boundary.sh +47 -0
  405. package/hooks/dist/gtd-prompt-guard.js +97 -0
  406. package/hooks/dist/gtd-read-guard.js +101 -0
  407. package/hooks/dist/gtd-read-injection-scanner.js +152 -0
  408. package/hooks/dist/gtd-session-state.sh +59 -0
  409. package/hooks/dist/gtd-statusline.js +537 -0
  410. package/hooks/dist/gtd-update-banner.js +134 -0
  411. package/hooks/dist/gtd-validate-commit.sh +57 -0
  412. package/hooks/dist/gtd-workflow-guard.js +94 -0
  413. package/hooks/gtd-check-update-worker.js +117 -0
  414. package/hooks/gtd-check-update.js +64 -0
  415. package/hooks/gtd-context-monitor.js +192 -0
  416. package/hooks/gtd-graphify-update.sh +152 -0
  417. package/hooks/gtd-phase-boundary.sh +47 -0
  418. package/hooks/gtd-prompt-guard.js +97 -0
  419. package/hooks/gtd-read-guard.js +101 -0
  420. package/hooks/gtd-read-injection-scanner.js +152 -0
  421. package/hooks/gtd-session-state.sh +59 -0
  422. package/hooks/gtd-statusline.js +537 -0
  423. package/hooks/gtd-update-banner.js +134 -0
  424. package/hooks/gtd-validate-commit.sh +57 -0
  425. package/hooks/gtd-workflow-guard.js +94 -0
  426. package/hooks/lib/git-cmd.js +150 -0
  427. package/hooks/lib/gtd-graphify-rebuild.sh +65 -0
  428. package/package.json +85 -0
  429. package/scripts/audit-workflow-script-paths.cjs +73 -0
  430. package/scripts/base64-scan.sh +262 -0
  431. package/scripts/build-hooks.js +187 -0
  432. package/scripts/command-contract-helpers.cjs +61 -0
  433. package/scripts/fix-slash-commands.cjs +106 -0
  434. package/scripts/lint-command-contract.cjs +108 -0
  435. package/scripts/lint-descriptions.cjs +83 -0
  436. package/scripts/lint-no-source-grep-extras.cjs +81 -0
  437. package/scripts/lint-no-source-grep.cjs +174 -0
  438. package/scripts/lint-pr-check-project-dir.cjs +94 -0
  439. package/scripts/lint-shell-command-projection-drift.cjs +57 -0
  440. package/scripts/lint-skill-deps.cjs +180 -0
  441. package/scripts/prompt-injection-scan.sh +201 -0
  442. package/scripts/run-tests.cjs +33 -0
  443. package/scripts/secret-scan.sh +227 -0
  444. package/scripts/strip-prose-atrefs.cjs +106 -0
  445. package/scripts/verify-tarball-sdk-dist.sh +69 -0
  446. package/sdk/dist/cli-transport.d.ts +19 -0
  447. package/sdk/dist/cli-transport.d.ts.map +1 -0
  448. package/sdk/dist/cli-transport.js +104 -0
  449. package/sdk/dist/cli-transport.js.map +1 -0
  450. package/sdk/dist/cli.d.ts +46 -0
  451. package/sdk/dist/cli.d.ts.map +1 -0
  452. package/sdk/dist/cli.js +511 -0
  453. package/sdk/dist/cli.js.map +1 -0
  454. package/sdk/dist/config.d.ts +107 -0
  455. package/sdk/dist/config.d.ts.map +1 -0
  456. package/sdk/dist/config.js +115 -0
  457. package/sdk/dist/config.js.map +1 -0
  458. package/sdk/dist/configuration/index.d.ts +85 -0
  459. package/sdk/dist/configuration/index.d.ts.map +1 -0
  460. package/sdk/dist/configuration/index.js +257 -0
  461. package/sdk/dist/configuration/index.js.map +1 -0
  462. package/sdk/dist/context-engine.d.ts +49 -0
  463. package/sdk/dist/context-engine.d.ts.map +1 -0
  464. package/sdk/dist/context-engine.js +142 -0
  465. package/sdk/dist/context-engine.js.map +1 -0
  466. package/sdk/dist/context-truncation.d.ts +33 -0
  467. package/sdk/dist/context-truncation.d.ts.map +1 -0
  468. package/sdk/dist/context-truncation.js +197 -0
  469. package/sdk/dist/context-truncation.js.map +1 -0
  470. package/sdk/dist/errors.d.ts +46 -0
  471. package/sdk/dist/errors.d.ts.map +1 -0
  472. package/sdk/dist/errors.js +64 -0
  473. package/sdk/dist/errors.js.map +1 -0
  474. package/sdk/dist/event-stream.d.ts +53 -0
  475. package/sdk/dist/event-stream.d.ts.map +1 -0
  476. package/sdk/dist/event-stream.js +321 -0
  477. package/sdk/dist/event-stream.js.map +1 -0
  478. package/sdk/dist/golden/capture.d.ts +15 -0
  479. package/sdk/dist/golden/capture.d.ts.map +1 -0
  480. package/sdk/dist/golden/capture.js +67 -0
  481. package/sdk/dist/golden/capture.js.map +1 -0
  482. package/sdk/dist/golden/golden-integration-covered.d.ts +6 -0
  483. package/sdk/dist/golden/golden-integration-covered.d.ts.map +1 -0
  484. package/sdk/dist/golden/golden-integration-covered.js +30 -0
  485. package/sdk/dist/golden/golden-integration-covered.js.map +1 -0
  486. package/sdk/dist/golden/golden-mutation-covered.d.ts +7 -0
  487. package/sdk/dist/golden/golden-mutation-covered.d.ts.map +1 -0
  488. package/sdk/dist/golden/golden-mutation-covered.js +17 -0
  489. package/sdk/dist/golden/golden-mutation-covered.js.map +1 -0
  490. package/sdk/dist/golden/golden-policy.d.ts +10 -0
  491. package/sdk/dist/golden/golden-policy.d.ts.map +1 -0
  492. package/sdk/dist/golden/golden-policy.js +97 -0
  493. package/sdk/dist/golden/golden-policy.js.map +1 -0
  494. package/sdk/dist/golden/init-golden-normalize.d.ts +8 -0
  495. package/sdk/dist/golden/init-golden-normalize.d.ts.map +1 -0
  496. package/sdk/dist/golden/init-golden-normalize.js +14 -0
  497. package/sdk/dist/golden/init-golden-normalize.js.map +1 -0
  498. package/sdk/dist/golden/read-only-golden-rows.d.ts +20 -0
  499. package/sdk/dist/golden/read-only-golden-rows.d.ts.map +1 -0
  500. package/sdk/dist/golden/read-only-golden-rows.js +67 -0
  501. package/sdk/dist/golden/read-only-golden-rows.js.map +1 -0
  502. package/sdk/dist/golden/registry-canonical-commands.d.ts +6 -0
  503. package/sdk/dist/golden/registry-canonical-commands.d.ts.map +1 -0
  504. package/sdk/dist/golden/registry-canonical-commands.js +30 -0
  505. package/sdk/dist/golden/registry-canonical-commands.js.map +1 -0
  506. package/sdk/dist/gtd-tools-error.d.ts +23 -0
  507. package/sdk/dist/gtd-tools-error.d.ts.map +1 -0
  508. package/sdk/dist/gtd-tools-error.js +29 -0
  509. package/sdk/dist/gtd-tools-error.js.map +1 -0
  510. package/sdk/dist/gtd-tools.d.ts +102 -0
  511. package/sdk/dist/gtd-tools.d.ts.map +1 -0
  512. package/sdk/dist/gtd-tools.js +222 -0
  513. package/sdk/dist/gtd-tools.js.map +1 -0
  514. package/sdk/dist/gtd-transport-policy.d.ts +10 -0
  515. package/sdk/dist/gtd-transport-policy.d.ts.map +1 -0
  516. package/sdk/dist/gtd-transport-policy.js +32 -0
  517. package/sdk/dist/gtd-transport-policy.js.map +1 -0
  518. package/sdk/dist/gtd-transport.d.ts +39 -0
  519. package/sdk/dist/gtd-transport.d.ts.map +1 -0
  520. package/sdk/dist/gtd-transport.js +78 -0
  521. package/sdk/dist/gtd-transport.js.map +1 -0
  522. package/sdk/dist/index.d.ts +127 -0
  523. package/sdk/dist/index.d.ts.map +1 -0
  524. package/sdk/dist/index.js +298 -0
  525. package/sdk/dist/index.js.map +1 -0
  526. package/sdk/dist/init-runner.d.ts +90 -0
  527. package/sdk/dist/init-runner.d.ts.map +1 -0
  528. package/sdk/dist/init-runner.js +613 -0
  529. package/sdk/dist/init-runner.js.map +1 -0
  530. package/sdk/dist/logger.d.ts +50 -0
  531. package/sdk/dist/logger.d.ts.map +1 -0
  532. package/sdk/dist/logger.js +70 -0
  533. package/sdk/dist/logger.js.map +1 -0
  534. package/sdk/dist/model-catalog.d.ts +33 -0
  535. package/sdk/dist/model-catalog.d.ts.map +1 -0
  536. package/sdk/dist/model-catalog.js +34 -0
  537. package/sdk/dist/model-catalog.js.map +1 -0
  538. package/sdk/dist/phase-prompt.d.ts +71 -0
  539. package/sdk/dist/phase-prompt.d.ts.map +1 -0
  540. package/sdk/dist/phase-prompt.js +208 -0
  541. package/sdk/dist/phase-prompt.js.map +1 -0
  542. package/sdk/dist/phase-runner.d.ts +145 -0
  543. package/sdk/dist/phase-runner.d.ts.map +1 -0
  544. package/sdk/dist/phase-runner.js +1206 -0
  545. package/sdk/dist/phase-runner.js.map +1 -0
  546. package/sdk/dist/plan-atomicity.d.ts +26 -0
  547. package/sdk/dist/plan-atomicity.d.ts.map +1 -0
  548. package/sdk/dist/plan-atomicity.js +116 -0
  549. package/sdk/dist/plan-atomicity.js.map +1 -0
  550. package/sdk/dist/plan-parser.d.ts +55 -0
  551. package/sdk/dist/plan-parser.d.ts.map +1 -0
  552. package/sdk/dist/plan-parser.js +391 -0
  553. package/sdk/dist/plan-parser.js.map +1 -0
  554. package/sdk/dist/planning-journal.d.ts +64 -0
  555. package/sdk/dist/planning-journal.d.ts.map +1 -0
  556. package/sdk/dist/planning-journal.js +88 -0
  557. package/sdk/dist/planning-journal.js.map +1 -0
  558. package/sdk/dist/planning-runtime.d.ts +67 -0
  559. package/sdk/dist/planning-runtime.d.ts.map +1 -0
  560. package/sdk/dist/planning-runtime.js +58 -0
  561. package/sdk/dist/planning-runtime.js.map +1 -0
  562. package/sdk/dist/project-root/index.d.ts +46 -0
  563. package/sdk/dist/project-root/index.d.ts.map +1 -0
  564. package/sdk/dist/project-root/index.js +138 -0
  565. package/sdk/dist/project-root/index.js.map +1 -0
  566. package/sdk/dist/prompt-builder.d.ts +44 -0
  567. package/sdk/dist/prompt-builder.d.ts.map +1 -0
  568. package/sdk/dist/prompt-builder.js +180 -0
  569. package/sdk/dist/prompt-builder.js.map +1 -0
  570. package/sdk/dist/prompt-sanitizer.d.ts +35 -0
  571. package/sdk/dist/prompt-sanitizer.d.ts.map +1 -0
  572. package/sdk/dist/prompt-sanitizer.js +101 -0
  573. package/sdk/dist/prompt-sanitizer.js.map +1 -0
  574. package/sdk/dist/query/active-workstream-store.d.ts +7 -0
  575. package/sdk/dist/query/active-workstream-store.d.ts.map +1 -0
  576. package/sdk/dist/query/active-workstream-store.js +56 -0
  577. package/sdk/dist/query/active-workstream-store.js.map +1 -0
  578. package/sdk/dist/query/agent-failure-classifier.d.ts +37 -0
  579. package/sdk/dist/query/agent-failure-classifier.d.ts.map +1 -0
  580. package/sdk/dist/query/agent-failure-classifier.js +82 -0
  581. package/sdk/dist/query/agent-failure-classifier.js.map +1 -0
  582. package/sdk/dist/query/audit-open.d.ts +46 -0
  583. package/sdk/dist/query/audit-open.d.ts.map +1 -0
  584. package/sdk/dist/query/audit-open.js +662 -0
  585. package/sdk/dist/query/audit-open.js.map +1 -0
  586. package/sdk/dist/query/check-auto-mode.d.ts +13 -0
  587. package/sdk/dist/query/check-auto-mode.d.ts.map +1 -0
  588. package/sdk/dist/query/check-auto-mode.js +40 -0
  589. package/sdk/dist/query/check-auto-mode.js.map +1 -0
  590. package/sdk/dist/query/check-completion.d.ts +10 -0
  591. package/sdk/dist/query/check-completion.d.ts.map +1 -0
  592. package/sdk/dist/query/check-completion.js +157 -0
  593. package/sdk/dist/query/check-completion.js.map +1 -0
  594. package/sdk/dist/query/check-decision-coverage.d.ts +33 -0
  595. package/sdk/dist/query/check-decision-coverage.d.ts.map +1 -0
  596. package/sdk/dist/query/check-decision-coverage.js +472 -0
  597. package/sdk/dist/query/check-decision-coverage.js.map +1 -0
  598. package/sdk/dist/query/check-gates.d.ts +10 -0
  599. package/sdk/dist/query/check-gates.d.ts.map +1 -0
  600. package/sdk/dist/query/check-gates.js +89 -0
  601. package/sdk/dist/query/check-gates.js.map +1 -0
  602. package/sdk/dist/query/check-verification-status.d.ts +10 -0
  603. package/sdk/dist/query/check-verification-status.d.ts.map +1 -0
  604. package/sdk/dist/query/check-verification-status.js +142 -0
  605. package/sdk/dist/query/check-verification-status.js.map +1 -0
  606. package/sdk/dist/query/command-aliases.generated.d.ts +31 -0
  607. package/sdk/dist/query/command-aliases.generated.d.ts.map +1 -0
  608. package/sdk/dist/query/command-aliases.generated.js +134 -0
  609. package/sdk/dist/query/command-aliases.generated.js.map +1 -0
  610. package/sdk/dist/query/command-catalog.d.ts +9 -0
  611. package/sdk/dist/query/command-catalog.d.ts.map +1 -0
  612. package/sdk/dist/query/command-catalog.js +17 -0
  613. package/sdk/dist/query/command-catalog.js.map +1 -0
  614. package/sdk/dist/query/command-definition.d.ts +19 -0
  615. package/sdk/dist/query/command-definition.d.ts.map +1 -0
  616. package/sdk/dist/query/command-definition.js +44 -0
  617. package/sdk/dist/query/command-definition.js.map +1 -0
  618. package/sdk/dist/query/command-family-handlers.d.ts +3 -0
  619. package/sdk/dist/query/command-family-handlers.d.ts.map +1 -0
  620. package/sdk/dist/query/command-family-handlers.js +93 -0
  621. package/sdk/dist/query/command-family-handlers.js.map +1 -0
  622. package/sdk/dist/query/command-manifest.d.ts +2 -0
  623. package/sdk/dist/query/command-manifest.d.ts.map +1 -0
  624. package/sdk/dist/query/command-manifest.init.d.ts +6 -0
  625. package/sdk/dist/query/command-manifest.init.d.ts.map +1 -0
  626. package/sdk/dist/query/command-manifest.init.js +22 -0
  627. package/sdk/dist/query/command-manifest.init.js.map +1 -0
  628. package/sdk/dist/query/command-manifest.js +17 -0
  629. package/sdk/dist/query/command-manifest.js.map +1 -0
  630. package/sdk/dist/query/command-manifest.non-family.d.ts +9 -0
  631. package/sdk/dist/query/command-manifest.non-family.d.ts.map +1 -0
  632. package/sdk/dist/query/command-manifest.non-family.js +62 -0
  633. package/sdk/dist/query/command-manifest.non-family.js.map +1 -0
  634. package/sdk/dist/query/command-manifest.phase.d.ts +6 -0
  635. package/sdk/dist/query/command-manifest.phase.d.ts.map +1 -0
  636. package/sdk/dist/query/command-manifest.phase.js +15 -0
  637. package/sdk/dist/query/command-manifest.phase.js.map +1 -0
  638. package/sdk/dist/query/command-manifest.phases.d.ts +7 -0
  639. package/sdk/dist/query/command-manifest.phases.d.ts.map +1 -0
  640. package/sdk/dist/query/command-manifest.phases.js +10 -0
  641. package/sdk/dist/query/command-manifest.phases.js.map +1 -0
  642. package/sdk/dist/query/command-manifest.roadmap.d.ts +6 -0
  643. package/sdk/dist/query/command-manifest.roadmap.d.ts.map +1 -0
  644. package/sdk/dist/query/command-manifest.roadmap.js +10 -0
  645. package/sdk/dist/query/command-manifest.roadmap.js.map +1 -0
  646. package/sdk/dist/query/command-manifest.state.d.ts +9 -0
  647. package/sdk/dist/query/command-manifest.state.d.ts.map +1 -0
  648. package/sdk/dist/query/command-manifest.state.js +30 -0
  649. package/sdk/dist/query/command-manifest.state.js.map +1 -0
  650. package/sdk/dist/query/command-manifest.types.d.ts +12 -0
  651. package/sdk/dist/query/command-manifest.types.d.ts.map +1 -0
  652. package/sdk/dist/query/command-manifest.types.js +2 -0
  653. package/sdk/dist/query/command-manifest.types.js.map +1 -0
  654. package/sdk/dist/query/command-manifest.validate.d.ts +6 -0
  655. package/sdk/dist/query/command-manifest.validate.d.ts.map +1 -0
  656. package/sdk/dist/query/command-manifest.validate.js +10 -0
  657. package/sdk/dist/query/command-manifest.validate.js.map +1 -0
  658. package/sdk/dist/query/command-manifest.verify.d.ts +6 -0
  659. package/sdk/dist/query/command-manifest.verify.d.ts.map +1 -0
  660. package/sdk/dist/query/command-manifest.verify.js +14 -0
  661. package/sdk/dist/query/command-manifest.verify.js.map +1 -0
  662. package/sdk/dist/query/command-static-catalog-domain.d.ts +3 -0
  663. package/sdk/dist/query/command-static-catalog-domain.d.ts.map +1 -0
  664. package/sdk/dist/query/command-static-catalog-domain.js +120 -0
  665. package/sdk/dist/query/command-static-catalog-domain.js.map +1 -0
  666. package/sdk/dist/query/command-static-catalog-foundation.d.ts +7 -0
  667. package/sdk/dist/query/command-static-catalog-foundation.d.ts.map +1 -0
  668. package/sdk/dist/query/command-static-catalog-foundation.js +95 -0
  669. package/sdk/dist/query/command-static-catalog-foundation.js.map +1 -0
  670. package/sdk/dist/query/command-topology.d.ts +32 -0
  671. package/sdk/dist/query/command-topology.d.ts.map +1 -0
  672. package/sdk/dist/query/command-topology.js +66 -0
  673. package/sdk/dist/query/command-topology.js.map +1 -0
  674. package/sdk/dist/query/commands-list.d.ts +14 -0
  675. package/sdk/dist/query/commands-list.d.ts.map +1 -0
  676. package/sdk/dist/query/commands-list.js +18 -0
  677. package/sdk/dist/query/commands-list.js.map +1 -0
  678. package/sdk/dist/query/commit.d.ts +79 -0
  679. package/sdk/dist/query/commit.d.ts.map +1 -0
  680. package/sdk/dist/query/commit.js +340 -0
  681. package/sdk/dist/query/commit.js.map +1 -0
  682. package/sdk/dist/query/config-gates.d.ts +12 -0
  683. package/sdk/dist/query/config-gates.d.ts.map +1 -0
  684. package/sdk/dist/query/config-gates.js +66 -0
  685. package/sdk/dist/query/config-gates.js.map +1 -0
  686. package/sdk/dist/query/config-mutation.d.ts +86 -0
  687. package/sdk/dist/query/config-mutation.d.ts.map +1 -0
  688. package/sdk/dist/query/config-mutation.js +445 -0
  689. package/sdk/dist/query/config-mutation.js.map +1 -0
  690. package/sdk/dist/query/config-query.d.ts +57 -0
  691. package/sdk/dist/query/config-query.d.ts.map +1 -0
  692. package/sdk/dist/query/config-query.js +208 -0
  693. package/sdk/dist/query/config-query.js.map +1 -0
  694. package/sdk/dist/query/config-schema.d.ts +19 -0
  695. package/sdk/dist/query/config-schema.d.ts.map +1 -0
  696. package/sdk/dist/query/config-schema.js +26 -0
  697. package/sdk/dist/query/config-schema.js.map +1 -0
  698. package/sdk/dist/query/decisions.d.ts +58 -0
  699. package/sdk/dist/query/decisions.d.ts.map +1 -0
  700. package/sdk/dist/query/decisions.js +161 -0
  701. package/sdk/dist/query/decisions.js.map +1 -0
  702. package/sdk/dist/query/detect-custom-files.d.ts +11 -0
  703. package/sdk/dist/query/detect-custom-files.d.ts.map +1 -0
  704. package/sdk/dist/query/detect-custom-files.js +89 -0
  705. package/sdk/dist/query/detect-custom-files.js.map +1 -0
  706. package/sdk/dist/query/detect-phase-type.d.ts +9 -0
  707. package/sdk/dist/query/detect-phase-type.d.ts.map +1 -0
  708. package/sdk/dist/query/detect-phase-type.js +124 -0
  709. package/sdk/dist/query/detect-phase-type.js.map +1 -0
  710. package/sdk/dist/query/docs-init.d.ts +26 -0
  711. package/sdk/dist/query/docs-init.d.ts.map +1 -0
  712. package/sdk/dist/query/docs-init.js +231 -0
  713. package/sdk/dist/query/docs-init.js.map +1 -0
  714. package/sdk/dist/query/fallow-audit.d.ts +44 -0
  715. package/sdk/dist/query/fallow-audit.d.ts.map +1 -0
  716. package/sdk/dist/query/fallow-audit.js +44 -0
  717. package/sdk/dist/query/fallow-audit.js.map +1 -0
  718. package/sdk/dist/query/frontmatter-mutation.d.ts +77 -0
  719. package/sdk/dist/query/frontmatter-mutation.d.ts.map +1 -0
  720. package/sdk/dist/query/frontmatter-mutation.js +317 -0
  721. package/sdk/dist/query/frontmatter-mutation.js.map +1 -0
  722. package/sdk/dist/query/frontmatter.d.ts +93 -0
  723. package/sdk/dist/query/frontmatter.d.ts.map +1 -0
  724. package/sdk/dist/query/frontmatter.js +365 -0
  725. package/sdk/dist/query/frontmatter.js.map +1 -0
  726. package/sdk/dist/query/helpers.d.ts +167 -0
  727. package/sdk/dist/query/helpers.d.ts.map +1 -0
  728. package/sdk/dist/query/helpers.js +495 -0
  729. package/sdk/dist/query/helpers.js.map +1 -0
  730. package/sdk/dist/query/index.d.ts +8 -0
  731. package/sdk/dist/query/index.d.ts.map +1 -0
  732. package/sdk/dist/query/index.js +6 -0
  733. package/sdk/dist/query/index.js.map +1 -0
  734. package/sdk/dist/query/init-complex.d.ts +47 -0
  735. package/sdk/dist/query/init-complex.d.ts.map +1 -0
  736. package/sdk/dist/query/init-complex.js +723 -0
  737. package/sdk/dist/query/init-complex.js.map +1 -0
  738. package/sdk/dist/query/init.d.ts +98 -0
  739. package/sdk/dist/query/init.d.ts.map +1 -0
  740. package/sdk/dist/query/init.js +1074 -0
  741. package/sdk/dist/query/init.js.map +1 -0
  742. package/sdk/dist/query/intel.d.ts +43 -0
  743. package/sdk/dist/query/intel.d.ts.map +1 -0
  744. package/sdk/dist/query/intel.js +416 -0
  745. package/sdk/dist/query/intel.js.map +1 -0
  746. package/sdk/dist/query/mutation-event-decorator.d.ts +5 -0
  747. package/sdk/dist/query/mutation-event-decorator.d.ts.map +1 -0
  748. package/sdk/dist/query/mutation-event-decorator.js +28 -0
  749. package/sdk/dist/query/mutation-event-decorator.js.map +1 -0
  750. package/sdk/dist/query/mutation-event-mapper.d.ts +4 -0
  751. package/sdk/dist/query/mutation-event-mapper.d.ts.map +1 -0
  752. package/sdk/dist/query/mutation-event-mapper.js +70 -0
  753. package/sdk/dist/query/mutation-event-mapper.js.map +1 -0
  754. package/sdk/dist/query/mvp.d.ts +113 -0
  755. package/sdk/dist/query/mvp.d.ts.map +1 -0
  756. package/sdk/dist/query/mvp.js +225 -0
  757. package/sdk/dist/query/mvp.js.map +1 -0
  758. package/sdk/dist/query/phase-filesystem-adapter.d.ts +4 -0
  759. package/sdk/dist/query/phase-filesystem-adapter.d.ts.map +1 -0
  760. package/sdk/dist/query/phase-filesystem-adapter.js +33 -0
  761. package/sdk/dist/query/phase-filesystem-adapter.js.map +1 -0
  762. package/sdk/dist/query/phase-lifecycle-policy.d.ts +34 -0
  763. package/sdk/dist/query/phase-lifecycle-policy.d.ts.map +1 -0
  764. package/sdk/dist/query/phase-lifecycle-policy.js +138 -0
  765. package/sdk/dist/query/phase-lifecycle-policy.js.map +1 -0
  766. package/sdk/dist/query/phase-lifecycle.d.ts +116 -0
  767. package/sdk/dist/query/phase-lifecycle.d.ts.map +1 -0
  768. package/sdk/dist/query/phase-lifecycle.js +1486 -0
  769. package/sdk/dist/query/phase-lifecycle.js.map +1 -0
  770. package/sdk/dist/query/phase-list-queries.d.ts +18 -0
  771. package/sdk/dist/query/phase-list-queries.d.ts.map +1 -0
  772. package/sdk/dist/query/phase-list-queries.js +129 -0
  773. package/sdk/dist/query/phase-list-queries.js.map +1 -0
  774. package/sdk/dist/query/phase-ready.d.ts +9 -0
  775. package/sdk/dist/query/phase-ready.d.ts.map +1 -0
  776. package/sdk/dist/query/phase-ready.js +132 -0
  777. package/sdk/dist/query/phase-ready.js.map +1 -0
  778. package/sdk/dist/query/phase-roadmap-mutation.d.ts +13 -0
  779. package/sdk/dist/query/phase-roadmap-mutation.d.ts.map +1 -0
  780. package/sdk/dist/query/phase-roadmap-mutation.js +65 -0
  781. package/sdk/dist/query/phase-roadmap-mutation.js.map +1 -0
  782. package/sdk/dist/query/phase.d.ts +48 -0
  783. package/sdk/dist/query/phase.d.ts.map +1 -0
  784. package/sdk/dist/query/phase.js +451 -0
  785. package/sdk/dist/query/phase.js.map +1 -0
  786. package/sdk/dist/query/pipeline.d.ts +53 -0
  787. package/sdk/dist/query/pipeline.d.ts.map +1 -0
  788. package/sdk/dist/query/pipeline.js +198 -0
  789. package/sdk/dist/query/pipeline.js.map +1 -0
  790. package/sdk/dist/query/plan-scan.d.ts +14 -0
  791. package/sdk/dist/query/plan-scan.d.ts.map +1 -0
  792. package/sdk/dist/query/plan-scan.js +70 -0
  793. package/sdk/dist/query/plan-scan.js.map +1 -0
  794. package/sdk/dist/query/plan-task-structure.d.ts +9 -0
  795. package/sdk/dist/query/plan-task-structure.d.ts.map +1 -0
  796. package/sdk/dist/query/plan-task-structure.js +59 -0
  797. package/sdk/dist/query/plan-task-structure.js.map +1 -0
  798. package/sdk/dist/query/profile-extract-messages.d.ts +40 -0
  799. package/sdk/dist/query/profile-extract-messages.d.ts.map +1 -0
  800. package/sdk/dist/query/profile-extract-messages.js +195 -0
  801. package/sdk/dist/query/profile-extract-messages.js.map +1 -0
  802. package/sdk/dist/query/profile-output.d.ts +11 -0
  803. package/sdk/dist/query/profile-output.d.ts.map +1 -0
  804. package/sdk/dist/query/profile-output.js +873 -0
  805. package/sdk/dist/query/profile-output.js.map +1 -0
  806. package/sdk/dist/query/profile-questionnaire-data.d.ts +21 -0
  807. package/sdk/dist/query/profile-questionnaire-data.d.ts.map +1 -0
  808. package/sdk/dist/query/profile-questionnaire-data.js +171 -0
  809. package/sdk/dist/query/profile-questionnaire-data.js.map +1 -0
  810. package/sdk/dist/query/profile-sample.d.ts +22 -0
  811. package/sdk/dist/query/profile-sample.d.ts.map +1 -0
  812. package/sdk/dist/query/profile-sample.js +136 -0
  813. package/sdk/dist/query/profile-sample.js.map +1 -0
  814. package/sdk/dist/query/profile-scan-sessions.d.ts +49 -0
  815. package/sdk/dist/query/profile-scan-sessions.d.ts.map +1 -0
  816. package/sdk/dist/query/profile-scan-sessions.js +137 -0
  817. package/sdk/dist/query/profile-scan-sessions.js.map +1 -0
  818. package/sdk/dist/query/profile.d.ts +61 -0
  819. package/sdk/dist/query/profile.d.ts.map +1 -0
  820. package/sdk/dist/query/profile.js +307 -0
  821. package/sdk/dist/query/profile.js.map +1 -0
  822. package/sdk/dist/query/progress.d.ts +77 -0
  823. package/sdk/dist/query/progress.d.ts.map +1 -0
  824. package/sdk/dist/query/progress.js +481 -0
  825. package/sdk/dist/query/progress.js.map +1 -0
  826. package/sdk/dist/query/query-cli-adapter.d.ts +8 -0
  827. package/sdk/dist/query/query-cli-adapter.d.ts.map +1 -0
  828. package/sdk/dist/query/query-cli-adapter.js +32 -0
  829. package/sdk/dist/query/query-cli-adapter.js.map +1 -0
  830. package/sdk/dist/query/query-cli-output.d.ts +9 -0
  831. package/sdk/dist/query/query-cli-output.d.ts.map +1 -0
  832. package/sdk/dist/query/query-cli-output.js +54 -0
  833. package/sdk/dist/query/query-cli-output.js.map +1 -0
  834. package/sdk/dist/query/query-command-diagnosis.d.ts +6 -0
  835. package/sdk/dist/query/query-command-diagnosis.d.ts.map +1 -0
  836. package/sdk/dist/query/query-command-diagnosis.js +6 -0
  837. package/sdk/dist/query/query-command-diagnosis.js.map +1 -0
  838. package/sdk/dist/query/query-command-resolution-strategy.d.ts +29 -0
  839. package/sdk/dist/query/query-command-resolution-strategy.d.ts.map +1 -0
  840. package/sdk/dist/query/query-command-resolution-strategy.js +103 -0
  841. package/sdk/dist/query/query-command-resolution-strategy.js.map +1 -0
  842. package/sdk/dist/query/query-command-semantics.d.ts +7 -0
  843. package/sdk/dist/query/query-command-semantics.d.ts.map +1 -0
  844. package/sdk/dist/query/query-command-semantics.js +7 -0
  845. package/sdk/dist/query/query-command-semantics.js.map +1 -0
  846. package/sdk/dist/query/query-dispatch-contract.d.ts +21 -0
  847. package/sdk/dist/query/query-dispatch-contract.d.ts.map +1 -0
  848. package/sdk/dist/query/query-dispatch-contract.js +2 -0
  849. package/sdk/dist/query/query-dispatch-contract.js.map +1 -0
  850. package/sdk/dist/query/query-dispatch-error-mapper.d.ts +6 -0
  851. package/sdk/dist/query/query-dispatch-error-mapper.d.ts.map +1 -0
  852. package/sdk/dist/query/query-dispatch-error-mapper.js +6 -0
  853. package/sdk/dist/query/query-dispatch-error-mapper.js.map +1 -0
  854. package/sdk/dist/query/query-dispatch-formatting.d.ts +6 -0
  855. package/sdk/dist/query/query-dispatch-formatting.d.ts.map +1 -0
  856. package/sdk/dist/query/query-dispatch-formatting.js +6 -0
  857. package/sdk/dist/query/query-dispatch-formatting.js.map +1 -0
  858. package/sdk/dist/query/query-dispatch-input-validation.d.ts +6 -0
  859. package/sdk/dist/query/query-dispatch-input-validation.d.ts.map +1 -0
  860. package/sdk/dist/query/query-dispatch-input-validation.js +6 -0
  861. package/sdk/dist/query/query-dispatch-input-validation.js.map +1 -0
  862. package/sdk/dist/query/query-dispatch-observability.d.ts +2 -0
  863. package/sdk/dist/query/query-dispatch-observability.d.ts.map +1 -0
  864. package/sdk/dist/query/query-dispatch-observability.js +7 -0
  865. package/sdk/dist/query/query-dispatch-observability.js.map +1 -0
  866. package/sdk/dist/query/query-dispatch-plan.d.ts +6 -0
  867. package/sdk/dist/query/query-dispatch-plan.d.ts.map +1 -0
  868. package/sdk/dist/query/query-dispatch-plan.js +6 -0
  869. package/sdk/dist/query/query-dispatch-plan.js.map +1 -0
  870. package/sdk/dist/query/query-dispatch-result-builder.d.ts +6 -0
  871. package/sdk/dist/query/query-dispatch-result-builder.d.ts.map +1 -0
  872. package/sdk/dist/query/query-dispatch-result-builder.js +6 -0
  873. package/sdk/dist/query/query-dispatch-result-builder.js.map +1 -0
  874. package/sdk/dist/query/query-dispatch.d.ts +48 -0
  875. package/sdk/dist/query/query-dispatch.d.ts.map +1 -0
  876. package/sdk/dist/query/query-dispatch.js +205 -0
  877. package/sdk/dist/query/query-dispatch.js.map +1 -0
  878. package/sdk/dist/query/query-error-details-schema.d.ts +19 -0
  879. package/sdk/dist/query/query-error-details-schema.d.ts.map +1 -0
  880. package/sdk/dist/query/query-error-details-schema.js +10 -0
  881. package/sdk/dist/query/query-error-details-schema.js.map +1 -0
  882. package/sdk/dist/query/query-error-taxonomy.d.ts +38 -0
  883. package/sdk/dist/query/query-error-taxonomy.d.ts.map +1 -0
  884. package/sdk/dist/query/query-error-taxonomy.js +74 -0
  885. package/sdk/dist/query/query-error-taxonomy.js.map +1 -0
  886. package/sdk/dist/query/query-fallback-bridge-adapter.d.ts +14 -0
  887. package/sdk/dist/query/query-fallback-bridge-adapter.d.ts.map +1 -0
  888. package/sdk/dist/query/query-fallback-bridge-adapter.js +33 -0
  889. package/sdk/dist/query/query-fallback-bridge-adapter.js.map +1 -0
  890. package/sdk/dist/query/query-fallback-executor.d.ts +11 -0
  891. package/sdk/dist/query/query-fallback-executor.d.ts.map +1 -0
  892. package/sdk/dist/query/query-fallback-executor.js +31 -0
  893. package/sdk/dist/query/query-fallback-executor.js.map +1 -0
  894. package/sdk/dist/query/query-fallback-output-classifier.d.ts +6 -0
  895. package/sdk/dist/query/query-fallback-output-classifier.d.ts.map +1 -0
  896. package/sdk/dist/query/query-fallback-output-classifier.js +27 -0
  897. package/sdk/dist/query/query-fallback-output-classifier.js.map +1 -0
  898. package/sdk/dist/query/query-fallback-policy.d.ts +6 -0
  899. package/sdk/dist/query/query-fallback-policy.d.ts.map +1 -0
  900. package/sdk/dist/query/query-fallback-policy.js +7 -0
  901. package/sdk/dist/query/query-fallback-policy.js.map +1 -0
  902. package/sdk/dist/query/query-native-dispatch-adapter.d.ts +7 -0
  903. package/sdk/dist/query/query-native-dispatch-adapter.d.ts.map +1 -0
  904. package/sdk/dist/query/query-native-dispatch-adapter.js +6 -0
  905. package/sdk/dist/query/query-native-dispatch-adapter.js.map +1 -0
  906. package/sdk/dist/query/query-policy-capability.d.ts +10 -0
  907. package/sdk/dist/query/query-policy-capability.d.ts.map +1 -0
  908. package/sdk/dist/query/query-policy-capability.js +17 -0
  909. package/sdk/dist/query/query-policy-capability.js.map +1 -0
  910. package/sdk/dist/query/query-runtime-context.d.ts +19 -0
  911. package/sdk/dist/query/query-runtime-context.d.ts.map +1 -0
  912. package/sdk/dist/query/query-runtime-context.js +31 -0
  913. package/sdk/dist/query/query-runtime-context.js.map +1 -0
  914. package/sdk/dist/query/query-unknown-command-hints.d.ts +2 -0
  915. package/sdk/dist/query/query-unknown-command-hints.d.ts.map +1 -0
  916. package/sdk/dist/query/query-unknown-command-hints.js +6 -0
  917. package/sdk/dist/query/query-unknown-command-hints.js.map +1 -0
  918. package/sdk/dist/query/registry-assembly-descriptor.d.ts +12 -0
  919. package/sdk/dist/query/registry-assembly-descriptor.d.ts.map +1 -0
  920. package/sdk/dist/query/registry-assembly-descriptor.js +61 -0
  921. package/sdk/dist/query/registry-assembly-descriptor.js.map +1 -0
  922. package/sdk/dist/query/registry-assembly-invariants.d.ts +30 -0
  923. package/sdk/dist/query/registry-assembly-invariants.d.ts.map +1 -0
  924. package/sdk/dist/query/registry-assembly-invariants.js +77 -0
  925. package/sdk/dist/query/registry-assembly-invariants.js.map +1 -0
  926. package/sdk/dist/query/registry-assembly.d.ts +10 -0
  927. package/sdk/dist/query/registry-assembly.d.ts.map +1 -0
  928. package/sdk/dist/query/registry-assembly.js +53 -0
  929. package/sdk/dist/query/registry-assembly.js.map +1 -0
  930. package/sdk/dist/query/registry.d.ts +90 -0
  931. package/sdk/dist/query/registry.d.ts.map +1 -0
  932. package/sdk/dist/query/registry.js +129 -0
  933. package/sdk/dist/query/registry.js.map +1 -0
  934. package/sdk/dist/query/requirements-extract-from-plans.d.ts +9 -0
  935. package/sdk/dist/query/requirements-extract-from-plans.d.ts.map +1 -0
  936. package/sdk/dist/query/requirements-extract-from-plans.js +76 -0
  937. package/sdk/dist/query/requirements-extract-from-plans.js.map +1 -0
  938. package/sdk/dist/query/roadmap-update-plan-progress.d.ts +11 -0
  939. package/sdk/dist/query/roadmap-update-plan-progress.d.ts.map +1 -0
  940. package/sdk/dist/query/roadmap-update-plan-progress.js +124 -0
  941. package/sdk/dist/query/roadmap-update-plan-progress.js.map +1 -0
  942. package/sdk/dist/query/roadmap.d.ts +137 -0
  943. package/sdk/dist/query/roadmap.d.ts.map +1 -0
  944. package/sdk/dist/query/roadmap.js +753 -0
  945. package/sdk/dist/query/roadmap.js.map +1 -0
  946. package/sdk/dist/query/route-next-action.d.ts +9 -0
  947. package/sdk/dist/query/route-next-action.d.ts.map +1 -0
  948. package/sdk/dist/query/route-next-action.js +342 -0
  949. package/sdk/dist/query/route-next-action.js.map +1 -0
  950. package/sdk/dist/query/schema-detect.d.ts +21 -0
  951. package/sdk/dist/query/schema-detect.d.ts.map +1 -0
  952. package/sdk/dist/query/schema-detect.js +146 -0
  953. package/sdk/dist/query/schema-detect.js.map +1 -0
  954. package/sdk/dist/query/secrets.d.ts +27 -0
  955. package/sdk/dist/query/secrets.d.ts.map +1 -0
  956. package/sdk/dist/query/secrets.js +42 -0
  957. package/sdk/dist/query/secrets.js.map +1 -0
  958. package/sdk/dist/query/skill-manifest.d.ts +50 -0
  959. package/sdk/dist/query/skill-manifest.d.ts.map +1 -0
  960. package/sdk/dist/query/skill-manifest.js +171 -0
  961. package/sdk/dist/query/skill-manifest.js.map +1 -0
  962. package/sdk/dist/query/skills.d.ts +27 -0
  963. package/sdk/dist/query/skills.d.ts.map +1 -0
  964. package/sdk/dist/query/skills.js +137 -0
  965. package/sdk/dist/query/skills.js.map +1 -0
  966. package/sdk/dist/query/state-document.d.ts +14 -0
  967. package/sdk/dist/query/state-document.d.ts.map +1 -0
  968. package/sdk/dist/query/state-document.js +110 -0
  969. package/sdk/dist/query/state-document.js.map +1 -0
  970. package/sdk/dist/query/state-mutation.d.ts +224 -0
  971. package/sdk/dist/query/state-mutation.d.ts.map +1 -0
  972. package/sdk/dist/query/state-mutation.js +1539 -0
  973. package/sdk/dist/query/state-mutation.js.map +1 -0
  974. package/sdk/dist/query/state-project-load.d.ts +23 -0
  975. package/sdk/dist/query/state-project-load.d.ts.map +1 -0
  976. package/sdk/dist/query/state-project-load.js +75 -0
  977. package/sdk/dist/query/state-project-load.js.map +1 -0
  978. package/sdk/dist/query/state.d.ts +78 -0
  979. package/sdk/dist/query/state.d.ts.map +1 -0
  980. package/sdk/dist/query/state.js +430 -0
  981. package/sdk/dist/query/state.js.map +1 -0
  982. package/sdk/dist/query/summary.d.ts +18 -0
  983. package/sdk/dist/query/summary.d.ts.map +1 -0
  984. package/sdk/dist/query/summary.js +249 -0
  985. package/sdk/dist/query/summary.js.map +1 -0
  986. package/sdk/dist/query/task-issues.d.ts +5 -0
  987. package/sdk/dist/query/task-issues.d.ts.map +1 -0
  988. package/sdk/dist/query/task-issues.js +72 -0
  989. package/sdk/dist/query/task-issues.js.map +1 -0
  990. package/sdk/dist/query/template.d.ts +46 -0
  991. package/sdk/dist/query/template.d.ts.map +1 -0
  992. package/sdk/dist/query/template.js +210 -0
  993. package/sdk/dist/query/template.js.map +1 -0
  994. package/sdk/dist/query/uat.d.ts +34 -0
  995. package/sdk/dist/query/uat.d.ts.map +1 -0
  996. package/sdk/dist/query/uat.js +339 -0
  997. package/sdk/dist/query/uat.js.map +1 -0
  998. package/sdk/dist/query/utils.d.ts +59 -0
  999. package/sdk/dist/query/utils.d.ts.map +1 -0
  1000. package/sdk/dist/query/utils.js +74 -0
  1001. package/sdk/dist/query/utils.js.map +1 -0
  1002. package/sdk/dist/query/validate.d.ts +67 -0
  1003. package/sdk/dist/query/validate.d.ts.map +1 -0
  1004. package/sdk/dist/query/validate.js +908 -0
  1005. package/sdk/dist/query/validate.js.map +1 -0
  1006. package/sdk/dist/query/verify.d.ts +110 -0
  1007. package/sdk/dist/query/verify.d.ts.map +1 -0
  1008. package/sdk/dist/query/verify.js +647 -0
  1009. package/sdk/dist/query/verify.js.map +1 -0
  1010. package/sdk/dist/query/websearch.d.ts +24 -0
  1011. package/sdk/dist/query/websearch.d.ts.map +1 -0
  1012. package/sdk/dist/query/websearch.js +68 -0
  1013. package/sdk/dist/query/websearch.js.map +1 -0
  1014. package/sdk/dist/query/workspace.d.ts +62 -0
  1015. package/sdk/dist/query/workspace.d.ts.map +1 -0
  1016. package/sdk/dist/query/workspace.js +104 -0
  1017. package/sdk/dist/query/workspace.js.map +1 -0
  1018. package/sdk/dist/query/workstream-inventory.d.ts +24 -0
  1019. package/sdk/dist/query/workstream-inventory.d.ts.map +1 -0
  1020. package/sdk/dist/query/workstream-inventory.js +120 -0
  1021. package/sdk/dist/query/workstream-inventory.js.map +1 -0
  1022. package/sdk/dist/query/workstream.d.ts +35 -0
  1023. package/sdk/dist/query/workstream.d.ts.map +1 -0
  1024. package/sdk/dist/query/workstream.js +298 -0
  1025. package/sdk/dist/query/workstream.js.map +1 -0
  1026. package/sdk/dist/query/worktree.d.ts +3 -0
  1027. package/sdk/dist/query/worktree.d.ts.map +1 -0
  1028. package/sdk/dist/query/worktree.js +36 -0
  1029. package/sdk/dist/query/worktree.js.map +1 -0
  1030. package/sdk/dist/query-command-executor.d.ts +22 -0
  1031. package/sdk/dist/query-command-executor.d.ts.map +1 -0
  1032. package/sdk/dist/query-command-executor.js +22 -0
  1033. package/sdk/dist/query-command-executor.js.map +1 -0
  1034. package/sdk/dist/query-execution-policy.d.ts +24 -0
  1035. package/sdk/dist/query-execution-policy.d.ts.map +1 -0
  1036. package/sdk/dist/query-execution-policy.js +27 -0
  1037. package/sdk/dist/query-execution-policy.js.map +1 -0
  1038. package/sdk/dist/query-failure-classification.d.ts +9 -0
  1039. package/sdk/dist/query-failure-classification.d.ts.map +1 -0
  1040. package/sdk/dist/query-failure-classification.js +32 -0
  1041. package/sdk/dist/query-failure-classification.js.map +1 -0
  1042. package/sdk/dist/query-gtd-tools-path.d.ts +2 -0
  1043. package/sdk/dist/query-gtd-tools-path.d.ts.map +1 -0
  1044. package/sdk/dist/query-gtd-tools-path.js +2 -0
  1045. package/sdk/dist/query-gtd-tools-path.js.map +1 -0
  1046. package/sdk/dist/query-gtd-tools-runtime.d.ts +20 -0
  1047. package/sdk/dist/query-gtd-tools-runtime.d.ts.map +1 -0
  1048. package/sdk/dist/query-gtd-tools-runtime.js +47 -0
  1049. package/sdk/dist/query-gtd-tools-runtime.js.map +1 -0
  1050. package/sdk/dist/query-hotpath-methods.d.ts +19 -0
  1051. package/sdk/dist/query-hotpath-methods.d.ts.map +1 -0
  1052. package/sdk/dist/query-hotpath-methods.js +34 -0
  1053. package/sdk/dist/query-hotpath-methods.js.map +1 -0
  1054. package/sdk/dist/query-native-direct-adapter.d.ts +20 -0
  1055. package/sdk/dist/query-native-direct-adapter.d.ts.map +1 -0
  1056. package/sdk/dist/query-native-direct-adapter.js +52 -0
  1057. package/sdk/dist/query-native-direct-adapter.js.map +1 -0
  1058. package/sdk/dist/query-native-hotpath-adapter.d.ts +15 -0
  1059. package/sdk/dist/query-native-hotpath-adapter.d.ts.map +1 -0
  1060. package/sdk/dist/query-native-hotpath-adapter.js +32 -0
  1061. package/sdk/dist/query-native-hotpath-adapter.js.map +1 -0
  1062. package/sdk/dist/query-raw-output-projection.d.ts +6 -0
  1063. package/sdk/dist/query-raw-output-projection.d.ts.map +1 -0
  1064. package/sdk/dist/query-raw-output-projection.js +67 -0
  1065. package/sdk/dist/query-raw-output-projection.js.map +1 -0
  1066. package/sdk/dist/query-runtime-bridge.d.ts +61 -0
  1067. package/sdk/dist/query-runtime-bridge.d.ts.map +1 -0
  1068. package/sdk/dist/query-runtime-bridge.js +144 -0
  1069. package/sdk/dist/query-runtime-bridge.js.map +1 -0
  1070. package/sdk/dist/query-subprocess-adapter.d.ts +18 -0
  1071. package/sdk/dist/query-subprocess-adapter.d.ts.map +1 -0
  1072. package/sdk/dist/query-subprocess-adapter.js +92 -0
  1073. package/sdk/dist/query-subprocess-adapter.js.map +1 -0
  1074. package/sdk/dist/query-tools-error-factory.d.ts +16 -0
  1075. package/sdk/dist/query-tools-error-factory.d.ts.map +1 -0
  1076. package/sdk/dist/query-tools-error-factory.js +33 -0
  1077. package/sdk/dist/query-tools-error-factory.js.map +1 -0
  1078. package/sdk/dist/research-gate.d.ts +24 -0
  1079. package/sdk/dist/research-gate.d.ts.map +1 -0
  1080. package/sdk/dist/research-gate.js +70 -0
  1081. package/sdk/dist/research-gate.js.map +1 -0
  1082. package/sdk/dist/runtime-bridge-sync/index.d.ts +96 -0
  1083. package/sdk/dist/runtime-bridge-sync/index.d.ts.map +1 -0
  1084. package/sdk/dist/runtime-bridge-sync/index.js +109 -0
  1085. package/sdk/dist/runtime-bridge-sync/index.js.map +1 -0
  1086. package/sdk/dist/runtime-bridge-sync/worker.d.ts +2 -0
  1087. package/sdk/dist/runtime-bridge-sync/worker.d.ts.map +1 -0
  1088. package/sdk/dist/runtime-bridge-sync/worker.js +138 -0
  1089. package/sdk/dist/runtime-bridge-sync/worker.js.map +1 -0
  1090. package/sdk/dist/runtime-gate.d.ts +14 -0
  1091. package/sdk/dist/runtime-gate.d.ts.map +1 -0
  1092. package/sdk/dist/runtime-gate.js +48 -0
  1093. package/sdk/dist/runtime-gate.js.map +1 -0
  1094. package/sdk/dist/sdk-package-compatibility.d.ts +40 -0
  1095. package/sdk/dist/sdk-package-compatibility.d.ts.map +1 -0
  1096. package/sdk/dist/sdk-package-compatibility.js +94 -0
  1097. package/sdk/dist/sdk-package-compatibility.js.map +1 -0
  1098. package/sdk/dist/session-runner.d.ts +40 -0
  1099. package/sdk/dist/session-runner.d.ts.map +1 -0
  1100. package/sdk/dist/session-runner.js +274 -0
  1101. package/sdk/dist/session-runner.js.map +1 -0
  1102. package/sdk/dist/task-issues/adapters.d.ts +94 -0
  1103. package/sdk/dist/task-issues/adapters.d.ts.map +1 -0
  1104. package/sdk/dist/task-issues/adapters.js +2 -0
  1105. package/sdk/dist/task-issues/adapters.js.map +1 -0
  1106. package/sdk/dist/task-issues/core.d.ts +16 -0
  1107. package/sdk/dist/task-issues/core.d.ts.map +1 -0
  1108. package/sdk/dist/task-issues/core.js +283 -0
  1109. package/sdk/dist/task-issues/core.js.map +1 -0
  1110. package/sdk/dist/task-issues/export-phase-issues.d.ts +326 -0
  1111. package/sdk/dist/task-issues/export-phase-issues.d.ts.map +1 -0
  1112. package/sdk/dist/task-issues/export-phase-issues.js +1675 -0
  1113. package/sdk/dist/task-issues/export-phase-issues.js.map +1 -0
  1114. package/sdk/dist/task-issues/github-api-client.d.ts +23 -0
  1115. package/sdk/dist/task-issues/github-api-client.d.ts.map +1 -0
  1116. package/sdk/dist/task-issues/github-api-client.js +66 -0
  1117. package/sdk/dist/task-issues/github-api-client.js.map +1 -0
  1118. package/sdk/dist/task-issues/github-repo.d.ts +4 -0
  1119. package/sdk/dist/task-issues/github-repo.d.ts.map +1 -0
  1120. package/sdk/dist/task-issues/github-repo.js +108 -0
  1121. package/sdk/dist/task-issues/github-repo.js.map +1 -0
  1122. package/sdk/dist/task-issues/orchestrate-tasks.d.ts +319 -0
  1123. package/sdk/dist/task-issues/orchestrate-tasks.d.ts.map +1 -0
  1124. package/sdk/dist/task-issues/orchestrate-tasks.js +2040 -0
  1125. package/sdk/dist/task-issues/orchestrate-tasks.js.map +1 -0
  1126. package/sdk/dist/task-issues/plan-scan.d.ts +13 -0
  1127. package/sdk/dist/task-issues/plan-scan.d.ts.map +1 -0
  1128. package/sdk/dist/task-issues/plan-scan.js +70 -0
  1129. package/sdk/dist/task-issues/plan-scan.js.map +1 -0
  1130. package/sdk/dist/task-issues/runtime-slash.d.ts +4 -0
  1131. package/sdk/dist/task-issues/runtime-slash.d.ts.map +1 -0
  1132. package/sdk/dist/task-issues/runtime-slash.js +40 -0
  1133. package/sdk/dist/task-issues/runtime-slash.js.map +1 -0
  1134. package/sdk/dist/task-issues/task-issue-shared.d.ts +18 -0
  1135. package/sdk/dist/task-issues/task-issue-shared.d.ts.map +1 -0
  1136. package/sdk/dist/task-issues/task-issue-shared.js +44 -0
  1137. package/sdk/dist/task-issues/task-issue-shared.js.map +1 -0
  1138. package/sdk/dist/task-issues/types.d.ts +30 -0
  1139. package/sdk/dist/task-issues/types.d.ts.map +1 -0
  1140. package/sdk/dist/task-issues/types.js +2 -0
  1141. package/sdk/dist/task-issues/types.js.map +1 -0
  1142. package/sdk/dist/task-issues/work-task-issue.d.ts +1199 -0
  1143. package/sdk/dist/task-issues/work-task-issue.d.ts.map +1 -0
  1144. package/sdk/dist/task-issues/work-task-issue.js +3255 -0
  1145. package/sdk/dist/task-issues/work-task-issue.js.map +1 -0
  1146. package/sdk/dist/task-issues/worktree-safety.d.ts +5 -0
  1147. package/sdk/dist/task-issues/worktree-safety.d.ts.map +1 -0
  1148. package/sdk/dist/task-issues/worktree-safety.js +18 -0
  1149. package/sdk/dist/task-issues/worktree-safety.js.map +1 -0
  1150. package/sdk/dist/tool-scoping.d.ts +31 -0
  1151. package/sdk/dist/tool-scoping.d.ts.map +1 -0
  1152. package/sdk/dist/tool-scoping.js +54 -0
  1153. package/sdk/dist/tool-scoping.js.map +1 -0
  1154. package/sdk/dist/types.d.ts +795 -0
  1155. package/sdk/dist/types.d.ts.map +1 -0
  1156. package/sdk/dist/types.js +77 -0
  1157. package/sdk/dist/types.js.map +1 -0
  1158. package/sdk/dist/workstream-inventory/builder.d.ts +88 -0
  1159. package/sdk/dist/workstream-inventory/builder.d.ts.map +1 -0
  1160. package/sdk/dist/workstream-inventory/builder.js +84 -0
  1161. package/sdk/dist/workstream-inventory/builder.js.map +1 -0
  1162. package/sdk/dist/workstream-name-policy.d.ts +13 -0
  1163. package/sdk/dist/workstream-name-policy.d.ts.map +1 -0
  1164. package/sdk/dist/workstream-name-policy.js +24 -0
  1165. package/sdk/dist/workstream-name-policy.js.map +1 -0
  1166. package/sdk/dist/workstream-utils.d.ts +23 -0
  1167. package/sdk/dist/workstream-utils.d.ts.map +1 -0
  1168. package/sdk/dist/workstream-utils.js +34 -0
  1169. package/sdk/dist/workstream-utils.js.map +1 -0
  1170. package/sdk/dist/ws-transport.d.ts +32 -0
  1171. package/sdk/dist/ws-transport.d.ts.map +1 -0
  1172. package/sdk/dist/ws-transport.js +84 -0
  1173. package/sdk/dist/ws-transport.js.map +1 -0
  1174. package/sdk/package-lock.json +2530 -0
  1175. package/sdk/package.json +67 -0
  1176. package/sdk/prompts/templates/project.md +186 -0
  1177. package/sdk/prompts/templates/requirements.md +231 -0
  1178. package/sdk/prompts/templates/research-project/ARCHITECTURE.md +204 -0
  1179. package/sdk/prompts/templates/research-project/FEATURES.md +147 -0
  1180. package/sdk/prompts/templates/research-project/PITFALLS.md +200 -0
  1181. package/sdk/prompts/templates/research-project/STACK.md +120 -0
  1182. package/sdk/prompts/templates/research-project/SUMMARY.md +170 -0
  1183. package/sdk/prompts/templates/roadmap.md +202 -0
  1184. package/sdk/prompts/templates/state.md +175 -0
  1185. package/sdk/shared/config-defaults.manifest.json +71 -0
  1186. package/sdk/shared/config-schema.manifest.json +139 -0
  1187. package/sdk/shared/model-catalog.json +122 -0
  1188. package/sdk/src/assembled-prompts.test.ts +349 -0
  1189. package/sdk/src/bug-3589-planning-paths-validation.test.ts +89 -0
  1190. package/sdk/src/bug-3591-gtdtools-runtime-workstream.test.ts +179 -0
  1191. package/sdk/src/cli-transport.test.ts +388 -0
  1192. package/sdk/src/cli-transport.ts +130 -0
  1193. package/sdk/src/cli.test.ts +426 -0
  1194. package/sdk/src/cli.ts +589 -0
  1195. package/sdk/src/config.test.ts +277 -0
  1196. package/sdk/src/config.ts +201 -0
  1197. package/sdk/src/configuration/index.test.ts +318 -0
  1198. package/sdk/src/configuration/index.ts +325 -0
  1199. package/sdk/src/context-engine.test.ts +295 -0
  1200. package/sdk/src/context-engine.ts +170 -0
  1201. package/sdk/src/context-truncation.test.ts +163 -0
  1202. package/sdk/src/context-truncation.ts +233 -0
  1203. package/sdk/src/e2e.integration.test.ts +181 -0
  1204. package/sdk/src/errors.ts +72 -0
  1205. package/sdk/src/event-stream.test.ts +661 -0
  1206. package/sdk/src/event-stream.ts +441 -0
  1207. package/sdk/src/golden/capture.ts +95 -0
  1208. package/sdk/src/golden/fixtures/generate-slug.golden.json +1 -0
  1209. package/sdk/src/golden/fixtures/profile-sample-sessions/demo-project/sample.jsonl +3 -0
  1210. package/sdk/src/golden/fixtures/summary-extract-sample.md +26 -0
  1211. package/sdk/src/golden/fixtures/uat-render-checkpoint-sample.md +15 -0
  1212. package/sdk/src/golden/golden-integration-covered.ts +30 -0
  1213. package/sdk/src/golden/golden-mutation-covered.ts +17 -0
  1214. package/sdk/src/golden/golden-policy.test.ts +8 -0
  1215. package/sdk/src/golden/golden-policy.ts +118 -0
  1216. package/sdk/src/golden/golden.integration.test.ts +897 -0
  1217. package/sdk/src/golden/init-golden-normalize.ts +15 -0
  1218. package/sdk/src/golden/read-only-golden-rows.ts +77 -0
  1219. package/sdk/src/golden/read-only-parity.integration.test.ts +133 -0
  1220. package/sdk/src/golden/registry-canonical-commands.ts +31 -0
  1221. package/sdk/src/gtd-tools-error.test.ts +21 -0
  1222. package/sdk/src/gtd-tools-error.ts +65 -0
  1223. package/sdk/src/gtd-tools.test.ts +472 -0
  1224. package/sdk/src/gtd-tools.ts +285 -0
  1225. package/sdk/src/gtd-transport-policy.test.ts +34 -0
  1226. package/sdk/src/gtd-transport-policy.ts +48 -0
  1227. package/sdk/src/gtd-transport.test.ts +292 -0
  1228. package/sdk/src/gtd-transport.ts +117 -0
  1229. package/sdk/src/index.ts +371 -0
  1230. package/sdk/src/init-e2e.integration.test.ts +138 -0
  1231. package/sdk/src/init-runner.test.ts +740 -0
  1232. package/sdk/src/init-runner.ts +734 -0
  1233. package/sdk/src/lifecycle-e2e.integration.test.ts +258 -0
  1234. package/sdk/src/logger.test.ts +149 -0
  1235. package/sdk/src/logger.ts +113 -0
  1236. package/sdk/src/milestone-runner.test.ts +421 -0
  1237. package/sdk/src/model-catalog.ts +77 -0
  1238. package/sdk/src/phase-prompt.test.ts +536 -0
  1239. package/sdk/src/phase-prompt.ts +257 -0
  1240. package/sdk/src/phase-runner-types.test.ts +421 -0
  1241. package/sdk/src/phase-runner.integration.test.ts +377 -0
  1242. package/sdk/src/phase-runner.test.ts +2720 -0
  1243. package/sdk/src/phase-runner.ts +1442 -0
  1244. package/sdk/src/plan-atomicity.test.ts +220 -0
  1245. package/sdk/src/plan-atomicity.ts +162 -0
  1246. package/sdk/src/plan-parser.test.ts +579 -0
  1247. package/sdk/src/plan-parser.ts +433 -0
  1248. package/sdk/src/planning-journal.test.ts +70 -0
  1249. package/sdk/src/planning-journal.ts +153 -0
  1250. package/sdk/src/planning-runtime.test.ts +29 -0
  1251. package/sdk/src/planning-runtime.ts +100 -0
  1252. package/sdk/src/project-root/index.test.ts +186 -0
  1253. package/sdk/src/project-root/index.ts +144 -0
  1254. package/sdk/src/prompt-builder.test.ts +318 -0
  1255. package/sdk/src/prompt-builder.ts +218 -0
  1256. package/sdk/src/prompt-sanitizer.test.ts +260 -0
  1257. package/sdk/src/prompt-sanitizer.ts +116 -0
  1258. package/sdk/src/query/QUERY-HANDLERS.md +346 -0
  1259. package/sdk/src/query/active-workstream-store.ts +50 -0
  1260. package/sdk/src/query/agent-failure-classifier.test.ts +157 -0
  1261. package/sdk/src/query/agent-failure-classifier.ts +104 -0
  1262. package/sdk/src/query/audit-open.ts +722 -0
  1263. package/sdk/src/query/check-auto-mode.test.ts +77 -0
  1264. package/sdk/src/query/check-auto-mode.ts +49 -0
  1265. package/sdk/src/query/check-completion.test.ts +113 -0
  1266. package/sdk/src/query/check-completion.ts +182 -0
  1267. package/sdk/src/query/check-decision-coverage.test.ts +519 -0
  1268. package/sdk/src/query/check-decision-coverage.ts +554 -0
  1269. package/sdk/src/query/check-gates.test.ts +103 -0
  1270. package/sdk/src/query/check-gates.ts +112 -0
  1271. package/sdk/src/query/check-verification-status.test.ts +143 -0
  1272. package/sdk/src/query/check-verification-status.ts +160 -0
  1273. package/sdk/src/query/command-aliases.generated.ts +155 -0
  1274. package/sdk/src/query/command-catalog.ts +31 -0
  1275. package/sdk/src/query/command-definition.test.ts +47 -0
  1276. package/sdk/src/query/command-definition.ts +70 -0
  1277. package/sdk/src/query/command-family-handlers.ts +116 -0
  1278. package/sdk/src/query/command-manifest.init.ts +23 -0
  1279. package/sdk/src/query/command-manifest.non-family.ts +89 -0
  1280. package/sdk/src/query/command-manifest.phase.ts +16 -0
  1281. package/sdk/src/query/command-manifest.phases.ts +11 -0
  1282. package/sdk/src/query/command-manifest.roadmap.ts +11 -0
  1283. package/sdk/src/query/command-manifest.state.ts +31 -0
  1284. package/sdk/src/query/command-manifest.ts +17 -0
  1285. package/sdk/src/query/command-manifest.types.ts +13 -0
  1286. package/sdk/src/query/command-manifest.validate.ts +11 -0
  1287. package/sdk/src/query/command-manifest.verify.ts +15 -0
  1288. package/sdk/src/query/command-resolution.test.ts +70 -0
  1289. package/sdk/src/query/command-seam-coverage.test.ts +118 -0
  1290. package/sdk/src/query/command-static-catalog-domain.ts +121 -0
  1291. package/sdk/src/query/command-static-catalog-foundation.ts +100 -0
  1292. package/sdk/src/query/command-topology.test.ts +28 -0
  1293. package/sdk/src/query/command-topology.ts +114 -0
  1294. package/sdk/src/query/commands-list.test.ts +36 -0
  1295. package/sdk/src/query/commands-list.ts +19 -0
  1296. package/sdk/src/query/commit.test.ts +485 -0
  1297. package/sdk/src/query/commit.ts +383 -0
  1298. package/sdk/src/query/config-gates.test.ts +89 -0
  1299. package/sdk/src/query/config-gates.ts +69 -0
  1300. package/sdk/src/query/config-mutation.test.ts +572 -0
  1301. package/sdk/src/query/config-mutation.ts +484 -0
  1302. package/sdk/src/query/config-query.test.ts +367 -0
  1303. package/sdk/src/query/config-query.ts +244 -0
  1304. package/sdk/src/query/config-schema.ts +35 -0
  1305. package/sdk/src/query/decisions.test.ts +215 -0
  1306. package/sdk/src/query/decisions.ts +192 -0
  1307. package/sdk/src/query/decomposed-handlers.test.ts +431 -0
  1308. package/sdk/src/query/detect-custom-files.test.ts +115 -0
  1309. package/sdk/src/query/detect-custom-files.ts +96 -0
  1310. package/sdk/src/query/detect-phase-type.test.ts +105 -0
  1311. package/sdk/src/query/detect-phase-type.ts +141 -0
  1312. package/sdk/src/query/docs-init.ts +258 -0
  1313. package/sdk/src/query/fallow-audit.ts +88 -0
  1314. package/sdk/src/query/frontmatter-array.test.ts +14 -0
  1315. package/sdk/src/query/frontmatter-mutation.test.ts +259 -0
  1316. package/sdk/src/query/frontmatter-mutation.ts +343 -0
  1317. package/sdk/src/query/frontmatter.test.ts +326 -0
  1318. package/sdk/src/query/frontmatter.ts +395 -0
  1319. package/sdk/src/query/helpers.test.ts +615 -0
  1320. package/sdk/src/query/helpers.ts +523 -0
  1321. package/sdk/src/query/index-thin-seam.test.ts +16 -0
  1322. package/sdk/src/query/index.ts +9 -0
  1323. package/sdk/src/query/init-complex.test.ts +616 -0
  1324. package/sdk/src/query/init-complex.ts +805 -0
  1325. package/sdk/src/query/init-progress-precedence.test.ts +177 -0
  1326. package/sdk/src/query/init-workstream-milestone-op.test.ts +321 -0
  1327. package/sdk/src/query/init.test.ts +645 -0
  1328. package/sdk/src/query/init.ts +1167 -0
  1329. package/sdk/src/query/intel.test.ts +90 -0
  1330. package/sdk/src/query/intel.ts +404 -0
  1331. package/sdk/src/query/mutation-event-decorator.test.ts +45 -0
  1332. package/sdk/src/query/mutation-event-decorator.ts +37 -0
  1333. package/sdk/src/query/mutation-event-mapper.test.ts +33 -0
  1334. package/sdk/src/query/mutation-event-mapper.ts +102 -0
  1335. package/sdk/src/query/mvp.test.ts +335 -0
  1336. package/sdk/src/query/mvp.ts +292 -0
  1337. package/sdk/src/query/normalize-query-command.test.ts +102 -0
  1338. package/sdk/src/query/phase-filesystem-adapter.ts +35 -0
  1339. package/sdk/src/query/phase-lifecycle-policy.ts +171 -0
  1340. package/sdk/src/query/phase-lifecycle.test.ts +1750 -0
  1341. package/sdk/src/query/phase-lifecycle.ts +1833 -0
  1342. package/sdk/src/query/phase-list-queries.test.ts +88 -0
  1343. package/sdk/src/query/phase-list-queries.ts +152 -0
  1344. package/sdk/src/query/phase-ready.test.ts +65 -0
  1345. package/sdk/src/query/phase-ready.ts +159 -0
  1346. package/sdk/src/query/phase-roadmap-mutation.ts +77 -0
  1347. package/sdk/src/query/phase.test.ts +651 -0
  1348. package/sdk/src/query/phase.ts +550 -0
  1349. package/sdk/src/query/pipeline.test.ts +169 -0
  1350. package/sdk/src/query/pipeline.ts +243 -0
  1351. package/sdk/src/query/plan-scan.test.ts +35 -0
  1352. package/sdk/src/query/plan-scan.ts +82 -0
  1353. package/sdk/src/query/plan-task-structure.test.ts +65 -0
  1354. package/sdk/src/query/plan-task-structure.ts +63 -0
  1355. package/sdk/src/query/policy-convergence.test.ts +28 -0
  1356. package/sdk/src/query/profile-extract-messages.ts +247 -0
  1357. package/sdk/src/query/profile-output.ts +929 -0
  1358. package/sdk/src/query/profile-questionnaire-data.ts +181 -0
  1359. package/sdk/src/query/profile-sample.ts +184 -0
  1360. package/sdk/src/query/profile-scan-sessions.ts +174 -0
  1361. package/sdk/src/query/profile.test.ts +136 -0
  1362. package/sdk/src/query/profile.ts +337 -0
  1363. package/sdk/src/query/progress.test.ts +156 -0
  1364. package/sdk/src/query/progress.ts +566 -0
  1365. package/sdk/src/query/query-cli-adapter.test.ts +79 -0
  1366. package/sdk/src/query/query-cli-adapter.ts +39 -0
  1367. package/sdk/src/query/query-cli-output.test.ts +33 -0
  1368. package/sdk/src/query/query-cli-output.ts +63 -0
  1369. package/sdk/src/query/query-command-diagnosis.test.ts +22 -0
  1370. package/sdk/src/query/query-command-diagnosis.ts +5 -0
  1371. package/sdk/src/query/query-command-resolution-strategy.test.ts +34 -0
  1372. package/sdk/src/query/query-command-resolution-strategy.ts +121 -0
  1373. package/sdk/src/query/query-command-semantics.test.ts +22 -0
  1374. package/sdk/src/query/query-command-semantics.ts +22 -0
  1375. package/sdk/src/query/query-dispatch-contract.ts +30 -0
  1376. package/sdk/src/query/query-dispatch-error-mapper.test.ts +62 -0
  1377. package/sdk/src/query/query-dispatch-error-mapper.ts +5 -0
  1378. package/sdk/src/query/query-dispatch-formatting.test.ts +28 -0
  1379. package/sdk/src/query/query-dispatch-formatting.ts +5 -0
  1380. package/sdk/src/query/query-dispatch-input-validation.test.ts +23 -0
  1381. package/sdk/src/query/query-dispatch-input-validation.ts +5 -0
  1382. package/sdk/src/query/query-dispatch-observability.test.ts +10 -0
  1383. package/sdk/src/query/query-dispatch-observability.ts +6 -0
  1384. package/sdk/src/query/query-dispatch-plan.test.ts +25 -0
  1385. package/sdk/src/query/query-dispatch-plan.ts +5 -0
  1386. package/sdk/src/query/query-dispatch-result-builder.test.ts +16 -0
  1387. package/sdk/src/query/query-dispatch-result-builder.ts +5 -0
  1388. package/sdk/src/query/query-dispatch.test.ts +399 -0
  1389. package/sdk/src/query/query-dispatch.ts +275 -0
  1390. package/sdk/src/query/query-error-details-schema.ts +29 -0
  1391. package/sdk/src/query/query-error-taxonomy.test.ts +39 -0
  1392. package/sdk/src/query/query-error-taxonomy.ts +117 -0
  1393. package/sdk/src/query/query-fallback-bridge-adapter.test.ts +32 -0
  1394. package/sdk/src/query/query-fallback-bridge-adapter.ts +54 -0
  1395. package/sdk/src/query/query-fallback-executor.test.ts +82 -0
  1396. package/sdk/src/query/query-fallback-executor.ts +44 -0
  1397. package/sdk/src/query/query-fallback-output-classifier.test.ts +36 -0
  1398. package/sdk/src/query/query-fallback-output-classifier.ts +31 -0
  1399. package/sdk/src/query/query-fallback-policy.test.ts +13 -0
  1400. package/sdk/src/query/query-fallback-policy.ts +11 -0
  1401. package/sdk/src/query/query-native-dispatch-adapter.ts +16 -0
  1402. package/sdk/src/query/query-policy-capability.test.ts +10 -0
  1403. package/sdk/src/query/query-policy-capability.ts +26 -0
  1404. package/sdk/src/query/query-policy-snapshot.test.ts +9 -0
  1405. package/sdk/src/query/query-registry-capability.test.ts +14 -0
  1406. package/sdk/src/query/query-runtime-context.ts +44 -0
  1407. package/sdk/src/query/query-unknown-command-hints.test.ts +9 -0
  1408. package/sdk/src/query/query-unknown-command-hints.ts +5 -0
  1409. package/sdk/src/query/registry-assembly-descriptor.ts +87 -0
  1410. package/sdk/src/query/registry-assembly-invariants.ts +127 -0
  1411. package/sdk/src/query/registry-assembly.test.ts +138 -0
  1412. package/sdk/src/query/registry-assembly.ts +78 -0
  1413. package/sdk/src/query/registry.test.ts +208 -0
  1414. package/sdk/src/query/registry.ts +142 -0
  1415. package/sdk/src/query/requirements-extract-from-plans.test.ts +58 -0
  1416. package/sdk/src/query/requirements-extract-from-plans.ts +86 -0
  1417. package/sdk/src/query/roadmap-update-plan-progress.test.ts +233 -0
  1418. package/sdk/src/query/roadmap-update-plan-progress.ts +159 -0
  1419. package/sdk/src/query/roadmap.test.ts +1181 -0
  1420. package/sdk/src/query/roadmap.ts +894 -0
  1421. package/sdk/src/query/route-next-action.test.ts +142 -0
  1422. package/sdk/src/query/route-next-action.ts +370 -0
  1423. package/sdk/src/query/schema-detect.ts +189 -0
  1424. package/sdk/src/query/secrets.test.ts +66 -0
  1425. package/sdk/src/query/secrets.ts +43 -0
  1426. package/sdk/src/query/skill-manifest.test.ts +62 -0
  1427. package/sdk/src/query/skill-manifest.ts +216 -0
  1428. package/sdk/src/query/skills.test.ts +234 -0
  1429. package/sdk/src/query/skills.ts +143 -0
  1430. package/sdk/src/query/state-document.test.ts +197 -0
  1431. package/sdk/src/query/state-document.ts +129 -0
  1432. package/sdk/src/query/state-mutation.test.ts +1198 -0
  1433. package/sdk/src/query/state-mutation.ts +1718 -0
  1434. package/sdk/src/query/state-project-load.ts +80 -0
  1435. package/sdk/src/query/state.test.ts +616 -0
  1436. package/sdk/src/query/state.ts +463 -0
  1437. package/sdk/src/query/sub-repos-root.integration.test.ts +79 -0
  1438. package/sdk/src/query/summary.test.ts +95 -0
  1439. package/sdk/src/query/summary.ts +296 -0
  1440. package/sdk/src/query/task-issues.ts +86 -0
  1441. package/sdk/src/query/template.test.ts +180 -0
  1442. package/sdk/src/query/template.ts +242 -0
  1443. package/sdk/src/query/uat.test.ts +77 -0
  1444. package/sdk/src/query/uat.ts +365 -0
  1445. package/sdk/src/query/utils.test.ts +82 -0
  1446. package/sdk/src/query/utils.ts +106 -0
  1447. package/sdk/src/query/validate.test.ts +831 -0
  1448. package/sdk/src/query/validate.ts +952 -0
  1449. package/sdk/src/query/verify.test.ts +416 -0
  1450. package/sdk/src/query/verify.ts +711 -0
  1451. package/sdk/src/query/websearch.test.ts +31 -0
  1452. package/sdk/src/query/websearch.ts +82 -0
  1453. package/sdk/src/query/workspace.test.ts +120 -0
  1454. package/sdk/src/query/workspace.ts +145 -0
  1455. package/sdk/src/query/workstream-inventory.ts +143 -0
  1456. package/sdk/src/query/workstream.test.ts +153 -0
  1457. package/sdk/src/query/workstream.ts +324 -0
  1458. package/sdk/src/query/worktree.ts +39 -0
  1459. package/sdk/src/query-command-executor.ts +31 -0
  1460. package/sdk/src/query-execution-policy.test.ts +52 -0
  1461. package/sdk/src/query-execution-policy.ts +46 -0
  1462. package/sdk/src/query-failure-classification.test.ts +23 -0
  1463. package/sdk/src/query-failure-classification.ts +42 -0
  1464. package/sdk/src/query-gtd-tools-path.ts +1 -0
  1465. package/sdk/src/query-gtd-tools-runtime.ts +89 -0
  1466. package/sdk/src/query-hotpath-methods.ts +48 -0
  1467. package/sdk/src/query-native-direct-adapter.test.ts +35 -0
  1468. package/sdk/src/query-native-direct-adapter.ts +70 -0
  1469. package/sdk/src/query-native-hotpath-adapter.test.ts +43 -0
  1470. package/sdk/src/query-native-hotpath-adapter.ts +45 -0
  1471. package/sdk/src/query-raw-output-projection.test.ts +39 -0
  1472. package/sdk/src/query-raw-output-projection.ts +74 -0
  1473. package/sdk/src/query-runtime-bridge.test.ts +150 -0
  1474. package/sdk/src/query-runtime-bridge.ts +215 -0
  1475. package/sdk/src/query-runtime-seam-coverage.test.ts +20 -0
  1476. package/sdk/src/query-subprocess-adapter.test.ts +84 -0
  1477. package/sdk/src/query-subprocess-adapter.ts +146 -0
  1478. package/sdk/src/query-tools-error-factory.test.ts +35 -0
  1479. package/sdk/src/query-tools-error-factory.ts +76 -0
  1480. package/sdk/src/research-gate.test.ts +190 -0
  1481. package/sdk/src/research-gate.ts +94 -0
  1482. package/sdk/src/runtime-bridge-options.test.ts +33 -0
  1483. package/sdk/src/runtime-bridge-sync/index.test.ts +164 -0
  1484. package/sdk/src/runtime-bridge-sync/index.ts +154 -0
  1485. package/sdk/src/runtime-bridge-sync/projectdir-regression.test.ts +151 -0
  1486. package/sdk/src/runtime-bridge-sync/worker.ts +181 -0
  1487. package/sdk/src/runtime-gate.test.ts +84 -0
  1488. package/sdk/src/runtime-gate.ts +52 -0
  1489. package/sdk/src/sdk-package-compatibility.test.ts +100 -0
  1490. package/sdk/src/sdk-package-compatibility.ts +149 -0
  1491. package/sdk/src/session-runner.test.ts +164 -0
  1492. package/sdk/src/session-runner.ts +327 -0
  1493. package/sdk/src/task-issues/adapters.ts +86 -0
  1494. package/sdk/src/task-issues/core.ts +287 -0
  1495. package/sdk/src/task-issues/export-phase-issues.ts +1862 -0
  1496. package/sdk/src/task-issues/github-api-client.ts +107 -0
  1497. package/sdk/src/task-issues/github-repo.ts +111 -0
  1498. package/sdk/src/task-issues/orchestrate-tasks.ts +2167 -0
  1499. package/sdk/src/task-issues/plan-scan.ts +78 -0
  1500. package/sdk/src/task-issues/runtime-slash.ts +37 -0
  1501. package/sdk/src/task-issues/task-issue-shared.ts +48 -0
  1502. package/sdk/src/task-issues/types.ts +34 -0
  1503. package/sdk/src/task-issues/work-task-issue.ts +3429 -0
  1504. package/sdk/src/task-issues/worktree-safety.ts +15 -0
  1505. package/sdk/src/task-issues-sdk.test.ts +182 -0
  1506. package/sdk/src/tool-scoping.test.ts +160 -0
  1507. package/sdk/src/tool-scoping.ts +61 -0
  1508. package/sdk/src/types.ts +928 -0
  1509. package/sdk/src/workflow-agent-skills-consistency.test.ts +98 -0
  1510. package/sdk/src/workstream-inventory/builder.test.ts +241 -0
  1511. package/sdk/src/workstream-inventory/builder.ts +170 -0
  1512. package/sdk/src/workstream-name-policy.ts +24 -0
  1513. package/sdk/src/workstream-utils.ts +36 -0
  1514. package/sdk/src/ws-flag.test.ts +285 -0
  1515. package/sdk/src/ws-transport.test.ts +161 -0
  1516. package/sdk/src/ws-transport.ts +93 -0
  1517. package/sdk/tsconfig.json +20 -0
@@ -0,0 +1,1264 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * @deprecated The supported programmatic surface is `gtd-sdk query` (SDK query registry)
5
+ * and the `@ai-is-gonna/gtd-sdk` package. This Node CLI remains the compatibility implementation
6
+ * for shell scripts and older workflows; prefer calling the SDK from agents and automation.
7
+ *
8
+ * GTD Tools — CLI utility for GTD workflow operations
9
+ *
10
+ * Replaces repetitive inline bash patterns across ~50 GTD command/workflow/agent files.
11
+ * Centralizes: config parsing, model resolution, phase lookup, git commits, summary verification.
12
+ *
13
+ * Usage: node gtd-tools.cjs <command> [args] [--raw] [--pick <field>]
14
+ *
15
+ * Atomic Commands:
16
+ * state load Load project config + state
17
+ * state json Output STATE.md frontmatter as JSON
18
+ * state update <field> <value> Update a STATE.md field
19
+ * state get [section] Get STATE.md content or section
20
+ * state patch --field val ... Batch update STATE.md fields
21
+ * state begin-phase --phase N --name S --plans C Update STATE.md for new phase start
22
+ * state signal-waiting --type T --question Q --options "A|B" --phase P Write WAITING.json signal
23
+ * state signal-resume Remove WAITING.json signal
24
+ * resolve-model <agent-type> Get model for agent based on profile
25
+ * find-phase <phase> Find phase directory by number
26
+ * commit <message> [--files f1 f2] [--no-verify] Commit planning docs
27
+ * commit-to-subrepo <msg> --files f1 f2 Route commits to sub-repos
28
+ * verify-summary <path> Verify a SUMMARY.md file
29
+ * generate-slug <text> Convert text to URL-safe slug
30
+ * current-timestamp [format] Get timestamp (full|date|filename)
31
+ * list-todos [area] Count and enumerate pending todos
32
+ * verify-path-exists <path> Check file/directory existence
33
+ * config-ensure-section Initialize .planning/config.json
34
+ * history-digest Aggregate all SUMMARY.md data
35
+ * summary-extract <path> [--fields] Extract structured data from SUMMARY.md
36
+ * state-snapshot Structured parse of STATE.md
37
+ * phase-plan-index <phase> Index plans with waves and status
38
+ * websearch <query> Search web via Brave API (if configured)
39
+ * [--limit N] [--freshness day|week|month]
40
+ *
41
+ * Phase Operations:
42
+ * phase next-decimal <phase> Calculate next decimal phase number
43
+ * phase add <description> [--id ID] Append new phase to roadmap + create dir
44
+ * phase insert <after> <description> Insert decimal phase after existing
45
+ * phase remove <phase> [--force] Remove phase, renumber all subsequent
46
+ * phase complete <phase> Mark phase done, update state + roadmap
47
+ *
48
+ * Roadmap Operations:
49
+ * roadmap get-phase <phase> Extract phase section from ROADMAP.md
50
+ * roadmap analyze Full roadmap parse with disk status
51
+ * roadmap update-plan-progress <N> Update progress table row from disk (PLAN vs SUMMARY counts)
52
+ * roadmap annotate-dependencies <N> Add wave dependency notes + cross-cutting constraints to ROADMAP.md
53
+ *
54
+ * Requirements Operations:
55
+ * requirements mark-complete <ids> Mark requirement IDs as complete in REQUIREMENTS.md
56
+ * Accepts: REQ-01,REQ-02 or REQ-01 REQ-02 or [REQ-01, REQ-02]
57
+ *
58
+ * Milestone Operations:
59
+ * milestone complete <version> Archive milestone, create MILESTONES.md
60
+ * [--name <name>]
61
+ * [--archive-phases] Move phase dirs to milestones/vX.Y-phases/
62
+ *
63
+ * Validation:
64
+ * validate consistency Check phase numbering, disk/roadmap sync
65
+ * validate health [--repair] Check .planning/ integrity, optionally repair
66
+ * validate agents Check GTD agent installation status
67
+ *
68
+ * Progress:
69
+ * progress [json|table|bar] Render progress in various formats
70
+ *
71
+ * Todos:
72
+ * todo complete <filename> Move todo from pending to completed
73
+ *
74
+ * UAT Audit:
75
+ * audit-uat Scan all phases for unresolved UAT/verification items
76
+ * uat render-checkpoint --file <path> Render the current UAT checkpoint block
77
+ *
78
+ * Open Artifact Audit:
79
+ * audit-open [--json] Scan all .planning/ artifact types for unresolved items
80
+ *
81
+ * Intel:
82
+ * intel query <term> Query intel files for a term
83
+ * intel status Show intel file freshness
84
+ * intel update Trigger intel refresh (returns agent spawn hint)
85
+ * intel diff Show changed intel entries since last snapshot
86
+ * intel snapshot Save current intel state as diff baseline
87
+ * intel patch-meta <file> Update _meta.updated_at in an intel file
88
+ * intel validate Validate intel file structure
89
+ * intel extract-exports <file> Extract exported symbols from a source file
90
+ *
91
+ * Scaffolding:
92
+ * scaffold context --phase <N> Create CONTEXT.md template
93
+ * scaffold uat --phase <N> Create UAT.md template
94
+ * scaffold verification --phase <N> Create VERIFICATION.md template
95
+ * scaffold phase-dir --phase <N> Create phase directory
96
+ * --name <name>
97
+ *
98
+ * Frontmatter CRUD:
99
+ * frontmatter get <file> [--field k] Extract frontmatter as JSON
100
+ * frontmatter set <file> --field k Update single frontmatter field
101
+ * --value jsonVal
102
+ * frontmatter merge <file> Merge JSON into frontmatter
103
+ * --data '{json}'
104
+ * frontmatter validate <file> Validate required fields
105
+ * --schema plan|summary|verification
106
+ *
107
+ * Verification Suite:
108
+ * verify plan-structure <file> Check PLAN.md structure + tasks
109
+ * verify phase-completeness <phase> Check all plans have summaries
110
+ * verify references <file> Check @-refs + paths resolve
111
+ * verify commits <h1> [h2] ... Batch verify commit hashes
112
+ * verify artifacts <plan-file> Check must_haves.artifacts
113
+ * verify key-links <plan-file> Check must_haves.key_links
114
+ * verify schema-drift <phase> [--skip] Detect schema file changes without push
115
+ * verify codebase-drift Detect structural drift since last codebase map (#2003)
116
+ *
117
+ * Template Fill:
118
+ * template fill summary --phase N Create pre-filled SUMMARY.md
119
+ * [--plan M] [--name "..."]
120
+ * [--fields '{json}']
121
+ * template fill plan --phase N Create pre-filled PLAN.md
122
+ * [--plan M] [--type execute|tdd]
123
+ * [--wave N] [--fields '{json}']
124
+ * template fill verification Create pre-filled VERIFICATION.md
125
+ * --phase N [--fields '{json}']
126
+ *
127
+ * State Progression:
128
+ * state advance-plan Increment plan counter
129
+ * state record-metric --phase N Record execution metrics
130
+ * --plan M --duration Xmin
131
+ * [--tasks N] [--files N]
132
+ * state update-progress Recalculate progress bar
133
+ * state add-decision --summary "..." Add decision to STATE.md
134
+ * [--phase N] [--rationale "..."]
135
+ * [--summary-file path] [--rationale-file path]
136
+ * state add-blocker --text "..." Add blocker
137
+ * [--text-file path]
138
+ * state resolve-blocker --text "..." Remove blocker
139
+ * state record-session Update session continuity
140
+ * --stopped-at "..."
141
+ * [--resume-file path]
142
+ *
143
+ * Compound Commands (workflow-specific initialization):
144
+ * init plan-phase <phase> All context for plan-phase workflow
145
+ * init new-project All context for new-project workflow
146
+ * init new-milestone All context for new-milestone workflow
147
+ * init quick <description> All context for quick workflow
148
+ * init resume All context for resume-project workflow
149
+ * init verify-work <phase> All context for verify-work workflow
150
+ * init phase-op <phase> Generic phase operation context
151
+ * init todos [area] All context for todo workflows
152
+ * init milestone-op All context for milestone operations
153
+ * init map-codebase All context for map-codebase workflow
154
+ * init progress All context for progress workflow
155
+ *
156
+ * Documentation:
157
+ * docs-init Project context for docs-update workflow
158
+ *
159
+ * Learnings:
160
+ * learnings list List all global learnings (JSON)
161
+ * learnings query --tag <tag> Query learnings by tag
162
+ * learnings copy Copy from current project's LEARNINGS.md
163
+ * learnings prune --older-than <dur> Remove entries older than duration (e.g. 90d)
164
+ * learnings delete <id> Delete a learning by ID
165
+ *
166
+ * GTD-2 Migration:
167
+ * from-gtd2 [--path <dir>] [--force] [--dry-run]
168
+ * Import a GTD-2 (.gtd/) project back to GTD v1 (.planning/) format
169
+ */
170
+
171
+ const fs = require('fs');
172
+ const path = require('path');
173
+ const childProcess = require('child_process');
174
+ const core = require('./lib/core.cjs');
175
+ const { error, findProjectRoot, ERROR_REASON } = core;
176
+ const { getActiveWorkstream } = require('./lib/planning-workspace.cjs');
177
+ const { resolveActiveWorkstream, applyResolvedWorkstreamEnv } = require('./lib/active-workstream-store.cjs');
178
+ const state = require('./lib/state.cjs');
179
+ const phase = require('./lib/phase.cjs');
180
+ const roadmap = require('./lib/roadmap.cjs');
181
+ const verify = require('./lib/verify.cjs');
182
+ const config = require('./lib/config.cjs');
183
+ const template = require('./lib/template.cjs');
184
+ const milestone = require('./lib/milestone.cjs');
185
+ const commands = require('./lib/commands.cjs');
186
+ const init = require('./lib/init.cjs');
187
+ const frontmatter = require('./lib/frontmatter.cjs');
188
+ const profilePipeline = require('./lib/profile-pipeline.cjs');
189
+ const profileOutput = require('./lib/profile-output.cjs');
190
+ const workstream = require('./lib/workstream.cjs');
191
+ const docs = require('./lib/docs.cjs');
192
+ const learnings = require('./lib/learnings.cjs');
193
+ const gapChecker = require('./lib/gap-checker.cjs');
194
+ const { routeStateCommand } = require('./lib/state-command-router.cjs');
195
+ const { routeVerifyCommand } = require('./lib/verify-command-router.cjs');
196
+ const { routeInitCommand } = require('./lib/init-command-router.cjs');
197
+ const { routePhaseCommand } = require('./lib/phase-command-router.cjs');
198
+ const { routePhasesCommand } = require('./lib/phases-command-router.cjs');
199
+ const { routeValidateCommand } = require('./lib/validate-command-router.cjs');
200
+ const { routeRoadmapCommand } = require('./lib/roadmap-command-router.cjs');
201
+
202
+ function runSdkQueryShim(cwd, command, args) {
203
+ const sdkShim = path.resolve(__dirname, '..', '..', 'bin', 'gtd-sdk.js');
204
+ const hasLocalSdkShim = fs.existsSync(sdkShim);
205
+ const executable = hasLocalSdkShim ? process.execPath : 'gtd-sdk';
206
+ const shimArgs = hasLocalSdkShim
207
+ ? [sdkShim, 'query', command, ...args.slice(1)]
208
+ : ['query', command, ...args.slice(1)];
209
+ const result = childProcess.spawnSync(executable, shimArgs, {
210
+ cwd,
211
+ stdio: 'inherit',
212
+ env: {
213
+ ...process.env,
214
+ ...(core.getJsonErrorMode() ? { GTD_JSON_ERRORS: '1' } : {}),
215
+ },
216
+ });
217
+ process.exit(result.status ?? 1);
218
+ }
219
+
220
+ // ─── Arg parsing helpers ──────────────────────────────────────────────────────
221
+
222
+ /**
223
+ * Extract named --flag <value> pairs from an args array.
224
+ * Returns an object mapping flag names to their values (null if absent).
225
+ * Flags listed in `booleanFlags` are treated as boolean (no value consumed).
226
+ *
227
+ * parseNamedArgs(args, 'phase', 'plan') → { phase: '3', plan: '1' }
228
+ * parseNamedArgs(args, [], ['amend', 'force']) → { amend: true, force: false }
229
+ */
230
+ function parseNamedArgs(args, valueFlags = [], booleanFlags = []) {
231
+ const result = {};
232
+ for (const flag of valueFlags) {
233
+ const idx = args.indexOf(`--${flag}`);
234
+ result[flag] = idx !== -1 && args[idx + 1] !== undefined && !args[idx + 1].startsWith('--')
235
+ ? args[idx + 1]
236
+ : null;
237
+ }
238
+ for (const flag of booleanFlags) {
239
+ result[flag] = args.includes(`--${flag}`);
240
+ }
241
+ return result;
242
+ }
243
+
244
+ /**
245
+ * Collect all tokens after --flag until the next --flag or end of args.
246
+ * Handles multi-word values like --name Foo Bar Version 1.
247
+ * Returns null if the flag is absent.
248
+ */
249
+ function parseMultiwordArg(args, flag) {
250
+ const idx = args.indexOf(`--${flag}`);
251
+ if (idx === -1) return null;
252
+ const tokens = [];
253
+ for (let i = idx + 1; i < args.length; i++) {
254
+ if (args[i].startsWith('--')) break;
255
+ tokens.push(args[i]);
256
+ }
257
+ return tokens.length > 0 ? tokens.join(' ') : null;
258
+ }
259
+
260
+ // ─── CLI Router ───────────────────────────────────────────────────────────────
261
+
262
+ async function main() {
263
+ let args = process.argv.slice(2);
264
+
265
+ // --json-errors / GTD_JSON_ERRORS=1: when active, error() emits structured
266
+ // JSON ({ ok: false, reason: <ERROR_REASON code>, message }) to stderr
267
+ // instead of "Error: <text>". Lets test suites assert on typed reason codes
268
+ // per CONTRIBUTING.md "Prohibited: Raw Text Matching" (#2974).
269
+ //
270
+ // Detect early — before any flag parsing that can fire error() — so even
271
+ // --cwd and workstream-resolution failures emit structured stderr (#3310).
272
+ // The argv splice must happen here too, otherwise the dispatcher below sees
273
+ // "--json-errors" as an unknown command. Default off — human operators keep
274
+ // their plain-text diagnostic.
275
+ const jsonErrorsIdx = args.indexOf('--json-errors');
276
+ if (jsonErrorsIdx !== -1) {
277
+ core.setJsonErrorMode(true);
278
+ args.splice(jsonErrorsIdx, 1);
279
+ } else if (process.env.GTD_JSON_ERRORS === '1') {
280
+ core.setJsonErrorMode(true);
281
+ }
282
+
283
+ // Optional cwd override for sandboxed subagents running outside project root.
284
+ let cwd = process.cwd();
285
+ const cwdEqArg = args.find(arg => arg.startsWith('--cwd='));
286
+ const cwdIdx = args.indexOf('--cwd');
287
+ if (cwdEqArg) {
288
+ const value = cwdEqArg.slice('--cwd='.length).trim();
289
+ if (!value) error('Missing value for --cwd', ERROR_REASON.USAGE);
290
+ args.splice(args.indexOf(cwdEqArg), 1);
291
+ cwd = path.resolve(value);
292
+ } else if (cwdIdx !== -1) {
293
+ const value = args[cwdIdx + 1];
294
+ if (!value || value.startsWith('--')) error('Missing value for --cwd', ERROR_REASON.USAGE);
295
+ args.splice(cwdIdx, 2);
296
+ cwd = path.resolve(value);
297
+ }
298
+
299
+ if (!fs.existsSync(cwd) || !fs.statSync(cwd).isDirectory()) {
300
+ error(`Invalid --cwd: ${cwd}`, ERROR_REASON.USAGE);
301
+ }
302
+
303
+ // Resolve worktree root: in a linked worktree, .planning/ lives in the main worktree.
304
+ // However, in monorepo worktrees where the subdirectory itself owns .planning/,
305
+ // skip worktree resolution — the CWD is already the correct project root.
306
+ const { resolveWorktreeRoot } = require('./lib/core.cjs');
307
+ if (!fs.existsSync(path.join(cwd, '.planning'))) {
308
+ const worktreeRoot = resolveWorktreeRoot(cwd);
309
+ if (worktreeRoot !== cwd) {
310
+ cwd = worktreeRoot;
311
+ }
312
+ }
313
+
314
+ // Optional workstream override for parallel milestone work.
315
+ // Priority: --ws flag > GTD_WORKSTREAM env var > session/shared pointer > null.
316
+ let ws = null;
317
+ try {
318
+ const wsResolution = resolveActiveWorkstream(cwd, args, process.env, {
319
+ getStored: getActiveWorkstream,
320
+ });
321
+ ws = wsResolution.ws;
322
+ args = wsResolution.args;
323
+ // Set env var so all modules (planningDir, planningPaths) auto-resolve workstream paths.
324
+ applyResolvedWorkstreamEnv(wsResolution, process.env);
325
+ } catch (err) {
326
+ error(err.message || String(err));
327
+ }
328
+
329
+ const rawIndex = args.indexOf('--raw');
330
+ const raw = rawIndex !== -1;
331
+ if (rawIndex !== -1) args.splice(rawIndex, 1);
332
+
333
+ // --pick <name>: extract a single field from JSON output (replaces jq dependency).
334
+ // Supports dot-notation (e.g., --pick workflow.research) and bracket notation
335
+ // for arrays (e.g., --pick directories[-1]).
336
+ const pickIdx = args.indexOf('--pick');
337
+ let pickField = null;
338
+ if (pickIdx !== -1) {
339
+ pickField = args[pickIdx + 1];
340
+ if (!pickField || pickField.startsWith('--')) error('Missing value for --pick', ERROR_REASON.USAGE);
341
+ args.splice(pickIdx, 2);
342
+ }
343
+
344
+ // --default <value>: for config-get, return this value instead of erroring
345
+ // when the key is absent. Allows workflows to express optional config reads
346
+ // without defensive `2>/dev/null || true` boilerplate (#1893).
347
+ const defaultIdx = args.indexOf('--default');
348
+ let defaultValue = undefined;
349
+ if (defaultIdx !== -1) {
350
+ defaultValue = args[defaultIdx + 1];
351
+ if (defaultValue === undefined) defaultValue = '';
352
+ args.splice(defaultIdx, 2);
353
+ }
354
+
355
+ let command = args[0];
356
+
357
+ // #3243: accept dotted canonical form (e.g. `state.update`) as well as the
358
+ // spaced form (`state update`). Workflow files and stale SDK binaries pass
359
+ // the dotted canonical form directly; any caller that bypasses the SDK
360
+ // client-side split hit "Unknown command" before this shim.
361
+ //
362
+ // Split on the FIRST dot only — `check.decision-coverage-plan` becomes
363
+ // command='check', args=['check','decision-coverage-plan',...rest].
364
+ // Parallel to dottedCommandToCjsArgv in sdk/src/query/query-fallback-bridge-adapter.ts;
365
+ // kept separate here to avoid SDK coupling (see TODO: extract to shared helper).
366
+ //
367
+ // Guard: head and rest must both be non-empty (rejects leading-dot args like
368
+ // ".hidden" and bare-dot ".").
369
+ const originalCommand = command; // preserved for "Unknown command" suggestion
370
+ if (typeof command === 'string' && command.includes('.')) {
371
+ const dotIdx = command.indexOf('.');
372
+ const head = command.slice(0, dotIdx);
373
+ const rest = command.slice(dotIdx + 1);
374
+ if (head && rest) {
375
+ command = head;
376
+ args = [head, rest, ...args.slice(1)];
377
+ }
378
+ }
379
+
380
+ // Top-level usage string — emitted by `gtd-tools` (no args) and by
381
+ // `gtd-tools --help` / any `--help` request below.
382
+ // CR feedback: the command list must enumerate every top-level command
383
+ // supported by the dispatcher so `--help` is actually useful for
384
+ // discovery; previously it was a partial subset that didn't include
385
+ // phase / roadmap / milestone / progress / etc.
386
+ const TOP_LEVEL_USAGE = 'Usage: gtd-tools <command> [args] [--raw] [--pick <field>] [--cwd <path>] [--ws <name>] [--json-errors]\n' +
387
+ 'Commands: agent-skills, audit-open, audit-uat, check-commit, commit, commit-to-subrepo, ' +
388
+ 'config-ensure-section, config-get, config-new-project, config-path, config-set, migrate-config, ' +
389
+ 'current-timestamp, detect-custom-files, docs-init, extract-messages, find-phase, ' +
390
+ 'export-phase-issues, from-gtd2, frontmatter, gap-analysis, generate-claude-md, generate-claude-profile, ' +
391
+ 'generate-dev-preferences, generate-slug, graphify, history-digest, init, intel, ' +
392
+ 'learnings, list-todos, milestone, orchestrate-tasks, phase, phase-plan-index, phases, profile-questionnaire, ' +
393
+ 'profile-sample, progress, requirements, resolve-model, roadmap, scaffold, state, ' +
394
+ 'template, validate, verify, verify-path-exists, verify-summary, work-task-issue, workstream, worktree\n\n' +
395
+ 'Global flags:\n' +
396
+ ' --raw Emit raw output without post-processing\n' +
397
+ ' --pick <field> Extract a single field from JSON output (dot/bracket notation)\n' +
398
+ ' --cwd <path> Override working directory for project-root resolution\n' +
399
+ ' --ws <name> Override active workstream (or set GTD_WORKSTREAM)\n' +
400
+ ' --json-errors Emit structured JSON error objects on stderr (or set GTD_JSON_ERRORS=1)\n\n' +
401
+ 'For command-specific argument requirements, invoke the command without args ' +
402
+ '(e.g. `gtd-tools phase add`) — the resulting error lists what is required.';
403
+
404
+ if (!command) {
405
+ error(TOP_LEVEL_USAGE);
406
+ }
407
+
408
+ // #3019: a `--help` / `-h` flag in argv must render the top-level usage
409
+ // and exit 0 — not error out with "Unknown flag". The previous shape
410
+ // erred on agent-hallucinated flags, but it also blocked humans from
411
+ // discovering the command surface via subcommand help requests routed
412
+ // here from the SDK CLI's query dispatcher (after the cli.ts fix that
413
+ // stops harvesting --help as a global flag). Rendering top-level usage
414
+ // on --help is strictly better UX than the old short-circuit, which
415
+ // printed the SDK-level usage that doesn't mention any of these
416
+ // subcommands.
417
+ const HELP_FLAGS = new Set(['-h', '--help', '-?', '--h', '--usage']);
418
+ if (args.some((a) => HELP_FLAGS.has(a))) {
419
+ process.stdout.write(TOP_LEVEL_USAGE + '\n');
420
+ return;
421
+ }
422
+
423
+ // Reject version flags. AI agents sometimes hallucinate --version on tool
424
+ // invocations; silently ignoring it can cause destructive operations to
425
+ // proceed unchecked. (Help flags are handled above.)
426
+ const NEVER_VALID_FLAGS = new Set(['--version', '-v']);
427
+ for (const arg of args) {
428
+ if (NEVER_VALID_FLAGS.has(arg)) {
429
+ error(`Unknown flag: ${arg}\ngtd-tools does not accept version flags. Run "gtd-tools" with no arguments for usage.`, ERROR_REASON.USAGE);
430
+ }
431
+ }
432
+
433
+ // Multi-repo guard: resolve project root for commands that read/write .planning/.
434
+ // Skip for pure-utility commands that don't touch .planning/ to avoid unnecessary
435
+ // filesystem traversal on every invocation.
436
+ const SKIP_ROOT_RESOLUTION = new Set([
437
+ 'generate-slug', 'current-timestamp', 'verify-path-exists',
438
+ 'verify-summary', 'template', 'frontmatter', 'detect-custom-files',
439
+ 'worktree',
440
+ ]);
441
+ if (!SKIP_ROOT_RESOLUTION.has(command)) {
442
+ cwd = findProjectRoot(cwd);
443
+ }
444
+
445
+ // When --pick is active, intercept stdout to extract the requested field.
446
+ if (pickField) {
447
+ const origWriteSync = fs.writeSync;
448
+ const chunks = [];
449
+ fs.writeSync = function (fd, data, ...rest) {
450
+ if (fd === 1) { chunks.push(String(data)); return; }
451
+ return origWriteSync.call(fs, fd, data, ...rest);
452
+ };
453
+ const cleanup = () => {
454
+ fs.writeSync = origWriteSync;
455
+ const captured = chunks.join('');
456
+ let jsonStr = captured;
457
+ if (jsonStr.startsWith('@file:')) {
458
+ jsonStr = fs.readFileSync(jsonStr.slice(6), 'utf-8');
459
+ }
460
+ try {
461
+ const obj = JSON.parse(jsonStr);
462
+ const value = extractField(obj, pickField);
463
+ const result = value === null || value === undefined ? '' : String(value);
464
+ origWriteSync.call(fs, 1, result);
465
+ } catch {
466
+ origWriteSync.call(fs, 1, captured);
467
+ }
468
+ };
469
+ try {
470
+ await runCommand(command, args, cwd, raw, defaultValue, originalCommand);
471
+ cleanup();
472
+ } catch (e) {
473
+ fs.writeSync = origWriteSync;
474
+ throw e;
475
+ }
476
+ return;
477
+ }
478
+
479
+ // Intercept stdout to transparently resolve @file: references (#1891).
480
+ // core.cjs output() writes @file:<path> when JSON > 50KB. The --pick path
481
+ // already resolves this, but the normal path wrote @file: to stdout, forcing
482
+ // every workflow to have a bash-specific `if [[ "$INIT" == @file:* ]]` check
483
+ // that breaks on PowerShell and other non-bash shells.
484
+ const origWriteSync2 = fs.writeSync;
485
+ const outChunks = [];
486
+ fs.writeSync = function (fd, data, ...rest) {
487
+ if (fd === 1) { outChunks.push(String(data)); return; }
488
+ return origWriteSync2.call(fs, fd, data, ...rest);
489
+ };
490
+ try {
491
+ await runCommand(command, args, cwd, raw, defaultValue, originalCommand);
492
+ } finally {
493
+ fs.writeSync = origWriteSync2;
494
+ }
495
+ let captured = outChunks.join('');
496
+ if (captured.startsWith('@file:')) {
497
+ captured = fs.readFileSync(captured.slice(6), 'utf-8');
498
+ }
499
+ origWriteSync2.call(fs, 1, captured);
500
+ }
501
+
502
+ /**
503
+ * Extract a field from an object using dot-notation and bracket syntax.
504
+ * Supports: 'field', 'parent.child', 'arr[-1]', 'arr[0]'
505
+ */
506
+ function extractField(obj, fieldPath) {
507
+ const parts = fieldPath.split('.');
508
+ let current = obj;
509
+ for (const part of parts) {
510
+ if (current === null || current === undefined) return undefined;
511
+ const bracketMatch = part.match(/^(.+?)\[(-?\d+)]$/);
512
+ if (bracketMatch) {
513
+ const key = bracketMatch[1];
514
+ const index = parseInt(bracketMatch[2], 10);
515
+ current = current[key];
516
+ if (!Array.isArray(current)) return undefined;
517
+ current = index < 0 ? current[current.length + index] : current[index];
518
+ } else {
519
+ current = current[part];
520
+ }
521
+ }
522
+ return current;
523
+ }
524
+
525
+ async function runCommand(command, args, cwd, raw, defaultValue, originalCommand) {
526
+ switch (command) {
527
+ case 'state': {
528
+ routeStateCommand({
529
+ state,
530
+ args,
531
+ cwd,
532
+ raw,
533
+ parseNamedArgs,
534
+ error,
535
+ });
536
+ break;
537
+ }
538
+
539
+ case 'resolve-model': {
540
+ commands.cmdResolveModel(cwd, args[1], raw);
541
+ break;
542
+ }
543
+
544
+ case 'find-phase': {
545
+ phase.cmdFindPhase(cwd, args[1], raw);
546
+ break;
547
+ }
548
+
549
+ case 'commit': {
550
+ const amend = args.includes('--amend');
551
+ const noVerify = args.includes('--no-verify');
552
+ const filesIndex = args.indexOf('--files');
553
+ // Collect all positional args between command name and first flag,
554
+ // then join them — handles both quoted ("multi word msg") and
555
+ // unquoted (multi word msg) invocations from different shells
556
+ const endIndex = filesIndex !== -1 ? filesIndex : args.length;
557
+ const messageArgs = args.slice(1, endIndex).filter(a => !a.startsWith('--'));
558
+ const message = messageArgs.join(' ') || undefined;
559
+ const files = filesIndex !== -1 ? args.slice(filesIndex + 1).filter(a => !a.startsWith('--')) : [];
560
+ commands.cmdCommit(cwd, message, files, raw, amend, noVerify);
561
+ break;
562
+ }
563
+
564
+ case 'check-commit': {
565
+ commands.cmdCheckCommit(cwd, raw);
566
+ break;
567
+ }
568
+
569
+ case 'commit-to-subrepo': {
570
+ const message = args[1];
571
+ const filesIndex = args.indexOf('--files');
572
+ const files = filesIndex !== -1 ? args.slice(filesIndex + 1).filter(a => !a.startsWith('--')) : [];
573
+ commands.cmdCommitToSubrepo(cwd, message, files, raw);
574
+ break;
575
+ }
576
+
577
+ case 'verify-summary': {
578
+ const summaryPath = args[1];
579
+ const countIndex = args.indexOf('--check-count');
580
+ const checkCount = countIndex !== -1 ? parseInt(args[countIndex + 1], 10) : 2;
581
+ verify.cmdVerifySummary(cwd, summaryPath, checkCount, raw);
582
+ break;
583
+ }
584
+
585
+ case 'template': {
586
+ const subcommand = args[1];
587
+ if (subcommand === 'select') {
588
+ template.cmdTemplateSelect(cwd, args[2], raw);
589
+ } else if (subcommand === 'fill') {
590
+ const templateType = args[2];
591
+ const { phase, plan, name, type, wave, fields: fieldsRaw } = parseNamedArgs(args, ['phase', 'plan', 'name', 'type', 'wave', 'fields']);
592
+ let fields = {};
593
+ if (fieldsRaw) {
594
+ const { safeJsonParse } = require('./lib/security.cjs');
595
+ const result = safeJsonParse(fieldsRaw, { label: '--fields' });
596
+ if (!result.ok) error(result.error);
597
+ fields = result.value;
598
+ }
599
+ template.cmdTemplateFill(cwd, templateType, {
600
+ phase, plan, name, fields,
601
+ type: type || 'execute',
602
+ wave: wave || '1',
603
+ }, raw);
604
+ } else {
605
+ error('Unknown template subcommand. Available: select, fill', ERROR_REASON.SDK_UNKNOWN_COMMAND);
606
+ }
607
+ break;
608
+ }
609
+
610
+ case 'frontmatter': {
611
+ const subcommand = args[1];
612
+ const file = args[2];
613
+ if (subcommand === 'get') {
614
+ frontmatter.cmdFrontmatterGet(cwd, file, parseNamedArgs(args, ['field']).field, raw);
615
+ } else if (subcommand === 'set') {
616
+ const { field, value } = parseNamedArgs(args, ['field', 'value']);
617
+ frontmatter.cmdFrontmatterSet(cwd, file, field, value !== null ? value : undefined, raw);
618
+ } else if (subcommand === 'merge') {
619
+ frontmatter.cmdFrontmatterMerge(cwd, file, parseNamedArgs(args, ['data']).data, raw);
620
+ } else if (subcommand === 'validate') {
621
+ frontmatter.cmdFrontmatterValidate(cwd, file, parseNamedArgs(args, ['schema']).schema, raw);
622
+ } else {
623
+ error('Unknown frontmatter subcommand. Available: get, set, merge, validate', ERROR_REASON.SDK_UNKNOWN_COMMAND);
624
+ }
625
+ break;
626
+ }
627
+
628
+ case 'verify': {
629
+ routeVerifyCommand({
630
+ verify,
631
+ args,
632
+ cwd,
633
+ raw,
634
+ error,
635
+ });
636
+ break;
637
+ }
638
+
639
+ case 'generate-slug': {
640
+ commands.cmdGenerateSlug(args[1], raw);
641
+ break;
642
+ }
643
+
644
+ case 'current-timestamp': {
645
+ commands.cmdCurrentTimestamp(args[1] || 'full', raw);
646
+ break;
647
+ }
648
+
649
+ case 'list-todos': {
650
+ commands.cmdListTodos(cwd, args[1], raw);
651
+ break;
652
+ }
653
+
654
+ case 'verify-path-exists': {
655
+ commands.cmdVerifyPathExists(cwd, args[1], raw);
656
+ break;
657
+ }
658
+
659
+ case 'config-ensure-section': {
660
+ config.cmdConfigEnsureSection(cwd, raw);
661
+ break;
662
+ }
663
+
664
+ case 'config-set': {
665
+ config.cmdConfigSet(cwd, args[1], args[2], raw);
666
+ break;
667
+ }
668
+
669
+ case "config-set-model-profile": {
670
+ config.cmdConfigSetModelProfile(cwd, args[1], raw);
671
+ break;
672
+ }
673
+
674
+ case 'config-get': {
675
+ config.cmdConfigGet(cwd, args[1], raw, defaultValue);
676
+ break;
677
+ }
678
+
679
+ case 'config-new-project': {
680
+ config.cmdConfigNewProject(cwd, args[1], raw);
681
+ break;
682
+ }
683
+
684
+ case 'config-path': {
685
+ config.cmdConfigPath(cwd, raw);
686
+ break;
687
+ }
688
+
689
+ case 'migrate-config': {
690
+ // Explicit on-disk migration of legacy config keys to canonical shape (#3536).
691
+ // Wraps Configuration Module migrateOnDisk(); idempotent. async — must await.
692
+ await config.cmdMigrateConfig(cwd, raw);
693
+ break;
694
+ }
695
+
696
+ case 'agent-skills': {
697
+ init.cmdAgentSkills(cwd, args[1], raw);
698
+ break;
699
+ }
700
+
701
+ case 'skill-manifest': {
702
+ init.cmdSkillManifest(cwd, args, raw);
703
+ break;
704
+ }
705
+
706
+ case 'history-digest': {
707
+ commands.cmdHistoryDigest(cwd, raw);
708
+ break;
709
+ }
710
+
711
+ case 'phases': {
712
+ routePhasesCommand({
713
+ phase,
714
+ milestone,
715
+ args,
716
+ cwd,
717
+ raw,
718
+ error,
719
+ });
720
+ break;
721
+ }
722
+
723
+ case 'roadmap': {
724
+ routeRoadmapCommand({
725
+ roadmap,
726
+ args,
727
+ cwd,
728
+ raw,
729
+ error,
730
+ });
731
+ break;
732
+ }
733
+
734
+ case 'requirements': {
735
+ const subcommand = args[1];
736
+ if (subcommand === 'mark-complete') {
737
+ milestone.cmdRequirementsMarkComplete(cwd, args.slice(2), raw);
738
+ } else {
739
+ error('Unknown requirements subcommand. Available: mark-complete', ERROR_REASON.SDK_UNKNOWN_COMMAND);
740
+ }
741
+ break;
742
+ }
743
+
744
+ case 'gap-analysis': {
745
+ // Post-planning gap checker (#2493) — unified REQUIREMENTS.md +
746
+ // CONTEXT.md <decisions> coverage report against PLAN.md files.
747
+ gapChecker.cmdGapAnalysis(cwd, args.slice(1), raw);
748
+ break;
749
+ }
750
+
751
+ case 'phase': {
752
+ routePhaseCommand({
753
+ phase,
754
+ args,
755
+ cwd,
756
+ raw,
757
+ error,
758
+ });
759
+ break;
760
+ }
761
+
762
+ case 'milestone': {
763
+ const subcommand = args[1];
764
+ if (subcommand === 'complete') {
765
+ const milestoneName = parseMultiwordArg(args, 'name');
766
+ const archivePhases = args.includes('--archive-phases');
767
+ milestone.cmdMilestoneComplete(cwd, args[2], { name: milestoneName, archivePhases }, raw);
768
+ } else {
769
+ error('Unknown milestone subcommand. Available: complete', ERROR_REASON.SDK_UNKNOWN_COMMAND);
770
+ }
771
+ break;
772
+ }
773
+
774
+ case 'validate': {
775
+ routeValidateCommand({
776
+ verify,
777
+ args,
778
+ cwd,
779
+ raw,
780
+ parseNamedArgs,
781
+ output: core.output,
782
+ error,
783
+ });
784
+ break;
785
+ }
786
+
787
+ case 'progress': {
788
+ const subcommand = args[1] || 'json';
789
+ commands.cmdProgressRender(cwd, subcommand, raw);
790
+ break;
791
+ }
792
+
793
+ case 'audit-uat': {
794
+ const uat = require('./lib/uat.cjs');
795
+ uat.cmdAuditUat(cwd, raw);
796
+ break;
797
+ }
798
+
799
+ case 'audit-open': {
800
+ const { auditOpenArtifacts, formatAuditReport } = require('./lib/audit.cjs');
801
+ const wantJson = args.includes('--json');
802
+ const result = auditOpenArtifacts(cwd);
803
+ if (wantJson) {
804
+ // core.output JSON-stringifies its first arg; pass the object directly.
805
+ core.output(result, raw);
806
+ } else {
807
+ // Human-readable report must bypass JSON encoding — use the rawValue
808
+ // form (third arg) which core.output emits verbatim.
809
+ core.output(null, true, formatAuditReport(result));
810
+ }
811
+ break;
812
+ }
813
+
814
+ case 'export-phase-issues': {
815
+ runSdkQueryShim(cwd, 'export-phase-issues', args);
816
+ break;
817
+ }
818
+
819
+ case 'work-task-issue': {
820
+ runSdkQueryShim(cwd, 'work-task-issue', args);
821
+ break;
822
+ }
823
+
824
+ case 'orchestrate-tasks': {
825
+ runSdkQueryShim(cwd, 'orchestrate-tasks', args);
826
+ break;
827
+ }
828
+
829
+ case 'uat': {
830
+ const subcommand = args[1];
831
+ const uat = require('./lib/uat.cjs');
832
+ if (subcommand === 'render-checkpoint') {
833
+ const options = parseNamedArgs(args, ['file']);
834
+ uat.cmdRenderCheckpoint(cwd, options, raw);
835
+ } else {
836
+ error('Unknown uat subcommand. Available: render-checkpoint', ERROR_REASON.SDK_UNKNOWN_COMMAND);
837
+ }
838
+ break;
839
+ }
840
+
841
+ case 'stats': {
842
+ const subcommand = args[1] || 'json';
843
+ commands.cmdStats(cwd, subcommand, raw);
844
+ break;
845
+ }
846
+
847
+ case 'todo': {
848
+ const subcommand = args[1];
849
+ if (subcommand === 'complete') {
850
+ commands.cmdTodoComplete(cwd, args[2], raw);
851
+ } else if (subcommand === 'match-phase') {
852
+ commands.cmdTodoMatchPhase(cwd, args[2], raw);
853
+ } else {
854
+ error('Unknown todo subcommand. Available: complete, match-phase', ERROR_REASON.SDK_UNKNOWN_COMMAND);
855
+ }
856
+ break;
857
+ }
858
+
859
+ case 'scaffold': {
860
+ const scaffoldType = args[1];
861
+ const scaffoldOptions = {
862
+ phase: parseNamedArgs(args, ['phase']).phase,
863
+ name: parseMultiwordArg(args, 'name'),
864
+ };
865
+ commands.cmdScaffold(cwd, scaffoldType, scaffoldOptions, raw);
866
+ break;
867
+ }
868
+
869
+ case 'init': {
870
+ routeInitCommand({
871
+ init,
872
+ args,
873
+ cwd,
874
+ raw,
875
+ parseNamedArgs,
876
+ error,
877
+ });
878
+ break;
879
+ }
880
+
881
+ case 'phase-plan-index': {
882
+ phase.cmdPhasePlanIndex(cwd, args[1], raw);
883
+ break;
884
+ }
885
+
886
+ case 'state-snapshot': {
887
+ state.cmdStateSnapshot(cwd, raw);
888
+ break;
889
+ }
890
+
891
+ case 'summary-extract': {
892
+ const summaryPath = args[1];
893
+ const fieldsIndex = args.indexOf('--fields');
894
+ const fields = fieldsIndex !== -1 ? args[fieldsIndex + 1].split(',') : null;
895
+ commands.cmdSummaryExtract(cwd, summaryPath, fields, raw);
896
+ break;
897
+ }
898
+
899
+ case 'websearch': {
900
+ const query = args[1];
901
+ const limitIdx = args.indexOf('--limit');
902
+ const freshnessIdx = args.indexOf('--freshness');
903
+ await commands.cmdWebsearch(query, {
904
+ limit: limitIdx !== -1 ? parseInt(args[limitIdx + 1], 10) : 10,
905
+ freshness: freshnessIdx !== -1 ? args[freshnessIdx + 1] : null,
906
+ }, raw);
907
+ break;
908
+ }
909
+
910
+ // ─── Profiling Pipeline ────────────────────────────────────────────────
911
+
912
+ case 'scan-sessions': {
913
+ const pathIdx = args.indexOf('--path');
914
+ const sessionsPath = pathIdx !== -1 ? args[pathIdx + 1] : null;
915
+ const verboseFlag = args.includes('--verbose');
916
+ const jsonFlag = args.includes('--json');
917
+ await profilePipeline.cmdScanSessions(sessionsPath, { verbose: verboseFlag, json: jsonFlag }, raw);
918
+ break;
919
+ }
920
+
921
+ case 'extract-messages': {
922
+ const sessionIdx = args.indexOf('--session');
923
+ const sessionId = sessionIdx !== -1 ? args[sessionIdx + 1] : null;
924
+ const limitIdx = args.indexOf('--limit');
925
+ const limit = limitIdx !== -1 ? parseInt(args[limitIdx + 1], 10) : null;
926
+ const pathIdx = args.indexOf('--path');
927
+ const sessionsPath = pathIdx !== -1 ? args[pathIdx + 1] : null;
928
+ const projectArg = args[1];
929
+ if (!projectArg || projectArg.startsWith('--')) {
930
+ error('Usage: gtd-tools extract-messages <project> [--session <id>] [--limit N] [--path <dir>]\nRun scan-sessions first to see available projects.', ERROR_REASON.USAGE);
931
+ }
932
+ await profilePipeline.cmdExtractMessages(projectArg, { sessionId, limit }, raw, sessionsPath);
933
+ break;
934
+ }
935
+
936
+ case 'profile-sample': {
937
+ const pathIdx = args.indexOf('--path');
938
+ const sessionsPath = pathIdx !== -1 ? args[pathIdx + 1] : null;
939
+ const limitIdx = args.indexOf('--limit');
940
+ const limit = limitIdx !== -1 ? parseInt(args[limitIdx + 1], 10) : 150;
941
+ const maxPerIdx = args.indexOf('--max-per-project');
942
+ const maxPerProject = maxPerIdx !== -1 ? parseInt(args[maxPerIdx + 1], 10) : null;
943
+ const maxCharsIdx = args.indexOf('--max-chars');
944
+ const maxChars = maxCharsIdx !== -1 ? parseInt(args[maxCharsIdx + 1], 10) : 500;
945
+ await profilePipeline.cmdProfileSample(sessionsPath, { limit, maxPerProject, maxChars }, raw);
946
+ break;
947
+ }
948
+
949
+ // ─── Profile Output ──────────────────────────────────────────────────
950
+
951
+ case 'write-profile': {
952
+ const inputIdx = args.indexOf('--input');
953
+ const inputPath = inputIdx !== -1 ? args[inputIdx + 1] : null;
954
+ if (!inputPath) error('--input <analysis-json-path> is required', ERROR_REASON.USAGE);
955
+ const outputIdx = args.indexOf('--output');
956
+ const outputPath = outputIdx !== -1 ? args[outputIdx + 1] : null;
957
+ profileOutput.cmdWriteProfile(cwd, { input: inputPath, output: outputPath }, raw);
958
+ break;
959
+ }
960
+
961
+ case 'profile-questionnaire': {
962
+ const answersIdx = args.indexOf('--answers');
963
+ const answers = answersIdx !== -1 ? args[answersIdx + 1] : null;
964
+ profileOutput.cmdProfileQuestionnaire({ answers }, raw);
965
+ break;
966
+ }
967
+
968
+ case 'generate-dev-preferences': {
969
+ const analysisIdx = args.indexOf('--analysis');
970
+ const analysisPath = analysisIdx !== -1 ? args[analysisIdx + 1] : null;
971
+ const outputIdx = args.indexOf('--output');
972
+ const outputPath = outputIdx !== -1 ? args[outputIdx + 1] : null;
973
+ const stackIdx = args.indexOf('--stack');
974
+ const stack = stackIdx !== -1 ? args[stackIdx + 1] : null;
975
+ profileOutput.cmdGenerateDevPreferences(cwd, { analysis: analysisPath, output: outputPath, stack }, raw);
976
+ break;
977
+ }
978
+
979
+ case 'generate-claude-profile': {
980
+ const analysisIdx = args.indexOf('--analysis');
981
+ const analysisPath = analysisIdx !== -1 ? args[analysisIdx + 1] : null;
982
+ const outputIdx = args.indexOf('--output');
983
+ const outputPath = outputIdx !== -1 ? args[outputIdx + 1] : null;
984
+ const globalFlag = args.includes('--global');
985
+ profileOutput.cmdGenerateClaudeProfile(cwd, { analysis: analysisPath, output: outputPath, global: globalFlag }, raw);
986
+ break;
987
+ }
988
+
989
+ case 'generate-claude-md': {
990
+ const outputIdx = args.indexOf('--output');
991
+ const outputPath = outputIdx !== -1 ? args[outputIdx + 1] : null;
992
+ const autoFlag = args.includes('--auto');
993
+ const forceFlag = args.includes('--force');
994
+ profileOutput.cmdGenerateClaudeMd(cwd, { output: outputPath, auto: autoFlag, force: forceFlag }, raw);
995
+ break;
996
+ }
997
+
998
+ case 'workstream': {
999
+ const subcommand = args[1];
1000
+ if (subcommand === 'create') {
1001
+ const migrateNameIdx = args.indexOf('--migrate-name');
1002
+ const noMigrate = args.includes('--no-migrate');
1003
+ workstream.cmdWorkstreamCreate(cwd, args[2], {
1004
+ migrate: !noMigrate,
1005
+ migrateName: migrateNameIdx !== -1 ? args[migrateNameIdx + 1] : null,
1006
+ }, raw);
1007
+ } else if (subcommand === 'list') {
1008
+ workstream.cmdWorkstreamList(cwd, raw);
1009
+ } else if (subcommand === 'status') {
1010
+ workstream.cmdWorkstreamStatus(cwd, args[2], raw);
1011
+ } else if (subcommand === 'complete') {
1012
+ workstream.cmdWorkstreamComplete(cwd, args[2], {}, raw);
1013
+ } else if (subcommand === 'set') {
1014
+ workstream.cmdWorkstreamSet(cwd, args[2], raw);
1015
+ } else if (subcommand === 'get') {
1016
+ workstream.cmdWorkstreamGet(cwd, raw);
1017
+ } else if (subcommand === 'progress') {
1018
+ workstream.cmdWorkstreamProgress(cwd, raw);
1019
+ } else {
1020
+ error('Unknown workstream subcommand. Available: create, list, status, complete, set, get, progress', ERROR_REASON.SDK_UNKNOWN_COMMAND);
1021
+ }
1022
+ break;
1023
+ }
1024
+
1025
+ case 'worktree': {
1026
+ const subcommand = args[1];
1027
+ const worktreeSafety = require('./lib/worktree-safety.cjs');
1028
+ if (subcommand === 'cleanup-wave') {
1029
+ worktreeSafety.cmdWorktreeCleanupWave(cwd, args.slice(2));
1030
+ } else {
1031
+ error('Unknown worktree subcommand. Available: cleanup-wave', ERROR_REASON.SDK_UNKNOWN_COMMAND);
1032
+ }
1033
+ break;
1034
+ }
1035
+
1036
+ // ─── Intel ────────────────────────────────────────────────────────────
1037
+
1038
+ case 'intel': {
1039
+ const intel = require('./lib/intel.cjs');
1040
+ const subcommand = args[1];
1041
+ if (subcommand === 'query') {
1042
+ const term = args[2];
1043
+ if (!term) error('Usage: gtd-tools intel query <term>', ERROR_REASON.USAGE);
1044
+ const planningDir = path.join(cwd, '.planning');
1045
+ core.output(intel.intelQuery(term, planningDir), raw);
1046
+ } else if (subcommand === 'status') {
1047
+ const planningDir = path.join(cwd, '.planning');
1048
+ const status = intel.intelStatus(planningDir);
1049
+ if (!raw && status.files) {
1050
+ for (const file of Object.values(status.files)) {
1051
+ if (file.updated_at) {
1052
+ file.updated_at = core.timeAgo(new Date(file.updated_at));
1053
+ }
1054
+ }
1055
+ }
1056
+ core.output(status, raw);
1057
+ } else if (subcommand === 'diff') {
1058
+ const planningDir = path.join(cwd, '.planning');
1059
+ core.output(intel.intelDiff(planningDir), raw);
1060
+ } else if (subcommand === 'snapshot') {
1061
+ const planningDir = path.join(cwd, '.planning');
1062
+ core.output(intel.intelSnapshot(planningDir), raw);
1063
+ } else if (subcommand === 'patch-meta') {
1064
+ const filePath = args[2];
1065
+ if (!filePath) error('Usage: gtd-tools intel patch-meta <file-path>', ERROR_REASON.USAGE);
1066
+ core.output(intel.intelPatchMeta(path.resolve(cwd, filePath)), raw);
1067
+ } else if (subcommand === 'validate') {
1068
+ const planningDir = path.join(cwd, '.planning');
1069
+ core.output(intel.intelValidate(planningDir), raw);
1070
+ } else if (subcommand === 'extract-exports') {
1071
+ const filePath = args[2];
1072
+ if (!filePath) error('Usage: gtd-tools intel extract-exports <file-path>', ERROR_REASON.USAGE);
1073
+ core.output(intel.intelExtractExports(path.resolve(cwd, filePath)), raw);
1074
+ } else if (subcommand === 'update') {
1075
+ const planningDir = path.join(cwd, '.planning');
1076
+ core.output(intel.intelUpdate(planningDir), raw);
1077
+ } else {
1078
+ error('Unknown intel subcommand. Available: query, status, update, diff, snapshot, patch-meta, validate, extract-exports', ERROR_REASON.SDK_UNKNOWN_COMMAND);
1079
+ }
1080
+ break;
1081
+ }
1082
+
1083
+ // ─── Graphify ──────────────────────────────────────────────────────────
1084
+
1085
+ case 'graphify': {
1086
+ const graphify = require('./lib/graphify.cjs');
1087
+ const subcommand = args[1];
1088
+ if (subcommand === 'query') {
1089
+ const term = args[2];
1090
+ if (!term) error('Usage: gtd-tools graphify query <term>', ERROR_REASON.USAGE);
1091
+ const budgetIdx = args.indexOf('--budget');
1092
+ const budget = budgetIdx !== -1 ? parseInt(args[budgetIdx + 1], 10) : null;
1093
+ core.output(graphify.graphifyQuery(cwd, term, { budget }), raw);
1094
+ } else if (subcommand === 'status') {
1095
+ core.output(graphify.graphifyStatus(cwd), raw);
1096
+ } else if (subcommand === 'diff') {
1097
+ core.output(graphify.graphifyDiff(cwd), raw);
1098
+ } else if (subcommand === 'build') {
1099
+ if (args[2] === 'snapshot') {
1100
+ core.output(graphify.writeSnapshot(cwd), raw);
1101
+ } else {
1102
+ core.output(graphify.graphifyBuild(cwd), raw);
1103
+ }
1104
+ } else {
1105
+ error('Unknown graphify subcommand. Available: build, query, status, diff', ERROR_REASON.SDK_UNKNOWN_COMMAND);
1106
+ }
1107
+ break;
1108
+ }
1109
+
1110
+ // ─── Documentation ────────────────────────────────────────────────────
1111
+
1112
+ case 'docs-init': {
1113
+ docs.cmdDocsInit(cwd, raw);
1114
+ break;
1115
+ }
1116
+
1117
+ // ─── Learnings ─────────────────────────────────────────────────────────
1118
+
1119
+ case 'learnings': {
1120
+ const subcommand = args[1];
1121
+ if (subcommand === 'list') {
1122
+ learnings.cmdLearningsList(raw);
1123
+ } else if (subcommand === 'query') {
1124
+ const tagIdx = args.indexOf('--tag');
1125
+ const tag = tagIdx !== -1 ? args[tagIdx + 1] : null;
1126
+ if (!tag) error('Usage: gtd-tools learnings query --tag <tag>', ERROR_REASON.USAGE);
1127
+ learnings.cmdLearningsQuery(tag, raw);
1128
+ } else if (subcommand === 'copy') {
1129
+ learnings.cmdLearningsCopy(cwd, raw);
1130
+ } else if (subcommand === 'prune') {
1131
+ const olderIdx = args.indexOf('--older-than');
1132
+ const olderThan = olderIdx !== -1 ? args[olderIdx + 1] : null;
1133
+ if (!olderThan) error('Usage: gtd-tools learnings prune --older-than <duration>', ERROR_REASON.USAGE);
1134
+ learnings.cmdLearningsPrune(olderThan, raw);
1135
+ } else if (subcommand === 'delete') {
1136
+ const id = args[2];
1137
+ if (!id) error('Usage: gtd-tools learnings delete <id>', ERROR_REASON.USAGE);
1138
+ learnings.cmdLearningsDelete(id, raw);
1139
+ } else {
1140
+ error('Unknown learnings subcommand. Available: list, query, copy, prune, delete', ERROR_REASON.SDK_UNKNOWN_COMMAND);
1141
+ }
1142
+ break;
1143
+ }
1144
+
1145
+ // ─── detect-custom-files ───────────────────────────────────────────────
1146
+ // Detect user-added files inside GTD-managed directories that are not
1147
+ // tracked in gtd-file-manifest.json. Used by the update workflow to back
1148
+ // up custom files before the installer wipes those directories.
1149
+ //
1150
+ // This replaces the fragile bash pattern:
1151
+ // MANIFEST_FILES=$(node -e "require('$RUNTIME_DIR/...')" 2>/dev/null)
1152
+ // ${filepath#$RUNTIME_DIR/} # unreliable path stripping
1153
+ // which silently returns CUSTOM_COUNT=0 when $RUNTIME_DIR is unset or
1154
+ // when the stripped path does not match the manifest key format (#1997).
1155
+
1156
+ case 'detect-custom-files': {
1157
+ const configDirIdx = args.indexOf('--config-dir');
1158
+ const configDir = configDirIdx !== -1 ? args[configDirIdx + 1] : null;
1159
+ if (!configDir) {
1160
+ error('Usage: gtd-tools detect-custom-files --config-dir <path>', ERROR_REASON.USAGE);
1161
+ }
1162
+ const resolvedConfigDir = path.resolve(configDir);
1163
+ if (!fs.existsSync(resolvedConfigDir)) {
1164
+ error(`Config directory not found: ${resolvedConfigDir}`, ERROR_REASON.USAGE);
1165
+ }
1166
+
1167
+ const manifestPath = path.join(resolvedConfigDir, 'gtd-file-manifest.json');
1168
+ if (!fs.existsSync(manifestPath)) {
1169
+ // No manifest — cannot determine what is custom. Return empty list
1170
+ // (same behaviour as saveLocalPatches in install.js when no manifest).
1171
+ const out = { custom_files: [], custom_count: 0, manifest_found: false };
1172
+ process.stdout.write(JSON.stringify(out, null, 2));
1173
+ break;
1174
+ }
1175
+
1176
+ let manifest;
1177
+ try {
1178
+ manifest = JSON.parse(fs.readFileSync(manifestPath, 'utf8'));
1179
+ } catch {
1180
+ const out = { custom_files: [], custom_count: 0, manifest_found: false, error: 'manifest parse error' };
1181
+ process.stdout.write(JSON.stringify(out, null, 2));
1182
+ break;
1183
+ }
1184
+
1185
+ const manifestKeys = new Set(Object.keys(manifest.files || {}));
1186
+
1187
+ // GTD-managed directories to scan for user-added files.
1188
+ // These are the directories the installer wipes on update.
1189
+ const GTD_MANAGED_DIRS = [
1190
+ 'get-tasks-done',
1191
+ 'agents',
1192
+ path.join('commands', 'gtd'),
1193
+ 'hooks',
1194
+ 'skills',
1195
+ ];
1196
+
1197
+ function walkDir(dir, baseDir) {
1198
+ const results = [];
1199
+ if (!fs.existsSync(dir)) return results;
1200
+ for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
1201
+ const fullPath = path.join(dir, entry.name);
1202
+ if (entry.isDirectory()) {
1203
+ results.push(...walkDir(fullPath, baseDir));
1204
+ } else {
1205
+ // Use forward slashes for cross-platform manifest key compatibility
1206
+ const relPath = path.relative(baseDir, fullPath).replace(/\\/g, '/');
1207
+ results.push(relPath);
1208
+ }
1209
+ }
1210
+ return results;
1211
+ }
1212
+
1213
+ const customFiles = [];
1214
+ for (const managedDir of GTD_MANAGED_DIRS) {
1215
+ const absDir = path.join(resolvedConfigDir, managedDir);
1216
+ if (!fs.existsSync(absDir)) continue;
1217
+ for (const relPath of walkDir(absDir, resolvedConfigDir)) {
1218
+ if (!manifestKeys.has(relPath)) {
1219
+ customFiles.push(relPath);
1220
+ }
1221
+ }
1222
+ }
1223
+
1224
+ const out = {
1225
+ custom_files: customFiles,
1226
+ custom_count: customFiles.length,
1227
+ manifest_found: true,
1228
+ manifest_version: manifest.version || null,
1229
+ };
1230
+ process.stdout.write(JSON.stringify(out, null, 2));
1231
+ break;
1232
+ }
1233
+
1234
+ // ─── GTD-2 Reverse Migration ───────────────────────────────────────────
1235
+
1236
+ case 'from-gtd2': {
1237
+ const gtd2Import = require('./lib/gtd2-import.cjs');
1238
+ gtd2Import.cmdFromGtd2(args.slice(1), cwd, raw);
1239
+ break;
1240
+ }
1241
+
1242
+ default: {
1243
+ // #3243: if the caller passed a dotted form (e.g. "foo.bar"), the shim
1244
+ // above split it so `command` here is the head ("foo"). Use
1245
+ // originalCommand to reconstruct the original dotted form and suggest
1246
+ // the spaced equivalent — surfacing a useful diagnostic instead of just
1247
+ // "Unknown command: foo".
1248
+ const wasDotted =
1249
+ typeof originalCommand === 'string' &&
1250
+ originalCommand !== command &&
1251
+ originalCommand.includes('.');
1252
+ let suggestion = '';
1253
+ if (wasDotted) {
1254
+ const dotIdx = originalCommand.indexOf('.');
1255
+ const head = originalCommand.slice(0, dotIdx);
1256
+ const rest = originalCommand.slice(dotIdx + 1);
1257
+ suggestion = ` — did you mean: "${head} ${rest}"?`;
1258
+ }
1259
+ error(`Unknown command: ${command}${suggestion}`, ERROR_REASON.SDK_UNKNOWN_COMMAND);
1260
+ }
1261
+ }
1262
+ }
1263
+
1264
+ main();