peaks-loop 4.1.1 → 4.1.3

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 (1066) hide show
  1. package/.claude-plugin/marketplace.json +136 -47
  2. package/CHANGELOG.md +106 -0
  3. package/README-en.md +4 -4
  4. package/README.md +25 -4
  5. package/bin/node-floor.mjs +59 -0
  6. package/bin/peaks.js +13 -0
  7. package/config/eslint/tsconfig.lint.json +2 -1
  8. package/contracts/readonly-argv-whitelist.json +211 -0
  9. package/dist/cli/cli-helpers.d.ts +0 -1
  10. package/dist/cli/cli-helpers.js +0 -1
  11. package/dist/cli/commands/_cli-error-envelope.js +0 -3
  12. package/dist/cli/commands/adapter-commands-s2a.d.ts +0 -1
  13. package/dist/cli/commands/adapter-commands.d.ts +0 -1
  14. package/dist/cli/commands/api-diff-commands.d.ts +0 -1
  15. package/dist/cli/commands/api-diff-commands.js +0 -1
  16. package/dist/cli/commands/audit-artifact-runners.d.ts +16 -0
  17. package/dist/cli/commands/audit-artifact-runners.js +170 -0
  18. package/dist/cli/commands/audit-command-shared.d.ts +97 -0
  19. package/dist/cli/commands/audit-command-shared.js +60 -0
  20. package/dist/cli/commands/audit-commands.d.ts +7 -31
  21. package/dist/cli/commands/audit-commands.js +65 -477
  22. package/dist/cli/commands/audit-goal-runners.d.ts +17 -0
  23. package/dist/cli/commands/audit-goal-runners.js +114 -0
  24. package/dist/cli/commands/audit-red-lines-runners.d.ts +11 -0
  25. package/dist/cli/commands/audit-red-lines-runners.js +43 -0
  26. package/dist/cli/commands/audit-refusal-data.d.ts +23 -0
  27. package/dist/cli/commands/audit-refusal-data.js +69 -0
  28. package/dist/cli/commands/audit-static-runners.d.ts +13 -0
  29. package/dist/cli/commands/audit-static-runners.js +139 -0
  30. package/dist/cli/commands/autonomous-swarm-commands.js +0 -1
  31. package/dist/cli/commands/await-runners.d.ts +11 -0
  32. package/dist/cli/commands/await-runners.js +148 -0
  33. package/dist/cli/commands/bee-commands.d.ts +0 -2
  34. package/dist/cli/commands/bee-commands.js +0 -2
  35. package/dist/cli/commands/best-practice-scan-command.d.ts +0 -1
  36. package/dist/cli/commands/best-practice-scan-helpers.js +0 -1
  37. package/dist/cli/commands/changeset-commands.d.ts +0 -2
  38. package/dist/cli/commands/changeset-commands.js +0 -2
  39. package/dist/cli/commands/code-auto-compact-command.d.ts +3 -0
  40. package/dist/cli/commands/code-auto-compact-command.js +124 -0
  41. package/dist/cli/commands/code-auto-compact-envelope.d.ts +22 -0
  42. package/dist/cli/commands/code-auto-compact-envelope.js +39 -0
  43. package/dist/cli/commands/code-commands.d.ts +0 -3
  44. package/dist/cli/commands/code-commands.js +0 -3
  45. package/dist/cli/commands/code-context-audit-command.d.ts +3 -0
  46. package/dist/cli/commands/code-context-audit-command.js +68 -0
  47. package/dist/cli/commands/code-context-now-command.d.ts +3 -0
  48. package/dist/cli/commands/code-context-now-command.js +124 -0
  49. package/dist/cli/commands/code-context-now-envelope.d.ts +66 -0
  50. package/dist/cli/commands/code-context-now-envelope.js +136 -0
  51. package/dist/cli/commands/code-context-now-mapping.d.ts +27 -0
  52. package/dist/cli/commands/code-context-now-mapping.js +43 -0
  53. package/dist/cli/commands/code-emit-handoff-command.d.ts +3 -0
  54. package/dist/cli/commands/code-emit-handoff-command.js +99 -0
  55. package/dist/cli/commands/code-gate-command.d.ts +0 -1
  56. package/dist/cli/commands/code-gate-command.js +0 -1
  57. package/dist/cli/commands/code-gate-step-08-command.d.ts +3 -0
  58. package/dist/cli/commands/code-gate-step-08-command.js +139 -0
  59. package/dist/cli/commands/code-job-shape-commands-read-job-shape.d.ts +0 -1
  60. package/dist/cli/commands/code-job-shape-commands-read-job-shape.js +0 -1
  61. package/dist/cli/commands/code-job-shape-commands.d.ts +0 -2
  62. package/dist/cli/commands/code-job-shape-commands.js +0 -3
  63. package/dist/cli/commands/code-mode-gate-commands.d.ts +0 -2
  64. package/dist/cli/commands/code-mode-gate-commands.js +0 -3
  65. package/dist/cli/commands/code-mode-gate-should-pause-command.js +0 -4
  66. package/dist/cli/commands/code-mode-gate-should-pause-envelope.d.ts +0 -1
  67. package/dist/cli/commands/code-mode-gate-should-pause-envelope.js +0 -2
  68. package/dist/cli/commands/code-mode-status-command.d.ts +0 -1
  69. package/dist/cli/commands/code-mode-status-command.js +0 -1
  70. package/dist/cli/commands/code-orchestrator-can-do.d.ts +0 -1
  71. package/dist/cli/commands/code-orchestrator-can-do.js +0 -1
  72. package/dist/cli/commands/code-post-compact-detect-command.d.ts +3 -0
  73. package/dist/cli/commands/code-post-compact-detect-command.js +50 -0
  74. package/dist/cli/commands/code-run-command.js +0 -1
  75. package/dist/cli/commands/code-runtime-commands.d.ts +9 -46
  76. package/dist/cli/commands/code-runtime-commands.js +20 -687
  77. package/dist/cli/commands/code-runtime-session.d.ts +1 -0
  78. package/dist/cli/commands/code-runtime-session.js +15 -0
  79. package/dist/cli/commands/codegraph-command-runtime.d.ts +6 -0
  80. package/dist/cli/commands/codegraph-command-runtime.js +19 -7
  81. package/dist/cli/commands/codegraph-commands.js +20 -193
  82. package/dist/cli/commands/codegraph-init-command.d.ts +8 -0
  83. package/dist/cli/commands/codegraph-init-command.js +162 -0
  84. package/dist/cli/commands/codegraph-status-command.js +5 -6
  85. package/dist/cli/commands/compact-command.d.ts +6 -3
  86. package/dist/cli/commands/compact-command.js +12 -563
  87. package/dist/cli/commands/compact-dry-run-command.d.ts +3 -0
  88. package/dist/cli/commands/compact-dry-run-command.js +87 -0
  89. package/dist/cli/commands/compact-force-command.d.ts +3 -0
  90. package/dist/cli/commands/compact-force-command.js +98 -0
  91. package/dist/cli/commands/compact-harness-window-command.d.ts +3 -0
  92. package/dist/cli/commands/compact-harness-window-command.js +174 -0
  93. package/dist/cli/commands/compact-history-command.d.ts +3 -0
  94. package/dist/cli/commands/compact-history-command.js +89 -0
  95. package/dist/cli/commands/compact-read-commands.d.ts +3 -0
  96. package/dist/cli/commands/compact-read-commands.js +123 -0
  97. package/dist/cli/commands/compact-settle-command.d.ts +3 -0
  98. package/dist/cli/commands/compact-settle-command.js +130 -0
  99. package/dist/cli/commands/compact-shared.d.ts +9 -0
  100. package/dist/cli/commands/compact-shared.js +26 -0
  101. package/dist/cli/commands/container-commands.d.ts +0 -1
  102. package/dist/cli/commands/container-commands.js +0 -1
  103. package/dist/cli/commands/context-commands.d.ts +0 -1
  104. package/dist/cli/commands/context-commands.js +0 -1
  105. package/dist/cli/commands/core/doctor-command.d.ts +0 -1
  106. package/dist/cli/commands/core/doctor-command.js +0 -9
  107. package/dist/cli/commands/core/memory-command.js +0 -1
  108. package/dist/cli/commands/core/session-command.js +0 -14
  109. package/dist/cli/commands/core/skill-command.d.ts +1 -44
  110. package/dist/cli/commands/core/skill-command.js +13 -550
  111. package/dist/cli/commands/core/skill-context-verdict.d.ts +38 -0
  112. package/dist/cli/commands/core/skill-context-verdict.js +63 -0
  113. package/dist/cli/commands/core/skill-generated-config-notice.d.ts +41 -0
  114. package/dist/cli/commands/core/skill-generated-config-notice.js +75 -0
  115. package/dist/cli/commands/core/skill-heartbeat-commands.d.ts +3 -0
  116. package/dist/cli/commands/core/skill-heartbeat-commands.js +50 -0
  117. package/dist/cli/commands/core/skill-presence-commands.d.ts +3 -0
  118. package/dist/cli/commands/core/skill-presence-commands.js +123 -0
  119. package/dist/cli/commands/core/skill-presence-housekeeping-commands.d.ts +3 -0
  120. package/dist/cli/commands/core/skill-presence-housekeeping-commands.js +165 -0
  121. package/dist/cli/commands/core/skill-registry-commands.d.ts +3 -0
  122. package/dist/cli/commands/core/skill-registry-commands.js +117 -0
  123. package/dist/cli/commands/core/skill-runbook-command.d.ts +3 -0
  124. package/dist/cli/commands/core/skill-runbook-command.js +29 -0
  125. package/dist/cli/commands/core-artifact-commands.d.ts +0 -1
  126. package/dist/cli/commands/core-artifact-commands.js +0 -1
  127. package/dist/cli/commands/cron-commands-actions.d.ts +0 -1
  128. package/dist/cli/commands/cron-commands-actions.js +0 -2
  129. package/dist/cli/commands/cron-commands-schedule.d.ts +0 -3
  130. package/dist/cli/commands/cron-commands-schedule.js +0 -1
  131. package/dist/cli/commands/cron-commands.d.ts +0 -1
  132. package/dist/cli/commands/cron-commands.js +0 -2
  133. package/dist/cli/commands/cron-scheduler-commands.d.ts +0 -1
  134. package/dist/cli/commands/cron-scheduler-commands.js +0 -1
  135. package/dist/cli/commands/cron-scheduler-persist.d.ts +0 -5
  136. package/dist/cli/commands/cron-scheduler-persist.js +0 -5
  137. package/dist/cli/commands/dashboard-summary.d.ts +0 -1
  138. package/dist/cli/commands/dispatch-command-spec.d.ts +2 -0
  139. package/dist/cli/commands/dispatch-command-spec.js +62 -0
  140. package/dist/cli/commands/dispatch-commands.d.ts +0 -1
  141. package/dist/cli/commands/dispatch-commands.js +159 -802
  142. package/dist/cli/commands/dispatch-detached-branch.d.ts +3 -0
  143. package/dist/cli/commands/dispatch-detached-branch.js +58 -0
  144. package/dist/cli/commands/dispatch-envelope.d.ts +36 -0
  145. package/dist/cli/commands/dispatch-envelope.js +104 -0
  146. package/dist/cli/commands/dispatch-from-dag.js +0 -4
  147. package/dist/cli/commands/dispatch-isolation-lease.d.ts +17 -0
  148. package/dist/cli/commands/dispatch-isolation-lease.js +149 -0
  149. package/dist/cli/commands/dispatch-preflight.d.ts +7 -0
  150. package/dist/cli/commands/dispatch-preflight.js +105 -0
  151. package/dist/cli/commands/dispatch-prompt-blocks.d.ts +10 -0
  152. package/dist/cli/commands/dispatch-prompt-blocks.js +56 -0
  153. package/dist/cli/commands/dispatch-prompt-composition.d.ts +30 -0
  154. package/dist/cli/commands/dispatch-prompt-composition.js +171 -0
  155. package/dist/cli/commands/dispatch-record-write.d.ts +24 -0
  156. package/dist/cli/commands/dispatch-record-write.js +96 -0
  157. package/dist/cli/commands/dispatch-tool-call.d.ts +15 -0
  158. package/dist/cli/commands/dispatch-tool-call.js +128 -0
  159. package/dist/cli/commands/doctor/invoke-from-code.js +0 -1
  160. package/dist/cli/commands/e2e-verify.d.ts +0 -1
  161. package/dist/cli/commands/ecc-commands.d.ts +0 -1
  162. package/dist/cli/commands/evolution-command-shared.d.ts +78 -0
  163. package/dist/cli/commands/evolution-command-shared.js +107 -0
  164. package/dist/cli/commands/evolution-commands.d.ts +11 -2
  165. package/dist/cli/commands/evolution-commands.js +19 -351
  166. package/dist/cli/commands/evolution-evaluate-command.d.ts +24 -0
  167. package/dist/cli/commands/evolution-evaluate-command.js +138 -0
  168. package/dist/cli/commands/evolution-propose-command.d.ts +23 -0
  169. package/dist/cli/commands/evolution-propose-command.js +145 -0
  170. package/dist/cli/commands/evolution-status-command.d.ts +17 -0
  171. package/dist/cli/commands/evolution-status-command.js +41 -0
  172. package/dist/cli/commands/evolution-verdict-commands.d.ts +30 -0
  173. package/dist/cli/commands/evolution-verdict-commands.js +100 -0
  174. package/dist/cli/commands/feedback-commands.d.ts +0 -1
  175. package/dist/cli/commands/feedback-commands.js +0 -2
  176. package/dist/cli/commands/finalize-accumulator.d.ts +44 -0
  177. package/dist/cli/commands/finalize-accumulator.js +55 -0
  178. package/dist/cli/commands/finalize-branches.d.ts +34 -0
  179. package/dist/cli/commands/finalize-branches.js +119 -0
  180. package/dist/cli/commands/finalize-runners.d.ts +3 -0
  181. package/dist/cli/commands/finalize-runners.js +92 -0
  182. package/dist/cli/commands/finalize-selection.d.ts +65 -0
  183. package/dist/cli/commands/finalize-selection.js +35 -0
  184. package/dist/cli/commands/fixture-commands.d.ts +0 -2
  185. package/dist/cli/commands/fresh-context-commands.d.ts +0 -1
  186. package/dist/cli/commands/gate-commands-enforce.d.ts +0 -3
  187. package/dist/cli/commands/gate-commands-enforce.js +0 -4
  188. package/dist/cli/commands/gate-commands.js +26 -10
  189. package/dist/cli/commands/governance-classify-contract-commands.d.ts +0 -3
  190. package/dist/cli/commands/governance-classify-contract-commands.js +0 -4
  191. package/dist/cli/commands/heartbeat-commands-action.js +0 -6
  192. package/dist/cli/commands/heartbeat-commands-validation.d.ts +0 -2
  193. package/dist/cli/commands/heartbeat-commands-validation.js +0 -2
  194. package/dist/cli/commands/heartbeat-commands.d.ts +0 -1
  195. package/dist/cli/commands/heartbeat-commands.js +0 -1
  196. package/dist/cli/commands/hooks-commands.js +0 -11
  197. package/dist/cli/commands/ide-commands.d.ts +0 -1
  198. package/dist/cli/commands/job-add-slice-command.d.ts +0 -2
  199. package/dist/cli/commands/job-add-slice-command.js +0 -2
  200. package/dist/cli/commands/job-checkpoint-commands.d.ts +3 -0
  201. package/dist/cli/commands/job-checkpoint-commands.js +157 -0
  202. package/dist/cli/commands/job-command-shared.d.ts +109 -0
  203. package/dist/cli/commands/job-command-shared.js +72 -0
  204. package/dist/cli/commands/job-commands.d.ts +4 -64
  205. package/dist/cli/commands/job-commands.js +42 -556
  206. package/dist/cli/commands/job-cost-check-command.d.ts +3 -0
  207. package/dist/cli/commands/job-cost-check-command.js +41 -0
  208. package/dist/cli/commands/job-init-status-commands.d.ts +3 -0
  209. package/dist/cli/commands/job-init-status-commands.js +149 -0
  210. package/dist/cli/commands/job-run-commands.d.ts +3 -0
  211. package/dist/cli/commands/job-run-commands.js +97 -0
  212. package/dist/cli/commands/job-state-root.d.ts +35 -0
  213. package/dist/cli/commands/job-state-root.js +76 -0
  214. package/dist/cli/commands/lease-metrics-commands.d.ts +0 -1
  215. package/dist/cli/commands/lease-metrics-commands.js +0 -1
  216. package/dist/cli/commands/lease-stats-commands.d.ts +0 -1
  217. package/dist/cli/commands/lease-stats-commands.js +0 -1
  218. package/dist/cli/commands/log-commands.d.ts +0 -2
  219. package/dist/cli/commands/log-commands.js +0 -3
  220. package/dist/cli/commands/loop-eval-capture-index.d.ts +4 -0
  221. package/dist/cli/commands/loop-eval-capture-index.js +44 -0
  222. package/dist/cli/commands/loop-eval-commands.d.ts +8 -5
  223. package/dist/cli/commands/loop-eval-commands.js +12 -629
  224. package/dist/cli/commands/loop-eval-eval-command.d.ts +3 -0
  225. package/dist/cli/commands/loop-eval-eval-command.js +168 -0
  226. package/dist/cli/commands/loop-eval-monotonic-command.d.ts +3 -0
  227. package/dist/cli/commands/loop-eval-monotonic-command.js +90 -0
  228. package/dist/cli/commands/loop-eval-parents.d.ts +7 -0
  229. package/dist/cli/commands/loop-eval-parents.js +20 -0
  230. package/dist/cli/commands/loop-eval-run-code.d.ts +7 -0
  231. package/dist/cli/commands/loop-eval-run-code.js +40 -0
  232. package/dist/cli/commands/loop-eval-run-command.d.ts +3 -0
  233. package/dist/cli/commands/loop-eval-run-command.js +113 -0
  234. package/dist/cli/commands/loop-eval-spec-commands.d.ts +3 -0
  235. package/dist/cli/commands/loop-eval-spec-commands.js +165 -0
  236. package/dist/cli/commands/loop-eval-spec-lint-command.d.ts +3 -0
  237. package/dist/cli/commands/loop-eval-spec-lint-command.js +42 -0
  238. package/dist/cli/commands/loop-eval-workflow-commands.d.ts +3 -0
  239. package/dist/cli/commands/loop-eval-workflow-commands.js +141 -0
  240. package/dist/cli/commands/mcp-commands.d.ts +10 -0
  241. package/dist/cli/commands/mcp-commands.js +157 -0
  242. package/dist/cli/commands/memory-commands.d.ts +0 -1
  243. package/dist/cli/commands/memory-commands.js +0 -1
  244. package/dist/cli/commands/observability-commands.d.ts +0 -6
  245. package/dist/cli/commands/observability-commands.js +0 -6
  246. package/dist/cli/commands/outer-cache-commands.js +0 -2
  247. package/dist/cli/commands/playwright-commands.d.ts +0 -1
  248. package/dist/cli/commands/playwright-commands.js +0 -1
  249. package/dist/cli/commands/polyrepo-commands.d.ts +0 -1
  250. package/dist/cli/commands/prd-commands.d.ts +0 -1
  251. package/dist/cli/commands/prd-commands.js +0 -2
  252. package/dist/cli/commands/preferences-commands.js +0 -2
  253. package/dist/cli/commands/primer-command.d.ts +0 -1
  254. package/dist/cli/commands/primer-command.js +0 -1
  255. package/dist/cli/commands/project-commands.js +0 -1
  256. package/dist/cli/commands/qa-commands.d.ts +0 -1
  257. package/dist/cli/commands/qa-commands.js +0 -2
  258. package/dist/cli/commands/release-commands.js +0 -9
  259. package/dist/cli/commands/request-command-options.d.ts +49 -0
  260. package/dist/cli/commands/request-command-options.js +1 -0
  261. package/dist/cli/commands/request-commands.d.ts +3 -10
  262. package/dist/cli/commands/request-commands.js +17 -532
  263. package/dist/cli/commands/request-format-helpers.d.ts +0 -1
  264. package/dist/cli/commands/request-format-helpers.js +0 -2
  265. package/dist/cli/commands/request-init-command.d.ts +3 -0
  266. package/dist/cli/commands/request-init-command.js +100 -0
  267. package/dist/cli/commands/request-lint-command.d.ts +3 -0
  268. package/dist/cli/commands/request-lint-command.js +50 -0
  269. package/dist/cli/commands/request-list-command.d.ts +10 -0
  270. package/dist/cli/commands/request-list-command.js +53 -0
  271. package/dist/cli/commands/request-repair-status-command.d.ts +3 -0
  272. package/dist/cli/commands/request-repair-status-command.js +61 -0
  273. package/dist/cli/commands/request-show-command.d.ts +3 -0
  274. package/dist/cli/commands/request-show-command.js +56 -0
  275. package/dist/cli/commands/request-transition-command.d.ts +3 -0
  276. package/dist/cli/commands/request-transition-command.js +122 -0
  277. package/dist/cli/commands/request-transition-failures.d.ts +8 -0
  278. package/dist/cli/commands/request-transition-failures.js +90 -0
  279. package/dist/cli/commands/request-transition-hooks.d.ts +50 -0
  280. package/dist/cli/commands/request-transition-hooks.js +115 -0
  281. package/dist/cli/commands/request-transition-preflight.d.ts +10 -0
  282. package/dist/cli/commands/request-transition-preflight.js +107 -0
  283. package/dist/cli/commands/runtime-commands.d.ts +0 -1
  284. package/dist/cli/commands/sc-commands.js +0 -1
  285. package/dist/cli/commands/scan-command-shared.d.ts +96 -0
  286. package/dist/cli/commands/scan-command-shared.js +83 -0
  287. package/dist/cli/commands/scan-commands.d.ts +3 -2
  288. package/dist/cli/commands/scan-commands.js +23 -463
  289. package/dist/cli/commands/scan-inventory-commands.d.ts +3 -0
  290. package/dist/cli/commands/scan-inventory-commands.js +96 -0
  291. package/dist/cli/commands/scan-project-commands.d.ts +3 -0
  292. package/dist/cli/commands/scan-project-commands.js +65 -0
  293. package/dist/cli/commands/scan-scope-commands.d.ts +3 -0
  294. package/dist/cli/commands/scan-scope-commands.js +149 -0
  295. package/dist/cli/commands/scan-scope-helpers.d.ts +8 -0
  296. package/dist/cli/commands/scan-scope-helpers.js +54 -0
  297. package/dist/cli/commands/scan-structural-commands.d.ts +3 -0
  298. package/dist/cli/commands/scan-structural-commands.js +113 -0
  299. package/dist/cli/commands/session-24h-mode.d.ts +0 -1
  300. package/dist/cli/commands/session-24h-mode.js +0 -2
  301. package/dist/cli/commands/session-checkpoint-command.d.ts +0 -1
  302. package/dist/cli/commands/session-checkpoint-command.js +0 -1
  303. package/dist/cli/commands/session-resume-command.d.ts +0 -1
  304. package/dist/cli/commands/session-resume-command.js +0 -1
  305. package/dist/cli/commands/shadcn-commands.js +0 -2
  306. package/dist/cli/commands/share-commands.d.ts +12 -71
  307. package/dist/cli/commands/share-commands.js +47 -569
  308. package/dist/cli/commands/share-error-hints.d.ts +14 -0
  309. package/dist/cli/commands/share-error-hints.js +38 -0
  310. package/dist/cli/commands/share-identity.d.ts +13 -0
  311. package/dist/cli/commands/share-identity.js +22 -0
  312. package/dist/cli/commands/share-record-paths.d.ts +37 -0
  313. package/dist/cli/commands/share-record-paths.js +68 -0
  314. package/dist/cli/commands/share-runners.d.ts +3 -0
  315. package/dist/cli/commands/share-runners.js +158 -0
  316. package/dist/cli/commands/shared-read-runners.d.ts +3 -0
  317. package/dist/cli/commands/shared-read-runners.js +51 -0
  318. package/dist/cli/commands/skill-search-commands.d.ts +0 -2
  319. package/dist/cli/commands/slice-check-command.d.ts +3 -0
  320. package/dist/cli/commands/slice-check-command.js +54 -0
  321. package/dist/cli/commands/slice-commands.d.ts +2 -22
  322. package/dist/cli/commands/slice-commands.js +18 -519
  323. package/dist/cli/commands/slice-decompose-artifacts.d.ts +18 -0
  324. package/dist/cli/commands/slice-decompose-artifacts.js +79 -0
  325. package/dist/cli/commands/slice-decompose-command.d.ts +3 -0
  326. package/dist/cli/commands/slice-decompose-command.js +123 -0
  327. package/dist/cli/commands/slice-integrate-commands.js +0 -1
  328. package/dist/cli/commands/slice-list-commands.d.ts +3 -0
  329. package/dist/cli/commands/slice-list-commands.js +182 -0
  330. package/dist/cli/commands/slice-pick-command.d.ts +3 -0
  331. package/dist/cli/commands/slice-pick-command.js +60 -0
  332. package/dist/cli/commands/slice-plan-command.d.ts +24 -0
  333. package/dist/cli/commands/slice-plan-command.js +111 -0
  334. package/dist/cli/commands/spill-demo-command.d.ts +0 -1
  335. package/dist/cli/commands/statusline-commands.js +0 -4
  336. package/dist/cli/commands/sub-agent/detached.js +0 -2
  337. package/dist/cli/commands/sub-agent-commands.d.ts +0 -3
  338. package/dist/cli/commands/sub-agent-shared.d.ts +0 -8
  339. package/dist/cli/commands/sub-agent-shared.js +0 -5
  340. package/dist/cli/commands/sub-agent-shutdown-commands.d.ts +0 -1
  341. package/dist/cli/commands/tech-commands.d.ts +0 -4
  342. package/dist/cli/commands/tech-commands.js +0 -4
  343. package/dist/cli/commands/vendor-detect.d.ts +0 -3
  344. package/dist/cli/commands/vendor-detect.js +0 -2
  345. package/dist/cli/commands/verdict-aggregate-command.d.ts +0 -1
  346. package/dist/cli/commands/verdict-aggregate-command.js +0 -7
  347. package/dist/cli/commands/vm-commands.d.ts +0 -1
  348. package/dist/cli/commands/vm-commands.js +5 -29
  349. package/dist/cli/commands/vm-hypervisor-probe.d.ts +27 -0
  350. package/dist/cli/commands/vm-hypervisor-probe.js +78 -0
  351. package/dist/cli/commands/vm-status-command.d.ts +3 -0
  352. package/dist/cli/commands/vm-status-command.js +50 -0
  353. package/dist/cli/commands/wave-plan-commands.d.ts +0 -1
  354. package/dist/cli/commands/web-lifecycle-commands.d.ts +0 -1
  355. package/dist/cli/commands/workflow-commands.d.ts +10 -1
  356. package/dist/cli/commands/workflow-commands.js +6 -608
  357. package/dist/cli/commands/workflow-gate-commands.d.ts +3 -0
  358. package/dist/cli/commands/workflow-gate-commands.js +116 -0
  359. package/dist/cli/commands/workflow-plan-commands-actions.js +0 -2
  360. package/dist/cli/commands/workflow-plan-commands-session.js +0 -2
  361. package/dist/cli/commands/workflow-plan-commands.d.ts +0 -1
  362. package/dist/cli/commands/workflow-plan-helpers.d.ts +48 -0
  363. package/dist/cli/commands/workflow-plan-helpers.js +103 -0
  364. package/dist/cli/commands/workflow-planning-commands.d.ts +3 -0
  365. package/dist/cli/commands/workflow-planning-commands.js +56 -0
  366. package/dist/cli/commands/workflow-swarm-actions.d.ts +7 -0
  367. package/dist/cli/commands/workflow-swarm-actions.js +109 -0
  368. package/dist/cli/commands/workflow-swarm-commands.d.ts +3 -0
  369. package/dist/cli/commands/workflow-swarm-commands.js +138 -0
  370. package/dist/cli/commands/workflow-tech-actions.d.ts +10 -0
  371. package/dist/cli/commands/workflow-tech-actions.js +150 -0
  372. package/dist/cli/commands/workspace/clean-command.d.ts +0 -1
  373. package/dist/cli/commands/workspace/clean-command.js +0 -1
  374. package/dist/cli/commands/workspace/helpers.d.ts +0 -1
  375. package/dist/cli/commands/workspace/helpers.js +0 -1
  376. package/dist/cli/commands/workspace/init-actions.d.ts +10 -0
  377. package/dist/cli/commands/workspace/init-actions.js +199 -0
  378. package/dist/cli/commands/workspace/init-codegraph-stake.d.ts +10 -0
  379. package/dist/cli/commands/workspace/init-codegraph-stake.js +54 -0
  380. package/dist/cli/commands/workspace/init-command.d.ts +8 -130
  381. package/dist/cli/commands/workspace/init-command.js +59 -640
  382. package/dist/cli/commands/workspace/init-context.d.ts +58 -0
  383. package/dist/cli/commands/workspace/init-context.js +121 -0
  384. package/dist/cli/commands/workspace/init-envelope.d.ts +3 -0
  385. package/dist/cli/commands/workspace/init-envelope.js +34 -0
  386. package/dist/cli/commands/workspace/init-failures.d.ts +3 -0
  387. package/dist/cli/commands/workspace/init-failures.js +84 -0
  388. package/dist/cli/commands/workspace/init-hooks-decision.d.ts +24 -0
  389. package/dist/cli/commands/workspace/init-hooks-decision.js +189 -0
  390. package/dist/cli/commands/workspace/init-options.d.ts +102 -0
  391. package/dist/cli/commands/workspace/init-options.js +1 -0
  392. package/dist/cli/commands/workspace/migrate-command.d.ts +0 -2
  393. package/dist/cli/commands/workspace/migrate-command.js +0 -2
  394. package/dist/cli/commands/workspace/reconcile-command.d.ts +0 -2
  395. package/dist/cli/commands/workspace/reconcile-command.js +0 -3
  396. package/dist/cli/commands/workspace-commands.d.ts +0 -2
  397. package/dist/cli/commands/workspace-commands.js +0 -4
  398. package/dist/cli/commands/worktree-auth-commands.d.ts +0 -1
  399. package/dist/cli/commands/worktree-auth-commands.js +0 -1
  400. package/dist/cli/commands/worktree-auth-grant-command.d.ts +0 -1
  401. package/dist/cli/commands/worktree-auth-grant-command.js +0 -1
  402. package/dist/cli/commands/worktree-auth-manage-commands.d.ts +0 -1
  403. package/dist/cli/commands/worktree-auth-manage-commands.js +0 -1
  404. package/dist/cli/commands/worktree-lease-commands.d.ts +10 -6
  405. package/dist/cli/commands/worktree-lease-commands.js +42 -513
  406. package/dist/cli/commands/worktree-lease-gc-command.d.ts +12 -0
  407. package/dist/cli/commands/worktree-lease-gc-command.js +117 -0
  408. package/dist/cli/commands/worktree-lease-git.d.ts +22 -0
  409. package/dist/cli/commands/worktree-lease-git.js +48 -0
  410. package/dist/cli/commands/worktree-lease-list-command.d.ts +12 -0
  411. package/dist/cli/commands/worktree-lease-list-command.js +100 -0
  412. package/dist/cli/commands/worktree-lease-load.d.ts +37 -0
  413. package/dist/cli/commands/worktree-lease-load.js +28 -0
  414. package/dist/cli/commands/worktree-lease-release-command.d.ts +13 -0
  415. package/dist/cli/commands/worktree-lease-release-command.js +105 -0
  416. package/dist/cli/commands/worktree-lease-renew-command.d.ts +11 -0
  417. package/dist/cli/commands/worktree-lease-renew-command.js +99 -0
  418. package/dist/cli/commands/worktree-lease-session.d.ts +22 -0
  419. package/dist/cli/commands/worktree-lease-session.js +29 -0
  420. package/dist/cli/commands/worktree-lease-spawn-command.d.ts +11 -0
  421. package/dist/cli/commands/worktree-lease-spawn-command.js +119 -0
  422. package/dist/cli/commands/worktree-lease-status-command.d.ts +11 -0
  423. package/dist/cli/commands/worktree-lease-status-command.js +86 -0
  424. package/dist/cli/commands/worktree-lease-store.d.ts +19 -0
  425. package/dist/cli/commands/worktree-lease-store.js +24 -0
  426. package/dist/cli/program.js +5 -7
  427. package/dist/reporters/bdd-reporter.js +0 -1
  428. package/dist/services/24h-mode/auto-engage.d.ts +0 -1
  429. package/dist/services/24h-mode/auto-engage.js +0 -1
  430. package/dist/services/24h-mode/decider.d.ts +0 -3
  431. package/dist/services/24h-mode/decider.js +0 -3
  432. package/dist/services/24h-mode/index.d.ts +0 -2
  433. package/dist/services/24h-mode/index.js +0 -2
  434. package/dist/services/24h-mode/state.d.ts +0 -1
  435. package/dist/services/24h-mode/state.js +0 -1
  436. package/dist/services/24h-mode/store.d.ts +0 -1
  437. package/dist/services/24h-mode/store.js +0 -1
  438. package/dist/services/adapter/adapter-registry.js +0 -1
  439. package/dist/services/artifacts/artifact-prerequisites.d.ts +0 -5
  440. package/dist/services/artifacts/artifact-prerequisites.js +0 -19
  441. package/dist/services/artifacts/artifact-templates.d.ts +0 -1
  442. package/dist/services/artifacts/artifact-templates.js +0 -1
  443. package/dist/services/artifacts/request-artifact-service.d.ts +0 -5
  444. package/dist/services/artifacts/request-artifact-service.js +0 -12
  445. package/dist/services/artifacts/request-artifact-state-helpers.d.ts +0 -1
  446. package/dist/services/artifacts/request-artifact-state-helpers.js +0 -1
  447. package/dist/services/audit/artifact-writer.d.ts +0 -1
  448. package/dist/services/audit/artifact-writer.js +0 -1
  449. package/dist/services/audit/decision-writer.js +3 -1
  450. package/dist/services/audit/enforcer-liveness.js +0 -1
  451. package/dist/services/audit/enforcers/active-skill-resolver.d.ts +0 -2
  452. package/dist/services/audit/enforcers/active-skill-resolver.js +0 -2
  453. package/dist/services/audit/red-line-audit-input.d.ts +11 -0
  454. package/dist/services/audit/red-line-audit-input.js +103 -0
  455. package/dist/services/audit/red-line-catalog-p2-a-bee-runtime.d.ts +0 -1
  456. package/dist/services/audit/red-line-catalog-p2-a.js +0 -9
  457. package/dist/services/audit/types.d.ts +0 -2
  458. package/dist/services/audit/types.js +0 -2
  459. package/dist/services/audit-independent/perf-audit-service.d.ts +0 -2
  460. package/dist/services/audit-independent/security-audit-service.d.ts +0 -5
  461. package/dist/services/audit-independent/security-audit-service.js +0 -2
  462. package/dist/services/autonomous-swarm/autonomous-swarm-service.d.ts +0 -5
  463. package/dist/services/autonomous-swarm/autonomous-swarm-service.js +0 -5
  464. package/dist/services/best-practice/language-detector.js +0 -1
  465. package/dist/services/best-practice/output-formatter.d.ts +0 -1
  466. package/dist/services/best-practice/scan-orchestrator.d.ts +0 -1
  467. package/dist/services/capability-audit-service/types.d.ts +1 -3
  468. package/dist/services/capability-guard-runner/contracts/J08.js +2 -2
  469. package/dist/services/changeset/changeset-check-service.d.ts +0 -3
  470. package/dist/services/changeset/changeset-check-service.js +0 -3
  471. package/dist/services/classify/classify-service.d.ts +0 -1
  472. package/dist/services/classify/classify-service.js +0 -1
  473. package/dist/services/classify/classify-types.d.ts +0 -1
  474. package/dist/services/classify/classify-types.js +0 -1
  475. package/dist/services/code/auto-compact-lifecycle.d.ts +0 -11
  476. package/dist/services/code/auto-compact-lifecycle.js +0 -10
  477. package/dist/services/code/auto-compact-modes.d.ts +0 -3
  478. package/dist/services/code/auto-compact-modes.js +0 -3
  479. package/dist/services/code/auto-compact-orchestrator.d.ts +0 -9
  480. package/dist/services/code/auto-compact-orchestrator.js +0 -29
  481. package/dist/services/code/batch-heartbeat-poller.js +0 -1
  482. package/dist/services/code/compact-event-settle.js +0 -1
  483. package/dist/services/code/dag-orchestrator.d.ts +0 -1
  484. package/dist/services/code/dag-orchestrator.js +0 -1
  485. package/dist/services/code/mode-gate-types.d.ts +0 -2
  486. package/dist/services/code/mode-gate-types.js +0 -1
  487. package/dist/services/code/mode-gate.d.ts +0 -5
  488. package/dist/services/code/mode-gate.js +0 -5
  489. package/dist/services/code/orchestrator-can-do-advisories.d.ts +0 -2
  490. package/dist/services/code/orchestrator-can-do-advisories.js +0 -5
  491. package/dist/services/code/orchestrator-can-do.d.ts +0 -4
  492. package/dist/services/code/orchestrator-can-do.js +0 -3
  493. package/dist/services/code/status-line-renderer.js +0 -1
  494. package/dist/services/code-review/ecc-bridge.d.ts +0 -1
  495. package/dist/services/codegraph/codegraph-autorefresh.js +6 -4
  496. package/dist/services/codegraph/codegraph-backend-advice.d.ts +26 -0
  497. package/dist/services/codegraph/codegraph-backend-advice.js +166 -0
  498. package/dist/services/codegraph/codegraph-config-repair-writer.d.ts +0 -24
  499. package/dist/services/codegraph/codegraph-config-repair-writer.js +32 -73
  500. package/dist/services/codegraph/codegraph-exclude-integrity.d.ts +14 -6
  501. package/dist/services/codegraph/codegraph-exclude-integrity.js +24 -14
  502. package/dist/services/codegraph/codegraph-exclude-reconciler.d.ts +9 -2
  503. package/dist/services/codegraph/codegraph-exclude-reconciler.js +87 -18
  504. package/dist/services/codegraph/codegraph-exclude-repair.d.ts +9 -61
  505. package/dist/services/codegraph/codegraph-exclude-repair.js +67 -139
  506. package/dist/services/codegraph/codegraph-foreign-removal.d.ts +21 -0
  507. package/dist/services/codegraph/codegraph-foreign-removal.js +77 -0
  508. package/dist/services/codegraph/codegraph-index-integrity.d.ts +12 -25
  509. package/dist/services/codegraph/codegraph-index-integrity.js +84 -23
  510. package/dist/services/codegraph/codegraph-preflight-service.js +15 -6
  511. package/dist/services/codegraph/codegraph-project-config.d.ts +35 -0
  512. package/dist/services/codegraph/codegraph-project-config.js +90 -0
  513. package/dist/services/codegraph/codegraph-service.d.ts +1 -2
  514. package/dist/services/codegraph/codegraph-service.js +11 -11
  515. package/dist/services/codegraph/codegraph-upstream-layout.d.ts +24 -0
  516. package/dist/services/codegraph/codegraph-upstream-layout.js +85 -0
  517. package/dist/services/comments/comment-audit.d.ts +15 -4
  518. package/dist/services/comments/comment-audit.js +25 -4
  519. package/dist/services/comments/comment-citations.d.ts +8 -2
  520. package/dist/services/comments/comment-citations.js +31 -33
  521. package/dist/services/comments/comment-hygiene.d.ts +29 -3
  522. package/dist/services/comments/comment-hygiene.js +40 -3
  523. package/dist/services/comments/comment-prune.js +52 -4
  524. package/dist/services/comments/comment-spans.d.ts +30 -0
  525. package/dist/services/comments/comment-spans.js +266 -0
  526. package/dist/services/comments/prune-apply.d.ts +22 -0
  527. package/dist/services/comments/prune-apply.js +69 -2
  528. package/dist/services/compact/decision-tables.d.ts +0 -2
  529. package/dist/services/compact/decision-tables.js +0 -2
  530. package/dist/services/compact/request-transition-hook.js +0 -2
  531. package/dist/services/compact-history/compact-history-service.d.ts +0 -2
  532. package/dist/services/compact-history/compact-history-service.js +0 -1
  533. package/dist/services/compact-statusline/compact-lifecycle-store.js +0 -2
  534. package/dist/services/compact-statusline/compact-lifecycle-types.d.ts +0 -1
  535. package/dist/services/compact-statusline/compact-statusline-service.js +0 -4
  536. package/dist/services/config/config-rollback.js +0 -1
  537. package/dist/services/config/config-safety.d.ts +0 -1
  538. package/dist/services/config/config-safety.js +0 -1
  539. package/dist/services/config/config-service.d.ts +0 -1
  540. package/dist/services/config/config-service.js +0 -1
  541. package/dist/services/config/model-routing.d.ts +0 -3
  542. package/dist/services/config/model-routing.js +0 -5
  543. package/dist/services/container/container-lease.d.ts +0 -1
  544. package/dist/services/container/container-lease.js +0 -1
  545. package/dist/services/context/artifact-meta.js +0 -1
  546. package/dist/services/context/auto-compact-dispatcher-input.d.ts +0 -3
  547. package/dist/services/context/auto-compact-dispatcher.js +0 -14
  548. package/dist/services/context/auto-compact-reader-input.d.ts +0 -1
  549. package/dist/services/context/auto-compact-reader.d.ts +0 -2
  550. package/dist/services/context/auto-compact-reader.js +0 -7
  551. package/dist/services/context/auto-compact-types.d.ts +0 -11
  552. package/dist/services/context/auto-compact-types.js +0 -1
  553. package/dist/services/context/build-dispatch-system-prompt.d.ts +11 -29
  554. package/dist/services/context/build-dispatch-system-prompt.js +8 -27
  555. package/dist/services/context/codegraph-unavailable-block.d.ts +38 -0
  556. package/dist/services/context/codegraph-unavailable-block.js +77 -0
  557. package/dist/services/context/context-audit-hint.d.ts +0 -1
  558. package/dist/services/context/context-audit-hint.js +0 -1
  559. package/dist/services/context/context-audit.d.ts +0 -1
  560. package/dist/services/context/context-audit.js +0 -1
  561. package/dist/services/context/harness-window-config.d.ts +0 -4
  562. package/dist/services/context/harness-window-config.js +0 -4
  563. package/dist/services/context/main-session-monitor.d.ts +0 -2
  564. package/dist/services/context/main-session-monitor.js +0 -2
  565. package/dist/services/context/memory-index-reader.d.ts +0 -2
  566. package/dist/services/context/memory-index-reader.js +0 -1
  567. package/dist/services/context/memory-preflight-config.d.ts +0 -1
  568. package/dist/services/context/memory-preflight-service.d.ts +0 -1
  569. package/dist/services/context/memory-preflight-service.js +0 -3
  570. package/dist/services/context/memory-preflight-support.d.ts +0 -5
  571. package/dist/services/context/post-compact-reinjection.d.ts +0 -1
  572. package/dist/services/context/post-compact-reinjection.js +0 -1
  573. package/dist/services/context/summary-view.d.ts +0 -1
  574. package/dist/services/context/summary-view.js +0 -1
  575. package/dist/services/crystallization/crystallization-service.d.ts +5 -11
  576. package/dist/services/crystallization/crystallization-service.js +3 -11
  577. package/dist/services/crystallization/crystallization-store.d.ts +6 -6
  578. package/dist/services/dispatch/await-batch-helpers.js +0 -3
  579. package/dist/services/dispatch/await-batch.d.ts +0 -1
  580. package/dist/services/dispatch/await-batch.js +0 -4
  581. package/dist/services/dispatch/batch-counter.js +0 -1
  582. package/dist/services/dispatch/conflict-replay.d.ts +0 -1
  583. package/dist/services/dispatch/conflict-replay.js +0 -1
  584. package/dist/services/dispatch/contract-store.d.ts +0 -2
  585. package/dist/services/dispatch/contract-store.js +0 -2
  586. package/dist/services/dispatch/dispatch-record-input-types.d.ts +0 -2
  587. package/dist/services/dispatch/dispatch-record-types.d.ts +0 -10
  588. package/dist/services/dispatch/dispatch-record-upgrade-fields.js +0 -7
  589. package/dist/services/dispatch/dispatch-record-upgrade-guards.js +0 -2
  590. package/dist/services/dispatch/dispatch-record-writer.d.ts +0 -5
  591. package/dist/services/dispatch/dispatch-record-writer.js +0 -21
  592. package/dist/services/dispatch/dispatch-sub-agent.d.ts +0 -1
  593. package/dist/services/dispatch/dispatch-sub-agent.js +0 -1
  594. package/dist/services/dispatch/e2e-fixtures.js +0 -1
  595. package/dist/services/dispatch/file-overlap-wave-planner.d.ts +0 -1
  596. package/dist/services/dispatch/file-overlap-wave-planner.js +0 -1
  597. package/dist/services/dispatch/isolation-lease.d.ts +0 -2
  598. package/dist/services/dispatch/isolation-lease.js +0 -2
  599. package/dist/services/dispatch/service-shutdown.js +0 -1
  600. package/dist/services/dispatch/session-capsule.js +0 -1
  601. package/dist/services/dispatch/slice-dag-types.d.ts +0 -1
  602. package/dist/services/dispatch/slice-dag.js +0 -2
  603. package/dist/services/dispatch/stage-enum.d.ts +0 -1
  604. package/dist/services/dispatch/stage-enum.js +0 -1
  605. package/dist/services/dispatch/startup-timeout.d.ts +0 -1
  606. package/dist/services/dispatch/sub-agent-batch-await.js +0 -3
  607. package/dist/services/dispatch/sub-agent-dispatcher-types.d.ts +0 -1
  608. package/dist/services/dispatch/sub-agent-dispatcher.js +0 -2
  609. package/dist/services/dispatch/test-tool-detection.d.ts +0 -3
  610. package/dist/services/dispatch/test-tool-detection.js +0 -2
  611. package/dist/services/distribution/mcp-install-runner.d.ts +21 -0
  612. package/dist/services/distribution/mcp-install-runner.js +59 -0
  613. package/dist/services/distribution/mcp-install.d.ts +95 -0
  614. package/dist/services/distribution/mcp-install.js +179 -0
  615. package/dist/services/distribution/plugin-manifest.d.ts +97 -0
  616. package/dist/services/distribution/plugin-manifest.js +126 -0
  617. package/dist/services/doctor/doctor-service/checks/codegraph-capability.js +19 -12
  618. package/dist/services/doctor/doctor-service/checks/codegraph-index-integrity.js +1 -2
  619. package/dist/services/doctor/doctor-service/checks/l3-memory-health.d.ts +0 -2
  620. package/dist/services/doctor/doctor-service/checks/l3-memory-health.js +0 -2
  621. package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.d.ts +0 -1
  622. package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.js +0 -1
  623. package/dist/services/doctor/doctor-service/checks/multi-binary-drift.d.ts +0 -1
  624. package/dist/services/doctor/doctor-service/checks/multi-binary-drift.js +0 -3
  625. package/dist/services/doctor/doctor-service/checks/workspace-layout.js +0 -2
  626. package/dist/services/doctor/doctor-service/index.d.ts +0 -1
  627. package/dist/services/doctor/doctor-service/index.js +0 -1
  628. package/dist/services/doctor/doctor-service/plugin-registry.d.ts +0 -2
  629. package/dist/services/doctor/doctor-service/plugin-registry.js +0 -2
  630. package/dist/services/doctor/doctor-service/probe-types.d.ts +0 -4
  631. package/dist/services/doctor/doctor-service/report/final-summary.d.ts +0 -1
  632. package/dist/services/doctor/doctor-service/report/final-summary.js +0 -1
  633. package/dist/services/doctor/doctor-service/types.d.ts +0 -5
  634. package/dist/services/doctor/doctor-service/types.js +0 -1
  635. package/dist/services/doctor/doctor-service.d.ts +0 -1
  636. package/dist/services/doctor/doctor-service.js +0 -2
  637. package/dist/services/env/shell-probe.js +0 -1
  638. package/dist/services/evidence/evidence-generator.js +0 -8
  639. package/dist/services/evolution/evolution-constraints.d.ts +0 -2
  640. package/dist/services/evolution/evolution-constraints.js +0 -2
  641. package/dist/services/evolution/evolution-service.d.ts +2 -12
  642. package/dist/services/evolution/evolution-service.js +0 -9
  643. package/dist/services/evolution/evolution-store.d.ts +6 -8
  644. package/dist/services/evolution/evolution-store.js +1 -3
  645. package/dist/services/evolution/evolution-types.d.ts +0 -2
  646. package/dist/services/evolution/evolution-types.js +0 -6
  647. package/dist/services/evolution/independent-evaluator-runner.d.ts +0 -3
  648. package/dist/services/evolution/independent-evaluator-runner.js +0 -1
  649. package/dist/services/evolution/regression-skeptic-runner.d.ts +0 -1
  650. package/dist/services/feedback/feedback-promotion-service.d.ts +0 -8
  651. package/dist/services/feedback/feedback-promotion-service.js +0 -10
  652. package/dist/services/feedback/promotion-artifact-evidence.d.ts +0 -1
  653. package/dist/services/feedback/promotion-artifact-evidence.js +0 -1
  654. package/dist/services/final-review/final-review-evidence-budget.d.ts +0 -3
  655. package/dist/services/final-review/final-review-evidence-budget.js +0 -5
  656. package/dist/services/final-review/final-review-evidence-sources.d.ts +0 -1
  657. package/dist/services/final-review/final-review-evidence-sources.js +0 -1
  658. package/dist/services/final-review/final-review-output-budget.d.ts +0 -1
  659. package/dist/services/final-review/final-review-output-budget.js +0 -3
  660. package/dist/services/final-review/final-review-service.d.ts +0 -1
  661. package/dist/services/final-review/final-review-service.js +0 -1
  662. package/dist/services/fixture/fixture-capture-service.js +0 -1
  663. package/dist/services/fixture/fixture-sanitize-service.d.ts +0 -3
  664. package/dist/services/fixture/fixture-sanitize-service.js +0 -3
  665. package/dist/services/fresh-context/config.js +0 -1
  666. package/dist/services/fresh-context/fresh-context-block.js +0 -1
  667. package/dist/services/fresh-context/trigger-scan.d.ts +0 -1
  668. package/dist/services/fresh-context/trigger-scan.js +0 -1
  669. package/dist/services/fuzzy-matching/fzf-pick-service.d.ts +0 -1
  670. package/dist/services/fuzzy-matching/fzf-pick-service.js +0 -1
  671. package/dist/services/handoff/handoff-parser.d.ts +0 -1
  672. package/dist/services/handoff/handoff-parser.js +0 -1
  673. package/dist/services/handoff/handoff-types.d.ts +0 -1
  674. package/dist/services/handoff/handoff-types.js +0 -1
  675. package/dist/services/handoff/handoff-writer.d.ts +0 -1
  676. package/dist/services/handoff/handoff-writer.js +0 -1
  677. package/dist/services/hooks/auto-compact-hook-install.d.ts +0 -1
  678. package/dist/services/hooks/auto-compact-hook-install.js +0 -1
  679. package/dist/services/hooks/mcp-surface-gate.d.ts +19 -0
  680. package/dist/services/hooks/mcp-surface-gate.js +87 -0
  681. package/dist/services/hooks/output.d.ts +0 -1
  682. package/dist/services/hooks/output.js +0 -1
  683. package/dist/services/hooks/pre-tool-code-gate.d.ts +0 -1
  684. package/dist/services/hooks/pre-tool-code-gate.js +0 -1
  685. package/dist/services/hooks/presence-marker-detector.js +0 -1
  686. package/dist/services/hooks/worktree-authorization-gate.d.ts +0 -3
  687. package/dist/services/hooks/worktree-authorization-gate.js +0 -1
  688. package/dist/services/ide/adapters/claude-code-adapter.d.ts +4 -40
  689. package/dist/services/ide/adapters/claude-code-adapter.js +48 -182
  690. package/dist/services/ide/adapters/claude-code-local-state.d.ts +28 -0
  691. package/dist/services/ide/adapters/claude-code-local-state.js +112 -0
  692. package/dist/services/ide/adapters/claude-code-model-window.d.ts +37 -0
  693. package/dist/services/ide/adapters/claude-code-model-window.js +113 -0
  694. package/dist/services/ide/adapters/qoder-adapter.d.ts +0 -3
  695. package/dist/services/ide/adapters/qoder-adapter.js +0 -5
  696. package/dist/services/ide/adapters/tongyi-lingma-adapter.d.ts +0 -2
  697. package/dist/services/ide/adapters/tongyi-lingma-adapter.js +0 -2
  698. package/dist/services/ide/adapters/trae-adapter.d.ts +0 -3
  699. package/dist/services/ide/adapters/trae-adapter.js +3 -6
  700. package/dist/services/ide/adapters/zcode-adapter.js +0 -2
  701. package/dist/services/ide/current-model-detector.js +0 -1
  702. package/dist/services/ide/hook-protocol.d.ts +0 -2
  703. package/dist/services/ide/hook-protocol.js +0 -2
  704. package/dist/services/ide/ide-compact-types.d.ts +0 -7
  705. package/dist/services/ide/ide-mcp-install-types.d.ts +78 -0
  706. package/dist/services/ide/ide-mcp-install-types.js +104 -0
  707. package/dist/services/ide/ide-types.d.ts +45 -13
  708. package/dist/services/ide/mcp-tool-matcher.d.ts +34 -0
  709. package/dist/services/ide/mcp-tool-matcher.js +84 -0
  710. package/dist/services/ide/resource-profile.d.ts +0 -1
  711. package/dist/services/job/job-commit-verification.d.ts +0 -2
  712. package/dist/services/job/job-commit-verification.js +0 -2
  713. package/dist/services/job/job-orchestrator.d.ts +0 -1
  714. package/dist/services/job/job-orchestrator.js +0 -1
  715. package/dist/services/job/job-progress-store.d.ts +0 -2
  716. package/dist/services/job/job-progress-store.js +0 -3
  717. package/dist/services/job/job-types.js +0 -1
  718. package/dist/services/job-snapshot/snapshot.js +0 -1
  719. package/dist/services/karpathy-cost/karpathy-cost-check-service.js +0 -1
  720. package/dist/services/legacy/legacy-detector.js +0 -1
  721. package/dist/services/lint/npx-resolver.js +7 -0
  722. package/dist/services/log/log-commands-service.d.ts +0 -2
  723. package/dist/services/log/log-commands-service.js +0 -2
  724. package/dist/services/log/logger.d.ts +0 -1
  725. package/dist/services/log/logger.js +0 -1
  726. package/dist/services/log/redact.d.ts +0 -1
  727. package/dist/services/log/redact.js +0 -1
  728. package/dist/services/log/retention.d.ts +0 -1
  729. package/dist/services/log/retention.js +0 -1
  730. package/dist/services/loop/loop-bee-relation-service.d.ts +3 -3
  731. package/dist/services/loop/loop-bee-relation-service.js +14 -13
  732. package/dist/services/loop/loop-bee-relation-store.d.ts +9 -10
  733. package/dist/services/loop/loop-bee-relation-store.js +1 -2
  734. package/dist/services/loop/loop-bee-relation-types.d.ts +1 -1
  735. package/dist/services/loop/loop-bee-relation-types.js +1 -1
  736. package/dist/services/loop/loop-release-service.d.ts +3 -3
  737. package/dist/services/loop/loop-release-service.js +1 -1
  738. package/dist/services/loop/loop-release-store.d.ts +6 -7
  739. package/dist/services/loop/loop-release-store.js +0 -1
  740. package/dist/services/loop/monotonic-guard.d.ts +0 -1
  741. package/dist/services/loop/monotonic-guard.js +0 -1
  742. package/dist/services/mcp/cli-executor.d.ts +36 -0
  743. package/dist/services/mcp/cli-executor.js +97 -0
  744. package/dist/services/mcp/json-rpc.d.ts +81 -0
  745. package/dist/services/mcp/json-rpc.js +116 -0
  746. package/dist/services/mcp/memory-tool.d.ts +3 -0
  747. package/dist/services/mcp/memory-tool.js +62 -0
  748. package/dist/services/mcp/server-main.d.ts +1 -0
  749. package/dist/services/mcp/server-main.js +66 -0
  750. package/dist/services/mcp/server.d.ts +22 -0
  751. package/dist/services/mcp/server.js +152 -0
  752. package/dist/services/mcp/surface.d.ts +62 -0
  753. package/dist/services/mcp/surface.js +198 -0
  754. package/dist/services/mcp/tool-core.d.ts +42 -0
  755. package/dist/services/mcp/tool-core.js +137 -0
  756. package/dist/services/mcp/tools.d.ts +13 -0
  757. package/dist/services/mcp/tools.js +58 -0
  758. package/dist/services/memory/memory-ingest-service.js +0 -1
  759. package/dist/services/memory/project-context-service.d.ts +0 -1
  760. package/dist/services/memory/project-context-service.js +0 -1
  761. package/dist/services/memory/project-memory-service/index/reindex.d.ts +0 -2
  762. package/dist/services/memory/project-memory-service/index/reindex.js +0 -1
  763. package/dist/services/memory/project-memory-service/index/search.d.ts +0 -1
  764. package/dist/services/memory/project-memory-service/index/search.js +0 -1
  765. package/dist/services/memory/project-memory-service/memory-kinds.d.ts +0 -1
  766. package/dist/services/memory/project-memory-service/memory-kinds.js +0 -1
  767. package/dist/services/memory/project-memory-service/parsers/frontmatter.d.ts +0 -1
  768. package/dist/services/memory/project-memory-service/parsers/frontmatter.js +0 -1
  769. package/dist/services/memory/project-memory-service.js +0 -1
  770. package/dist/services/mode/mode-enforcement.js +0 -1
  771. package/dist/services/mode/mode-status-service.d.ts +0 -2
  772. package/dist/services/mode/mode-status-service.js +0 -2
  773. package/dist/services/observability/aggregation.d.ts +0 -4
  774. package/dist/services/observability/aggregation.js +0 -6
  775. package/dist/services/observability/observability-schema.js +0 -1
  776. package/dist/services/observability/observability-service.d.ts +0 -5
  777. package/dist/services/observability/observability-service.js +0 -4
  778. package/dist/services/observability/report-formatter.d.ts +0 -2
  779. package/dist/services/observability/report-formatter.js +0 -2
  780. package/dist/services/openspec/artifact-boundary.d.ts +0 -4
  781. package/dist/services/openspec/artifact-boundary.js +0 -4
  782. package/dist/services/openspec/coverage-evidence-reader.d.ts +0 -1
  783. package/dist/services/openspec/coverage-evidence-reader.js +0 -1
  784. package/dist/services/polyrepo/polyrepo-dispatcher.js +0 -1
  785. package/dist/services/polyrepo/polyrepo-scanner.js +0 -1
  786. package/dist/services/polyrepo/polyrepo-service.js +0 -1
  787. package/dist/services/polyrepo/polyrepo-types.d.ts +0 -1
  788. package/dist/services/prd/best-practice-auto-trigger.d.ts +0 -2
  789. package/dist/services/prd/best-practice-auto-trigger.js +0 -2
  790. package/dist/services/prd/gate-evidence-derivation.d.ts +0 -4
  791. package/dist/services/prd/gate-evidence-derivation.js +0 -5
  792. package/dist/services/prd/handoff-auto-regen.js +0 -5
  793. package/dist/services/prd/handoff-frontmatter-shape.d.ts +0 -2
  794. package/dist/services/prd/handoff-frontmatter-shape.js +0 -2
  795. package/dist/services/prd/handoff-frontmatter.d.ts +0 -1
  796. package/dist/services/prd/handoff-frontmatter.js +0 -2
  797. package/dist/services/prd/handoff-gate-evidence.d.ts +0 -1
  798. package/dist/services/prd/handoff-gate-evidence.js +0 -4
  799. package/dist/services/prd/handoff-path-resolution.d.ts +0 -7
  800. package/dist/services/prd/handoff-path-resolution.js +0 -10
  801. package/dist/services/prd/handoff-service.d.ts +0 -2
  802. package/dist/services/prd/handoff-service.js +0 -2
  803. package/dist/services/prd/handoff-types.d.ts +0 -2
  804. package/dist/services/prd/handoff-types.js +0 -1
  805. package/dist/services/prd/project-scan-bootstrap-service.d.ts +0 -1
  806. package/dist/services/prd/project-scan-bootstrap-service.js +0 -4
  807. package/dist/services/prd/project-scan-types.d.ts +0 -1
  808. package/dist/services/prd/project-scan-types.js +0 -1
  809. package/dist/services/preferences/preferences-service.d.ts +0 -1
  810. package/dist/services/preferences/preferences-service.js +0 -5
  811. package/dist/services/preferences/preferences-types.d.ts +0 -14
  812. package/dist/services/preferences/preferences-types.js +0 -4
  813. package/dist/services/progress/progress-service.js +0 -1
  814. package/dist/services/qa/bdd-test-style-verifier.d.ts +0 -1
  815. package/dist/services/qa/bdd-test-style-verifier.js +0 -1
  816. package/dist/services/qa/browser-event-logger.d.ts +0 -1
  817. package/dist/services/qa/browser-event-logger.js +0 -1
  818. package/dist/services/qa/browser-restart-detector.d.ts +0 -1
  819. package/dist/services/qa/browser-restart-detector.js +0 -1
  820. package/dist/services/qa/browser-reuse-hint.d.ts +0 -1
  821. package/dist/services/qa/browser-reuse-hint.js +0 -1
  822. package/dist/services/qa/qa-business-review-state.js +0 -2
  823. package/dist/services/qa/screenshot-archive-service.d.ts +0 -1
  824. package/dist/services/qa/screenshot-archive-service.js +0 -1
  825. package/dist/services/rd/impl.js +0 -1
  826. package/dist/services/rd/rd-service.d.ts +0 -5
  827. package/dist/services/rd/rd-service.js +0 -5
  828. package/dist/services/rd/reviewer-dispatch-policy.d.ts +0 -4
  829. package/dist/services/rd/reviewer-dispatch-policy.js +0 -4
  830. package/dist/services/rd/standards-diagnostic.js +0 -1
  831. package/dist/services/rd/tactical-stage.js +0 -1
  832. package/dist/services/rd-swarm/rd-swarm-types.d.ts +0 -1
  833. package/dist/services/rd-swarm/rd-swarm-types.js +0 -1
  834. package/dist/services/readonly-surface/argv-guard.d.ts +32 -0
  835. package/dist/services/readonly-surface/argv-guard.js +164 -0
  836. package/dist/services/readonly-surface/readonly-whitelist.d.ts +147 -0
  837. package/dist/services/readonly-surface/readonly-whitelist.js +107 -0
  838. package/dist/services/readonly-surface/whitelist-generator.d.ts +64 -0
  839. package/dist/services/readonly-surface/whitelist-generator.js +212 -0
  840. package/dist/services/recommendations/installed-capability-detector.d.ts +0 -1
  841. package/dist/services/recommendations/installed-capability-detector.js +0 -1
  842. package/dist/services/release/version-precheck-service.d.ts +0 -2
  843. package/dist/services/release/version-precheck-service.js +0 -3
  844. package/dist/services/retrospective/retrospective-index.d.ts +0 -1
  845. package/dist/services/retrospective/retrospective-index.js +0 -1
  846. package/dist/services/retrospective/retrospective-show.d.ts +0 -1
  847. package/dist/services/retrospective/retrospective-show.js +0 -1
  848. package/dist/services/reviewer/model-family.js +0 -1
  849. package/dist/services/reviewer/reviewer-config.js +0 -1
  850. package/dist/services/reviewer/reviewer-service.d.ts +0 -1
  851. package/dist/services/reviewer/reviewer-service.js +0 -3
  852. package/dist/services/reviewer/selection-strategies.js +0 -1
  853. package/dist/services/runtime/runtime-detector.js +0 -1
  854. package/dist/services/runtime/runtime-service.d.ts +0 -2
  855. package/dist/services/runtime/vendor-adapter.d.ts +0 -7
  856. package/dist/services/runtime/vendors/claude-code.js +0 -1
  857. package/dist/services/runtime/vendors/codex.js +0 -1
  858. package/dist/services/runtime/vendors/copilot.js +0 -1
  859. package/dist/services/sc/sc-service.js +0 -6
  860. package/dist/services/scan/acceptance-coverage-service.js +0 -2
  861. package/dist/services/scan/api-diff-recorded.d.ts +0 -1
  862. package/dist/services/scan/api-diff-recorded.js +0 -1
  863. package/dist/services/scan/api-diff-service.d.ts +0 -1
  864. package/dist/services/scan/api-diff-service.js +0 -1
  865. package/dist/services/scan/api-diff-types.d.ts +0 -1
  866. package/dist/services/scan/api-diff-types.js +0 -1
  867. package/dist/services/scan/archetype-service.js +0 -1
  868. package/dist/services/scan/file-size-policy.d.ts +0 -1
  869. package/dist/services/scan/file-size-policy.js +0 -5
  870. package/dist/services/scan/file-size-scan.d.ts +0 -1
  871. package/dist/services/security/safe-settings-path.js +0 -1
  872. package/dist/services/session/binding-store.d.ts +0 -4
  873. package/dist/services/session/binding-store.js +0 -7
  874. package/dist/services/session/caller-binding-service.d.ts +0 -6
  875. package/dist/services/session/caller-binding-service.js +0 -4
  876. package/dist/services/session/caller-id-types.d.ts +0 -3
  877. package/dist/services/session/caller-id-types.js +0 -2
  878. package/dist/services/session/getSessionDir.js +0 -1
  879. package/dist/services/session/index.js +0 -1
  880. package/dist/services/session/platform-fallbacks.d.ts +0 -3
  881. package/dist/services/session/platform-fallbacks.js +0 -3
  882. package/dist/services/session/resolve-caller-id.d.ts +0 -2
  883. package/dist/services/session/resolve-caller-id.js +0 -2
  884. package/dist/services/session/session-binding-bridge.d.ts +0 -2
  885. package/dist/services/session/session-binding-bridge.js +0 -15
  886. package/dist/services/session/session-checkpoint-service.d.ts +0 -1
  887. package/dist/services/session/session-checkpoint-service.js +0 -1
  888. package/dist/services/session/session-manager.d.ts +0 -8
  889. package/dist/services/session/session-manager.js +0 -19
  890. package/dist/services/session/session-resume-service.d.ts +0 -1
  891. package/dist/services/session/session-resume-service.js +0 -1
  892. package/dist/services/share/bundle-reader.d.ts +2 -5
  893. package/dist/services/share/bundle-reader.js +6 -8
  894. package/dist/services/share/bundle-writer.d.ts +2 -2
  895. package/dist/services/skill/resume-detector.js +0 -3
  896. package/dist/services/skill/skill-scheduler.d.ts +0 -1
  897. package/dist/services/skill/skill-scheduler.js +0 -1
  898. package/dist/services/skill/skill-search-service.d.ts +0 -2
  899. package/dist/services/skill/skill-search-service.js +0 -2
  900. package/dist/services/skillhub/release-diff.d.ts +2 -2
  901. package/dist/services/skillhub/release-export.d.ts +2 -2
  902. package/dist/services/skillhub/release-gc-blobs.d.ts +2 -2
  903. package/dist/services/skillhub/release-import.d.ts +2 -2
  904. package/dist/services/skillhub/release-import.js +2 -1
  905. package/dist/services/skillhub/release-retain.d.ts +2 -2
  906. package/dist/services/skillhub/release-retain.js +2 -1
  907. package/dist/services/skillhub/sqlite-store.d.ts +3 -3
  908. package/dist/services/skillhub/sqlite-store.js +4 -5
  909. package/dist/services/skills/hooks-codegate-superpowers.d.ts +1 -3
  910. package/dist/services/skills/hooks-codegate-superpowers.js +26 -14
  911. package/dist/services/skills/hooks-settings-service.d.ts +0 -2
  912. package/dist/services/skills/hooks-settings-service.js +10 -8
  913. package/dist/services/skills/presence-lease-service.d.ts +0 -1
  914. package/dist/services/skills/presence-lease-service.js +0 -1
  915. package/dist/services/skills/session-start-hook-constants.d.ts +0 -4
  916. package/dist/services/skills/session-start-hook-constants.js +0 -4
  917. package/dist/services/skills/skill-presence-service.d.ts +0 -8
  918. package/dist/services/skills/skill-presence-service.js +0 -13
  919. package/dist/services/skills/skill-statusline-model.d.ts +0 -6
  920. package/dist/services/skills/skill-statusline-model.js +1 -4
  921. package/dist/services/skills/skill-statusline-renderer.d.ts +0 -1
  922. package/dist/services/skills/skill-statusline-renderer.js +0 -12
  923. package/dist/services/skills/skill-statusline-service.js +0 -6
  924. package/dist/services/skills/skill-statusline-sid-suffix.d.ts +0 -2
  925. package/dist/services/skills/skill-statusline-sid-suffix.js +0 -2
  926. package/dist/services/skills/statusline-palette.d.ts +0 -2
  927. package/dist/services/skills/statusline-palette.js +0 -3
  928. package/dist/services/slice/slice-archive-service.js +0 -1
  929. package/dist/services/slice/slice-benchmark-service.d.ts +0 -1
  930. package/dist/services/slice/slice-benchmark-service.js +0 -1
  931. package/dist/services/slice/slice-check-service.js +0 -6
  932. package/dist/services/slice/slice-check-types.d.ts +0 -1
  933. package/dist/services/slice/slice-pick-service.d.ts +0 -1
  934. package/dist/services/slice/slice-pick-service.js +0 -1
  935. package/dist/services/slice/slice-review-state.js +0 -2
  936. package/dist/services/sqlite/sqlite-driver.d.ts +118 -0
  937. package/dist/services/sqlite/sqlite-driver.js +159 -0
  938. package/dist/services/standards/ide-aware-standards-service.d.ts +0 -2
  939. package/dist/services/standards/ide-aware-standards-service.js +0 -1
  940. package/dist/services/standards/loop-engineering-readiness-lint.d.ts +0 -1
  941. package/dist/services/standards/loop-engineering-readiness-lint.js +0 -1
  942. package/dist/services/standards/migrate-claude-rules-service.js +0 -3
  943. package/dist/services/standards/migrate-service.d.ts +0 -1
  944. package/dist/services/standards/migrate-service.js +0 -1
  945. package/dist/services/standards/missing-standards-detector.d.ts +0 -2
  946. package/dist/services/standards/missing-standards-detector.js +0 -3
  947. package/dist/services/standards/project-standards-service.d.ts +0 -1
  948. package/dist/services/standards/project-standards-service.js +0 -1
  949. package/dist/services/standards/standards-render.d.ts +0 -1
  950. package/dist/services/standards/standards-render.js +0 -1
  951. package/dist/services/standards/ui-library-dispatch-block.d.ts +0 -1
  952. package/dist/services/standards/ui-library-dispatch-block.js +0 -1
  953. package/dist/services/tech/tech-change-id-service.d.ts +0 -7
  954. package/dist/services/tech/tech-change-id-service.js +0 -7
  955. package/dist/services/tech/tech-service.js +0 -5
  956. package/dist/services/verdict/envelope-parsers.d.ts +0 -2
  957. package/dist/services/verdict/envelope-parsers.js +0 -2
  958. package/dist/services/verdict/envelopes.d.ts +0 -1
  959. package/dist/services/vm/vm-lease.js +0 -1
  960. package/dist/services/web/aria-node.d.ts +0 -1
  961. package/dist/services/web/bounded-output.d.ts +0 -1
  962. package/dist/services/web/bounded-output.js +0 -1
  963. package/dist/services/web/browser-acquire.js +0 -1
  964. package/dist/services/web/browser-cache-probe.js +0 -1
  965. package/dist/services/web/browser-session-manager.js +0 -1
  966. package/dist/services/web/daemon-entry.js +0 -1
  967. package/dist/services/web/daemon-registry.js +0 -1
  968. package/dist/services/web/daemon-supervisor.d.ts +4 -3
  969. package/dist/services/web/daemon-supervisor.js +4 -4
  970. package/dist/services/web/playwright-loader.js +0 -1
  971. package/dist/services/web/playwright-types.d.ts +0 -1
  972. package/dist/services/web/snapshot-pruner.js +0 -1
  973. package/dist/services/web/untrusted-envelope.d.ts +0 -1
  974. package/dist/services/web/web-artifact-paths.js +0 -1
  975. package/dist/services/web/web-client.d.ts +0 -1
  976. package/dist/services/web/web-daemon-service.js +0 -1
  977. package/dist/services/web/web-fallback.d.ts +0 -1
  978. package/dist/services/web/web-fallback.js +0 -1
  979. package/dist/services/web/web-install-service.js +0 -1
  980. package/dist/services/web/web-login-profile.js +0 -1
  981. package/dist/services/web/web-protocol.d.ts +0 -1
  982. package/dist/services/web/web-protocol.js +0 -1
  983. package/dist/services/web/web-status-report.js +0 -1
  984. package/dist/services/workflow/artifact-paths.js +0 -3
  985. package/dist/services/workflow/autonomous-resume-writer.js +0 -2
  986. package/dist/services/workflow/pipeline-verify-gate-support.d.ts +0 -5
  987. package/dist/services/workflow/pipeline-verify-gate-support.js +0 -11
  988. package/dist/services/workflow/pipeline-verify-service.d.ts +0 -2
  989. package/dist/services/workflow/pipeline-verify-service.js +0 -15
  990. package/dist/services/workflow/pipeline-verify-types.d.ts +0 -10
  991. package/dist/services/workflow/pipeline-verify-types.js +0 -2
  992. package/dist/services/workflow/plan-reader.d.ts +0 -1
  993. package/dist/services/workflow/plan-reader.js +0 -5
  994. package/dist/services/workflow/plan-refresher.js +0 -2
  995. package/dist/services/workflow/plan-trigger-detector.d.ts +0 -2
  996. package/dist/services/workflow/plan-trigger-detector.js +0 -3
  997. package/dist/services/workflow/workflow-autonomous-resume-helpers.js +0 -5
  998. package/dist/services/workflow/workflow-autonomous-service.js +0 -2
  999. package/dist/services/workflow/workflow-autonomous-types.d.ts +0 -2
  1000. package/dist/services/workflow/workflow-autonomous-types.js +0 -2
  1001. package/dist/services/workflow/workflow-graph-types.d.ts +0 -1
  1002. package/dist/services/workflow/workflow-graph-types.js +0 -1
  1003. package/dist/services/workflow/workflow-router-service.js +0 -4
  1004. package/dist/services/workflow/workflow-skip-service.d.ts +0 -1
  1005. package/dist/services/workflow/workflow-skip-service.js +0 -1
  1006. package/dist/services/workflow/workflow-spec-lint.d.ts +0 -2
  1007. package/dist/services/workflow/workflow-spec-lint.js +0 -2
  1008. package/dist/services/workflow/workflow-spec-types.d.ts +0 -1
  1009. package/dist/services/workflow/workflow-spec-types.js +0 -1
  1010. package/dist/services/workflow/workflow-spec-yaml.d.ts +0 -2
  1011. package/dist/services/workflow/workflow-spec-yaml.js +0 -2
  1012. package/dist/services/workflow/workflow-spec.js +0 -1
  1013. package/dist/services/workflow/workflow-state-store.js +0 -1
  1014. package/dist/services/workspace/claude-settings-template.d.ts +0 -4
  1015. package/dist/services/workspace/claude-settings-template.js +0 -4
  1016. package/dist/services/workspace/migrate-1-4-1-service.d.ts +0 -1
  1017. package/dist/services/workspace/migrate-1-4-1-service.js +0 -1
  1018. package/dist/services/workspace/migrate-service.js +0 -8
  1019. package/dist/services/workspace/migrate-types.d.ts +0 -4
  1020. package/dist/services/workspace/migrate-types.js +0 -1
  1021. package/dist/services/workspace/reconcile-migrate.d.ts +0 -3
  1022. package/dist/services/workspace/reconcile-migrate.js +0 -5
  1023. package/dist/services/workspace/reconcile-service.d.ts +0 -3
  1024. package/dist/services/workspace/reconcile-service.js +0 -7
  1025. package/dist/services/workspace/reconcile-types.d.ts +0 -5
  1026. package/dist/services/workspace/sid-naming-guard.d.ts +0 -1
  1027. package/dist/services/workspace/sid-naming-guard.js +0 -1
  1028. package/dist/services/workspace/templates/project-scan/index.d.ts +0 -3
  1029. package/dist/services/workspace/templates/project-scan/index.js +0 -3
  1030. package/dist/services/workspace/workspace-claude-settings-materializer.d.ts +0 -1
  1031. package/dist/services/workspace/workspace-claude-settings-materializer.js +0 -4
  1032. package/dist/services/workspace/workspace-service.d.ts +0 -7
  1033. package/dist/services/workspace/workspace-service.js +0 -16
  1034. package/dist/services/worktree/playwright-profile.js +0 -1
  1035. package/dist/services/worktree/worktree-lease-types.d.ts +0 -1
  1036. package/dist/services/worktree/worktree-lease-types.js +0 -1
  1037. package/dist/services/worktree/worktree-lease.d.ts +0 -2
  1038. package/dist/services/worktree/worktree-lease.js +0 -2
  1039. package/dist/shared/format-md-compact.d.ts +0 -2
  1040. package/dist/shared/format-md-compact.js +0 -2
  1041. package/dist/shared/incrementing-number.d.ts +0 -1
  1042. package/dist/shared/incrementing-number.js +0 -1
  1043. package/dist/shared/path-utils.d.ts +0 -1
  1044. package/dist/shared/path-utils.js +0 -1
  1045. package/dist/shared/runtime-root.d.ts +0 -1
  1046. package/dist/shared/runtime-root.js +0 -1
  1047. package/dist/shared/stale-policy.d.ts +0 -1
  1048. package/dist/shared/stale-policy.js +0 -1
  1049. package/package.json +24 -11
  1050. package/scripts/canonical-store-link.mjs +296 -0
  1051. package/scripts/canonical-store-prune.mjs +131 -0
  1052. package/scripts/canonical-store.mjs +298 -0
  1053. package/scripts/install-skills-bundles.mjs +233 -0
  1054. package/scripts/install-skills-fs.mjs +148 -0
  1055. package/scripts/install-skills-ide.mjs +279 -0
  1056. package/scripts/install-skills-output-style-default.mjs +196 -0
  1057. package/scripts/install-skills-output-styles.mjs +121 -0
  1058. package/scripts/install-skills-report.mjs +42 -0
  1059. package/scripts/install-skills-user-config.mjs +198 -0
  1060. package/scripts/install-skills.mjs +41 -1279
  1061. package/scripts/watch-tree.mjs +140 -0
  1062. package/scripts/watch.mjs +4 -126
  1063. package/skills/peaks-audit/SKILL.md +3 -3
  1064. package/skills/peaks-status/SKILL.md +31 -13
  1065. package/dist/services/codegraph/codegraph-include-reconciler.d.ts +0 -10
  1066. package/dist/services/codegraph/codegraph-include-reconciler.js +0 -160
