peaks-loop 4.0.53 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1053) hide show
  1. package/CHANGELOG.md +85 -0
  2. package/README-en.md +16 -1
  3. package/README.md +15 -1
  4. package/config/eslint/.peaks-rules.cjs +158 -13
  5. package/config/eslint/tsconfig.lint.json +47 -0
  6. package/dist/cli/cli-envelope.d.ts +114 -0
  7. package/dist/cli/cli-envelope.js +85 -0
  8. package/dist/cli/cli-helpers.d.ts +1 -1
  9. package/dist/cli/cli-helpers.js +8 -4
  10. package/dist/cli/commands/_cli-error-envelope.js +1 -1
  11. package/dist/cli/commands/_register.js +85 -38
  12. package/dist/cli/commands/_super.js +40 -7
  13. package/dist/cli/commands/adapter-commands-s2a.js +8 -7
  14. package/dist/cli/commands/adapter-commands.d.ts +2 -2
  15. package/dist/cli/commands/adapter-commands.js +7 -8
  16. package/dist/cli/commands/api-diff-commands.js +5 -4
  17. package/dist/cli/commands/asset-commands.d.ts +2 -2
  18. package/dist/cli/commands/asset-commands.js +135 -132
  19. package/dist/cli/commands/audit-commands.d.ts +1 -1
  20. package/dist/cli/commands/audit-commands.js +75 -32
  21. package/dist/cli/commands/autonomous-swarm-commands.d.ts +1 -1
  22. package/dist/cli/commands/autonomous-swarm-commands.js +14 -8
  23. package/dist/cli/commands/baseline-commands.js +34 -9
  24. package/dist/cli/commands/bee-commands.d.ts +1 -1
  25. package/dist/cli/commands/bee-commands.js +18 -21
  26. package/dist/cli/commands/best-practice-scan-command.js +6 -34
  27. package/dist/cli/commands/best-practice-scan-helpers.d.ts +12 -0
  28. package/dist/cli/commands/best-practice-scan-helpers.js +37 -0
  29. package/dist/cli/commands/capability-commands.d.ts +1 -1
  30. package/dist/cli/commands/capability-commands.js +14 -4
  31. package/dist/cli/commands/capability-worker-config-sc-commands.d.ts +1 -1
  32. package/dist/cli/commands/changeset-commands.js +21 -18
  33. package/dist/cli/commands/code-gate-command.js +9 -2
  34. package/dist/cli/commands/code-job-shape-commands-read-job-shape.d.ts +15 -0
  35. package/dist/cli/commands/code-job-shape-commands-read-job-shape.js +70 -0
  36. package/dist/cli/commands/code-job-shape-commands.js +21 -45
  37. package/dist/cli/commands/code-mode-gate-commands.d.ts +15 -1
  38. package/dist/cli/commands/code-mode-gate-commands.js +19 -199
  39. package/dist/cli/commands/code-mode-gate-plan-command.d.ts +14 -0
  40. package/dist/cli/commands/code-mode-gate-plan-command.js +23 -0
  41. package/dist/cli/commands/code-mode-gate-should-pause-command.d.ts +24 -0
  42. package/dist/cli/commands/code-mode-gate-should-pause-command.js +137 -0
  43. package/dist/cli/commands/code-mode-gate-should-pause-envelope.d.ts +59 -0
  44. package/dist/cli/commands/code-mode-gate-should-pause-envelope.js +144 -0
  45. package/dist/cli/commands/code-orchestrator-can-do.js +4 -4
  46. package/dist/cli/commands/code-review-commands.js +18 -3
  47. package/dist/cli/commands/code-run-command.js +44 -7
  48. package/dist/cli/commands/code-runtime-commands.d.ts +17 -0
  49. package/dist/cli/commands/code-runtime-commands.js +105 -73
  50. package/dist/cli/commands/codegraph-commands.js +175 -11
  51. package/dist/cli/commands/codegraph-status-command.js +6 -2
  52. package/dist/cli/commands/compact-command.js +52 -26
  53. package/dist/cli/commands/complexity-commands.js +6 -7
  54. package/dist/cli/commands/config-commands.d.ts +1 -1
  55. package/dist/cli/commands/config-commands.js +33 -9
  56. package/dist/cli/commands/container-commands.js +39 -15
  57. package/dist/cli/commands/context-commands.d.ts +1 -1
  58. package/dist/cli/commands/context-commands.js +40 -13
  59. package/dist/cli/commands/core/artifacts-command.js +11 -3
  60. package/dist/cli/commands/core/binding-commands.js +9 -6
  61. package/dist/cli/commands/core/doctor-command.js +7 -4
  62. package/dist/cli/commands/core/memory-command.js +81 -22
  63. package/dist/cli/commands/core/proxy-command.js +3 -1
  64. package/dist/cli/commands/core/session-command.js +16 -8
  65. package/dist/cli/commands/core/skill-command.js +31 -16
  66. package/dist/cli/commands/core/standards-command.js +55 -13
  67. package/dist/cli/commands/cron-commands-actions.d.ts +43 -0
  68. package/dist/cli/commands/cron-commands-actions.js +128 -0
  69. package/dist/cli/commands/cron-commands-schedule.d.ts +86 -0
  70. package/dist/cli/commands/cron-commands-schedule.js +151 -0
  71. package/dist/cli/commands/cron-commands.d.ts +35 -32
  72. package/dist/cli/commands/cron-commands.js +167 -211
  73. package/dist/cli/commands/cron-scheduler-commands.js +40 -20
  74. package/dist/cli/commands/cron-scheduler-persist.d.ts +110 -0
  75. package/dist/cli/commands/cron-scheduler-persist.js +171 -0
  76. package/dist/cli/commands/dashboard-long-run.js +45 -14
  77. package/dist/cli/commands/dashboard-summary.js +15 -5
  78. package/dist/cli/commands/dispatch-commands.js +69 -34
  79. package/dist/cli/commands/dispatch-from-dag.js +9 -10
  80. package/dist/cli/commands/doc-commands.js +8 -9
  81. package/dist/cli/commands/doctor/invoke-from-code.js +1 -1
  82. package/dist/cli/commands/e2e-verify-env.d.ts +19 -0
  83. package/dist/cli/commands/e2e-verify-env.js +19 -0
  84. package/dist/cli/commands/e2e-verify.d.ts +3 -14
  85. package/dist/cli/commands/e2e-verify.js +49 -29
  86. package/dist/cli/commands/ecc-commands.d.ts +1 -1
  87. package/dist/cli/commands/ecc-commands.js +8 -17
  88. package/dist/cli/commands/evidence-commands.js +10 -6
  89. package/dist/cli/commands/evolution-commands.d.ts +2 -2
  90. package/dist/cli/commands/evolution-commands.js +109 -115
  91. package/dist/cli/commands/feedback-commands-helpers.d.ts +22 -0
  92. package/dist/cli/commands/feedback-commands-helpers.js +33 -0
  93. package/dist/cli/commands/feedback-commands.js +15 -38
  94. package/dist/cli/commands/final-review-commands.d.ts +1 -1
  95. package/dist/cli/commands/final-review-commands.js +24 -22
  96. package/dist/cli/commands/fixture-commands.d.ts +1 -1
  97. package/dist/cli/commands/fixture-commands.js +17 -6
  98. package/dist/cli/commands/fork-commands-sync-verify.d.ts +12 -0
  99. package/dist/cli/commands/fork-commands-sync-verify.js +72 -0
  100. package/dist/cli/commands/fork-commands.js +19 -51
  101. package/dist/cli/commands/fresh-context-commands.js +3 -1
  102. package/dist/cli/commands/gate-commands-enforce.d.ts +82 -0
  103. package/dist/cli/commands/gate-commands-enforce.js +210 -0
  104. package/dist/cli/commands/gate-commands.d.ts +1 -1
  105. package/dist/cli/commands/gate-commands.js +85 -205
  106. package/dist/cli/commands/governance-classify-contract-commands.d.ts +1 -1
  107. package/dist/cli/commands/governance-classify-contract-commands.js +28 -17
  108. package/dist/cli/commands/heartbeat-commands-action.d.ts +7 -0
  109. package/dist/cli/commands/heartbeat-commands-action.js +192 -0
  110. package/dist/cli/commands/heartbeat-commands-validation.d.ts +57 -0
  111. package/dist/cli/commands/heartbeat-commands-validation.js +120 -0
  112. package/dist/cli/commands/heartbeat-commands.d.ts +27 -6
  113. package/dist/cli/commands/heartbeat-commands.js +19 -198
  114. package/dist/cli/commands/hook-handle.d.ts +1 -1
  115. package/dist/cli/commands/hook-handle.js +46 -13
  116. package/dist/cli/commands/hooks-commands.d.ts +1 -1
  117. package/dist/cli/commands/hooks-commands.js +18 -6
  118. package/dist/cli/commands/ide-commands.d.ts +1 -1
  119. package/dist/cli/commands/ide-commands.js +5 -3
  120. package/dist/cli/commands/impact-commands.js +8 -2
  121. package/dist/cli/commands/job-add-slice-command.d.ts +43 -0
  122. package/dist/cli/commands/job-add-slice-command.js +151 -0
  123. package/dist/cli/commands/job-commands.d.ts +64 -0
  124. package/dist/cli/commands/job-commands.js +134 -63
  125. package/dist/cli/commands/lease-metrics-commands-support.d.ts +73 -0
  126. package/dist/cli/commands/lease-metrics-commands-support.js +67 -0
  127. package/dist/cli/commands/lease-metrics-commands.d.ts +3 -44
  128. package/dist/cli/commands/lease-metrics-commands.js +21 -61
  129. package/dist/cli/commands/lease-stats-commands.d.ts +1 -1
  130. package/dist/cli/commands/lease-stats-commands.js +9 -6
  131. package/dist/cli/commands/lint-commands.d.ts +9 -3
  132. package/dist/cli/commands/lint-commands.js +15 -8
  133. package/dist/cli/commands/log-commands.d.ts +1 -1
  134. package/dist/cli/commands/log-commands.js +8 -6
  135. package/dist/cli/commands/loop-commands.d.ts +1 -1
  136. package/dist/cli/commands/loop-commands.js +50 -50
  137. package/dist/cli/commands/loop-eval-commands.d.ts +1 -1
  138. package/dist/cli/commands/loop-eval-commands.js +101 -30
  139. package/dist/cli/commands/memory-commands.js +21 -13
  140. package/dist/cli/commands/migrate-1-4-1-command.js +1 -1
  141. package/dist/cli/commands/migrate-v2-10-to-v2-11-command.js +2 -2
  142. package/dist/cli/commands/mut-commands-helpers.d.ts +30 -0
  143. package/dist/cli/commands/mut-commands-helpers.js +43 -0
  144. package/dist/cli/commands/mut-commands.js +16 -58
  145. package/dist/cli/commands/observability-commands-queries.d.ts +37 -0
  146. package/dist/cli/commands/observability-commands-queries.js +113 -0
  147. package/dist/cli/commands/observability-commands.d.ts +1 -1
  148. package/dist/cli/commands/observability-commands.js +7 -92
  149. package/dist/cli/commands/openspec-commands.d.ts +1 -1
  150. package/dist/cli/commands/openspec-commands.js +20 -8
  151. package/dist/cli/commands/outer-cache-commands.js +18 -7
  152. package/dist/cli/commands/perf-audit-commands.d.ts +1 -1
  153. package/dist/cli/commands/perf-audit-commands.js +12 -7
  154. package/dist/cli/commands/perf-commands.d.ts +1 -1
  155. package/dist/cli/commands/perf-commands.js +5 -5
  156. package/dist/cli/commands/playwright-commands.d.ts +1 -1
  157. package/dist/cli/commands/playwright-commands.js +20 -8
  158. package/dist/cli/commands/polyrepo-commands.js +21 -19
  159. package/dist/cli/commands/prd-blocks-commands.js +1 -3
  160. package/dist/cli/commands/prd-commands.d.ts +1 -1
  161. package/dist/cli/commands/prd-commands.js +21 -2
  162. package/dist/cli/commands/preferences-commands.js +13 -12
  163. package/dist/cli/commands/primer-command.js +5 -5
  164. package/dist/cli/commands/project-commands.d.ts +1 -1
  165. package/dist/cli/commands/project-commands.js +33 -9
  166. package/dist/cli/commands/qa-business-review-commands.js +16 -12
  167. package/dist/cli/commands/qa-commands.d.ts +1 -1
  168. package/dist/cli/commands/qa-commands.js +3 -5
  169. package/dist/cli/commands/release-commands.d.ts +3 -1
  170. package/dist/cli/commands/release-commands.js +33 -22
  171. package/dist/cli/commands/request-commands.js +47 -30
  172. package/dist/cli/commands/request-format-helpers.js +1 -1
  173. package/dist/cli/commands/retrospective-commands.d.ts +18 -11
  174. package/dist/cli/commands/retrospective-commands.js +24 -173
  175. package/dist/cli/commands/retrospective-index-command.d.ts +26 -0
  176. package/dist/cli/commands/retrospective-index-command.js +99 -0
  177. package/dist/cli/commands/retrospective-project-root.d.ts +9 -0
  178. package/dist/cli/commands/retrospective-project-root.js +15 -0
  179. package/dist/cli/commands/retrospective-search-command.d.ts +27 -0
  180. package/dist/cli/commands/retrospective-search-command.js +97 -0
  181. package/dist/cli/commands/retrospective-show-command.d.ts +23 -0
  182. package/dist/cli/commands/retrospective-show-command.js +80 -0
  183. package/dist/cli/commands/reviewer-commands.d.ts +1 -1
  184. package/dist/cli/commands/role-commands.js +14 -9
  185. package/dist/cli/commands/runtime-commands.js +14 -7
  186. package/dist/cli/commands/sc-commands.d.ts +1 -1
  187. package/dist/cli/commands/sc-commands.js +39 -6
  188. package/dist/cli/commands/scan-commands.js +36 -13
  189. package/dist/cli/commands/security-audit-commands.d.ts +1 -1
  190. package/dist/cli/commands/security-audit-commands.js +12 -7
  191. package/dist/cli/commands/sediment-commands.d.ts +2 -2
  192. package/dist/cli/commands/sediment-commands.js +146 -139
  193. package/dist/cli/commands/session-24h-mode.js +15 -2
  194. package/dist/cli/commands/session-checkpoint-command.js +1 -1
  195. package/dist/cli/commands/session-migrate-skill-name.js +1 -1
  196. package/dist/cli/commands/shadcn-commands.d.ts +1 -1
  197. package/dist/cli/commands/shadcn-commands.js +3 -1
  198. package/dist/cli/commands/share-commands.js +38 -39
  199. package/dist/cli/commands/skill-conformance-commands.d.ts +1 -1
  200. package/dist/cli/commands/skill-conformance-commands.js +1 -1
  201. package/dist/cli/commands/skill-loop-engineering-readiness-commands.js +16 -17
  202. package/dist/cli/commands/skill-visibility.js +2 -2
  203. package/dist/cli/commands/slice-commands.d.ts +1 -1
  204. package/dist/cli/commands/slice-commands.js +36 -12
  205. package/dist/cli/commands/slice-integrate-commands.js +6 -7
  206. package/dist/cli/commands/slice-review-commands-helpers.d.ts +26 -0
  207. package/dist/cli/commands/slice-review-commands-helpers.js +26 -0
  208. package/dist/cli/commands/slice-review-commands.js +16 -24
  209. package/dist/cli/commands/smoke-commands-add-path.d.ts +14 -0
  210. package/dist/cli/commands/smoke-commands-add-path.js +39 -0
  211. package/dist/cli/commands/smoke-commands-define.d.ts +18 -0
  212. package/dist/cli/commands/smoke-commands-define.js +97 -0
  213. package/dist/cli/commands/smoke-commands-run.d.ts +18 -0
  214. package/dist/cli/commands/smoke-commands-run.js +119 -0
  215. package/dist/cli/commands/smoke-commands.d.ts +10 -1
  216. package/dist/cli/commands/smoke-commands.js +17 -179
  217. package/dist/cli/commands/sop-commands.d.ts +1 -1
  218. package/dist/cli/commands/sop-commands.js +38 -10
  219. package/dist/cli/commands/statusline-commands.d.ts +1 -1
  220. package/dist/cli/commands/statusline-commands.js +21 -10
  221. package/dist/cli/commands/sub-agent/detached.js +3 -3
  222. package/dist/cli/commands/sub-agent-dispatch-guard.d.ts +1 -1
  223. package/dist/cli/commands/sub-agent-shared.d.ts +23 -0
  224. package/dist/cli/commands/sub-agent-shared.js +40 -1
  225. package/dist/cli/commands/sub-agent-shutdown-commands.js +17 -9
  226. package/dist/cli/commands/swarm-commands.d.ts +1 -1
  227. package/dist/cli/commands/swarm-commands.js +13 -6
  228. package/dist/cli/commands/tech-commands-helpers.d.ts +37 -0
  229. package/dist/cli/commands/tech-commands-helpers.js +24 -0
  230. package/dist/cli/commands/tech-commands.d.ts +2 -29
  231. package/dist/cli/commands/tech-commands.js +15 -28
  232. package/dist/cli/commands/test-commands.js +27 -7
  233. package/dist/cli/commands/upgrade-commands.d.ts +1 -1
  234. package/dist/cli/commands/user-touchpoint-commands.js +1 -3
  235. package/dist/cli/commands/verdict-aggregate-command.d.ts +1 -1
  236. package/dist/cli/commands/verdict-aggregate-command.js +20 -7
  237. package/dist/cli/commands/vm-commands.js +48 -19
  238. package/dist/cli/commands/wave-plan-commands.js +5 -2
  239. package/dist/cli/commands/web-commands.js +14 -4
  240. package/dist/cli/commands/web-lifecycle-commands.js +5 -3
  241. package/dist/cli/commands/workflow-commands.d.ts +1 -1
  242. package/dist/cli/commands/workflow-commands.js +64 -29
  243. package/dist/cli/commands/workflow-lifecycle-commands.js +19 -17
  244. package/dist/cli/commands/workflow-plan-commands-actions.d.ts +20 -0
  245. package/dist/cli/commands/workflow-plan-commands-actions.js +115 -0
  246. package/dist/cli/commands/workflow-plan-commands-session.d.ts +17 -0
  247. package/dist/cli/commands/workflow-plan-commands-session.js +59 -0
  248. package/dist/cli/commands/workflow-plan-commands.d.ts +10 -21
  249. package/dist/cli/commands/workflow-plan-commands.js +15 -141
  250. package/dist/cli/commands/workspace/clean-command.js +4 -1
  251. package/dist/cli/commands/workspace/helpers.js +2 -1
  252. package/dist/cli/commands/workspace/init-command.js +80 -20
  253. package/dist/cli/commands/workspace/reconcile-command.js +3 -1
  254. package/dist/cli/commands/workspace-commands.d.ts +1 -1
  255. package/dist/cli/commands/workspace-commands.js +1 -1
  256. package/dist/cli/commands/worktree-auth-commands.d.ts +1 -1
  257. package/dist/cli/commands/worktree-auth-commands.js +16 -169
  258. package/dist/cli/commands/worktree-auth-grant-command.d.ts +14 -0
  259. package/dist/cli/commands/worktree-auth-grant-command.js +118 -0
  260. package/dist/cli/commands/worktree-auth-manage-commands.d.ts +17 -0
  261. package/dist/cli/commands/worktree-auth-manage-commands.js +128 -0
  262. package/dist/cli/commands/worktree-lease-commands.d.ts +1 -1
  263. package/dist/cli/commands/worktree-lease-commands.js +65 -37
  264. package/dist/cli/index.js +6 -2
  265. package/dist/cli/program.js +6 -3
  266. package/dist/hooks/pre-tool-use-sub-agent.js +1 -6
  267. package/dist/reporters/bdd-reporter.js +9 -3
  268. package/dist/services/24h-mode/auto-engage.d.ts +19 -0
  269. package/dist/services/24h-mode/auto-engage.js +35 -0
  270. package/dist/services/24h-mode/decider.js +5 -1
  271. package/dist/services/24h-mode/store.js +4 -2
  272. package/dist/services/adapter/adapter-registry.js +20 -8
  273. package/dist/services/adapter/adapter.d.ts +2 -2
  274. package/dist/services/adapter/auto-adapter.d.ts +2 -2
  275. package/dist/services/adapter/auto-adapter.js +1 -1
  276. package/dist/services/adapter/claude-adapter.d.ts +1 -1
  277. package/dist/services/adapter/claude-adapter.js +8 -8
  278. package/dist/services/adapter/codex-adapter.d.ts +2 -2
  279. package/dist/services/adapter/codex-adapter.js +20 -8
  280. package/dist/services/adapter/copilot-adapter.d.ts +2 -2
  281. package/dist/services/adapter/copilot-adapter.js +20 -8
  282. package/dist/services/artifacts/artifact-prerequisites.js +44 -8
  283. package/dist/services/artifacts/artifact-service.js +3 -1
  284. package/dist/services/artifacts/artifact-template-bodies.d.ts +12 -0
  285. package/dist/services/artifacts/artifact-template-bodies.js +165 -0
  286. package/dist/services/artifacts/artifact-templates.js +26 -168
  287. package/dist/services/artifacts/request-artifact-service.js +14 -7
  288. package/dist/services/artifacts/request-artifact-state-helpers.d.ts +3 -2
  289. package/dist/services/artifacts/request-artifact-state-helpers.js +3 -5
  290. package/dist/services/artifacts/workspace-artifact-helpers.d.ts +28 -0
  291. package/dist/services/artifacts/workspace-artifact-helpers.js +54 -0
  292. package/dist/services/artifacts/workspace-service.d.ts +3 -22
  293. package/dist/services/artifacts/workspace-service.js +10 -60
  294. package/dist/services/audit/artifact-writer.js +21 -21
  295. package/dist/services/audit/audit-goal-service.js +2 -2
  296. package/dist/services/audit/backing-detector.js +7 -4
  297. package/dist/services/audit/classifier.js +3 -3
  298. package/dist/services/audit/decision-writer.js +13 -9
  299. package/dist/services/audit/enforcer-liveness.js +1 -1
  300. package/dist/services/audit/enforcers/active-skill-resolver.js +15 -7
  301. package/dist/services/audit/enforcers/design-draft-confirm.js +4 -4
  302. package/dist/services/audit/enforcers/lint-audit-regression.js +10 -5
  303. package/dist/services/audit/enforcers/lint-bee-runtime-contract.js +16 -8
  304. package/dist/services/audit/enforcers/lint-catalog-governance.js +8 -4
  305. package/dist/services/audit/enforcers/lint-output-style.js +4 -2
  306. package/dist/services/audit/enforcers/lint-peaks-code-runtime.js +8 -3
  307. package/dist/services/audit/enforcers/lint-peaks-skill-runtime.js +8 -3
  308. package/dist/services/audit/enforcers/lint-peaks-ui-sc-txt-runtime.js +20 -20
  309. package/dist/services/audit/enforcers/lint-prd-artifact-handoff.js +5 -5
  310. package/dist/services/audit/enforcers/lint-prd-source-snapshot.d.ts +1 -1
  311. package/dist/services/audit/enforcers/lint-prd-source-snapshot.js +5 -5
  312. package/dist/services/audit/enforcers/lint-qa-gateguard-and-runtime.js +10 -10
  313. package/dist/services/audit/enforcers/lint-rd-handoff-coverage.js +10 -8
  314. package/dist/services/audit/enforcers/lint-reference-shape.js +50 -18
  315. package/dist/services/audit/enforcers/lint-skill-presence-mandatory.js +5 -5
  316. package/dist/services/audit/enforcers/lint-style.js +44 -11
  317. package/dist/services/audit/enforcers/lint-workflow-shape.js +4 -2
  318. package/dist/services/audit/enforcers/login-gate.js +2 -6
  319. package/dist/services/audit/enforcers/mock-placement.js +2 -2
  320. package/dist/services/audit/enforcers/no-root-pollution.js +38 -9
  321. package/dist/services/audit/enforcers/pre-rd-scan.js +1 -1
  322. package/dist/services/audit/enforcers/prototype-fidelity.js +1 -1
  323. package/dist/services/audit/enforcers/resume-detection.js +5 -4
  324. package/dist/services/audit/prose-ratio-calculator.js +1 -1
  325. package/dist/services/audit/red-line-catalog-p2-a-bee-runtime.d.ts +39 -0
  326. package/dist/services/audit/red-line-catalog-p2-a-bee-runtime.js +205 -0
  327. package/dist/services/audit/red-line-catalog-p2-a-lint-style.d.ts +52 -0
  328. package/dist/services/audit/red-line-catalog-p2-a-lint-style.js +205 -0
  329. package/dist/services/audit/red-line-catalog-p2-a.js +3 -374
  330. package/dist/services/audit/red-line-catalog-p2-b.js +26 -26
  331. package/dist/services/audit/red-line-catalog.js +26 -38
  332. package/dist/services/audit/red-lines-service.js +64 -49
  333. package/dist/services/audit/scanners/openspec-scanner.js +2 -2
  334. package/dist/services/audit/scanners/rules-tree-scanner.js +2 -2
  335. package/dist/services/audit/scanners/skills-tree-scanner.js +2 -2
  336. package/dist/services/audit/static-service.js +3 -3
  337. package/dist/services/audit-independent/index.d.ts +2 -2
  338. package/dist/services/audit-independent/index.js +2 -2
  339. package/dist/services/audit-independent/perf-audit-service.js +19 -8
  340. package/dist/services/audit-independent/security-audit-service.js +31 -16
  341. package/dist/services/autonomous-swarm/autonomous-swarm-service.js +75 -46
  342. package/dist/services/best-practice/output-formatter.js +7 -1
  343. package/dist/services/capability-audit-service/cross-check.js +11 -5
  344. package/dist/services/capability-audit-service/runner.js +15 -7
  345. package/dist/services/capability-baseline/store.js +16 -4
  346. package/dist/services/capability-baseline/types.js +15 -3
  347. package/dist/services/capability-baseline/validator.js +43 -7
  348. package/dist/services/capability-guard-runner/contracts/J02.js +36 -6
  349. package/dist/services/capability-guard-runner/contracts/J03.js +20 -11
  350. package/dist/services/capability-guard-runner/contracts/J04.js +24 -15
  351. package/dist/services/capability-guard-runner/contracts/J05.js +26 -10
  352. package/dist/services/capability-guard-runner/contracts/J07.js +8 -2
  353. package/dist/services/capability-guard-runner/contracts/J08.js +22 -5
  354. package/dist/services/capability-guard-runner/contracts/J10.js +6 -2
  355. package/dist/services/capability-guard-runner/contracts/J11.d.ts +5 -0
  356. package/dist/services/capability-guard-runner/contracts/J11.js +14 -2
  357. package/dist/services/capability-guard-runner/contracts/J12.js +12 -3
  358. package/dist/services/capability-guard-runner/diff.js +1 -5
  359. package/dist/services/changeset/changeset-check-service.js +1 -3
  360. package/dist/services/classify/classify-service.js +20 -8
  361. package/dist/services/classify/classify-types.js +22 -9
  362. package/dist/services/code/auto-compact-lifecycle.js +62 -39
  363. package/dist/services/code/auto-compact-modes.js +2 -2
  364. package/dist/services/code/auto-compact-orchestrator.js +14 -9
  365. package/dist/services/code/batch-heartbeat-poller.d.ts +10 -0
  366. package/dist/services/code/batch-heartbeat-poller.js +17 -1
  367. package/dist/services/code/compact-event-settle-types.d.ts +80 -0
  368. package/dist/services/code/compact-event-settle-types.js +20 -0
  369. package/dist/services/code/compact-event-settle.d.ts +3 -68
  370. package/dist/services/code/compact-event-settle.js +14 -10
  371. package/dist/services/code/dag-orchestrator.js +32 -26
  372. package/dist/services/code/job-shape-decision.js +3 -1
  373. package/dist/services/code/mode-gate-types.d.ts +57 -0
  374. package/dist/services/code/mode-gate-types.js +67 -0
  375. package/dist/services/code/mode-gate.d.ts +4 -58
  376. package/dist/services/code/mode-gate.js +24 -60
  377. package/dist/services/code/orchestrator-can-do-advisories.d.ts +30 -0
  378. package/dist/services/code/orchestrator-can-do-advisories.js +81 -0
  379. package/dist/services/code/orchestrator-can-do-probes.d.ts +30 -0
  380. package/dist/services/code/orchestrator-can-do-probes.js +77 -0
  381. package/dist/services/code/orchestrator-can-do.d.ts +11 -22
  382. package/dist/services/code/orchestrator-can-do.js +37 -137
  383. package/dist/services/code/post-compact-checkpoint.d.ts +28 -0
  384. package/dist/services/code/post-compact-checkpoint.js +57 -0
  385. package/dist/services/code/post-compact-detector.js +16 -48
  386. package/dist/services/code/step-08-gate.d.ts +4 -3
  387. package/dist/services/code/step-08-gate.js +21 -9
  388. package/dist/services/code-review/ecc-bridge.js +23 -23
  389. package/dist/services/codegraph/codegraph-autorefresh.js +56 -39
  390. package/dist/services/codegraph/codegraph-config-repair-writer.d.ts +44 -0
  391. package/dist/services/codegraph/codegraph-config-repair-writer.js +116 -14
  392. package/dist/services/codegraph/codegraph-exclude-integrity.js +4 -1
  393. package/dist/services/codegraph/codegraph-exclude-repair.d.ts +23 -1
  394. package/dist/services/codegraph/codegraph-exclude-repair.js +7 -2
  395. package/dist/services/codegraph/codegraph-index-integrity.js +1 -1
  396. package/dist/services/codegraph/codegraph-preflight-service.d.ts +3 -26
  397. package/dist/services/codegraph/codegraph-preflight-service.js +16 -37
  398. package/dist/services/codegraph/codegraph-preflight-structure.d.ts +32 -0
  399. package/dist/services/codegraph/codegraph-preflight-structure.js +33 -0
  400. package/dist/services/codegraph/codegraph-process-runner.js +12 -1
  401. package/dist/services/codegraph/codegraph-service.js +9 -1
  402. package/dist/services/compact/request-transition-hook.js +2 -1
  403. package/dist/services/compact/suggest-service.d.ts +3 -61
  404. package/dist/services/compact/suggest-service.js +9 -12
  405. package/dist/services/compact/suggest-types.d.ts +76 -0
  406. package/dist/services/compact/suggest-types.js +10 -0
  407. package/dist/services/compact-history/compact-history-service.js +2 -2
  408. package/dist/services/compact-statusline/compact-lifecycle-store.d.ts +2 -32
  409. package/dist/services/compact-statusline/compact-lifecycle-store.js +7 -12
  410. package/dist/services/compact-statusline/compact-lifecycle-types.d.ts +32 -0
  411. package/dist/services/compact-statusline/compact-lifecycle-types.js +8 -0
  412. package/dist/services/compact-statusline/compact-statusline-cell-table.d.ts +42 -0
  413. package/dist/services/compact-statusline/compact-statusline-cell-table.js +63 -0
  414. package/dist/services/compact-statusline/compact-statusline-service.d.ts +4 -21
  415. package/dist/services/compact-statusline/compact-statusline-service.js +9 -101
  416. package/dist/services/compact-statusline/compact-statusline-state.d.ts +4 -0
  417. package/dist/services/compact-statusline/compact-statusline-state.js +50 -0
  418. package/dist/services/config/config-migration.js +2 -2
  419. package/dist/services/config/config-restore.js +1 -1
  420. package/dist/services/config/config-rollback.js +1 -1
  421. package/dist/services/config/config-safety.js +28 -10
  422. package/dist/services/config/config-service.js +114 -31
  423. package/dist/services/config/model-routing.js +5 -2
  424. package/dist/services/config/proxy-service.js +6 -1
  425. package/dist/services/config/workspace-state-service.js +17 -5
  426. package/dist/services/context/auto-compact-dispatcher-input.d.ts +38 -0
  427. package/dist/services/context/auto-compact-dispatcher-input.js +9 -0
  428. package/dist/services/context/auto-compact-dispatcher.d.ts +2 -30
  429. package/dist/services/context/auto-compact-reader-input.d.ts +30 -0
  430. package/dist/services/context/auto-compact-reader-input.js +8 -0
  431. package/dist/services/context/auto-compact-reader.d.ts +2 -24
  432. package/dist/services/context/auto-compact-reader.js +4 -1
  433. package/dist/services/context/auto-compact-thresholds.d.ts +54 -0
  434. package/dist/services/context/auto-compact-thresholds.js +19 -0
  435. package/dist/services/context/auto-compact-types.d.ts +2 -46
  436. package/dist/services/context/auto-compact-types.js +1 -11
  437. package/dist/services/context/build-dispatch-system-prompt.js +2 -2
  438. package/dist/services/context/collector.js +8 -10
  439. package/dist/services/context/context-audit-hint.js +7 -5
  440. package/dist/services/context/context-audit-keys.d.ts +15 -0
  441. package/dist/services/context/context-audit-keys.js +77 -0
  442. package/dist/services/context/context-audit-limits.d.ts +20 -0
  443. package/dist/services/context/context-audit-limits.js +31 -0
  444. package/dist/services/context/context-audit-scan.d.ts +19 -0
  445. package/dist/services/context/context-audit-scan.js +246 -0
  446. package/dist/services/context/context-audit-types.d.ts +65 -0
  447. package/dist/services/context/context-audit-types.js +10 -0
  448. package/dist/services/context/context-audit.d.ts +13 -59
  449. package/dist/services/context/context-audit.js +38 -254
  450. package/dist/services/context/context-builder.js +4 -4
  451. package/dist/services/context/context-schema.d.ts +1 -1
  452. package/dist/services/context/context-schema.js +13 -13
  453. package/dist/services/context/doc-retriever.js +2 -2
  454. package/dist/services/context/harness-context-witness.js +43 -24
  455. package/dist/services/context/harness-window-config.js +27 -7
  456. package/dist/services/context/ide-detect.js +2 -1
  457. package/dist/services/context/index.d.ts +1 -1
  458. package/dist/services/context/memory-index-reader.js +3 -9
  459. package/dist/services/context/memory-preflight-config.js +3 -5
  460. package/dist/services/context/memory-preflight-service.d.ts +2 -20
  461. package/dist/services/context/memory-preflight-service.js +37 -68
  462. package/dist/services/context/memory-preflight-support.d.ts +48 -0
  463. package/dist/services/context/memory-preflight-support.js +56 -0
  464. package/dist/services/context/post-compact-reinjection.js +3 -3
  465. package/dist/services/context/renderer.js +7 -3
  466. package/dist/services/context/spillover-store.js +3 -1
  467. package/dist/services/context/summary-view.js +1 -1
  468. package/dist/services/context/threshold.js +2 -2
  469. package/dist/services/context/tokenizer.js +3 -3
  470. package/dist/services/crystallization/crystallization-brief-schema.d.ts +80 -0
  471. package/dist/services/crystallization/crystallization-brief-schema.js +159 -0
  472. package/dist/services/crystallization/crystallization-service.d.ts +7 -7
  473. package/dist/services/crystallization/crystallization-service.js +56 -55
  474. package/dist/services/crystallization/crystallization-store.d.ts +2 -2
  475. package/dist/services/crystallization/crystallization-store.js +37 -20
  476. package/dist/services/crystallization/crystallization-types.d.ts +4 -56
  477. package/dist/services/crystallization/crystallization-types.js +31 -184
  478. package/dist/services/crystallization/evidence-brief-builder.d.ts +3 -3
  479. package/dist/services/crystallization/evidence-brief-builder.js +32 -38
  480. package/dist/services/crystallization/index.d.ts +4 -4
  481. package/dist/services/crystallization/index.js +4 -4
  482. package/dist/services/dashboard/project-dashboard-service.js +7 -1
  483. package/dist/services/dispatch/await-batch-helpers.d.ts +55 -0
  484. package/dist/services/dispatch/await-batch-helpers.js +206 -0
  485. package/dist/services/dispatch/await-batch.d.ts +50 -7
  486. package/dist/services/dispatch/await-batch.js +97 -194
  487. package/dist/services/dispatch/batch-counter.js +2 -1
  488. package/dist/services/dispatch/conflict-replay.js +2 -2
  489. package/dist/services/dispatch/contract-store.js +5 -2
  490. package/dist/services/dispatch/dispatch-record-input-types.d.ts +81 -0
  491. package/dist/services/dispatch/dispatch-record-input-types.js +1 -0
  492. package/dist/services/dispatch/dispatch-record-types.d.ts +6 -73
  493. package/dist/services/dispatch/dispatch-record-upgrade-fields.d.ts +72 -0
  494. package/dist/services/dispatch/dispatch-record-upgrade-fields.js +242 -0
  495. package/dist/services/dispatch/dispatch-record-upgrade-guards.d.ts +15 -0
  496. package/dist/services/dispatch/dispatch-record-upgrade-guards.js +55 -0
  497. package/dist/services/dispatch/dispatch-record-upgrade.d.ts +2 -4
  498. package/dist/services/dispatch/dispatch-record-upgrade.js +21 -213
  499. package/dist/services/dispatch/dispatch-record-writer.js +54 -26
  500. package/dist/services/dispatch/dispatch-sub-agent.js +7 -2
  501. package/dist/services/dispatch/e2e-fixtures.js +1 -1
  502. package/dist/services/dispatch/isolation-lease.js +39 -17
  503. package/dist/services/dispatch/merge-back-runner.js +51 -11
  504. package/dist/services/dispatch/service-shutdown.js +4 -1
  505. package/dist/services/dispatch/slice-dag-types.d.ts +116 -0
  506. package/dist/services/dispatch/slice-dag-types.js +41 -0
  507. package/dist/services/dispatch/slice-dag.d.ts +3 -109
  508. package/dist/services/dispatch/slice-dag.js +13 -36
  509. package/dist/services/dispatch/sub-agent-batch-await.d.ts +47 -0
  510. package/dist/services/dispatch/sub-agent-batch-await.js +73 -0
  511. package/dist/services/dispatch/sub-agent-dispatcher-types.d.ts +122 -0
  512. package/dist/services/dispatch/sub-agent-dispatcher-types.js +12 -0
  513. package/dist/services/dispatch/sub-agent-dispatcher.d.ts +3 -145
  514. package/dist/services/dispatch/sub-agent-dispatcher.js +14 -70
  515. package/dist/services/dispatch/test-tool-detection.js +12 -1
  516. package/dist/services/doc/doc-generator.js +19 -4
  517. package/dist/services/doctor/doctor-service/checks/check-id-schema.js +16 -8
  518. package/dist/services/doctor/doctor-service/checks/codegraph-capability.d.ts +7 -2
  519. package/dist/services/doctor/doctor-service/checks/codegraph-capability.js +26 -8
  520. package/dist/services/doctor/doctor-service/checks/codegraph-exclude-integrity.js +16 -8
  521. package/dist/services/doctor/doctor-service/checks/codegraph-index-integrity.js +16 -8
  522. package/dist/services/doctor/doctor-service/checks/dist-source-version.js +18 -9
  523. package/dist/services/doctor/doctor-service/checks/ecc-hooks-schema-drift.js +20 -10
  524. package/dist/services/doctor/doctor-service/checks/gateguard-conflict.js +18 -9
  525. package/dist/services/doctor/doctor-service/checks/l3-memory-health.js +25 -11
  526. package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.js +12 -6
  527. package/dist/services/doctor/doctor-service/checks/multi-binary-drift.d.ts +7 -16
  528. package/dist/services/doctor/doctor-service/checks/multi-binary-drift.js +50 -70
  529. package/dist/services/doctor/doctor-service/checks/schema-validity.js +5 -1
  530. package/dist/services/doctor/doctor-service/checks/skill-presence.js +4 -2
  531. package/dist/services/doctor/doctor-service/checks/statusline-install.js +8 -4
  532. package/dist/services/doctor/doctor-service/checks/statusline-runtime.js +8 -4
  533. package/dist/services/doctor/doctor-service/checks/user-config.js +4 -2
  534. package/dist/services/doctor/doctor-service/checks/workspace-init.js +8 -4
  535. package/dist/services/doctor/doctor-service/checks/workspace-layout.js +19 -11
  536. package/dist/services/doctor/doctor-service/index.js +4 -2
  537. package/dist/services/doctor/doctor-service/multi-binary-drift-helpers.d.ts +40 -0
  538. package/dist/services/doctor/doctor-service/multi-binary-drift-helpers.js +49 -0
  539. package/dist/services/doctor/doctor-service/plugin-registry.js +1 -1
  540. package/dist/services/doctor/doctor-service/probe-types.d.ts +210 -0
  541. package/dist/services/doctor/doctor-service/probe-types.js +14 -0
  542. package/dist/services/doctor/doctor-service/types.d.ts +7 -197
  543. package/dist/services/doctor/index.d.ts +1 -1
  544. package/dist/services/doctor/index.js +1 -1
  545. package/dist/services/env/shell-probe.js +8 -2
  546. package/dist/services/evidence/evidence-body-builders.d.ts +23 -0
  547. package/dist/services/evidence/evidence-body-builders.js +197 -0
  548. package/dist/services/evidence/evidence-generator.js +16 -189
  549. package/dist/services/evolution/evolution-constraints.d.ts +43 -0
  550. package/dist/services/evolution/evolution-constraints.js +54 -0
  551. package/dist/services/evolution/evolution-evaluation-schema.d.ts +43 -0
  552. package/dist/services/evolution/evolution-evaluation-schema.js +43 -0
  553. package/dist/services/evolution/evolution-service.d.ts +6 -6
  554. package/dist/services/evolution/evolution-service.js +58 -58
  555. package/dist/services/evolution/evolution-store.d.ts +2 -2
  556. package/dist/services/evolution/evolution-store.js +37 -51
  557. package/dist/services/evolution/evolution-types.d.ts +2 -22
  558. package/dist/services/evolution/evolution-types.js +41 -101
  559. package/dist/services/evolution/independent-evaluator-runner.d.ts +3 -3
  560. package/dist/services/evolution/independent-evaluator-runner.js +20 -22
  561. package/dist/services/evolution/regression-skeptic-runner.d.ts +2 -2
  562. package/dist/services/evolution/regression-skeptic-runner.js +18 -18
  563. package/dist/services/feedback/feedback-promotion-service.js +48 -12
  564. package/dist/services/feedback/promotion-artifact-evidence.d.ts +2 -16
  565. package/dist/services/feedback/promotion-artifact-evidence.js +6 -83
  566. package/dist/services/feedback/promotion-artifact-json-evidence.d.ts +29 -0
  567. package/dist/services/feedback/promotion-artifact-json-evidence.js +39 -0
  568. package/dist/services/feedback/promotion-source-comments.d.ts +47 -0
  569. package/dist/services/feedback/promotion-source-comments.js +61 -0
  570. package/dist/services/final-review/final-review-contract.d.ts +26 -0
  571. package/dist/services/final-review/final-review-contract.js +14 -0
  572. package/dist/services/final-review/final-review-delivery.d.ts +63 -0
  573. package/dist/services/final-review/final-review-delivery.js +124 -0
  574. package/dist/services/final-review/final-review-evidence-budget.d.ts +125 -0
  575. package/dist/services/final-review/final-review-evidence-budget.js +218 -0
  576. package/dist/services/final-review/final-review-evidence-collect.d.ts +4 -0
  577. package/dist/services/final-review/final-review-evidence-collect.js +230 -0
  578. package/dist/services/final-review/final-review-evidence-sources.d.ts +138 -0
  579. package/dist/services/final-review/final-review-evidence-sources.js +139 -0
  580. package/dist/services/final-review/final-review-fifth-dim.d.ts +8 -0
  581. package/dist/services/final-review/final-review-fifth-dim.js +20 -0
  582. package/dist/services/final-review/final-review-gates.d.ts +119 -0
  583. package/dist/services/final-review/final-review-gates.js +214 -0
  584. package/dist/services/final-review/final-review-output-budget.d.ts +88 -0
  585. package/dist/services/final-review/final-review-output-budget.js +161 -0
  586. package/dist/services/final-review/final-review-prompt.d.ts +35 -0
  587. package/dist/services/final-review/final-review-prompt.js +112 -0
  588. package/dist/services/final-review/final-review-reviewer.d.ts +57 -0
  589. package/dist/services/final-review/final-review-reviewer.js +95 -0
  590. package/dist/services/final-review/final-review-runner.d.ts +3 -0
  591. package/dist/services/final-review/final-review-runner.js +158 -0
  592. package/dist/services/final-review/final-review-service.d.ts +119 -373
  593. package/dist/services/final-review/final-review-service.js +48 -1380
  594. package/dist/services/final-review/final-review-verdicts.d.ts +60 -0
  595. package/dist/services/final-review/final-review-verdicts.js +91 -0
  596. package/dist/services/final-review/index.d.ts +3 -3
  597. package/dist/services/final-review/index.js +2 -2
  598. package/dist/services/final-review/pre-post-diff.js +32 -29
  599. package/dist/services/fixture/fixture-capture-service.js +14 -6
  600. package/dist/services/fresh-context/trigger-scan.js +13 -2
  601. package/dist/services/fuzzy-matching/fuzzy-match-service.js +1 -1
  602. package/dist/services/fuzzy-matching/fzf-pick-service.js +6 -1
  603. package/dist/services/hooks/pre-tool-code-gate.js +2 -2
  604. package/dist/services/hooks/presence-marker-detector.js +12 -2
  605. package/dist/services/hooks/worktree-authorization-gate.js +21 -7
  606. package/dist/services/ide/adapters/claude-code-adapter.js +30 -17
  607. package/dist/services/ide/adapters/codex-adapter.js +3 -5
  608. package/dist/services/ide/adapters/cursor-adapter.js +3 -5
  609. package/dist/services/ide/adapters/hermes-adapter.js +2 -4
  610. package/dist/services/ide/adapters/openclaw-adapter.js +2 -4
  611. package/dist/services/ide/adapters/qoder-adapter.js +2 -4
  612. package/dist/services/ide/adapters/tongyi-lingma-adapter.js +1 -1
  613. package/dist/services/ide/adapters/trae-adapter.js +3 -5
  614. package/dist/services/ide/adapters/zcode-adapter.js +8 -7
  615. package/dist/services/ide/current-model-detector.js +2 -1
  616. package/dist/services/ide/ide-compact-types.d.ts +153 -0
  617. package/dist/services/ide/ide-compact-types.js +1 -0
  618. package/dist/services/ide/ide-registry.js +1 -1
  619. package/dist/services/ide/ide-types.d.ts +7 -145
  620. package/dist/services/ide/resource-profile.js +1 -1
  621. package/dist/services/ide/shared/atomic-json.js +2 -1
  622. package/dist/services/impact/impact-scan-service.js +12 -5
  623. package/dist/services/job/job-commit-verification.d.ts +73 -0
  624. package/dist/services/job/job-commit-verification.js +72 -0
  625. package/dist/services/job/job-orchestrator.d.ts +42 -0
  626. package/dist/services/job/job-orchestrator.js +110 -10
  627. package/dist/services/job/job-progress-store.d.ts +75 -5
  628. package/dist/services/job/job-progress-store.js +83 -6
  629. package/dist/services/job/job-rotation.d.ts +1 -1
  630. package/dist/services/job/job-rotation.js +5 -1
  631. package/dist/services/job/job-state-store.js +2 -2
  632. package/dist/services/job/job-types.js +49 -20
  633. package/dist/services/job/subagent-job-wrapper.d.ts +1 -1
  634. package/dist/services/job/subagent-job-wrapper.js +5 -1
  635. package/dist/services/job-snapshot/snapshot.js +2 -2
  636. package/dist/services/karpathy-cost/karpathy-cost-check-service.js +23 -13
  637. package/dist/services/legacy/legacy-detector.js +51 -5
  638. package/dist/services/lint/detect-eslint.js +10 -4
  639. package/dist/services/lint/detect-ocr-18.js +11 -3
  640. package/dist/services/lint/eslint-runner-support.d.ts +22 -0
  641. package/dist/services/lint/eslint-runner-support.js +185 -0
  642. package/dist/services/lint/eslint-runner-types.d.ts +69 -0
  643. package/dist/services/lint/eslint-runner-types.js +11 -0
  644. package/dist/services/lint/eslint-runner.d.ts +4 -56
  645. package/dist/services/lint/eslint-runner.js +24 -178
  646. package/dist/services/lint/npx-resolver.js +1 -3
  647. package/dist/services/lint/ocr-18-acquire.js +15 -4
  648. package/dist/services/lint/ocr-multilang-adapter.js +4 -5
  649. package/dist/services/llm/anthropic-runner.js +4 -1
  650. package/dist/services/log/log-commands-service.js +2 -6
  651. package/dist/services/log/logger.js +15 -12
  652. package/dist/services/log/retention.js +3 -2
  653. package/dist/services/loop/evaluator-dispatcher.js +78 -42
  654. package/dist/services/loop/loop-bee-relation-service.d.ts +4 -4
  655. package/dist/services/loop/loop-bee-relation-service.js +36 -40
  656. package/dist/services/loop/loop-bee-relation-store.d.ts +3 -3
  657. package/dist/services/loop/loop-bee-relation-store.js +9 -11
  658. package/dist/services/loop/loop-bee-relation-types.d.ts +1 -1
  659. package/dist/services/loop/loop-bee-relation-types.js +14 -25
  660. package/dist/services/loop/loop-release-service.d.ts +2 -2
  661. package/dist/services/loop/loop-release-service.js +3 -3
  662. package/dist/services/loop/loop-release-store.d.ts +2 -2
  663. package/dist/services/loop/loop-release-store.js +4 -6
  664. package/dist/services/loop/loop-release-types.d.ts +1 -1
  665. package/dist/services/loop/loop-release-types.js +21 -31
  666. package/dist/services/loop/monotonic-guard-types.d.ts +51 -0
  667. package/dist/services/loop/monotonic-guard-types.js +9 -0
  668. package/dist/services/loop/monotonic-guard.d.ts +2 -43
  669. package/dist/services/loop/monotonic-runner-types.d.ts +63 -0
  670. package/dist/services/loop/monotonic-runner-types.js +17 -0
  671. package/dist/services/loop/monotonic-runner.d.ts +3 -34
  672. package/dist/services/loop/monotonic-runner.js +10 -20
  673. package/dist/services/loop/run-driver.js +16 -8
  674. package/dist/services/loop/spec-service.d.ts +0 -5
  675. package/dist/services/loop/spec-service.js +49 -9
  676. package/dist/services/memory/llm-reranker-core.d.ts +108 -0
  677. package/dist/services/memory/llm-reranker-core.js +105 -0
  678. package/dist/services/memory/llm-reranker.d.ts +3 -94
  679. package/dist/services/memory/llm-reranker.js +13 -102
  680. package/dist/services/memory/memory-ingest-service.d.ts +1 -22
  681. package/dist/services/memory/memory-ingest-service.js +29 -76
  682. package/dist/services/memory/memory-ingest-support.d.ts +23 -0
  683. package/dist/services/memory/memory-ingest-support.js +81 -0
  684. package/dist/services/memory/memory-rotate-service.js +41 -8
  685. package/dist/services/memory/memory-search-service.js +8 -4
  686. package/dist/services/memory/project-context-service.js +26 -5
  687. package/dist/services/memory/project-memory-service/index/kind-dispatch.d.ts +2 -7
  688. package/dist/services/memory/project-memory-service/index/kind-dispatch.js +17 -136
  689. package/dist/services/memory/project-memory-service/index/project-memory-plan-exec.d.ts +7 -0
  690. package/dist/services/memory/project-memory-service/index/project-memory-plan-exec.js +150 -0
  691. package/dist/services/memory/project-memory-service/index/ranking.js +6 -3
  692. package/dist/services/memory/project-memory-service/index/reindex.js +14 -5
  693. package/dist/services/memory/project-memory-service/index.d.ts +1 -1
  694. package/dist/services/memory/project-memory-service/index.js +1 -1
  695. package/dist/services/memory/project-memory-service/memory-kinds.d.ts +31 -0
  696. package/dist/services/memory/project-memory-service/memory-kinds.js +87 -0
  697. package/dist/services/memory/project-memory-service/parsers/frontmatter-parse.d.ts +24 -0
  698. package/dist/services/memory/project-memory-service/parsers/frontmatter-parse.js +104 -0
  699. package/dist/services/memory/project-memory-service/parsers/frontmatter.d.ts +2 -24
  700. package/dist/services/memory/project-memory-service/parsers/frontmatter.js +28 -79
  701. package/dist/services/memory/project-memory-service/parsers/markdown-pure.js +15 -3
  702. package/dist/services/memory/project-memory-service/store/atomic-write.d.ts +59 -0
  703. package/dist/services/memory/project-memory-service/store/atomic-write.js +189 -17
  704. package/dist/services/memory/project-memory-service/store/paths.js +2 -1
  705. package/dist/services/memory/project-memory-service/types.d.ts +3 -31
  706. package/dist/services/memory/project-memory-service/types.js +1 -76
  707. package/dist/services/migrate-skill-name/migrate.js +1 -1
  708. package/dist/services/migrate-skill-name/schema.js +1 -1
  709. package/dist/services/mode/mode-enforcement.js +4 -2
  710. package/dist/services/mode/mode-status-service.d.ts +27 -9
  711. package/dist/services/mode/mode-status-service.js +64 -12
  712. package/dist/services/observability/aggregation-helpers.d.ts +22 -0
  713. package/dist/services/observability/aggregation-helpers.js +65 -0
  714. package/dist/services/observability/aggregation-types.d.ts +66 -0
  715. package/dist/services/observability/aggregation-types.js +34 -0
  716. package/dist/services/observability/aggregation.d.ts +5 -53
  717. package/dist/services/observability/aggregation.js +17 -80
  718. package/dist/services/observability/jsonl-store.js +2 -1
  719. package/dist/services/observability/observability-schema.d.ts +71 -0
  720. package/dist/services/observability/observability-schema.js +64 -0
  721. package/dist/services/observability/observability-service.d.ts +3 -56
  722. package/dist/services/observability/observability-service.js +9 -49
  723. package/dist/services/openspec/coverage-evidence-reader.js +18 -11
  724. package/dist/services/openspec/openspec-archive-service.js +31 -24
  725. package/dist/services/openspec/openspec-init-service.js +8 -2
  726. package/dist/services/openspec/openspec-propose-from-doctor-service.js +1 -1
  727. package/dist/services/openspec/openspec-scan-service.js +4 -1
  728. package/dist/services/openspec/openspec-validate-service.js +26 -5
  729. package/dist/services/perf/perf-baseline-service.js +2 -6
  730. package/dist/services/polyrepo/polyrepo-dispatcher.js +2 -1
  731. package/dist/services/polyrepo/polyrepo-scanner.js +4 -1
  732. package/dist/services/prd/gate-evidence-derivation.d.ts +160 -0
  733. package/dist/services/prd/gate-evidence-derivation.js +270 -0
  734. package/dist/services/prd/handoff-auto-regen.js +13 -1
  735. package/dist/services/prd/handoff-frontmatter-shape.d.ts +42 -0
  736. package/dist/services/prd/handoff-frontmatter-shape.js +67 -0
  737. package/dist/services/prd/handoff-frontmatter.d.ts +1 -1
  738. package/dist/services/prd/handoff-frontmatter.js +63 -1
  739. package/dist/services/prd/handoff-gate-evidence.d.ts +95 -1
  740. package/dist/services/prd/handoff-gate-evidence.js +125 -57
  741. package/dist/services/prd/handoff-path-resolution.d.ts +37 -0
  742. package/dist/services/prd/handoff-path-resolution.js +101 -0
  743. package/dist/services/prd/handoff-service.d.ts +22 -38
  744. package/dist/services/prd/handoff-service.js +38 -127
  745. package/dist/services/prd/handoff-types.d.ts +40 -0
  746. package/dist/services/prd/handoff-types.js +28 -1
  747. package/dist/services/prd/prd-blocks-checker.js +28 -8
  748. package/dist/services/prd/project-scan-bootstrap-service.js +1 -5
  749. package/dist/services/prd/project-scan-reader.d.ts +7 -0
  750. package/dist/services/prd/project-scan-reader.js +8 -5
  751. package/dist/services/prd/project-scan-sediment.js +1 -4
  752. package/dist/services/preferences/preferences-service.js +6 -8
  753. package/dist/services/preferences/preferences-types.js +4 -4
  754. package/dist/services/qa/bdd-test-style-contract.d.ts +41 -0
  755. package/dist/services/qa/bdd-test-style-contract.js +37 -0
  756. package/dist/services/qa/bdd-test-style-verifier.d.ts +2 -24
  757. package/dist/services/qa/bdd-test-style-verifier.js +5 -31
  758. package/dist/services/qa/browser-event-logger.js +2 -1
  759. package/dist/services/qa/qa-business-review-state.js +20 -5
  760. package/dist/services/qa/screenshot-archive-service.js +1 -3
  761. package/dist/services/rd/ast-gate.js +2 -2
  762. package/dist/services/rd/impl.js +1 -1
  763. package/dist/services/rd/rd-service.js +117 -43
  764. package/dist/services/rd/reviewer-dispatch-policy.d.ts +36 -8
  765. package/dist/services/rd/reviewer-dispatch-policy.js +40 -15
  766. package/dist/services/rd/standards-diagnostic.js +4 -1
  767. package/dist/services/rd/strategy.js +10 -3
  768. package/dist/services/rd/tactical-stage.js +2 -2
  769. package/dist/services/rd/types.js +9 -7
  770. package/dist/services/rd-swarm/rd-swarm-service.d.ts +2 -45
  771. package/dist/services/rd-swarm/rd-swarm-service.js +140 -21
  772. package/dist/services/rd-swarm/rd-swarm-types.d.ts +54 -0
  773. package/dist/services/rd-swarm/rd-swarm-types.js +10 -0
  774. package/dist/services/recommendations/capability-map-service.js +10 -2
  775. package/dist/services/recommendations/capability-seed-items.js +81 -14
  776. package/dist/services/recommendations/capability-seed-mappings.js +420 -48
  777. package/dist/services/recommendations/capability-seed-sources-mcp-server.d.ts +9 -0
  778. package/dist/services/recommendations/capability-seed-sources-mcp-server.js +233 -0
  779. package/dist/services/recommendations/capability-seed-sources.js +127 -32
  780. package/dist/services/release/release-state.d.ts +2 -2
  781. package/dist/services/release/release-state.js +44 -15
  782. package/dist/services/release/version-precheck-layer-changeset.d.ts +2 -0
  783. package/dist/services/release/version-precheck-layer-changeset.js +43 -0
  784. package/dist/services/release/version-precheck-service.d.ts +11 -36
  785. package/dist/services/release/version-precheck-service.js +20 -104
  786. package/dist/services/release/version-precheck-support.d.ts +53 -0
  787. package/dist/services/release/version-precheck-support.js +64 -0
  788. package/dist/services/retrospective/retrospective-index.js +17 -3
  789. package/dist/services/retrospective/retrospective-search-service.js +6 -2
  790. package/dist/services/retrospective/retrospective-show.js +4 -1
  791. package/dist/services/reviewer/model-family.js +7 -1
  792. package/dist/services/reviewer/providers/anthropic.d.ts +5 -0
  793. package/dist/services/reviewer/providers/anthropic.js +10 -1
  794. package/dist/services/reviewer/providers/openai.d.ts +5 -0
  795. package/dist/services/reviewer/providers/openai.js +10 -1
  796. package/dist/services/reviewer/reviewer-config.js +4 -2
  797. package/dist/services/reviewer/reviewer-service.d.ts +2 -36
  798. package/dist/services/reviewer/reviewer-service.js +2 -1
  799. package/dist/services/reviewer/reviewer-types.d.ts +43 -0
  800. package/dist/services/reviewer/reviewer-types.js +1 -0
  801. package/dist/services/role/role-registry.js +9 -1
  802. package/dist/services/runtime/runtime-detector.js +4 -1
  803. package/dist/services/runtime/vendors/claude-code.js +14 -6
  804. package/dist/services/runtime/vendors/codex.js +11 -3
  805. package/dist/services/runtime/vendors/copilot.js +11 -3
  806. package/dist/services/sc/sc-service.js +28 -15
  807. package/dist/services/scan/acceptance-coverage-service.js +4 -1
  808. package/dist/services/scan/api-diff-openapi-schema-read.d.ts +67 -0
  809. package/dist/services/scan/api-diff-openapi-schema-read.js +154 -0
  810. package/dist/services/scan/api-diff-openapi.d.ts +16 -2
  811. package/dist/services/scan/api-diff-openapi.js +19 -123
  812. package/dist/services/scan/api-diff-recorded.js +16 -3
  813. package/dist/services/scan/api-diff-service.js +49 -16
  814. package/dist/services/scan/api-diff-types.js +12 -3
  815. package/dist/services/scan/api-surface-helpers.d.ts +13 -0
  816. package/dist/services/scan/api-surface-helpers.js +31 -0
  817. package/dist/services/scan/api-surface-service.d.ts +2 -45
  818. package/dist/services/scan/api-surface-service.js +15 -26
  819. package/dist/services/scan/api-surface-types.d.ts +54 -0
  820. package/dist/services/scan/api-surface-types.js +10 -0
  821. package/dist/services/scan/archetype-detection.d.ts +37 -0
  822. package/dist/services/scan/archetype-detection.js +142 -0
  823. package/dist/services/scan/archetype-service.js +36 -125
  824. package/dist/services/scan/diff-scope-service.js +35 -15
  825. package/dist/services/scan/existing-system-service.js +16 -99
  826. package/dist/services/scan/existing-system-visual-tokens.d.ts +20 -0
  827. package/dist/services/scan/existing-system-visual-tokens.js +123 -0
  828. package/dist/services/scan/file-size-policy.d.ts +86 -0
  829. package/dist/services/scan/file-size-policy.js +184 -0
  830. package/dist/services/scan/file-size-scan.d.ts +30 -3
  831. package/dist/services/scan/file-size-scan.js +47 -9
  832. package/dist/services/scan/karpathy-service.js +6 -1
  833. package/dist/services/scan/orphan-service.js +86 -20
  834. package/dist/services/scan/type-sanity-service.js +104 -10
  835. package/dist/services/sediment/dispose-confirm.d.ts +2 -2
  836. package/dist/services/sediment/dispose-confirm.js +2 -2
  837. package/dist/services/sediment/json-schema.d.ts +1 -1
  838. package/dist/services/sediment/json-schema.js +25 -13
  839. package/dist/services/sediment/manifest-lint.d.ts +1 -12
  840. package/dist/services/sediment/manifest-lint.js +1 -7
  841. package/dist/services/sediment/pool-paths.js +13 -9
  842. package/dist/services/sediment/pool-read.d.ts +1 -1
  843. package/dist/services/sediment/pool-read.js +42 -18
  844. package/dist/services/sediment/pool-rebuild-index.d.ts +1 -1
  845. package/dist/services/sediment/pool-rebuild-index.js +5 -5
  846. package/dist/services/sediment/pool-write.d.ts +1 -1
  847. package/dist/services/sediment/pool-write.js +7 -7
  848. package/dist/services/sediment/promotion-gate.d.ts +1 -1
  849. package/dist/services/sediment/promotion-gate.js +9 -9
  850. package/dist/services/sediment/types.d.ts +8 -8
  851. package/dist/services/session/binding-status-service.js +14 -4
  852. package/dist/services/session/caller-binding-service.js +2 -1
  853. package/dist/services/session/getSessionDir.js +4 -1
  854. package/dist/services/session/index.d.ts +1 -1
  855. package/dist/services/session/index.js +1 -1
  856. package/dist/services/session/resolve-caller-id.js +7 -5
  857. package/dist/services/session/session-binding-bridge.js +26 -25
  858. package/dist/services/session/session-checkpoint-service.js +1 -1
  859. package/dist/services/session/session-file-schema.d.ts +70 -0
  860. package/dist/services/session/session-file-schema.js +68 -0
  861. package/dist/services/session/session-manager.d.ts +6 -6
  862. package/dist/services/session/session-manager.js +30 -29
  863. package/dist/services/session/session-resume-service.js +2 -1
  864. package/dist/services/share/bundle-format-constants.d.ts +85 -0
  865. package/dist/services/share/bundle-format-constants.js +100 -0
  866. package/dist/services/share/bundle-reader.d.ts +3 -3
  867. package/dist/services/share/bundle-reader.js +75 -68
  868. package/dist/services/share/bundle-types.d.ts +3 -70
  869. package/dist/services/share/bundle-types.js +38 -107
  870. package/dist/services/share/bundle-writer.d.ts +3 -3
  871. package/dist/services/share/bundle-writer.js +101 -91
  872. package/dist/services/share/run-state-contract.d.ts +1 -1
  873. package/dist/services/share/run-state-contract.js +7 -13
  874. package/dist/services/signal/cancel-handler.js +2 -1
  875. package/dist/services/skill/resume-detector.js +6 -4
  876. package/dist/services/skill/skill-scheduler.js +3 -1
  877. package/dist/services/skill/skill-search-service.js +4 -4
  878. package/dist/services/skillhub/release-diff.d.ts +2 -2
  879. package/dist/services/skillhub/release-diff.js +6 -10
  880. package/dist/services/skillhub/release-export.d.ts +2 -2
  881. package/dist/services/skillhub/release-export.js +15 -17
  882. package/dist/services/skillhub/release-gc-blobs.d.ts +2 -2
  883. package/dist/services/skillhub/release-gc-blobs.js +4 -4
  884. package/dist/services/skillhub/release-import.d.ts +2 -2
  885. package/dist/services/skillhub/release-import.js +13 -12
  886. package/dist/services/skillhub/release-retain.d.ts +3 -3
  887. package/dist/services/skillhub/release-retain.js +22 -22
  888. package/dist/services/skillhub/sqlite-store.d.ts +1 -1
  889. package/dist/services/skillhub/sqlite-store.js +12 -11
  890. package/dist/services/skillhub/tar-runtime.js +15 -15
  891. package/dist/services/skillhub/types.d.ts +4 -4
  892. package/dist/services/skills/hooks-codegate-superpowers.js +16 -7
  893. package/dist/services/skills/hooks-settings-service.js +61 -19
  894. package/dist/services/skills/presence-lease-service.js +26 -16
  895. package/dist/services/skills/presence-lease-types.d.ts +1 -1
  896. package/dist/services/skills/presence-lease-types.js +1 -1
  897. package/dist/services/skills/skill-conformance-service.js +40 -8
  898. package/dist/services/skills/skill-presence-service.js +16 -14
  899. package/dist/services/skills/skill-runbook-service.js +2 -1
  900. package/dist/services/skills/skill-statusline-model.d.ts +128 -0
  901. package/dist/services/skills/skill-statusline-model.js +163 -0
  902. package/dist/services/skills/skill-statusline-renderer.js +4 -3
  903. package/dist/services/skills/skill-statusline-service.d.ts +3 -100
  904. package/dist/services/skills/skill-statusline-service.js +56 -163
  905. package/dist/services/skills/statusline-palette.js +11 -6
  906. package/dist/services/skills/statusline-settings-service.js +2 -1
  907. package/dist/services/skills/sync-service-support.d.ts +65 -0
  908. package/dist/services/skills/sync-service-support.js +50 -0
  909. package/dist/services/skills/sync-service.d.ts +3 -66
  910. package/dist/services/skills/sync-service.js +15 -53
  911. package/dist/services/slice/calibration-store.js +8 -2
  912. package/dist/services/slice/cross-pass-edge-merger.d.ts +3 -28
  913. package/dist/services/slice/cross-pass-edge-merger.js +13 -63
  914. package/dist/services/slice/cross-pass-edge-static-scan-support.d.ts +69 -0
  915. package/dist/services/slice/cross-pass-edge-static-scan-support.js +74 -0
  916. package/dist/services/slice/granularity-decider.js +2 -2
  917. package/dist/services/slice/slice-archive-service.js +8 -3
  918. package/dist/services/slice/slice-check-service.js +19 -8
  919. package/dist/services/slice/slice-decompose-runners.js +61 -23
  920. package/dist/services/slice/slice-decompose-service.js +4 -4
  921. package/dist/services/slice/slice-review-state.js +8 -2
  922. package/dist/services/smoke/smoke-paths-state.js +9 -2
  923. package/dist/services/sop/gate-enforce-service.js +9 -2
  924. package/dist/services/sop/sop-advance-service.js +14 -2
  925. package/dist/services/sop/sop-check-service.js +16 -4
  926. package/dist/services/sop/sop-paths.js +3 -1
  927. package/dist/services/sop/sop-registry-service.js +5 -1
  928. package/dist/services/sop/sop-service.js +29 -7
  929. package/dist/services/sop/sop-types.js +5 -1
  930. package/dist/services/standards/ide-aware-standards-service.js +2 -2
  931. package/dist/services/standards/loop-engineering-lint.js +12 -5
  932. package/dist/services/standards/loop-engineering-readiness-lint.js +5 -5
  933. package/dist/services/standards/migrate-claude-rules-service.js +9 -7
  934. package/dist/services/standards/missing-standards-detector.js +1 -3
  935. package/dist/services/standards/project-context-support.d.ts +50 -0
  936. package/dist/services/standards/project-context-support.js +244 -0
  937. package/dist/services/standards/project-context-types.d.ts +30 -0
  938. package/dist/services/standards/project-context-types.js +11 -0
  939. package/dist/services/standards/project-context.d.ts +10 -22
  940. package/dist/services/standards/project-context.js +27 -214
  941. package/dist/services/standards/project-standards-service.js +43 -12
  942. package/dist/services/standards/standards-render-common.d.ts +15 -0
  943. package/dist/services/standards/standards-render-common.js +49 -0
  944. package/dist/services/standards/standards-render.d.ts +1 -2
  945. package/dist/services/standards/standards-render.js +31 -58
  946. package/dist/services/standards/ui-library-dispatch-block.js +1 -1
  947. package/dist/services/tech/tech-change-id-service.js +7 -7
  948. package/dist/services/tech/tech-service.js +73 -26
  949. package/dist/services/test-cache/test-cache-service.js +8 -3
  950. package/dist/services/upgrade/1x-detector-service.js +5 -3
  951. package/dist/services/upgrade/gitignore-migrate-service.js +5 -5
  952. package/dist/services/upgrade/upgrade-service.js +36 -13
  953. package/dist/services/verdict/envelope-parsers.d.ts +84 -0
  954. package/dist/services/verdict/envelope-parsers.js +146 -0
  955. package/dist/services/verdict/envelopes.d.ts +50 -60
  956. package/dist/services/verdict/envelopes.js +18 -156
  957. package/dist/services/verdict/verdict-aggregator.js +27 -3
  958. package/dist/services/vm/vm-lease.js +15 -3
  959. package/dist/services/web/aria-node.d.ts +27 -0
  960. package/dist/services/web/aria-node.js +1 -0
  961. package/dist/services/web/browser-acquire.js +3 -1
  962. package/dist/services/web/browser-cache-probe.d.ts +18 -0
  963. package/dist/services/web/browser-cache-probe.js +110 -0
  964. package/dist/services/web/browser-session-manager.js +6 -2
  965. package/dist/services/web/daemon-registry.js +4 -1
  966. package/dist/services/web/playwright-loader.d.ts +2 -70
  967. package/dist/services/web/playwright-types.d.ts +75 -0
  968. package/dist/services/web/playwright-types.js +1 -0
  969. package/dist/services/web/snapshot-pruner.d.ts +2 -23
  970. package/dist/services/web/snapshot-pruner.js +8 -3
  971. package/dist/services/web/web-daemon-service.js +1 -3
  972. package/dist/services/web/web-install-service.d.ts +3 -32
  973. package/dist/services/web/web-install-service.js +21 -100
  974. package/dist/services/web/web-install-types.d.ts +31 -0
  975. package/dist/services/web/web-install-types.js +13 -0
  976. package/dist/services/web/web-login-profile.js +7 -5
  977. package/dist/services/web/web-protocol.js +3 -1
  978. package/dist/services/workflow/pipeline-verify-gate-support.js +63 -17
  979. package/dist/services/workflow/pipeline-verify-service.js +17 -6
  980. package/dist/services/workflow/plan-reader.js +5 -1
  981. package/dist/services/workflow/plan-refresher.js +20 -6
  982. package/dist/services/workflow/plan-trigger-detector.js +31 -8
  983. package/dist/services/workflow/provision-dispatch-node.js +8 -3
  984. package/dist/services/workflow/workflow-autonomous-resume-helpers.d.ts +3 -1
  985. package/dist/services/workflow/workflow-autonomous-resume-helpers.js +35 -144
  986. package/dist/services/workflow/workflow-autonomous-resume-validation.d.ts +16 -0
  987. package/dist/services/workflow/workflow-autonomous-resume-validation.js +155 -0
  988. package/dist/services/workflow/workflow-autonomous-service.js +25 -13
  989. package/dist/services/workflow/workflow-graph-store-helpers.d.ts +51 -0
  990. package/dist/services/workflow/workflow-graph-store-helpers.js +111 -0
  991. package/dist/services/workflow/workflow-graph-store.d.ts +2 -35
  992. package/dist/services/workflow/workflow-graph-store.js +30 -107
  993. package/dist/services/workflow/workflow-graph-types.js +3 -3
  994. package/dist/services/workflow/workflow-inflight-probe.js +14 -7
  995. package/dist/services/workflow/workflow-loader.js +5 -1
  996. package/dist/services/workflow/workflow-node-lifecycle.js +22 -21
  997. package/dist/services/workflow/workflow-presence-lifecycle-types.d.ts +50 -0
  998. package/dist/services/workflow/workflow-presence-lifecycle-types.js +1 -0
  999. package/dist/services/workflow/workflow-presence-lifecycle.d.ts +2 -42
  1000. package/dist/services/workflow/workflow-presence-lifecycle.js +19 -21
  1001. package/dist/services/workflow/workflow-router-service.js +169 -27
  1002. package/dist/services/workflow/workflow-skip-service.js +14 -4
  1003. package/dist/services/workflow/workflow-spec-builders.d.ts +15 -0
  1004. package/dist/services/workflow/workflow-spec-builders.js +121 -0
  1005. package/dist/services/workflow/workflow-spec.d.ts +7 -6
  1006. package/dist/services/workflow/workflow-spec.js +22 -116
  1007. package/dist/services/workflow/workflow-state-store.js +2 -1
  1008. package/dist/services/workspace/migrate-1-4-1-service.js +80 -14
  1009. package/dist/services/workspace/migrate-service.js +66 -16
  1010. package/dist/services/workspace/reconcile-migrate.js +6 -2
  1011. package/dist/services/workspace/reconcile-service.js +37 -16
  1012. package/dist/services/workspace/workspace-claude-settings-materializer.js +7 -5
  1013. package/dist/services/workspace/workspace-clean-service.js +4 -1
  1014. package/dist/services/workspace/workspace-service.js +11 -3
  1015. package/dist/services/workspace/workspace-state-service.js +1 -1
  1016. package/dist/services/worktree/git-worktree-parser.js +13 -3
  1017. package/dist/services/worktree/host-worktree-reconciler.js +8 -4
  1018. package/dist/services/worktree/long-path-cleanup.js +23 -6
  1019. package/dist/services/worktree/worktree-gc-guard.js +3 -1
  1020. package/dist/services/worktree/worktree-lease-types.d.ts +53 -0
  1021. package/dist/services/worktree/worktree-lease-types.js +10 -0
  1022. package/dist/services/worktree/worktree-lease.d.ts +2 -44
  1023. package/dist/shared/array-guards.d.ts +30 -0
  1024. package/dist/shared/array-guards.js +32 -0
  1025. package/dist/shared/format-md-compact-internals.d.ts +26 -0
  1026. package/dist/shared/format-md-compact-internals.js +125 -0
  1027. package/dist/shared/format-md-compact.js +1 -117
  1028. package/dist/shared/fs-utils.js +2 -1
  1029. package/dist/shared/incrementing-number.js +3 -3
  1030. package/dist/shared/json-parse.d.ts +71 -0
  1031. package/dist/shared/json-parse.js +32 -0
  1032. package/dist/shared/json-schema-mini.js +3 -1
  1033. package/dist/shared/path-safety.js +3 -1
  1034. package/dist/shared/path-utils.d.ts +20 -0
  1035. package/dist/shared/path-utils.js +26 -0
  1036. package/dist/shared/planner-response.js +3 -3
  1037. package/dist/shared/stale-policy.js +1 -3
  1038. package/dist/skills/peaks-maker/index.js +11 -11
  1039. package/package.json +32 -9
  1040. package/scripts/clean-dist.mjs +1 -2
  1041. package/scripts/copy-templates.mjs +2 -4
  1042. package/scripts/install-skills.mjs +305 -125
  1043. package/scripts/sync-version.mjs +25 -8
  1044. package/scripts/watch.mjs +8 -2
  1045. package/skills/bee/peaks-rd/SKILL.md +1 -1
  1046. package/skills/bee/peaks-rd/references/rd-fanout-contracts.md +26 -10
  1047. package/skills/bee/peaks-rd/references/rd-sub-agent-dispatch.md +1 -1
  1048. package/skills/bee/peaks-rd/references/writing-handoff-frontmatter.md +6 -1
  1049. package/skills/peaks-code/SKILL.md +1 -1
  1050. package/skills/peaks-code/references/periodic-checkpoint.md +7 -5
  1051. package/skills/peaks-code/references/startup-sequence.md +1 -1
  1052. package/skills/peaks-final-review/SKILL.md +1 -1
  1053. /package/{docs → contracts}/test-style-contract.md +0 -0
