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,694 +1,27 @@
1
1
  /**
2
- * Slice rid-024 — runtime probes: post-compact-detect / auto-compact /
3
- * context-now / context-audit / gate-step-08 / emit-handoff.
2
+ * context-now / context-audit / post-compact-detect / auto-compact / gate-step-08 /
3
+ * emit-handoff.
4
4
  *
5
- * Extracted from code-commands.ts (rid-024 split).
6
5
  * Owns: 6 sub-commands that read or mutate runtime state.
7
- * Owns the `readActiveSid` helper (only used by these runtime probes).
8
6
  *
9
- * Slice 2026-09-10-context-audit-and-discipline added `context-audit`
10
- * (what fills the window, grouped by tool + short input key).
7
+ * This module is the registrar only. Each sub-command owns a file, and the pure
8
+ * helpers they share live beside them rather than inside one of them. Both
9
+ * re-exports below are part of the published surface of this module path, so the
10
+ * callers that reach for them keep their specifier.
11
11
  */
12
- import { addJsonOption, getErrorMessage, printResult } from '../cli-helpers.js';
13
- import { fail, ok } from 'peaks-loop-shared/result';
14
- import { detectPostCompactResume, formatPostCompactResumeLogLine } from '../../services/code/post-compact-detector.js';
15
- import { evaluateCompactTrigger, runAutoCompact } from '../../services/code/auto-compact-orchestrator.js';
16
- import { thresholdFor } from '../../services/code/auto-compact-modes.js';
17
- import { resolveAutoCompactProfile } from '../../services/mode/mode-status-service.js';
18
- import { AUTO_COMPACT_SOFT_WARN_RATIO } from '../../services/context/auto-compact-types.js';
19
- import { auditContext } from '../../services/context/context-audit.js';
20
- import { syncHarnessWindowForProject } from '../../services/context/auto-compact-reader.js';
21
- import { describeHarnessWindowSync, harnessWindowSyncWarning } from '../../services/context/harness-window-config.js';
22
- import { describeHarnessWitness, readAndCompareHarnessWitness } from '../../services/context/harness-context-witness.js';
23
- import { resolveCanonicalProjectRoot } from '../../services/config/config-service.js';
24
- import { buildContextAuditHint } from '../../services/context/context-audit-hint.js';
25
- import { evaluateStep08, STEP_08_BACKUP_REGEX } from '../../services/code/step-08-gate.js';
26
- import { evaluateEmitHandoff, JOB_NOT_INITIALIZED, JOB_REMAINING_BLOCKED } from '../../services/code/emit-handoff.js';
27
- import { readJobShapeDecision, JobShapeDecisionError } from '../../services/code/job-shape-decision.js';
28
- import { getSkillPresence } from '../../services/skills/skill-presence-service.js';
29
- import { probeInFlightBatch } from '../../services/workflow/workflow-inflight-probe.js';
30
- import { resolveOuterSessionId } from '../../services/session/binding-status-service.js';
31
- /** The one dispatch verb the action and red-line tiers name. */
32
- const COMPACT_CMD = 'peaks code auto-compact';
33
- /**
34
- * Slice H4 (rid=h4-context-now-mode-blind) — the ONE mapping from the shared
35
- * `CompactTrigger` to this command's `action` vocabulary, so the two cannot
36
- * drift: the trigger is `evaluateCompactTrigger`, the same function `peaks
37
- * code auto-compact` decides with.
38
- *
39
- * `auto-fire` maps to `soft-warn` in BOTH modes: that tier is `peaks skill
40
- * presence`'s — the every-turn probe, which reads this same table and mode
41
- * resolver — so `context-now` has no auto-fire tier of its own (SKILL.md
42
- * "two probes, two thresholds"). Reporting it as `auto-compact-now` would
43
- * change every non-24h session's output, which slice H4 forbids.
44
- */
45
- export function contextNowActionFor(ratio, mode) {
46
- const kind = evaluateCompactTrigger(ratio, mode).kind;
47
- if (kind === 'red-line')
48
- return { action: 'red-line', next: COMPACT_CMD };
49
- if (kind === 'pre-compact')
50
- return { action: 'auto-compact-now', next: COMPACT_CMD };
51
- return { action: kind === 'none' ? 'ok' : 'soft-warn', next: null };
52
- }
53
- /** Slice H4: the labels `context-now` prints, read out of the table for the mode
54
- * in force — the old hard-coded "≥0.85 / ≥0.95 / 50–85%" told a 24h operator
55
- * the wrong lines. `*Ratio` is the `0.85` form `gateModeNotice` uses. */
56
- function contextNowBandLabels(mode) {
57
- const pct = (r) => `${(r * 100).toFixed(0)}`;
58
- const pre = thresholdFor(mode, 'preCompact');
59
- const red = thresholdFor(mode, 'redLine');
60
- return {
61
- softWarn: pct(AUTO_COMPACT_SOFT_WARN_RATIO),
62
- preCompact: pct(pre),
63
- redLine: pct(red),
64
- preCompactRatio: pre.toFixed(2),
65
- redLineRatio: red.toFixed(2)
66
- };
67
- }
68
- /**
69
- * Adapt `runAutoCompact`'s domain result to a `ResultEnvelope`.
70
- *
71
- * Extracted and exported so the CHANNEL each fact chooses can be asserted
72
- * directly, without a real red-line probe.
73
- *
74
- * The harness-window CONFLICT ("peaks-loop divided this ratio by N but the
75
- * settings file pins M") is a fact about the STATE, not an instruction, so it
76
- * rides `warnings` — the very channel `peaks code context-now` already puts it
77
- * on, via the same `harnessWindowSyncWarning`. Before this, the shim hard-coded
78
- * `warnings: []`, so the identical fact reached a consumer as a sentence inside
79
- * `nextActions` on this command and as a `warnings` entry on the other one. One
80
- * fact, two shapes, depending on which of the two syncing commands a consumer
81
- * happened to read: two parsers for one mechanism.
82
- *
83
- * The prose description (`describeHarnessWindowSync`) stays in `nextActions` on
84
- * BOTH commands — that half is advice ("what to do about it") and both already
85
- * agree on it.
86
- */
87
- export function buildAutoCompactEnvelope(result) {
88
- const data = 'data' in result ? result.data : null;
89
- const nextActions = 'nextActions' in result ? result.nextActions : [];
90
- const warning = harnessWindowSyncWarning(data?.harnessWindow ?? null);
91
- const warnings = warning === null ? [] : [warning];
92
- if (result.ok) {
93
- return ok('code.auto-compact', data ?? {}, warnings, [result.message, ...nextActions]);
94
- }
95
- // `fail()` hard-codes `warnings: []`, so the warning is spread back over it —
96
- // a refused write can disagree with the ratio just as easily on the failure
97
- // path, and the state does not become less true because the dispatch failed.
98
- return {
99
- ...fail('code.auto-compact', result.code, result.message, data, [...nextActions]),
100
- warnings
101
- };
102
- }
103
- function printPostCompactNoActiveSession(io, opts) {
104
- printResult(io, fail('code.post-compact-detect', 'NO_ACTIVE_SESSION', 'no active session id; pass --session-id or set presence via `peaks skill presence:set peaks-code`', null, ['Re-run with --session-id <sid>']), opts.json);
105
- process.exitCode = 1;
106
- }
12
+ import { registerCodePostCompactDetectCommand } from './code-post-compact-detect-command.js';
13
+ import { registerCodeAutoCompactCommand } from './code-auto-compact-command.js';
14
+ import { registerCodeContextNowCommand } from './code-context-now-command.js';
15
+ import { registerCodeContextAuditCommand } from './code-context-audit-command.js';
16
+ import { registerCodeGateStep08Command } from './code-gate-step-08-command.js';
17
+ import { registerCodeEmitHandoffCommand } from './code-emit-handoff-command.js';
18
+ export { buildAutoCompactEnvelope } from './code-auto-compact-envelope.js';
19
+ export { contextNowActionFor } from './code-context-now-mapping.js';
107
20
  export function registerCodeRuntimeCommands(code, io) {
108
- addJsonOption(code
109
- .command('post-compact-detect')
110
- .description('v2.11.0 D7: detect whether the current invocation is a same-day post-compact resume. ' +
111
- 'Auto-resumes (no AskUserQuestion) when the most-recent checkpoint is from today, has a mode field, ' +
112
- 'and the active skill is peaks-code. Falls through to the normal Step 0.7 flow otherwise.')
113
- .requiredOption('--project <path>', 'target project root')
114
- .option('--session-id <sid>', 'override session id (default: read from active presence)')
115
- .option('--active-skill <skill>', 'override active skill (test seam; default: read from presence)')).action(async (opts) => {
116
- try {
117
- const sessionId = opts.sessionId ?? readActiveSid(opts.project);
118
- if (sessionId === null) {
119
- printPostCompactNoActiveSession(io, opts);
120
- return;
121
- }
122
- const probe = await detectPostCompactResume({
123
- sessionId,
124
- projectRoot: opts.project,
125
- activeSkill: opts.activeSkill
126
- });
127
- const logLine = formatPostCompactResumeLogLine(probe);
128
- printResult(io, ok('code.post-compact-detect', { ...probe, logLine }, [...probe.warnings], [
129
- probe.shouldAutoResume
130
- ? `Post-compact match → auto-resume mode=${probe.mode ?? '?'} checkpoint=${probe.checkpointPath ?? '?'}`
131
- : `No auto-resume: ${probe.reason}`
132
- ]), opts.json);
133
- }
134
- catch (err) {
135
- printResult(io, fail('code.post-compact-detect', 'POST_COMPACT_DETECT_FAILED', getErrorMessage(err), null, ['Verify the project path and try again']), opts.json);
136
- process.exitCode = 1;
137
- }
138
- });
139
- addJsonOption(code
140
- .command('auto-compact')
141
- .description('v2.13.0 AC-4: zero-human-intervention auto-compact. Probes current ' +
142
- 'context-fill % via the active IDE adapter; ≥ 0.85 writes a pre-compact ' +
143
- 'checkpoint + convergence plan + auto-decisions log; ≥ 0.95 ASKS the ' +
144
- 'harness to compact and reports that it is waiting for it — no ratio ' +
145
- 'blocks sub-agent dispatch, because peaks-loop has no way to compact a ' +
146
- 'running session and a gate nobody can satisfy gates nothing. The LLM / ' +
147
- 'runner keeps working at any ratio without human intervention. Pair with `peaks code ' +
148
- 'context-now` (AC-1), the read-only probe that reports the ratio this ' +
149
- 'command acts on. This command is also fired by the installed ' +
150
- 'PreToolUse hook, which passes `--project .` — without that argument ' +
151
- 'the hook could never run at all. rid-027 ' +
152
- 'adds `--mode <mode>`: `standard` (0.85/0.95) or `partial` (0.70/0.85 ' +
153
- 'for 24h long-run mode).')
154
- .requiredOption('--project <path>', 'target project root')
155
- .option('--session-id <sid>', 'override session id (default: read from active presence)')
156
- .option('--in-flight-batch', 'defer if a sub-agent batch is in flight (D6.e)')
157
- .option('--force', 'force compact at any ratio (test seam)')
158
- // Accepted and inert. There is no longer a 95% gate to skip: peaks-loop
159
- // cannot compact a running session, so the red line never blocked
160
- // dispatch and `bypassRedLine` is read by nothing (slice
161
- // 2026-09-13-auto-compact-trigger-ownership, T3/A1). The flag is KEPT
162
- // rather than deleted because it is a published CLI surface — deleting it
163
- // would make an existing caller fail on an unknown option, which is a
164
- // harder break than a no-op — and because the honest fix here is to stop
165
- // advertising it, not to change its meaning.
166
- .option('--bypass-red-line', 'no-op: the 95% red line no longer gates dispatch, so there is nothing to bypass (accepted for backward compatibility)')
167
- // No commander default here, deliberately. A declared default makes
168
- // `opts.mode` permanently defined, which defeats the orchestrator's
169
- // `input.mode ?? resolveAutoCompactMode(projectRoot)` fallback and
170
- // silently disables "24h mode auto-selects partial" — the help text
171
- // below promises it. Absence must stay absent.
172
- .option('--mode <mode>', 'auto-compact mode (standard | partial). Default: standard. 24h mode auto-selects partial.')).action(async (opts) => {
173
- try {
174
- const { isValidMode } = await import('../../services/code/auto-compact-modes.js');
175
- const modeName = opts.mode ?? 'standard';
176
- if (!isValidMode(modeName)) {
177
- printResult(io, fail('code.auto-compact', 'AUTO_COMPACT_INVALID_MODE', `Invalid --mode '${modeName}'. Valid values: standard | partial.`, null, ['Re-run with --mode standard or --mode partial.']), opts.json);
178
- process.exitCode = 1;
179
- return;
180
- }
181
- // Slice 4.0.8 (D4d): production `inFlightBatch` MUST come from
182
- // the workflow graph probe. The legacy `--in-flight-batch`
183
- // boolean CLI flag is a TEST-ONLY seam (gated by
184
- // `PEAKS_TEST_SEAM === '1'`). When the env flag is unset
185
- // (the production case), we wire `probeInflightBatch` to the
186
- // canonical `workflow-inflight-probe.ts` service so the
187
- // production decision is graph-backed, not lease-age.
188
- const isTestSeam = process.env.PEAKS_TEST_SEAM === '1';
189
- const result = await runAutoCompact({
190
- projectRoot: opts.project,
191
- sessionId: opts.sessionId ?? readActiveSid(opts.project) ?? undefined,
192
- ...(isTestSeam && opts.inFlightBatch === true
193
- ? { inFlightBatch: { hasInFlightBatch: true } }
194
- : {}),
195
- ...(!isTestSeam
196
- ? {
197
- probeInflightBatch: () => {
198
- // Synchronous probe: the workflow-inflight-probe
199
- // service is pure / synchronous (no I/O). The
200
- // empty `graphs` array is the production CLI
201
- // default — callers that want a richer fixture
202
- // (e.g. `peaks session 24h-mode`) should hand-roll
203
- // a probe and pass it via the orchestrator's
204
- // input. When no graph is materialized, the
205
- // probe returns `inFlightBatch: false`, matching
206
- // the 4.0.7 zero-pause contract for stock
207
- // projects.
208
- const out = probeInFlightBatch({ now: new Date().toISOString(), graphs: [] });
209
- return out.inFlightBatch === true;
210
- }
211
- }
212
- : {}),
213
- force: opts.force === true,
214
- bypassRedLine: opts.bypassRedLine === true,
215
- // Forward the FLAG verbatim — `undefined` when the user named no
216
- // mode — so the orchestrator's fallback to the presence-derived
217
- // mode can actually run. Forwarding the validated `modeName` is
218
- // what disabled 24h → partial.
219
- mode: opts.mode === undefined ? undefined : modeName
220
- });
221
- const code = result.code;
222
- const exitOk = result.ok || code === 'AUTO_COMPACT_SKIP' || code === 'AUTO_COMPACT_WAIT';
223
- // Adapt AutoCompactResult → ResultEnvelope so printResult's
224
- // generic accepts it. The orchestrator envelope carries
225
- // `data` on success-path and `nextActions` on the error
226
- // path; surface both directly to the user.
227
- printResult(io, buildAutoCompactEnvelope(result), opts.json);
228
- if (!exitOk)
229
- process.exitCode = 1;
230
- }
231
- catch (err) {
232
- printResult(io, fail('code.auto-compact', 'AUTO_COMPACT_FAILED', getErrorMessage(err), null, [
233
- 'Verify the project path + session id and try again'
234
- ]), opts.json);
235
- process.exitCode = 1;
236
- }
237
- });
238
- addJsonOption(code
239
- .command('context-now')
240
- .description("v2.13.0 AC-1: read the active IDE adapter's context-fill % " +
241
- 'without requiring the LLM to pass --prompt-size <bytes> manually. ' +
242
- 'Adapter-driven (no hard-coded IDE names): Claude Code is the MVP ' +
243
- 'implementation; trae / codex / cursor / qoder / tongyi-lingma / ' +
244
- 'hermes / openclaw register their own env-var via IdeAdapter.compact. ' +
245
- "v3.1.2 / 2026-09-12: the mode's pre-compact line emits " +
246
- 'action=auto-compact-now (MANDATORY, single-rid included) and ' +
247
- 'the red line emits action=red-line (the installed PreToolUse hook re-runs ' +
248
- 'this command on the next Bash/Task tool call; nothing is blocked). ' +
249
- '--enforce-job-mode only changes the reported `jobMode` label; ' +
250
- 'the thresholds are identical. ' +
251
- 'Context-window override: set env PEAKS_CONTEXT_WINDOW_TOKENS=<positive int> ' +
252
- 'or `peaks config set --key context.windowTokens --value <positive int>`; ' +
253
- 'the JSON envelope reports the winning layer as capacitySource ' +
254
- '(env-override | config | model-heuristic | default).')
255
- .requiredOption('--project <path>', 'target project root')
256
- .option('--session-id <sid>', 'override session id (default: read from active presence)')
257
- .option('--enforce-job-mode', 'v3.1.2: label the run as Job-shaped (jobMode=true). Auto-enabled when job-shape.json says isJob=true. Since 2026-09-12 the ≥0.85 MANDATORY auto-compact applies in single-rid mode too, so this flag no longer changes any action.')
258
- .option('--prompt-size <bytes>', 'override the bytes-from-env path; takes priority over env / statusline / transcript. Useful when CLAUDE_CONTEXT_USAGE_PERCENT is absent (e.g. Mac Claude Code).')).action(async (opts) => {
259
- try {
260
- const { readContextPercent } = await import('../../services/context/auto-compact-reader.js');
261
- // rid-002: parse --prompt-size <bytes> defensively. CLI-layer
262
- // guard rejects non-finite / negative values; only finite
263
- // non-negative numbers reach the reader. Undefined → no override.
264
- let promptSizeBytes;
265
- if (opts.promptSize !== undefined) {
266
- const parsed = Number(opts.promptSize);
267
- if (Number.isFinite(parsed) && parsed >= 0) {
268
- promptSizeBytes = parsed;
269
- }
270
- }
271
- // v3.1.2: detect Job mode from job-shape.json when --enforce-job-mode
272
- // is not explicitly passed. The LLM is the source of truth for
273
- // whether the request is Job-shaped; the recorded decision is.
274
- let isJobMode = opts.enforceJobMode === true;
275
- if (!isJobMode) {
276
- try {
277
- const sessionIdForDecision = opts.sessionId ?? readActiveSid(opts.project);
278
- if (sessionIdForDecision !== null) {
279
- const record = readJobShapeDecision(opts.project, sessionIdForDecision);
280
- if (record.decision.isJob)
281
- isJobMode = true;
282
- }
283
- }
284
- catch (err) {
285
- if (!(err instanceof JobShapeDecisionError))
286
- throw err;
287
- // missing/malformed decision file is fine — fall back to advisory.
288
- }
289
- }
290
- const sessionId = opts.sessionId ?? readActiveSid(opts.project) ?? 'unknown';
291
- const outerSessionId = resolveOuterSessionId(opts.project, sessionId);
292
- const probe = readContextPercent({
293
- projectRoot: opts.project,
294
- sessionId,
295
- outerSessionId,
296
- env: process.env,
297
- promptSizeBytes
298
- });
299
- // Promote `--project .` (what the PreToolUse hook passes) to the git
300
- // root ONCE, for both of the consumers below: the settings path the
301
- // harness window is written to, and the session directory the witness
302
- // is read from, must not depend on the caller's cwd — and an absolute
303
- // path is what the envelope then reports back to the operator. This
304
- // resolves through `git rev-parse --show-toplevel`, i.e. a whole
305
- // process spawn (measured 2026-09-14: med 111.8 ms per call on this
306
- // host), so calling it twice with the same argument charged the witness
307
- // read it precedes — 0.027 ms — roughly 4,000x its own cost.
308
- const canonicalProjectRoot = resolveCanonicalProjectRoot(opts.project);
309
- // Slice 2026-09-13-auto-compact-trigger-ownership (T1 + T2): materialize
310
- // the window this probe just divided by into the harness's own settings,
311
- // so "85%" here and the harness's own trigger are one point on one
312
- // scale. Idempotent (no write when the value is already in force) and a
313
- // no-op when the probe carried no token window — peaks-loop never
314
- // invents a number it did not measure.
315
- const harnessWindow = syncHarnessWindowForProject({
316
- projectRoot: canonicalProjectRoot,
317
- env: process.env,
318
- tokens: probe.capacityTokens ?? null
319
- });
320
- // The machine half of 要告知. A refused write is not automatically a
321
- // non-event: the file may pin a window that disagrees with the one this
322
- // probe just divided by, and then the ratio above describes a trigger
323
- // the harness is not going to fire. `nextActions` carries the full
324
- // sentence; this one line rides `warnings` so a JSON consumer cannot
325
- // miss it either.
326
- const harnessWindowWarning = harnessWindowSyncWarning(harnessWindow);
327
- // Slice 2026-09-13-statusline-window-witness (AC2/AC3): the harness's
328
- // own number for the same quantity, captured by the statusline. This is
329
- // OBSERVATION ONLY — it never feeds `verdict` / `action` / any threshold
330
- // below. A wrong reading here must not be able to fire a compact.
331
- const harnessWitness = readAndCompareHarnessWitness({
332
- // The same promoted root as the harness-window write above, for the
333
- // same reason: the statusline resolves its root from the harness
334
- // payload (absolute), so a `--project .` from a hook would otherwise
335
- // look for the witness somewhere else and report `absent` forever.
336
- projectRoot: canonicalProjectRoot,
337
- sessionId,
338
- peaksRatio: probe.ratio,
339
- peaksTokens: probe.rawTokens ?? null,
340
- peaksWindowTokens: probe.capacityTokens ?? null,
341
- outerSessionId: outerSessionId ?? null
342
- });
343
- const witnessNotice = describeHarnessWitness(harnessWitness);
344
- const ratioPct = (probe.ratio * 100).toFixed(1);
345
- // Slice H4 (rid=h4-context-now-mode-blind): ONE table, ONE mode
346
- // resolver. The hard-coded ladder that used to live here (≥0.95 / ≥0.85
347
- // / ≥0.5) read no mode at all, so on a 24h run (`partial` =
348
- // 0.65/0.70/0.85) it answered `soft-warn` + `next: null` across
349
- // [0.70, 0.85) — the band in which `peaks code auto-compact` had
350
- // already decided to compact. SKILL.md calls THIS command the "single
351
- // source of truth", so an LLM obeying it did nothing.
352
- const compactMode = resolveAutoCompactProfile(canonicalProjectRoot);
353
- const decided = contextNowActionFor(probe.ratio, compactMode);
354
- const action = decided.action;
355
- const next = decided.next;
356
- const verdict = action === 'red-line'
357
- ? 'red-line'
358
- : action === 'auto-compact-now'
359
- ? 'pre-compact'
360
- : action;
361
- const bands = contextNowBandLabels(compactMode);
362
- // Slice H4: the text here used to claim "the two modes no longer differ
363
- // in behaviour ABOVE 0.50 — both auto-fire at ≥0.85 and both red-line at
364
- // ≥0.95". That was false: `partial` fires at 0.70, red-lines at 0.85.
365
- // The lines now come from the table for the mode in force.
366
- const gateModeNotice = isJobMode
367
- ? `Job mode (job-shape.json isJob=true): the same ≥${bands.preCompactRatio} / ≥${bands.redLineRatio} thresholds apply, and the decision is recorded in job-shape.json.`
368
- : `Single-rid mode: the same ≥${bands.preCompactRatio} / ≥${bands.redLineRatio} thresholds apply — ≥${bands.preCompactRatio} is MANDATORY auto-compact, not advisory.`;
369
- printResult(io, ok('code.context-now', {
370
- ratio: probe.ratio,
371
- ratioPct: `${ratioPct}%`,
372
- verdict,
373
- action,
374
- next,
375
- jobMode: isJobMode,
376
- source: probe.source,
377
- ide: probe.ide,
378
- capacityBytes: probe.capacityBytes,
379
- rawBytes: probe.rawBytes ?? null,
380
- rawTokens: probe.rawTokens ?? null,
381
- capacityTokens: probe.capacityTokens ?? null,
382
- // Slice 2026-09-09-context-window-override: which layer produced
383
- // capacityTokens (env-override | config | model-heuristic |
384
- // default) — null for byte/percent sources, which have no window.
385
- capacitySource: probe.capacitySource ?? null,
386
- bytesPrompt: promptSizeBytes ?? null,
387
- capturedAt: probe.capturedAt,
388
- // Slice 2026-09-13-auto-compact-trigger-ownership: what the harness
389
- // window sync did on this probe. Reported rather than silent — the
390
- // harness tells a user who overrides the window only via
391
- // `/autocompact`, so peaks-loop must be the one that says it.
392
- harnessWindow,
393
- // Slice 2026-09-13-statusline-window-witness: the second scale.
394
- harnessWitness
395
- }, [
396
- ...(harnessWindowWarning === null ? [] : [harnessWindowWarning]),
397
- // AC3: the disagreement rides `warnings` — it is a fact about the
398
- // state, not an instruction — and it is one-way. Never an
399
- // AskUserQuestion (see .peaks/memory/auto-compact-threshold-policy.md).
400
- ...(witnessNotice === null ? [] : [witnessNotice])
401
- ], [
402
- action === 'red-line'
403
- ? `RED LINE: ≥ ${bands.redLine}%. Next: \`${next}\` — peaks-loop asks the harness to compact and KEEPS WORKING (dispatch is not blocked); re-probe to confirm it landed.`
404
- : action === 'auto-compact-now'
405
- ? `MANDATORY auto-compact (≥${bands.preCompact}%, every mode). Code MUST call \`${next}\` WITHOUT confirmation.`
406
- : action === 'soft-warn'
407
- ? `Soft warn (${bands.softWarn}–${bands.preCompact}%). Continue working; the next \`peaks code auto-compact\` will re-check.`
408
- : `Below ${bands.softWarn}%. No action required.`,
409
- gateModeNotice,
410
- // Single wording, shared with `peaks code auto-compact` — see
411
- // `describeHarnessWindowSync`.
412
- describeHarnessWindowSync(harnessWindow),
413
- // AC3: the one-way hint that accompanies the `warnings` entry. Both
414
- // channels carry the SAME fact in the shape each is read for
415
- // (machine-readable warning vs human/LLM advice) — see
416
- // `harnessWindowSyncWarning` / `describeHarnessWindowSync` above for
417
- // the same split, and note this one never asks a question.
418
- ...(witnessNotice === null
419
- ? []
420
- : [
421
- 'Re-probe with `peaks code context-now` to confirm; this is reported, not blocking.'
422
- ])
423
- ]),
424
- // Slice 2026-09-13-auto-compact-trigger-ownership: was hard-coded
425
- // `true`, which made the declared `--json` flag a no-op and left the
426
- // human with raw JSON and no `next:` lines — so a person running this
427
- // command could not see that peaks-loop had just written their
428
- // harness settings. The notices above (including the key, the value
429
- // and the rollback command) are `nextActions`, which `printResult`
430
- // prints as `next: …` lines ONLY in the non-JSON path. Honoring the
431
- // flag is what puts them in front of a human. See the consumer audit
432
- // in the slice's RD artifact: every in-repo caller (the PreToolUse
433
- // hooks, `orchestrator-can-do`, the skill runbooks) passes `--json`
434
- // explicitly, so their byte-for-byte output is unchanged.
435
- opts.json === true);
436
- }
437
- catch (err) {
438
- printResult(io, fail('code.context-now', 'CONTEXT_NOW_FAILED', getErrorMessage(err), null, [
439
- 'Verify the project path and try again'
440
- ]), opts.json);
441
- process.exitCode = 1;
442
- }
443
- });
444
- // Slice 2026-09-10-context-audit-and-discipline (Slice A): visibility into
445
- // WHAT fills the orchestrator window. `context-now` returns a ratio; this
446
- // returns the grouped byte breakdown of tool results from the live
447
- // transcript. Read-only + fail-soft: an unavailable transcript reports
448
- // `available:false` with a reason and NEVER sets a non-zero exit code.
449
- addJsonOption(code
450
- .command('context-audit')
451
- .description("Slice 2026-09-10 Slice A: report what fills the current session's " +
452
- 'context window, grouped by tool + short input key (command line / ' +
453
- "path tail / pattern), sorted by bytes. Locates the CURRENT session's " +
454
- "IDE transcript through the active adapter's " +
455
- '`compact.resolveTranscriptPath` (vendor-neutral); emits total bytes, ' +
456
- 'entry count, and the top-N groups ' +
457
- '(`{tool, key, bytes, pctOfTotal, count}`). Read-only and fail-soft — ' +
458
- 'a missing/oversized/corrupt transcript returns `available:false` ' +
459
- 'with a reason and never blocks. Never dumps tool result content.')
460
- .requiredOption('--project <path>', 'target project root')
461
- .option('--session-id <sid>', 'override session id (default: read from active presence)')
462
- .option('--top <n>', 'number of top entries to emit (default 15, max 100)', (value) => Number(value))
463
- .option('--transcript <path>', 'override the transcript jsonl path (test seam)')).action((opts) => {
464
- try {
465
- // `resolveOuterSessionId` checks the env signal FIRST, so the peaks
466
- // session id is only a fallback lookup key — mirror context-now's
467
- // 'unknown' default so an unbound presence still resolves via env.
468
- const sessionId = opts.sessionId ?? readActiveSid(opts.project) ?? 'unknown';
469
- const outerSessionId = resolveOuterSessionId(opts.project, sessionId);
470
- const result = auditContext({
471
- outerSessionId: outerSessionId ?? null,
472
- ...(opts.top !== undefined ? { topN: opts.top } : {}),
473
- ...(opts.transcript !== undefined ? { transcriptPath: opts.transcript } : {})
474
- });
475
- // Fail-soft contract: unavailability is DATA, not an error. The exit
476
- // code stays 0 so a `context-audit` call can never block a workflow.
477
- const nextActions = result.available
478
- ? [
479
- `${result.entryCount} tool result(s) across ${result.groupCount} group(s); showing top ${result.entries.length}.`
480
- ]
481
- : [
482
- `context-audit unavailable: ${result.reason ?? 'unknown'} — continue without it (read-only probe).`
483
- ];
484
- printResult(io, ok('code.context-audit', { ...result }, [], nextActions), opts.json);
485
- }
486
- catch (err) {
487
- printResult(io, ok('code.context-audit', {
488
- available: false,
489
- reason: `audit-failed: ${getErrorMessage(err)}`,
490
- transcriptPath: null,
491
- totalBytes: 0,
492
- entryCount: 0,
493
- groupCount: 0,
494
- topN: 0,
495
- entries: []
496
- }, [], ['context-audit is a read-only probe; continue without it.']), opts.json);
497
- }
498
- });
499
- // v3.1.2 Step 0.8 — Mechanical PreToolUse gate.
500
- // Wire-installed by `peaks workspace init` (extends the existing hook
501
- // installer). Exit code is the load-bearing contract:
502
- // exit 0 → allow (with structured stdout describing the decision)
503
- // exit 2 → block (stderr contains the BLOCKED: ... reason)
504
- addJsonOption(code
505
- .command('gate-step-08')
506
- .description('v3.1.2: PreToolUse gate for Step 0.8 — allow when job-shape.json exists; ' +
507
- 'fail-closed backup regex when missing. Exit 0 = allow, exit 2 = block. ' +
508
- 'When the decision says isJob=true AND progress.json exists, the stdout ' +
509
- 'also carries `Next: slice #N+1 of M (<currentSlice>)` so the LLM cannot ' +
510
- 'wake up cold. When the context ratio is ≥ 0.70 the stdout gains ONE more ' +
511
- 'line naming the largest context consumer (audit cached ≥ 5 min; fail-soft).')
512
- .requiredOption('--project <path>', 'target project root (the hook passes "." so resolveCanonicalProjectRoot promotes it to the git root)')
513
- .option('--session-id <sid>', 'override session id (default: read from active presence)')
514
- .option('--prompt <text>', 'explicit prompt text (default: read last-prompt.txt; stdin ignored)')).action((opts) => {
515
- try {
516
- const sessionId = opts.sessionId ?? readActiveSid(opts.project);
517
- if (sessionId === null) {
518
- // No session binding — treat as allow (single-rid mode). The
519
- // LLM has not yet anchored; we have nothing to gate against.
520
- const envelope = ok('code.gate-step-08', {
521
- allow: true,
522
- mode: 'no-session',
523
- decision: null,
524
- nextSlice: null
525
- }, [], ['No active session id; gate passes through (single-rid mode).']);
526
- printResult(io, envelope, opts.json);
527
- return;
528
- }
529
- // Slice 2026-09-10-three-fixes (Slice 2): proactive context-consumer
530
- // hint. Runs ONLY when the window is ≥ 0.70 full, caches the audit
531
- // result for ≥ 5 min so the transcript is scanned at most once per
532
- // TTL window, and is fail-soft (null → no extra line). It never
533
- // changes the exit code and never blocks.
534
- const hintLine = buildContextAuditHint({
535
- projectRoot: opts.project,
536
- sessionId,
537
- outerSessionId: resolveOuterSessionId(opts.project, sessionId)
538
- });
539
- const hintActions = hintLine === null ? [] : [hintLine];
540
- const evalInput = {
541
- projectRoot: opts.project,
542
- sessionId
543
- };
544
- if (opts.prompt !== undefined)
545
- evalInput.prompt = opts.prompt;
546
- const result = evaluateStep08(evalInput);
547
- const verdict = result.verdict;
548
- if (verdict.kind === 'allow-job') {
549
- const envelope = ok('code.gate-step-08', {
550
- allow: true,
551
- mode: 'job',
552
- decision: verdict.decision,
553
- progress: verdict.progress,
554
- nextSlice: result.nextSliceLine
555
- }, [], [...(result.nextSliceLine !== null ? [result.nextSliceLine] : []), ...hintActions]);
556
- printResult(io, envelope, opts.json);
557
- return;
558
- }
559
- if (verdict.kind === 'allow-single') {
560
- const envelope = ok('code.gate-step-08', {
561
- allow: true,
562
- mode: 'single',
563
- decision: null,
564
- nextSlice: null
565
- }, [], ['job-shape.json says isJob=false; single-rid mode (gate allows).', ...hintActions]);
566
- printResult(io, envelope, opts.json);
567
- return;
568
- }
569
- // block-missing-decision
570
- if (verdict.promptHit) {
571
- // Block: backup regex hit. Exit code 2 is the load-bearing
572
- // signal for the PreToolUse hook.
573
- const blockMessage = 'BLOCKED: prompt looks Job-shaped but peaks code detect-job has not been called. Run `peaks code detect-job --is-job true ...` to record your Job-shape verdict, then retry.';
574
- const envelope = fail('code.gate-step-08', 'STEP_08_BLOCKED', blockMessage, {
575
- promptSource: verdict.promptSource,
576
- backupRegex: STEP_08_BACKUP_REGEX.toString()
577
- }, [
578
- 'Run `peaks code detect-job --is-job true --rationale <text> --suggested-job-id <slug>` to record the Job-shape verdict.',
579
- 'Then re-run the Bash tool call.',
580
- ...hintActions
581
- ]);
582
- io.stderr(`${blockMessage}\n`);
583
- printResult(io, envelope, opts.json);
584
- process.exitCode = 2;
585
- return;
586
- }
587
- // No decision + no regex hit → allow.
588
- const envelope = ok('code.gate-step-08', {
589
- allow: true,
590
- mode: 'undecided-no-regex-hit',
591
- decision: null,
592
- nextSlice: null,
593
- promptSource: verdict.promptSource
594
- }, [], [
595
- 'No job-shape.json AND no backup-regex match on prompt → allow (most prompts are not Job-shaped).',
596
- ...hintActions
597
- ]);
598
- printResult(io, envelope, opts.json);
599
- return;
600
- }
601
- catch (err) {
602
- printResult(io, fail('code.gate-step-08', 'GATE_STEP_08_FAILED', getErrorMessage(err), null, [
603
- 'Verify the project path and try again'
604
- ]), opts.json);
605
- process.exitCode = 1;
606
- }
607
- });
608
- // v3.1.2 Step 11 / final handoff — Size-fear ban.
609
- // Refuses to emit a final handoff while a Job has remaining slices.
610
- addJsonOption(code
611
- .command('emit-handoff')
612
- .description('v3.1.2 Step 11 size-fear ban: under Job mode, refuse to emit a final ' +
613
- 'handoff while remaining > 0. Exit 0 = allow, exit 1 = block. Pass ' +
614
- '--force-under-job to override (requires explicit user approval).')
615
- .requiredOption('--project <path>', 'target project root')
616
- .option('--session-id <sid>', 'override session id (default: read from active presence)')
617
- .option('--job-id <jid>', 'override job id (default: read from job-shape.json decision.suggestedJobId)')
618
- .option('--force-under-job', 'override the remaining>0 block (explicit user approval required)')).action((opts) => {
619
- try {
620
- const sessionId = opts.sessionId ?? readActiveSid(opts.project);
621
- if (sessionId === null) {
622
- const envelope = ok('code.emit-handoff', { allow: true, mode: 'no-session' }, [], ['No active session id; gate passes through (single-rid mode).']);
623
- printResult(io, envelope, opts.json);
624
- return;
625
- }
626
- const evalInput = {
627
- projectRoot: opts.project,
628
- sessionId
629
- };
630
- if (opts.jobId !== undefined)
631
- evalInput.jobId = opts.jobId;
632
- if (opts.forceUnderJob === true)
633
- evalInput.forceUnderJob = true;
634
- const verdict = evaluateEmitHandoff(evalInput);
635
- if (verdict.kind === 'allow-not-job') {
636
- const envelope = ok('code.emit-handoff', { allow: true, mode: 'single' }, [], ['job-shape.json says isJob=false (or absent); normal handoff allowed.']);
637
- printResult(io, envelope, opts.json);
638
- return;
639
- }
640
- if (verdict.kind === 'allow-done') {
641
- const envelope = ok('code.emit-handoff', { allow: true, mode: 'job-done', remaining: verdict.remaining }, [], [`Job is complete (remaining=0); handoff allowed.`]);
642
- printResult(io, envelope, opts.json);
643
- return;
644
- }
645
- if (verdict.kind === 'allow-force-override') {
646
- const envelope = ok('code.emit-handoff', { allow: true, mode: 'job-force-override', remaining: verdict.remaining }, [], [
647
- `Job has ${verdict.remaining} remaining slices; --force-under-job override applied. Handoff allowed (explicit user approval).`
648
- ]);
649
- printResult(io, envelope, opts.json);
650
- return;
651
- }
652
- if (verdict.kind === 'block-not-initialized') {
653
- const envelope = fail('code.emit-handoff', JOB_NOT_INITIALIZED, `Job ${verdict.jobId} has no state.json; peaks job init was skipped.`, { jobId: verdict.jobId }, [
654
- `Run \`peaks job init --job-id ${verdict.jobId} --slice-list <...>\` before emitting handoff.`
655
- ]);
656
- printResult(io, envelope, opts.json);
657
- process.exitCode = 1;
658
- return;
659
- }
660
- // block-remaining
661
- const blockMessage = `BLOCKED: Job ${verdict.jobId} has ${verdict.remaining} remaining slices. Run \`peaks job status\`. Use --force-under-job only with explicit user approval.`;
662
- const envelope = fail('code.emit-handoff', JOB_REMAINING_BLOCKED, blockMessage, { jobId: verdict.jobId, remaining: verdict.remaining }, [
663
- `Run \`peaks job status --job-id ${verdict.jobId}\` to see remaining slices.`,
664
- 'Resume Step 0.81 (per-slice checkpoint loop) and continue until remaining === 0.',
665
- 'Use --force-under-job only with explicit user approval (size-fear ban override).'
666
- ]);
667
- io.stderr(`${blockMessage}\n`);
668
- printResult(io, envelope, opts.json);
669
- process.exitCode = 1;
670
- return;
671
- }
672
- catch (err) {
673
- printResult(io, fail('code.emit-handoff', 'EMIT_HANDOFF_FAILED', getErrorMessage(err), null, [
674
- 'Verify the project path and try again'
675
- ]), opts.json);
676
- process.exitCode = 1;
677
- }
678
- });
679
- }
680
- // Local helper (was `readActiveSid` in code-commands.ts before rid-024 split).
681
- // Only the 5 runtime probes above use it; keeping it local avoids the
682
- // cross-file helper import.
683
- function readActiveSid(projectRoot) {
684
- try {
685
- const presence = getSkillPresence(projectRoot);
686
- if (presence === null || presence === undefined)
687
- return null;
688
- return presence.sessionId ?? null;
689
- }
690
- catch {
691
- // TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
692
- return null;
693
- }
21
+ registerCodePostCompactDetectCommand(code, io);
22
+ registerCodeAutoCompactCommand(code, io);
23
+ registerCodeContextNowCommand(code, io);
24
+ registerCodeContextAuditCommand(code, io);
25
+ registerCodeGateStep08Command(code, io);
26
+ registerCodeEmitHandoffCommand(code, io);
694
27
  }