@@ -1,11 +1,4 @@
1
- import { Command } from 'commander';
2
- import { type RequestArtifactSummary } from '../../services/artifacts/request-artifact-service.js';
3
- import { type ProgramIO } from '../cli-helpers.js';
4
- /**
5
- * Slice 2026-09-10-context-audit-and-discipline (Slice B): bounded view of
6
- * `request list`. `count` is the true total; `names` carries
7
- * `role/requestId (state)` labels for the first N entries. The full `items`
8
- * array (with paths + timestamps) is one flag away — omit `--summary`.
9
- */
10
- export declare function buildRequestListSummary(items: readonly RequestArtifactSummary[]): Record<string, unknown>;
1
+ import type { Command } from 'commander';
2
+ import type { ProgramIO } from '../cli-helpers.js';
3
+ export { buildRequestListSummary } from './request-list-command.js';
11
4
  export declare function registerRequestCommands(program: Command, io: ProgramIO): void;
@@ -1,534 +1,19 @@
1
- import { InvalidArgumentError } from 'commander';
2
- import { createRequestArtifact, listRequestArtifacts, showRequestArtifact, transitionRequestArtifact, PrerequisitesNotSatisfiedError, LintGateError, TypeSanityViolationError, FileSizeViolationError, VALID_REQUEST_TYPES } from '../../services/artifacts/request-artifact-service.js';
3
- import { boundedNames, fitSummaryToBytes } from '../../services/context/summary-view.js';
4
- import { applyPerArtifactFormat, inferArtifactName, parseRequestType, parseRole, parseStateForRole, resolveDefaultFormat, VALID_ROLES } from './request-format-helpers.js';
5
- import { ConfirmationRequiredError } from '../../services/mode/mode-enforcement.js';
6
- import { recordBypass, isBypassLimitReached, MAX_BYPASSES_PER_SESSION } from '../../services/mode/bypass-tracker.js';
7
- import { lintRequestArtifact } from '../../services/artifacts/artifact-lint-service.js';
8
- import { getRepairCycleStatus } from '../../services/artifacts/repair-cycle-service.js';
9
- import { fail, ok } from 'peaks-loop-shared/result';
10
- import { triggerBestPracticeScan } from '../../services/prd/best-practice-auto-trigger.js';
11
- import { codegraphRefreshNotice, refreshCodegraphAfterSlice } from '../../services/codegraph/codegraph-autorefresh.js';
12
- import { addJsonOption, getErrorMessage, printResult } from '../cli-helpers.js';
13
- import { isUnsafePathInput } from '../../shared/path-safety.js';
14
- /**
15
- * Slice 2026-09-10-context-audit-and-discipline (Slice B): bounded view of
16
- * `request list`. `count` is the true total; `names` carries
17
- * `role/requestId (state)` labels for the first N entries. The full `items`
18
- * array (with paths + timestamps) is one flag away — omit `--summary`.
19
- */
20
- export function buildRequestListSummary(items) {
21
- const view = {
22
- view: 'summary',
23
- count: items.length,
24
- items: boundedNames(items.map((i) => `${i.role}/${i.requestId} (${i.state})`))
25
- };
26
- return fitSummaryToBytes(view);
27
- }
1
+ import { registerRequestInitCommand } from './request-init-command.js';
2
+ import { registerRequestListCommand } from './request-list-command.js';
3
+ import { registerRequestShowCommand } from './request-show-command.js';
4
+ import { registerRequestTransitionCommand } from './request-transition-command.js';
5
+ import { registerRequestLintCommand } from './request-lint-command.js';
6
+ import { registerRequestRepairStatusCommand } from './request-repair-status-command.js';
7
+ // Published import path preserved: `tests/unit/services/context/summary-view.test.ts`
8
+ // imports `buildRequestListSummary` from here.
9
+ export { buildRequestListSummary } from './request-list-command.js';
10
+ const REQUEST_DESCRIPTION = 'Manage per-request Peaks role artifacts (PRD / UI / RD / QA)';
28
11
  export function registerRequestCommands(program, io) {
29
- const request = program
30
- .command('request')
31
- .description('Manage per-request Peaks role artifacts (PRD / UI / RD / QA)');
32
- addJsonOption(request
33
- .command('init')
34
- .description('Create the per-request artifact template for a Peaks role (dry-run by default)')
35
- .requiredOption('--role <role>', `target role (${VALID_ROLES.join(' | ')})`, parseRole)
36
- .requiredOption('--id <request-id>', 'request id, e.g. 2026-05-23-add-foo. With --apply, also pre-creates the canonical change-id scope dir at .peaks/_runtime/change/<id>/ so sub-agents never write .peaks/_runtime/<id>/ at top level.')
37
- .requiredOption('--project <path>', 'target project root')
38
- .option('--session-id <session>', 'override the default date-stamped session id')
39
- .option('--apply', 'write the artifact file (default: preview only)')
40
- .option('--type <type>', `request type (${VALID_REQUEST_TYPES.join(' | ')}); default: feature`, parseRequestType)
41
- // Slice 020 — caller-keyed session binding. Per-invocation override
42
- // (D4 priority level 1). When set, the resolved callerId is surfaced
43
- // in the JSON envelope; the on-disk artifact records it in the
44
- // artifact body so future reads know which caller produced it.
45
- .option('--caller-id <id>', 'Override the caller id for this invocation (D4 priority: flag beats env beats platform fallback). The resolved callerId is stamped on the artifact body and surfaced in the response envelope.')).action(async (options) => {
46
- try {
47
- // One-axis layout: --session-id is REQUIRED. The on-disk root
48
- // is always `.peaks/_runtime/<sessionId>/<role>/...`. The user
49
- // has forbidden the `.peaks/_runtime/<id>/` root layout — without an
50
- // explicit session id, we cannot guarantee the artifact lands
51
- // under `_runtime/`. See
52
- // `.peaks/memory/2026-06-21-peaks-request-session-id-leaks-into-change-id.md`.
53
- if (options.sessionId === undefined || options.sessionId.trim().length === 0) {
54
- printResult(io, fail('request.init', 'SESSION_ID_REQUIRED', '--session-id is required: the CLI writes envelopes only to .peaks/_runtime/<sessionId>/... (one-axis layout)', { role: options.role, requestId: options.id }, [
55
- 'Re-run with --session-id <sid>',
56
- 'Or run `peaks workspace init` to create a session first'
57
- ]), options.json);
58
- process.exitCode = 1;
59
- return;
60
- }
61
- const serviceOptions = {
62
- role: options.role,
63
- requestId: options.id,
64
- projectRoot: options.project
65
- };
66
- serviceOptions.sessionId = options.sessionId;
67
- if (options.apply === true) {
68
- serviceOptions.apply = true;
69
- }
70
- if (options.type !== undefined) {
71
- serviceOptions.requestType = options.type;
72
- }
73
- // Slice 020.1 — resolve the callerId via D4 priority (flag > env >
74
- // platform fallback > reject). The CLI integration layer is the
75
- // single entry point for the resolver; we do not pre-judge whether
76
- // the caller passed a flag. D2 (no callerId available) and D5
77
- // (regex fail) both surface as `CALLER_ID_INVALID` with the inner
78
- // `CallerIdError.source` propagated for caller-side audit.
79
- const { resolveCallerId, CallerIdError } = await import('../../services/session/resolve-caller-id.js');
80
- try {
81
- const callerId = resolveCallerId(options.callerId !== undefined ? { flagValue: options.callerId } : {});
82
- serviceOptions.callerId = callerId;
83
- }
84
- catch (error) {
85
- if (error instanceof CallerIdError) {
86
- // D2 (EX_USAGE, exit 64) = nothing usable; D5 (EX_DATAERR, exit 65)
87
- // = something was passed but did not match the D1 regex.
88
- const code = error.code === 'EX_USAGE' ? 64 : 65;
89
- printResult(io, fail('request.init', 'CALLER_ID_INVALID', error.message, { source: error.source }, [
90
- 'Set --caller-id to a value matching ^[a-zA-Z0-9._-]{1,200}$',
91
- 'Or set PEAKS_CALLER_ID env var (or CLAUDE_CODE_SESSION_ID for Claude Code)'
92
- ]), options.json);
93
- process.exitCode = code;
94
- return;
95
- }
96
- throw error;
97
- }
98
- const result = await createRequestArtifact(serviceOptions);
99
- printResult(io, ok('request.init', result, [], result.applied ? [] : [`Re-run with --apply to write ${result.path}`]), options.json);
100
- }
101
- catch (error) {
102
- printResult(io, fail('request.init', 'REQUEST_INIT_FAILED', getErrorMessage(error), { role: options.role, requestId: options.id }, ['Check role, request id, and project path before retrying']), options.json);
103
- process.exitCode = 1;
104
- }
105
- });
106
- addJsonOption(request
107
- .command('list')
108
- .description('List per-request artifacts under a project workspace')
109
- .requiredOption('--project <path>', 'target project root')
110
- .option('--session-id <session>', 'limit to a specific session id')
111
- .option('--role <role>', `limit to a single role (${VALID_ROLES.join(' | ')})`, parseRole)
112
- .option('--summary', 'emit counts + names-of-first-N only (≤ 2 KB) instead of the full item array; the default envelope is unchanged')).action(async (options) => {
113
- try {
114
- const listOptions = {
115
- projectRoot: options.project
116
- };
117
- if (options.sessionId !== undefined) {
118
- listOptions.sessionId = options.sessionId;
119
- }
120
- if (options.role !== undefined) {
121
- listOptions.role = options.role;
122
- }
123
- const items = await listRequestArtifacts(listOptions);
124
- // Slice B: `--summary` is opt-in; the default `{count, items}` shape is
125
- // byte-identical to before.
126
- const data = options.summary === true ? buildRequestListSummary(items) : { count: items.length, items };
127
- printResult(io, ok('request.list', data), options.json);
128
- }
129
- catch (error) {
130
- printResult(io, fail('request.list', 'REQUEST_LIST_FAILED', getErrorMessage(error), { projectRoot: options.project }, ['Check project path before retrying']), options.json);
131
- process.exitCode = 1;
132
- }
133
- });
134
- addJsonOption(request
135
- .command('show')
136
- .description('Show a single per-request artifact, optionally scoped to a session. R3: default body format is per-artifact (PRD/tech-doc pretty; everything else compact); pass --pretty or --compact to override uniformly.')
137
- .argument('<request-id>', 'request id, e.g. 2026-05-23-add-foo')
138
- .requiredOption('--role <role>', `target role (${VALID_ROLES.join(' | ')})`, parseRole)
139
- .requiredOption('--project <path>', 'target project root')
140
- .option('--session-id <session>', 'restrict to a specific session id')
141
- .option('--pretty', 'force the body to render pretty (overrides the per-artifact default)')
142
- .option('--compact', 'force the body to render compact (overrides the per-artifact default)')).action(async (requestId, options) => {
143
- try {
144
- const showOptions = {
145
- projectRoot: options.project,
146
- role: options.role,
147
- requestId
148
- };
149
- if (options.sessionId !== undefined) {
150
- showOptions.sessionId = options.sessionId;
151
- }
152
- const result = await showRequestArtifact(showOptions);
153
- if (result === null) {
154
- printResult(io, fail('request.show', 'REQUEST_NOT_FOUND', `No artifact found for role=${options.role} requestId=${requestId}`, { role: options.role, requestId }, ['Verify the request id, role, and session id']), options.json);
155
- process.exitCode = 1;
156
- return;
157
- }
158
- // R3: pick the per-artifact default format and apply the override
159
- // if either flag is set. Last-flag-wins if both are passed.
160
- const override = options.compact === true ? 'compact' : options.pretty === true ? 'pretty' : null;
161
- const artifactName = inferArtifactName(result, options.role);
162
- const format = override ?? resolveDefaultFormat(artifactName);
163
- const transformed = applyPerArtifactFormat(result, override ?? format);
164
- const payload = transformed === result ? { ...result, format } : transformed;
165
- printResult(io, ok('request.show', payload), options.json);
166
- }
167
- catch (error) {
168
- printResult(io, fail('request.show', 'REQUEST_SHOW_FAILED', getErrorMessage(error), { role: options.role, requestId }, ['Check role, request id, and project path before retrying']), options.json);
169
- process.exitCode = 1;
170
- }
171
- });
172
- addJsonOption(request
173
- .command('transition')
174
- .description('Move a per-request artifact to a new state defined by its role state machine')
175
- .argument('<request-id>', 'request id, e.g. 2026-05-23-add-foo')
176
- .requiredOption('--role <role>', `target role (${VALID_ROLES.join(' | ')})`, parseRole)
177
- .requiredOption('--state <state>', 'new state name; allowed values depend on role')
178
- .requiredOption('--project <path>', 'target project root')
179
- .option('--session-id <session>', 'restrict to a specific session id')
180
- .option('--reason <text>', 'reason appended as a transition note; required when --allow-incomplete is set')
181
- .option('--allow-incomplete', 'bypass artifact prerequisite checks; requires --reason and records the bypass in the artifact')
182
- .option('--confirm', 'skip the confirmation gate (for non-interactive / LLM contexts)')
183
- .option('--force-confirm', 'bypass mode-enforced confirmation (use with caution)')).action(async (requestId, options) => {
184
- try {
185
- const role = options.role;
186
- const newState = parseStateForRole(role, options.state);
187
- // Resolve the artifact's real session up front. Falling back to a literal
188
- // 'default' (the previous behavior) points the bypass counter at a
189
- // non-existent .peaks/default/ dir and crashes with ENOENT, so when
190
- // --session-id is omitted we look the artifact up to find its session.
191
- let resolvedSessionId = options.sessionId;
192
- // Sid axis: either arm of `resolvedSessionId` can be a caller-supplied
193
- // `--session-id`, and it is joined into the bypass-counter root below.
194
- if (resolvedSessionId !== undefined && isUnsafePathInput(resolvedSessionId)) {
195
- printResult(io, fail('request.transition', 'INVALID_SESSION_ID', `Invalid session id: ${resolvedSessionId} (must be a single path segment)`, { provided: resolvedSessionId }, ['Pass a session id that is a single path segment']), options.json);
196
- process.exitCode = 1;
197
- return;
198
- }
199
- if (resolvedSessionId === undefined) {
200
- const { showRequestArtifact: showForSession } = await import('../../services/artifacts/request-artifact-service.js');
201
- const located = await showForSession({ projectRoot: options.project, role, requestId });
202
- if (located !== null) {
203
- resolvedSessionId = located.sessionId;
204
- }
205
- }
206
- if (options.allowIncomplete === true &&
207
- (options.reason === undefined || options.reason.trim().length === 0)) {
208
- printResult(io, fail('request.transition', 'BYPASS_REASON_REQUIRED', '--allow-incomplete requires --reason explaining why prerequisites are skipped', { role, requestId }, [
209
- 'Add --reason "<short justification>" or remove --allow-incomplete and produce the missing artifacts'
210
- ]), options.json);
211
- process.exitCode = 1;
212
- return;
213
- }
214
- // Restrict --allow-incomplete in assisted/strict modes: require --confirm
215
- if (options.allowIncomplete === true && options.forceConfirm !== true) {
216
- const { getSkillPresence } = await import('../../services/skills/skill-presence-service.js');
217
- const presence = getSkillPresence(options.project);
218
- if (presence?.mode === 'assisted' || presence?.mode === 'strict') {
219
- if (options.confirm !== true) {
220
- printResult(io, fail('request.transition', 'ALLOW_INCOMPLETE_RESTRICTED', `--allow-incomplete requires --confirm in ${presence.mode} mode`, { role, requestId, mode: presence.mode }, [
221
- 'Ask the user via AskUserQuestion whether to proceed, then re-run with --confirm if they approve.'
222
- ]), options.json);
223
- process.exitCode = 1;
224
- return;
225
- }
226
- // 2.7.1 fix: bypass-count must live under the canonical session
227
- // home `.peaks/_runtime/<sid>/`, NOT `.peaks/_runtime/<sid>/`. The legacy
228
- // path landed `.bypass-count.json` at the project root and was
229
- // ignored only by `.gitignore`, not by the runtime — a
230
- // back-compat reader on the root would never see it. The
231
- // canonical home is the same one `peaks session info --active`
232
- // resolves from `_runtime/session.json`, so all session-scoped
233
- // state (artifacts + bypass counter) now lives in one tree.
234
- const sessionRoot = (await import('node:path')).join(options.project, '.peaks', '_runtime', resolvedSessionId ?? 'default');
235
- if (isBypassLimitReached(sessionRoot)) {
236
- printResult(io, fail('request.transition', 'BYPASS_LIMIT_REACHED', `--allow-incomplete limit reached (${MAX_BYPASSES_PER_SESSION} per session)`, { role, requestId, limit: MAX_BYPASSES_PER_SESSION }, ['Produce the missing artifacts instead of bypassing.']), options.json);
237
- process.exitCode = 1;
238
- return;
239
- }
240
- recordBypass(sessionRoot);
241
- }
242
- }
243
- const transitionOptions = {
244
- role,
245
- requestId,
246
- projectRoot: options.project,
247
- newState
248
- };
249
- if (options.sessionId !== undefined) {
250
- transitionOptions.sessionId = options.sessionId;
251
- }
252
- if (options.reason !== undefined) {
253
- transitionOptions.reason = options.reason;
254
- }
255
- if (options.allowIncomplete === true) {
256
- transitionOptions.allowIncomplete = true;
257
- }
258
- if (options.confirm === true) {
259
- transitionOptions.confirmed = true;
260
- }
261
- if (options.forceConfirm === true) {
262
- transitionOptions.forceConfirm = true;
263
- }
264
- // Type sanity check for PRD handoff
265
- if (role === 'prd' && newState === 'handed-off') {
266
- const { showRequestArtifact: showForType } = await import('../../services/artifacts/request-artifact-service.js');
267
- const showTypeOptions = {
268
- projectRoot: options.project,
269
- role: 'prd',
270
- requestId
271
- };
272
- if (options.sessionId !== undefined) {
273
- showTypeOptions.sessionId = options.sessionId;
274
- }
275
- const existing = await showForType(showTypeOptions);
276
- if (existing !== null) {
277
- transitionOptions.typeSanityCheck = {
278
- projectRoot: options.project,
279
- declaredType: existing.requestType
280
- };
281
- }
282
- }
283
- const result = await transitionRequestArtifact(transitionOptions);
284
- if (result === null) {
285
- printResult(io, fail('request.transition', 'REQUEST_NOT_FOUND', `No artifact found for role=${role} requestId=${requestId}`, { role, requestId }, ['Verify the request id, role, and session id']), options.json);
286
- process.exitCode = 1;
287
- return;
288
- }
289
- // Slice 2026-07-01-strategic-compact-cli — slice-boundary pre-compact
290
- // hook. When transitioning across the RD → QA boundary (rd:qa-handoff),
291
- // check the active session's context-fill ratio. If it is in the
292
- // 0.85–0.95 pre-compact zone, write a checkpoint BEFORE the
293
- // transition completes and attach `preCompactCheckpoint: true` to
294
- // the response envelope. The LLM remains the decision-maker; this
295
- // hook only surfaces the signal. At ratio ≥ 0.95 the auto-compact
296
- // orchestrator ASKS the harness to compact and reports that it is
297
- // waiting; it does not refuse anything, because peaks-loop has no
298
- // executor for a running session and a refusal it cannot enforce only
299
- // deadlocked the runner (slice
300
- // 2026-09-13-auto-compact-trigger-ownership).
301
- let preCompact = null;
302
- // 2026-09-03-codegraph-autorefresh: auto codegraph re-index on the
303
- // RD → QA slice-complete boundary. Set only for rd:qa-handoff; null
304
- // otherwise. Best-effort and fail-silent — never blocks the transition.
305
- let codegraphRefresh = null;
306
- // A2 (2026-09-17): the human-visible half of the refresh outcome. null
307
- // when the refresh succeeded or when no codegraph store was in use.
308
- let codegraphWarning = null;
309
- if (role === 'rd' && newState === 'qa-handoff') {
310
- try {
311
- const { maybePreCompactCheckpoint } = await import('../../services/compact/request-transition-hook.js');
312
- const hook = maybePreCompactCheckpoint({
313
- projectRoot: options.project,
314
- sessionId: result.sessionId,
315
- transitionKey: `${role}:${newState}`
316
- });
317
- preCompact = hook.triggered ? ok('request.transition.preCompact', hook) : null;
318
- }
319
- catch {
320
- // The hook is best-effort; never block the transition.
321
- preCompact = null;
322
- }
323
- try {
324
- codegraphRefresh = await refreshCodegraphAfterSlice(options.project);
325
- }
326
- catch {
327
- // The refresh is best-effort; never block the transition.
328
- codegraphRefresh = {
329
- refreshed: false,
330
- reason: 'unavailable',
331
- note: 'auto codegraph refresh failed after transition'
332
- };
333
- }
334
- // A2 (2026-09-17): never BLOCKING is kept; never VISIBLE is not. A
335
- // non-refresh while a codegraph store is in use becomes a warning
336
- // line beside the transition's own notes. See
337
- // `codegraphRefreshNotice` for why `no-codegraph-dir` stays silent.
338
- codegraphWarning = codegraphRefreshNotice(codegraphRefresh);
339
- }
340
- // v2.13.2 AC-4 — auto-regen prd/handoff.md on prd:handed-off success.
341
- // Only fires when the handoff is missing; existing handoffs are not overwritten.
342
- // Slice 2026-08-12 best-practice-scan (Slice F) — auto-trigger BPS as a
343
- // post-step after peaks-prd's businessGoal artifact transitions to
344
- // `handed-off` (the canonical "complete" state in the prd state machine).
345
- // The trigger is fire-and-forget: failure NEVER blocks the transition.
346
- if (role === 'prd' && newState === 'handed-off' && options.sessionId !== undefined) {
347
- const { autoRegenPrdHandoff } = await import('../../services/prd/handoff-auto-regen.js');
348
- const regen = await autoRegenPrdHandoff({
349
- projectRoot: options.project,
350
- sessionId: result.sessionId,
351
- requestId,
352
- role: 'prd'
353
- });
354
- const bpsTrigger = await triggerBestPracticeScan({
355
- projectRoot: options.project,
356
- sessionId: result.sessionId,
357
- requestId
358
- });
359
- const handoffAutoRegen = regen.status === 'created'
360
- ? { status: 'created', path: regen.path, sha256: regen.sha256 }
361
- : regen.status === 'skipped-exists'
362
- ? { status: 'skipped-exists', path: regen.path }
363
- : { status: 'failed', reason: regen.reason };
364
- const notes = [];
365
- if (regen.status === 'failed') {
366
- notes.push(`prd handoff auto-regen failed: ${regen.reason}`);
367
- }
368
- if (bpsTrigger.status === 'failed') {
369
- notes.push(`best-practice-scan auto-trigger failed: ${bpsTrigger.reason ?? 'unknown'}`);
370
- }
371
- printResult(io, ok('request.transition', { ...result, handoffAutoRegen, bestPracticeScanTrigger: bpsTrigger }, notes), options.json);
372
- return;
373
- }
374
- // Slice 2026-07-01-strategic-compact-cli: stitch the pre-compact
375
- // checkpoint signal into the final response envelope. When the
376
- // hook did not trigger (zone is not pre-compact OR the
377
- // transition is not a slice boundary), preCompact is null and
378
- // we emit a `preCompactCheckpoint: null` field so LLM callers
379
- // can branch on it without re-deriving zone membership.
380
- printResult(io, ok('request.transition', { ...result, preCompactCheckpoint: preCompact?.data ?? null, codegraphRefresh }, [
381
- ...(preCompact !== null
382
- ? [
383
- `Pre-compact checkpoint written at ratio=${typeof preCompact.data === 'object' &&
384
- preCompact.data !== null &&
385
- 'ratio' in preCompact.data
386
- ? String(preCompact.data.ratio)
387
- : 'unknown'} (zone=pre-compact)`
388
- ]
389
- : []),
390
- ...(codegraphWarning === null ? [] : [codegraphWarning])
391
- ]), options.json);
392
- }
393
- catch (error) {
394
- if (error instanceof InvalidArgumentError) {
395
- throw error;
396
- }
397
- if (error instanceof PrerequisitesNotSatisfiedError) {
398
- // v2.13.3 AC-3 — surface `warnings` (soft-block entries from
399
- // the 1-minor-release back-compat window, e.g. MUT_REPORT) so
400
- // the operator sees both the hard-blocked `missing` paths and
401
- // the soft-blocked ones. `warnings` is always present (possibly
402
- // empty) to keep the response shape stable.
403
- printResult(io, fail('request.transition', error.code, error.message, {
404
- role: error.role,
405
- newState: error.newState,
406
- sessionId: error.sessionId,
407
- missing: error.missing,
408
- warnings: error.warnings
409
- }, [
410
- ...error.missing.map((entry) => `Produce ${entry.path}: ${entry.description}`),
411
- ...error.warnings.map((w) => `Soft-blocked (v2.13.3 back-compat window): ${w.path} — ${w.message}`),
412
- 'Once every required artifact exists, rerun this transition.',
413
- 'For exceptional cases (docs-only / config-only change), bypass with: --allow-incomplete --reason "<justification>"'
414
- ]), options.json);
415
- process.exitCode = 1;
416
- return;
417
- }
418
- if (error instanceof LintGateError) {
419
- printResult(io, fail('request.transition', error.code, error.message, { role: error.role, newState: error.newState, errorCount: error.errorCount }, [
420
- 'Fix lint errors in the artifact before transitioning.',
421
- 'Run `peaks request lint --role <role> --id <rid> --project <path>` to see details.',
422
- 'Or bypass with: --allow-incomplete --reason "<justification>"'
423
- ]), options.json);
424
- process.exitCode = 1;
425
- return;
426
- }
427
- if (error instanceof TypeSanityViolationError) {
428
- printResult(io, fail('request.transition', error.code, error.message, {
429
- declaredType: error.declaredType,
430
- suggestedTypes: error.suggestedTypes,
431
- rationale: error.rationale
432
- }, [
433
- `Re-classify the request — likely correct type: ${error.suggestedTypes.join(' | ')}`,
434
- 'Or, if the declared type is correct, surface the mismatch reason to the user.'
435
- ]), options.json);
436
- process.exitCode = 1;
437
- return;
438
- }
439
- if (error instanceof FileSizeViolationError) {
440
- printResult(io, fail('request.transition', error.code, error.message, { violations: error.violations }, [
441
- ...error.violations.map((v) => `Split ${v.file} (${v.lines} lines) below its ${v.cap}-line cap`),
442
- 'Or bypass with: --allow-incomplete --reason "<justification>"'
443
- ]), options.json);
444
- process.exitCode = 1;
445
- return;
446
- }
447
- if (error instanceof ConfirmationRequiredError) {
448
- printResult(io, fail('request.transition', 'CONFIRMATION_REQUIRED', error.message, { role: options.role, requestId, transitionKey: error.transitionKey, mode: error.mode }, [...error.nextActions]), options.json);
449
- process.exitCode = 1;
450
- return;
451
- }
452
- printResult(io, fail('request.transition', 'REQUEST_TRANSITION_FAILED', getErrorMessage(error), { role: options.role, requestId }, ['Check role, request id, state, and project path before retrying']), options.json);
453
- process.exitCode = 1;
454
- }
455
- });
456
- addJsonOption(request
457
- .command('lint')
458
- .description('Scan a request artifact body for unfilled placeholders (<...>, TBD, bare bullets) before declaring it complete')
459
- .argument('<request-id>', 'request id')
460
- .requiredOption('--role <role>', `target role (${VALID_ROLES.join(' | ')})`, parseRole)
461
- .requiredOption('--project <path>', 'target project root')
462
- .option('--session-id <session>', 'restrict to a specific session id')).action(async (requestId, options) => {
463
- try {
464
- const lintOptions = {
465
- projectRoot: options.project,
466
- role: options.role,
467
- requestId
468
- };
469
- if (options.sessionId !== undefined) {
470
- lintOptions.sessionId = options.sessionId;
471
- }
472
- const report = await lintRequestArtifact(lintOptions);
473
- if (report === null) {
474
- printResult(io, fail('request.lint', 'REQUEST_NOT_FOUND', `No artifact found for role=${options.role} requestId=${requestId}`, { role: options.role, requestId }, ['Verify the request id, role, and session id']), options.json);
475
- process.exitCode = 1;
476
- return;
477
- }
478
- const nextActions = [];
479
- if (!report.ok) {
480
- nextActions.push(`Fix ${report.findings.filter((f) => f.severity === 'error').length} error finding(s) before transitioning this artifact.`);
481
- }
482
- printResult(io, ok('request.lint', report, [], nextActions), options.json);
483
- if (!report.ok) {
484
- process.exitCode = 1;
485
- }
486
- }
487
- catch (error) {
488
- printResult(io, fail('request.lint', 'REQUEST_LINT_FAILED', getErrorMessage(error), { role: options.role, requestId }, ['Verify the artifact path before retrying']), options.json);
489
- process.exitCode = 1;
490
- }
491
- });
492
- addJsonOption(request
493
- .command('repair-status')
494
- .description('Count RD↔QA repair cycles for a request from its RD artifact transition notes; reports cycle count and whether the 3-cycle cap is reached')
495
- .argument('<request-id>', 'request id')
496
- .requiredOption('--project <path>', 'target project root')
497
- .option('--session-id <session>', 'restrict to a specific session id')
498
- .option('--max-cycles <n>', 'override the default max cycle cap (default 3)')).action(async (requestId, options) => {
499
- try {
500
- const max = options.maxCycles !== undefined && /^\d+$/.test(options.maxCycles)
501
- ? Number(options.maxCycles)
502
- : 3;
503
- const statusOptions = {
504
- projectRoot: options.project,
505
- requestId,
506
- maxCycles: max
507
- };
508
- if (options.sessionId !== undefined) {
509
- statusOptions.sessionId = options.sessionId;
510
- }
511
- const report = await getRepairCycleStatus(statusOptions);
512
- if (report === null) {
513
- printResult(io, fail('request.repair-status', 'REQUEST_NOT_FOUND', `No RD artifact found for requestId=${requestId}`, { requestId }, ['Verify the request id and session id']), options.json);
514
- process.exitCode = 1;
515
- return;
516
- }
517
- const nextActions = [];
518
- if (report.atCap) {
519
- nextActions.push(`Repair cap reached (${report.cycleCount}/${report.maxCycles}). Emit a blocked TXT handoff and stop the loop.`);
520
- }
521
- else if (report.cycleCount > 0) {
522
- nextActions.push(`${report.remaining} repair cycle(s) remaining before block.`);
523
- }
524
- printResult(io, ok('request.repair-status', report, [], nextActions), options.json);
525
- if (report.atCap) {
526
- process.exitCode = 1;
527
- }
528
- }
529
- catch (error) {
530
- printResult(io, fail('request.repair-status', 'REQUEST_REPAIR_STATUS_FAILED', getErrorMessage(error), { requestId }, ['Verify the artifact path before retrying']), options.json);
531
- process.exitCode = 1;
532
- }
533
- });
12
+ const request = program.command('request').description(REQUEST_DESCRIPTION);
13
+ registerRequestInitCommand(request, io);
14
+ registerRequestListCommand(request, io);
15
+ registerRequestShowCommand(request, io);
16
+ registerRequestTransitionCommand(request, io);
17
+ registerRequestLintCommand(request, io);
18
+ registerRequestRepairStatusCommand(request, io);
534
19
  }