@@ -39,30 +39,7 @@
39
39
  * malformed test files. A parse error is a structural problem; the
40
40
  * caller must surface it.
41
41
  */
42
- /** Structured failure reasons the verifier can return. */
43
- export type BddStyleFailureReason = 'missing-given-when-then' | 'description-no-should-when';
44
- /** Successful verdict — includes the count of inspected `it`/`test` calls. */
45
- export interface BddStyleOk {
46
- readonly ok: true;
47
- readonly scanned: number;
48
- }
49
- /** Structured failure verdict — the file/line makes the rejection actionable. */
50
- export interface BddStyleFail {
51
- readonly ok: false;
52
- readonly reason: BddStyleFailureReason;
53
- readonly file: string;
54
- readonly line: number;
55
- /** For `description-no-should-when`: the original description. */
56
- readonly description?: string;
57
- /** For `missing-given-when-then`: a stable string the caller can compare. */
58
- readonly expected?: string;
59
- }
60
- export type BddStyleVerdict = BddStyleOk | BddStyleFail;
61
- /** Public input surface — keep small so the contract is hard to misuse. */
62
- export interface VerifyBddStyleInput {
63
- readonly projectRoot: string;
64
- readonly testFiles: readonly string[];
65
- }
42
+ import { type BddStyleVerdict, type VerifyBddStyleInput } from './bdd-test-style-contract.js';
66
43
  /**
67
44
  * Verify that every `it(...)` / `test(...)` call in the given test
68
45
  * files follows the BDD given-when-then contract.
@@ -86,3 +63,4 @@ export interface VerifyBddStyleInput {
86
63
  * caller maps to `qa-handoff` rejection.
87
64
  */
88
65
  export declare function verifyBddStyle(input: VerifyBddStyleInput): BddStyleVerdict;
66
+ export type { BddStyleFailureReason, BddStyleOk, BddStyleFail, BddStyleVerdict, VerifyBddStyleInput } from './bdd-test-style-contract.js';
@@ -42,6 +42,7 @@
42
42
  import { readFileSync } from 'node:fs';
43
43
  import { resolve } from 'node:path';
44
44
  import ts from 'typescript';
45
+ import { matchesBddTriple, hasWhenOrShould } from './bdd-test-style-contract.js';
45
46
  /** Test runners whose first string-arg is the test description. */
46
47
  const TEST_NAMES = new Set(['it', 'test']);
47
48
  /**
@@ -129,7 +130,7 @@ function checkDescription(call, sourceFile, relPath) {
129
130
  file: relPath,
130
131
  line: line + 1,
131
132
  description: '<non-literal first argument>',
132
- expected: 'first argument must be a string literal containing "when" or "should"',
133
+ expected: 'first argument must be a string literal containing "when" or "should"'
133
134
  };
134
135
  }
135
136
  const description = firstArg.text;
@@ -142,7 +143,7 @@ function checkDescription(call, sourceFile, relPath) {
142
143
  file: relPath,
143
144
  line: line + 1,
144
145
  description,
145
- expected: 'description must contain the word "when" or "should" (BDD style)',
146
+ expected: 'description must contain the word "when" or "should" (BDD style)'
146
147
  };
147
148
  }
148
149
  return null;
@@ -182,7 +183,7 @@ function checkBody(call, sourceFile, relPath) {
182
183
  reason: 'missing-given-when-then',
183
184
  file: relPath,
184
185
  line: line + 1,
185
- expected: 'block-body callback with // given: / // when: / // then: comments at the top',
186
+ expected: 'block-body callback with // given: / // when: / // then: comments at the top'
186
187
  };
187
188
  }
188
189
  function getCallbackBlock(call) {
@@ -236,33 +237,6 @@ function makeMissingCommentFailure(block, sourceFile, relPath) {
236
237
  reason: 'missing-given-when-then',
237
238
  file: relPath,
238
239
  line: line + 1,
239
- expected: '// given: / // when: / // then: triple at the top of the block body',
240
+ expected: '// given: / // when: / // then: triple at the top of the block body'
240
241
  };
241
242
  }
242
- /**
243
- * Match the three leading comments against the BDD triple. Each
244
- * entry must be a `// <keyword>:` line (with optional trailing
245
- * whitespace); the keywords must appear in `given`, `when`, `then`
246
- * order, case-insensitive.
247
- */
248
- function matchesBddTriple(triple) {
249
- if (triple.length !== 3)
250
- return false;
251
- // Each entry must be a `// <keyword>:` line, optionally followed
252
- // by descriptive text. The Slice A migrator's `buildCommentBlock`
253
- // produces `// given: the test setup` / `// when: the function
254
- // under test is invoked` / `// then: the result matches the
255
- // expectation` — the `when` line uses two spaces after the colon
256
- // for visual alignment with `given:` and `then:`, so the regex
257
- // is intentionally permissive about trailing text.
258
- const patterns = [
259
- /^\s*\/\/\s*given\s*:/i,
260
- /^\s*\/\/\s*when\s*:/i,
261
- /^\s*\/\/\s*then\s*:/i,
262
- ];
263
- return patterns.every((pat, i) => pat.test(triple[i] ?? ''));
264
- }
265
- /** True when `text` contains `when` or `should` as a whole word. */
266
- function hasWhenOrShould(text) {
267
- return /(\bwhen\b|\bshould\b)/i.test(text);
268
- }
@@ -47,7 +47,8 @@ export class BrowserEventLogger {
47
47
  try {
48
48
  appendFileSync(this.filePath, line + '\n');
49
49
  }
50
- catch { // TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
50
+ catch {
51
+ // TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
51
52
  /* best-effort; never block the CLI on a log write */
52
53
  }
53
54
  }
@@ -20,11 +20,26 @@ import { isUnsafePathInput } from '../../shared/path-safety.js';
20
20
  import { REQUEST_ID_PATTERN } from '../artifacts/request-artifact-service.js';
21
21
  /** 6-item business checklist (12 Gaps QA perspective). */
22
22
  export const QA_BUSINESS_ITEMS = [
23
- { id: 'business-flow', question: '这个功能"用起来"对吗?(业务流程顺不顺,操作路径是否反人类,跟现有系统交互有没有断层)' },
24
- { id: 'req-coverage', question: '老板提的需求都覆盖了吗?(大需求点 vs 小需求点,显式需求 vs 隐式需求)' },
25
- { id: 'boundary-cases', question: '边界 case 跟业务预期一致吗?(异常输入 / 错误提示用户语言 / 空加载失败状态)' },
26
- { id: 'ui-assembly', question: '页面模式 / 关键交互 / 信息密度 跟产品预期一致吗?(装配验收,非视觉设计)' },
27
- { id: 'exception-tone', question: '异常态 / 边界态视觉跟产品语调一致吗?(空状态有引导 / 加载态不闪烁 / 失败态有重试入口)' },
23
+ {
24
+ id: 'business-flow',
25
+ question: '这个功能"用起来"对吗?(业务流程顺不顺,操作路径是否反人类,跟现有系统交互有没有断层)'
26
+ },
27
+ {
28
+ id: 'req-coverage',
29
+ question: '老板提的需求都覆盖了吗?(大需求点 vs 小需求点,显式需求 vs 隐式需求)'
30
+ },
31
+ {
32
+ id: 'boundary-cases',
33
+ question: '边界 case 跟业务预期一致吗?(异常输入 / 错误提示用户语言 / 空加载失败状态)'
34
+ },
35
+ {
36
+ id: 'ui-assembly',
37
+ question: '页面模式 / 关键交互 / 信息密度 跟产品预期一致吗?(装配验收,非视觉设计)'
38
+ },
39
+ {
40
+ id: 'exception-tone',
41
+ question: '异常态 / 边界态视觉跟产品语调一致吗?(空状态有引导 / 加载态不闪烁 / 失败态有重试入口)'
42
+ },
28
43
  { id: 'mergeable', question: '能合入下个小版本吗?(业务风险 / 用户体验风险 / 集成断点)' }
29
44
  ];
30
45
  export function buildEmptyQaReview(requestId, sessionId, now = new Date()) {
@@ -92,9 +92,7 @@ export function archiveScreenshots(options) {
92
92
  archivedAt: now.toISOString()
93
93
  };
94
94
  }
95
- const targetContentsBefore = existsSync(targetDir)
96
- ? readdirSync(targetDir)
97
- : [];
95
+ const targetContentsBefore = existsSync(targetDir) ? readdirSync(targetDir) : [];
98
96
  mkdirSync(targetDir, { recursive: true });
99
97
  const candidates = listScreenshotFiles(sourceDir, targetDir);
100
98
  const moved = [];
@@ -59,13 +59,13 @@ export async function runAstGate(input) {
59
59
  api: name,
60
60
  expectedVersion: depVersion,
61
61
  actualVersion: 'unknown', // could resolve via npm view if needed
62
- severity: 'error',
62
+ severity: 'error'
63
63
  });