@@ -1,6 +1,5 @@
1
1
  /**
2
2
  * Format / parse helpers extracted from `request-commands.ts`
3
- * (slice 2026-09-06-split-batch-b) so the command file stays under the
4
3
  * 800-line cap. Behaviour-preserving verbatim move.
5
4
  */
6
5
  import { type RequestArtifactRole, type RequestArtifactState, type RequestType } from '../../services/artifacts/request-artifact-service.js';
@@ -1,6 +1,5 @@
1
1
  /**
2
2
  * Format / parse helpers extracted from `request-commands.ts`
3
- * (slice 2026-09-06-split-batch-b) so the command file stays under the
4
3
  * 800-line cap. Behaviour-preserving verbatim move.
5
4
  */
6
5
  import { InvalidArgumentError } from 'commander';
@@ -34,7 +33,6 @@ export function applyPerArtifactFormat(envelope, override) {
34
33
  // The service returns `{ id, sessionId, role, body, ... }` for a
35
34
  // single-artifact show. The per-artifact `body` field is the only
36
35
  // thing that changes; we attach a `format` field to surface the
37
- // choice to the caller. Slice 023 (R3) AC6 / AC7.
38
36
  const obj = envelope;
39
37
  if (typeof obj.body === 'string') {
40
38
  return {
@@ -0,0 +1,3 @@
1
+ import type { Command } from 'commander';
2
+ import { type ProgramIO } from '../cli-helpers.js';
3
+ export declare function registerRequestInitCommand(request: Command, io: ProgramIO): void;