64
64
  }
65
65
  }
66
66
  }
67
67
  return {
68
68
  passed: violations.length === 0,
69
- violations,
69
+ violations
70
70
  };
71
71
  }
@@ -39,7 +39,7 @@ export async function writeImpl(input) {
39
39
  inputSig: input.inputSig,
40
40
  changedFiles: [...input.changedFiles],
41
41
  externalApiCalls: [...input.externalApiCalls],
42
- astGateResult: input.astGate,
42
+ astGateResult: input.astGate
43
43
  };
44
44
  const sha256 = sha256Of(partial);
45
45
  const final = { ...partial, sha256 };
@@ -53,7 +53,7 @@ function normalizeGoal(goal) {
53
53
  return normalized;
54
54
  }
55
55
  function isClearLowRiskGoal(goal) {
56
- return /^fix\b/i.test(goal) && /\b(typo|spelling|comment|docs?|test|lint|format|copy)\b/i.test(goal);
56
+ return (/^fix\b/i.test(goal) && /\b(typo|spelling|comment|docs?|test|lint|format|copy)\b/i.test(goal));
57
57
  }
58
58
  const MIN_SAFE_SWARM_WORKERS = 25;
59
59
  const MAX_SAFE_SWARM_WORKERS = 80;
@@ -70,35 +70,71 @@ function resolveWorkerTarget(maxWorkers) {
70
70
  return { workerTarget: maxWorkers, blockedReasons: [] };
71
71
  }
72
72
  function resolveArtifactWorkspacePath(request) {
73
- return request.artifactWorkspacePath ?? (request.workspace ? getLocalArtifactPath(request.workspace) : undefined);
73
+ return (request.artifactWorkspacePath ??
74
+ (request.workspace ? getLocalArtifactPath(request.workspace) : undefined));
74
75
  }
75
76
  function hasPlannerArtifactWorkspace(request, artifactWorkspacePath) {
76
- return !!request.workspace && !!artifactWorkspacePath && hasValidArtifactWorkspace(request.workspace, artifactWorkspacePath);
77
+ return (!!request.workspace &&
78
+ !!artifactWorkspacePath &&
79
+ hasValidArtifactWorkspace(request.workspace, artifactWorkspacePath));
77
80
  }
78
81
  function buildTaskIds(workerTarget) {
79
82
  const fixed = [
80
- 'rd-discovery-1', 'rd-discovery-2', 'rd-discovery-3', 'rd-discovery-4', 'rd-discovery-5', 'rd-discovery-6', 'rd-discovery-7', 'rd-discovery-8',
81
- 'rd-planning-1', 'rd-planning-2', 'rd-planning-3', 'rd-planning-4', 'rd-planning-5', 'rd-planning-6', 'rd-planning-7', 'rd-planning-8',
82
- 'rd-test-1', 'rd-test-2', 'rd-test-3',
83
- 'peaks-qa-1', 'peaks-qa-2', 'peaks-qa-3', 'peaks-qa-4',
84
- 'rd-reducer-1',
83
+ 'rd-discovery-1',
84
+ 'rd-discovery-2',
85
+ 'rd-discovery-3',
86
+ 'rd-discovery-4',
87
+ 'rd-discovery-5',
88
+ 'rd-discovery-6',
89
+ 'rd-discovery-7',
90
+ 'rd-discovery-8',
91
+ 'rd-planning-1',
92
+ 'rd-planning-2',
93
+ 'rd-planning-3',
94
+ 'rd-planning-4',
95
+ 'rd-planning-5',
96
+ 'rd-planning-6',
97
+ 'rd-planning-7',
98
+ 'rd-planning-8',
99
+ 'rd-test-1',
100
+ 'rd-test-2',
101
+ 'rd-test-3',
102
+ 'peaks-qa-1',
103
+ 'peaks-qa-2',
104
+ 'peaks-qa-3',
105
+ 'peaks-qa-4',
106
+ 'rd-reducer-1'
85
107
  ];
86
108
  const implementationCount = Math.max(workerTarget - fixed.length, 1);
87
109
  const implementation = Array.from({ length: implementationCount }, (_, index) => `rd-impl-${String(index + 1).padStart(RD_TASK_ID_PAD_WIDTH, '0')}`);
88
- return [...fixed.slice(0, RD_FIXED_TASK_BOUNDARY), ...implementation, ...fixed.slice(RD_FIXED_TASK_BOUNDARY)];
110
+ return [
111
+ ...fixed.slice(0, RD_FIXED_TASK_BOUNDARY),
112
+ ...implementation,
113
+ ...fixed.slice(RD_FIXED_TASK_BOUNDARY)
114
+ ];
89
115
  }
90
116
  function isInsidePath(childPath, parentPath) {
91
117
  const relativePath = relative(parentPath, childPath);
92
118
  return relativePath === '' || (!relativePath.startsWith('..') && !isAbsolute(relativePath));
93
119
  }
94
120
  function isSafeRepoRelativePath(candidate) {
95
- if (!candidate || candidate.includes('\\') || candidate.startsWith('/') || /^[A-Za-z]:/.test(candidate) || candidate.includes(':') || isAbsolute(candidate)) {
121
+ if (!candidate ||
122
+ candidate.includes('\\') ||
123
+ candidate.startsWith('/') ||
124
+ /^[A-Za-z]:/.test(candidate) ||
125
+ candidate.includes(':') ||
126
+ isAbsolute(candidate)) {
96
127
  return false;
97
128
  }
98
- return candidate.split('/').every((segment) => segment.length > 0 && segment !== '.' && segment !== '..');
129
+ return candidate
130
+ .split('/')
131
+ .every((segment) => segment.length > 0 && segment !== '.' && segment !== '..');
99
132
  }
100
133
  function extractCandidatePath(line) {
101
- const trimmed = line.trim().replace(/^[-*+]\s+/, '').trim();
134
+ const trimmed = line
135
+ .trim()
136
+ .replace(/^[-*+]\s+/, '')
137
+ .trim();
102
138
  const codeSpan = trimmed.match(/^`([^`]+)`(?:\s|$)/);
103
139
  const firstToken = trimmed.split(/\s+/)[0];
104
140
  const candidate = codeSpan === null ? firstToken : codeSpan[1];
@@ -126,7 +162,9 @@ function selectConcreteTargetArea(targetAreas, index) {
126
162
  return targetAreas[index % targetAreas.length];
127
163
  }
128
164
  function getTaskModelRole(wave) {
129
- return wave === 'implementation candidates' || wave === 'unit-test execution' ? 'execution' : 'strongest';
165
+ return wave === 'implementation candidates' || wave === 'unit-test execution'
166
+ ? 'execution'
167
+ : 'strongest';
130
168
  }
131
169
  function getTaskModelId(modelRole, executionModelId, strongestModelId) {
132
170
  return modelRole === 'execution' ? executionModelId : strongestModelId;
@@ -139,11 +177,16 @@ function readArtifactFile(rootPath, artifactWorkspacePath, artifact) {
139
177
  const rootRealPath = stableRealPath(rootPath);
140
178
  const rdRootPath = resolve(rootPath, '..');
141
179
  const sessionRootPath = resolve(rdRootPath, '..');
142
- if (lstatSync(sessionRootPath).isSymbolicLink() || lstatSync(rdRootPath).isSymbolicLink() || lstatSync(rootPath).isSymbolicLink() || !isInsidePath(rootRealPath, artifactWorkspaceRealPath)) {
180
+ if (lstatSync(sessionRootPath).isSymbolicLink() ||
181
+ lstatSync(rdRootPath).isSymbolicLink() ||
182
+ lstatSync(rootPath).isSymbolicLink() ||
183
+ !isInsidePath(rootRealPath, artifactWorkspaceRealPath)) {
143
184
  return null;
144
185
  }
145
186
  const artifactStat = lstatSync(artifactPath);
146
- if (artifactStat.isSymbolicLink() || !artifactStat.isFile() || artifactStat.size > MAX_ARTIFACT_BYTES) {
187
+ if (artifactStat.isSymbolicLink() ||
188
+ !artifactStat.isFile() ||
189
+ artifactStat.size > MAX_ARTIFACT_BYTES) {
147
190
  return null;
148
191
  }
149
192
  if (!isInsidePath(stableRealPath(artifactPath), rootRealPath)) {
@@ -153,7 +196,12 @@ function readArtifactFile(rootPath, artifactWorkspacePath, artifact) {
153
196
  try {
154
197
  const openedStat = fstatSync(fd);
155
198
  const currentStat = statSync(artifactPath);
156
- if (!openedStat.isFile() || openedStat.size > MAX_ARTIFACT_BYTES || openedStat.dev !== artifactStat.dev || openedStat.ino !== artifactStat.ino || openedStat.dev !== currentStat.dev || openedStat.ino !== currentStat.ino) {
199
+ if (!openedStat.isFile() ||
200
+ openedStat.size > MAX_ARTIFACT_BYTES ||
201
+ openedStat.dev !== artifactStat.dev ||
202
+ openedStat.ino !== artifactStat.ino ||
203
+ openedStat.dev !== currentStat.dev ||
204
+ openedStat.ino !== currentStat.ino) {
157
205
  return null;
158
206
  }
159
207
  const buffer = Buffer.alloc(MAX_ARTIFACT_BYTES + 1);
@@ -171,7 +219,8 @@ function readArtifactFile(rootPath, artifactWorkspacePath, artifact) {
171
219
  closeSync(fd);
172
220
  }
173
221
  }
174
- catch { // TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
222
+ catch {
223
+ // TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
175
224
  return null;
176
225
  }
177
226
  }
@@ -188,7 +237,9 @@ function resolveExecutionModelId() {
188
237
  }
189
238
  }
190
239
  function getConcreteTargetAreas(request, artifactWorkspacePath, hasApprovedTechArtifacts) {
191
- if (!artifactWorkspacePath || !hasApprovedTechArtifacts || !hasPlannerArtifactWorkspace(request, artifactWorkspacePath)) {
240
+ if (!artifactWorkspacePath ||
241
+ !hasApprovedTechArtifacts ||
242
+ !hasPlannerArtifactWorkspace(request, artifactWorkspacePath)) {
192
243
  return [];
193
244
  }
194
245
  // Slice 2026-06-29-change-id-root-removal: read path now resolves via
@@ -213,15 +264,16 @@ function buildStandardsOverlay(request) {
213
264
  if (!request.projectRoot) {
214
265
  return {};
215
266
  }
216
- const check = resolveRdStartupStandardsCheck({ projectRoot: request.projectRoot, strict: request.strictStandards === true });
267
+ const check = resolveRdStartupStandardsCheck({
268
+ projectRoot: request.projectRoot,
269
+ strict: request.strictStandards === true
270
+ });
217
271
  // Slice 2026-06-16-peaks-rd-no-gates — Repair cycle 1:
218
272
  // thread BOTH diagnostic and errorCode so strict-mode callers still
219
273
  // surface `EPEAKS_NO_STANDARDS`. The pre-fix version early-returned
220
274
  // on `diagnostic !== null` and dropped `errorCode` (QA#4 AC3 violation).
221
275
  const overlay = { standardsGates: check.gates };
222
- const withDiagnostic = check.diagnostic !== null
223
- ? { ...overlay, standardsDiagnostic: check.diagnostic }
224
- : overlay;
276
+ const withDiagnostic = check.diagnostic !== null ? { ...overlay, standardsDiagnostic: check.diagnostic } : overlay;
225
277
  return check.errorCode !== null
226
278
  ? { ...withDiagnostic, standardsErrorCode: check.errorCode }
227
279
  : withDiagnostic;
@@ -241,7 +293,7 @@ function buildPlan(request, standardsOverlay) {
241
293
  const techStatus = getTechStatus({
242
294
  sessionId: request.sessionId,
243
295
  ...(artifactWorkspacePath ? { artifactWorkspacePath } : {}),
244
- ...(request.workspace ? { workspace: request.workspace } : {}),
296
+ ...(request.workspace ? { workspace: request.workspace } : {})
245
297
  });
246
298
  const requiresTechApproval = request.requiresTechApproval ?? !isClearLowRiskGoal(goal);
247
299
  const techGateSkipped = !requiresTechApproval;
@@ -259,15 +311,17 @@ function buildPlan(request, standardsOverlay) {
259
311
  taskGraph: 'rd/swarm/task-graph.json',
260
312
  waveManifests: [],
261
313
  workerBriefs: [],
262
- reducerReport: 'rd/swarm/reducer-report.md',
314
+ reducerReport: 'rd/swarm/reducer-report.md'
263
315
  },
264
316
  gateStatus: withStandardsOverlay({
265
317
  techApprovalRequired: requiresTechApproval,
266
318
  techStatus: techStatus.status,
267
- ...(techGateSkipped ? { skipReason: 'tech-gate-skipped-clear-implementation-path' } : {}),
319
+ ...(techGateSkipped
320
+ ? { skipReason: 'tech-gate-skipped-clear-implementation-path' }
321
+ : {})
268
322
  }, standardsOverlay),
269
323
  blockedReasons,
270
- nextActions: [],
324
+ nextActions: []
271
325
  };
272
326
  }
273
327
  if (requiresTechApproval && techStatus.status !== 'approved') {
@@ -284,14 +338,16 @@ function buildPlan(request, standardsOverlay) {
284
338
  taskGraph: 'rd/swarm/task-graph.json',
285
339
  waveManifests: [],
286
340
  workerBriefs: [],
287
- reducerReport: 'rd/swarm/reducer-report.md',
341
+ reducerReport: 'rd/swarm/reducer-report.md'
288
342
  },
289
343
  gateStatus: withStandardsOverlay({
290
344
  techApprovalRequired: true,
291
- techStatus: techStatus.status,
345
+ techStatus: techStatus.status
292
346
  }, standardsOverlay),
293
347
  blockedReasons: ['tech-approval-required', ...blockedReasons],
294
- nextActions: ['Run peaks tech plan --dry-run and approve the tech plan before running peaks swarm plan.'],
348
+ nextActions: [
349
+ 'Run peaks tech plan --dry-run and approve the tech plan before running peaks swarm plan.'
350
+ ]
295
351
  };
296
352
  }
297
353
  if (blockedReasons.includes('worker-count-below-target')) {
@@ -308,15 +364,19 @@ function buildPlan(request, standardsOverlay) {
308
364
  taskGraph: 'rd/swarm/task-graph.json',
309
365
  waveManifests: [],
310
366
  workerBriefs: [],
311
- reducerReport: 'rd/swarm/reducer-report.md',
367
+ reducerReport: 'rd/swarm/reducer-report.md'
312
368
  },
313
369
  gateStatus: withStandardsOverlay({
314
370
  techApprovalRequired: requiresTechApproval,
315
371
  techStatus: techStatus.status,
316
- ...(techGateSkipped ? { skipReason: 'tech-gate-skipped-clear-implementation-path' } : {}),
372
+ ...(techGateSkipped
373
+ ? { skipReason: 'tech-gate-skipped-clear-implementation-path' }
374
+ : {})
317
375
  }, standardsOverlay),
318
376
  blockedReasons,
319
- nextActions: ['Lower max-workers to match the current change scope or accept the capped target.'],
377
+ nextActions: [
378
+ 'Lower max-workers to match the current change scope or accept the capped target.'
379
+ ]
320
380
  };
321
381
  }
322
382
  const taskIds = buildTaskIds(workerTarget);
@@ -333,7 +393,7 @@ function buildPlan(request, standardsOverlay) {
333
393
  { name: 'implementation candidates', taskIds: [...implementationTaskIds] },
334
394
  { name: 'unit-test execution', taskIds: [...unitTestTaskIds] },
335
395
  { name: 'quality gates', taskIds: [...qualityTaskIds] },
336
- { name: 'reducer', taskIds: [...reducerTaskIds] },
396
+ { name: 'reducer', taskIds: [...reducerTaskIds] }
337
397
  ];
338
398
  const waveDependencies = {
339
399
  discovery: [],
@@ -341,10 +401,20 @@ function buildPlan(request, standardsOverlay) {
341
401
  'implementation candidates': planningTaskIds,
342
402
  'unit-test execution': implementationTaskIds,
343
403
  'quality gates': unitTestTaskIds,
344
- reducer: qualityTaskIds,
404
+ reducer: qualityTaskIds
345
405
  };
346
406
  const tasks = taskIds.map((taskId, index) => {
347
- const wave = index < RD_DISCOVERY_PLANNING_WAVE_SIZE ? 'discovery' : index < RD_IMPLEMENTATION_BAND_START ? 'planning' : index < taskIds.length - RD_DISCOVERY_PLANNING_WAVE_SIZE ? 'implementation candidates' : index < taskIds.length - RD_QUALITY_GATE_BAND_SIZE ? 'unit-test execution' : index < taskIds.length - 1 ? 'quality gates' : 'reducer';
407
+ const wave = index < RD_DISCOVERY_PLANNING_WAVE_SIZE
408
+ ? 'discovery'
409
+ : index < RD_IMPLEMENTATION_BAND_START
410
+ ? 'planning'
411
+ : index < taskIds.length - RD_DISCOVERY_PLANNING_WAVE_SIZE
412
+ ? 'implementation candidates'
413
+ : index < taskIds.length - RD_QUALITY_GATE_BAND_SIZE
414
+ ? 'unit-test execution'
415
+ : index < taskIds.length - 1
416
+ ? 'quality gates'
417
+ : 'reducer';
348
418
  const briefPath = `rd/swarm/workers/${taskId}/brief.md`;
349
419
  const implementationIndex = index - RD_IMPLEMENTATION_BAND_START;
350
420
  const targetArea = wave === 'implementation candidates' && hasConcreteTargetAreas(concreteTargetAreas)
@@ -371,14 +441,14 @@ function buildPlan(request, standardsOverlay) {
371
441
  ? `${taskId}-test-command-result.md`
372
442
  : wave === 'quality gates'
373
443
  ? `${taskId}-qa-review.md`
374
- : `${taskId}.md`,
444
+ : `${taskId}.md`
375
445
  };
376
446
  });
377
447
  const conflictGroups = waves.map((wave) => ({
378
448
  groupId: `group-${wave.name.replace(/\s+/g, '-')}`,
379
449
  ownedPaths: wave.taskIds.map((taskId) => `rd/swarm/workers/${taskId}/brief.md`),
380
450
  parallelismPolicy: wave.taskIds.length > 1 ? 'parallel' : 'sequential',
381
- reason: `${wave.name} work is isolated by worker output path`,
451
+ reason: `${wave.name} work is isolated by worker output path`
382
452
  }));
383
453
  return {
384
454
  sessionId: request.sessionId,
@@ -393,15 +463,19 @@ function buildPlan(request, standardsOverlay) {
393
463
  taskGraph: 'rd/swarm/task-graph.json',
394
464
  waveManifests: waves.map((_wave, index) => `rd/swarm/waves/wave-${index + 1}-${_wave.name}.json`),
395
465
  workerBriefs: tasks.map((task) => task.outputs[0]),
396
- reducerReport: 'rd/swarm/reducer-report.md',
466
+ reducerReport: 'rd/swarm/reducer-report.md'
397
467
  },
398
468
  gateStatus: withStandardsOverlay({
399
469
  techApprovalRequired: requiresTechApproval,
400
470
  techStatus: techStatus.status,
401
- ...(techGateSkipped ? { skipReason: 'tech-gate-skipped-clear-implementation-path' } : {}),
471
+ ...(techGateSkipped
472
+ ? { skipReason: 'tech-gate-skipped-clear-implementation-path' }
473
+ : {})
402
474
  }, standardsOverlay),
403
475
  blockedReasons,
404
- nextActions: blockedReasons.length > 0 ? ['Lower max-workers to match the current change scope or accept the capped target.'] : [],
476
+ nextActions: blockedReasons.length > 0
477
+ ? ['Lower max-workers to match the current change scope or accept the capped target.']
478
+ : []
405
479
  };
406
480
  }
407
481
  export function createRdSwarmPlan(request) {
@@ -425,7 +499,7 @@ export function createRdSwarmPlan(request) {
425
499
  outputs: result.outputs,
426
500
  gateStatus: result.gateStatus,
427
501
  blockedReasons: result.blockedReasons,
428
- nextActions: [...WORKSPACE_UNAVAILABLE_NEXT_ACTIONS],
502
+ nextActions: [...WORKSPACE_UNAVAILABLE_NEXT_ACTIONS]
429
503
  };
430
504
  }
431
505
  const blockedReason = result.blockedReasons[0];
@@ -443,11 +517,11 @@ export function createRdSwarmPlan(request) {
443
517
  outputs: result.outputs,
444
518
  gateStatus: result.gateStatus,
445
519
  blockedReasons: result.blockedReasons,
446
- nextActions: result.nextActions,
520
+ nextActions: result.nextActions
447
521
  };
448
522
  }
449
523
  return {
450
524
  available: true,
451
- ...result,
525
+ ...result
452
526
  };
453
527
  }
@@ -26,12 +26,33 @@
26
26
  * PRD handoff + the project-scoped audit templates (slice v2.12.0
27
27
  * Tier 1+2+3 = Group A).
28
28
  *
29
- * The dispatch policy here is the **canonical decision table** consumed
30
- * by the LLM-side runner and pinned by tests:
31
- * - `tests/unit/rd/karpathy-skip-on-config-docs-chore.test.ts`
32
- * (5 → 3 element pinning)
33
- * - `tests/unit/rd/deprecated-reviewer-back-compat.test.ts`
34
- * (NEW in v2.12.0 — 8 cases; back-compat for the 2 removed slots)
29
+ * This module holds the machine-readable decision table for that collapse;
30
+ * the prose the LLM runner actually reads is
31
+ * `skills/bee/peaks-rd/references/parallel-review-fanout.md`. It used to
32
+ * describe itself as "consumed by the LLM-side runner", which named no
33
+ * mechanism — an LLM reads prose, not TypeScript exports — and that is the
34
+ * reason every export below sat at zero importers until slice F2.
35
+ *
36
+ * Pinning is half-done. The two test files this block used to cite —
37
+ * `tests/unit/rd/karpathy-skip-on-config-docs-chore.test.ts` (the 5 → 3
38
+ * element pinning) and
39
+ * `tests/unit/rd/deprecated-reviewer-back-compat.test.ts` (the 8
40
+ * back-compat cases) — were both deleted in `f17aa377`. The **predicate
41
+ * half** was re-pinned by `tests/unit/rd/reviewer-dispatch-policy.test.ts`
42
+ * (`7191140f`, 6 cases: `RD_DEPRECATED_REVIEWERS` + `isDeprecatedReviewer`).
43
+ * The **decision-table half** — `RD_FANOUT_REVIEWERS`' 3-element
44
+ * membership, `reviewerListFor`, `karpathySlotIndex`,
45
+ * `shouldDispatchKarpathy` — still has no pin.
46
+ *
47
+ * Slice F2 (rid-f2-ac1-wiring) gave this module its FIRST caller in
48
+ * `src/cli/commands/sub-agent-shared.ts` (`deprecatedReviewerWarnings`),
49
+ * invoked from the dispatch chokepoint in
50
+ * `src/cli/commands/dispatch-commands.ts` and pinned by
51
+ * `tests/unit/cli/sub-agent-dispatch-deprecated-reviewer.test.ts`. Before
52
+ * that, all 13 exports had zero importers across src/ + packages/ +
53
+ * scripts/, so nothing rejected or rerouted `security-reviewer` /
54
+ * `perf-baseline-reviewer` on the way in. That import is still the only
55
+ * one: the other 12 exports below remain unreferenced in this repo.
35
56
  *
36
57
  * For `config | docs | chore` request types, the slice already skips
37
58
  * the entire fanout (SKILL.md line 132 says "Config / docs / chore: no
@@ -47,8 +68,15 @@
47
68
  * back-compat window. The `isDeprecatedReviewer(name)` predicate lets
48
69
  * dispatchers (or legacy on-disk rd/{security-review,perf-baseline}.md
49
70
  * readers) detect a removed slot and route to the new audit skill
50
- * instead of failing the gate. See Tier 5 (`artifact-prerequisites.ts`)
51
- * for the matching prereq-side back-compat (`mustContainAny` form).
71
+ * instead of failing the gate. Tier 5 (`artifact-prerequisites.ts`)
72
+ * holds the matching prereq-side back-compat: `AUDIT_SECURITY` /
73
+ * `AUDIT_PERF` accept the legacy `rd/security-review.md` /
74
+ * `rd/perf-baseline.md` artifacts via `legacyRelativePaths`.
75
+ *
76
+ * Both halves are wired as of slice F2 and both ACCEPT the legacy slot.
77
+ * The dispatch side emits the reroute notice as a warning
78
+ * (`deprecatedReviewerWarnings`) rather than a refusal, precisely so it
79
+ * does not disagree with the prereq side about the same deprecation.
52
80
  */
53
81
  export declare const RD_REVIEW_REQUEST_TYPES: readonly ["feat", "bugfix", "refactor", "config", "docs", "chore"];
54
82
  export type RdReviewRequestType = (typeof RD_REVIEW_REQUEST_TYPES)[number];