peaks-loop 4.0.0-beta.8 → 4.0.0-beta.9

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 (1064) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/bin/peaks.js +1 -1
  3. package/dist/cli/cli-helpers.d.ts +43 -0
  4. package/dist/cli/cli-helpers.js +86 -0
  5. package/dist/cli/commands/_cli-error-envelope.d.ts +19 -0
  6. package/dist/cli/commands/_cli-error-envelope.js +50 -0
  7. package/dist/cli/commands/adapter-commands-s2a.d.ts +34 -0
  8. package/dist/cli/commands/adapter-commands-s2a.js +92 -0
  9. package/dist/cli/commands/adapter-commands.d.ts +30 -0
  10. package/dist/cli/commands/adapter-commands.js +35 -0
  11. package/dist/cli/commands/agent-commands.d.ts +20 -0
  12. package/dist/cli/commands/agent-commands.js +48 -0
  13. package/dist/cli/commands/asset-commands.d.ts +45 -0
  14. package/dist/cli/commands/asset-commands.js +404 -0
  15. package/dist/cli/commands/audit-commands.d.ts +28 -0
  16. package/dist/cli/commands/audit-commands.js +437 -0
  17. package/dist/cli/commands/bee-commands.d.ts +26 -0
  18. package/dist/cli/commands/bee-commands.js +169 -0
  19. package/dist/cli/commands/capability-commands.d.ts +16 -0
  20. package/dist/cli/commands/capability-commands.js +45 -0
  21. package/dist/cli/commands/capability-worker-config-sc-commands.d.ts +3 -0
  22. package/dist/cli/commands/capability-worker-config-sc-commands.js +10 -0
  23. package/dist/cli/commands/classify-classify-commands.d.ts +19 -0
  24. package/dist/cli/commands/classify-classify-commands.js +151 -0
  25. package/dist/cli/commands/code-commands.d.ts +80 -0
  26. package/dist/cli/commands/code-commands.js +798 -0
  27. package/dist/cli/commands/code-review-commands.d.ts +34 -0
  28. package/dist/cli/commands/code-review-commands.js +83 -0
  29. package/dist/cli/commands/codegraph-commands.d.ts +3 -0
  30. package/dist/cli/commands/codegraph-commands.js +99 -0
  31. package/dist/cli/commands/compact-command.d.ts +21 -0
  32. package/dist/cli/commands/compact-command.js +252 -0
  33. package/dist/cli/commands/complexity-commands.d.ts +9 -0
  34. package/dist/cli/commands/complexity-commands.js +34 -0
  35. package/dist/cli/commands/config-commands.d.ts +3 -0
  36. package/dist/cli/commands/config-commands.js +220 -0
  37. package/dist/cli/commands/context-builder-commands.d.ts +11 -0
  38. package/dist/cli/commands/context-builder-commands.js +85 -0
  39. package/dist/cli/commands/context-commands.d.ts +21 -0
  40. package/dist/cli/commands/context-commands.js +254 -0
  41. package/dist/cli/commands/contract-commands.d.ts +26 -0
  42. package/dist/cli/commands/contract-commands.js +114 -0
  43. package/dist/cli/commands/core/artifacts-command.d.ts +3 -0
  44. package/dist/cli/commands/core/artifacts-command.js +62 -0
  45. package/dist/cli/commands/core/binding-commands.d.ts +3 -0
  46. package/dist/cli/commands/core/binding-commands.js +58 -0
  47. package/dist/cli/commands/core/doctor-command.d.ts +11 -0
  48. package/dist/cli/commands/core/doctor-command.js +204 -0
  49. package/dist/cli/commands/core/memory-command.d.ts +3 -0
  50. package/dist/cli/commands/core/memory-command.js +98 -0
  51. package/dist/cli/commands/core/profile-command.d.ts +3 -0
  52. package/dist/cli/commands/core/profile-command.js +9 -0
  53. package/dist/cli/commands/core/proxy-command.d.ts +3 -0
  54. package/dist/cli/commands/core/proxy-command.js +26 -0
  55. package/dist/cli/commands/core/session-command.d.ts +3 -0
  56. package/dist/cli/commands/core/session-command.js +241 -0
  57. package/dist/cli/commands/core/skill-command.d.ts +3 -0
  58. package/dist/cli/commands/core/skill-command.js +300 -0
  59. package/dist/cli/commands/core/standards-command.d.ts +3 -0
  60. package/dist/cli/commands/core/standards-command.js +95 -0
  61. package/dist/cli/commands/core-artifact-commands.d.ts +15 -0
  62. package/dist/cli/commands/core-artifact-commands.js +31 -0
  63. package/dist/cli/commands/dispatch-commands.d.ts +10 -0
  64. package/dist/cli/commands/dispatch-commands.js +351 -0
  65. package/dist/cli/commands/dispatch-from-dag.d.ts +3 -0
  66. package/dist/cli/commands/dispatch-from-dag.js +251 -0
  67. package/dist/cli/commands/doc-commands.d.ts +11 -0
  68. package/dist/cli/commands/doc-commands.js +65 -0
  69. package/dist/cli/commands/evolution-commands.d.ts +27 -0
  70. package/dist/cli/commands/evolution-commands.js +393 -0
  71. package/dist/cli/commands/feedback-commands.d.ts +18 -0
  72. package/dist/cli/commands/feedback-commands.js +145 -0
  73. package/dist/cli/commands/final-review-commands.d.ts +31 -0
  74. package/dist/cli/commands/final-review-commands.js +161 -0
  75. package/dist/cli/commands/fixture-commands.d.ts +32 -0
  76. package/dist/cli/commands/fixture-commands.js +91 -0
  77. package/dist/cli/commands/fork-commands.d.ts +16 -0
  78. package/dist/cli/commands/fork-commands.js +163 -0
  79. package/dist/cli/commands/gate-commands.d.ts +3 -0
  80. package/dist/cli/commands/gate-commands.js +117 -0
  81. package/dist/cli/commands/heartbeat-commands.d.ts +3 -0
  82. package/dist/cli/commands/heartbeat-commands.js +135 -0
  83. package/dist/cli/commands/hook-handle.d.ts +17 -0
  84. package/dist/cli/commands/hook-handle.js +157 -0
  85. package/dist/cli/commands/hooks-commands.d.ts +3 -0
  86. package/dist/cli/commands/hooks-commands.js +156 -0
  87. package/dist/cli/commands/ide-commands.d.ts +25 -0
  88. package/dist/cli/commands/ide-commands.js +42 -0
  89. package/dist/cli/commands/impact-commands.d.ts +15 -0
  90. package/dist/cli/commands/impact-commands.js +62 -0
  91. package/dist/cli/commands/job-commands.d.ts +3 -0
  92. package/dist/cli/commands/job-commands.js +289 -0
  93. package/dist/cli/commands/legacy-commands.d.ts +11 -0
  94. package/dist/cli/commands/legacy-commands.js +32 -0
  95. package/dist/cli/commands/log-commands.d.ts +17 -0
  96. package/dist/cli/commands/log-commands.js +64 -0
  97. package/dist/cli/commands/loop-commands.d.ts +27 -0
  98. package/dist/cli/commands/loop-commands.js +262 -0
  99. package/dist/cli/commands/loop-eval-commands.d.ts +20 -0
  100. package/dist/cli/commands/loop-eval-commands.js +526 -0
  101. package/dist/cli/commands/memory-commands.d.ts +23 -0
  102. package/dist/cli/commands/memory-commands.js +129 -0
  103. package/dist/cli/commands/migrate-1-4-1-command.d.ts +11 -0
  104. package/dist/cli/commands/migrate-1-4-1-command.js +34 -0
  105. package/dist/cli/commands/migrate-v2-10-to-v2-11-command.d.ts +20 -0
  106. package/dist/cli/commands/migrate-v2-10-to-v2-11-command.js +52 -0
  107. package/dist/cli/commands/mut-commands.d.ts +20 -0
  108. package/dist/cli/commands/mut-commands.js +239 -0
  109. package/dist/cli/commands/observability-commands.d.ts +22 -0
  110. package/dist/cli/commands/observability-commands.js +201 -0
  111. package/dist/cli/commands/openspec-commands.d.ts +3 -0
  112. package/dist/cli/commands/openspec-commands.js +237 -0
  113. package/dist/cli/commands/perf-audit-commands.d.ts +22 -0
  114. package/dist/cli/commands/perf-audit-commands.js +132 -0
  115. package/dist/cli/commands/perf-commands.d.ts +3 -0
  116. package/dist/cli/commands/perf-commands.js +41 -0
  117. package/dist/cli/commands/playwright-commands.d.ts +95 -0
  118. package/dist/cli/commands/playwright-commands.js +432 -0
  119. package/dist/cli/commands/polyrepo-commands.d.ts +37 -0
  120. package/dist/cli/commands/polyrepo-commands.js +155 -0
  121. package/dist/cli/commands/prd-blocks-commands.d.ts +18 -0
  122. package/dist/cli/commands/prd-blocks-commands.js +50 -0
  123. package/dist/cli/commands/prd-commands.d.ts +18 -0
  124. package/dist/cli/commands/prd-commands.js +141 -0
  125. package/dist/cli/commands/preferences-commands.d.ts +2 -0
  126. package/dist/cli/commands/preferences-commands.js +197 -0
  127. package/dist/cli/commands/project-commands.d.ts +3 -0
  128. package/dist/cli/commands/project-commands.js +253 -0
  129. package/dist/cli/commands/qa-business-review-commands.d.ts +17 -0
  130. package/dist/cli/commands/qa-business-review-commands.js +148 -0
  131. package/dist/cli/commands/qa-commands.d.ts +94 -0
  132. package/dist/cli/commands/qa-commands.js +271 -0
  133. package/dist/cli/commands/release-commands.d.ts +24 -0
  134. package/dist/cli/commands/release-commands.js +231 -0
  135. package/dist/cli/commands/request-commands.d.ts +3 -0
  136. package/dist/cli/commands/request-commands.js +548 -0
  137. package/dist/cli/commands/retrospective-commands.d.ts +12 -0
  138. package/dist/cli/commands/retrospective-commands.js +175 -0
  139. package/dist/cli/commands/reviewer-commands.d.ts +14 -0
  140. package/dist/cli/commands/reviewer-commands.js +64 -0
  141. package/dist/cli/commands/role-commands.d.ts +13 -0
  142. package/dist/cli/commands/role-commands.js +85 -0
  143. package/dist/cli/commands/runtime-commands.d.ts +52 -0
  144. package/dist/cli/commands/runtime-commands.js +150 -0
  145. package/dist/cli/commands/sc-commands.d.ts +3 -0
  146. package/dist/cli/commands/sc-commands.js +45 -0
  147. package/dist/cli/commands/scan-commands.d.ts +3 -0
  148. package/dist/cli/commands/scan-commands.js +445 -0
  149. package/dist/cli/commands/security-audit-commands.d.ts +23 -0
  150. package/dist/cli/commands/security-audit-commands.js +132 -0
  151. package/dist/cli/commands/sediment-commands.d.ts +80 -0
  152. package/dist/cli/commands/sediment-commands.js +649 -0
  153. package/dist/cli/commands/session-auto-compact-hook-command.d.ts +37 -0
  154. package/dist/cli/commands/session-auto-compact-hook-command.js +127 -0
  155. package/dist/cli/commands/session-checkpoint-command.d.ts +10 -0
  156. package/dist/cli/commands/session-checkpoint-command.js +100 -0
  157. package/dist/cli/commands/session-migrate-skill-name.d.ts +17 -0
  158. package/dist/cli/commands/session-migrate-skill-name.js +41 -0
  159. package/dist/cli/commands/session-resume-command.d.ts +11 -0
  160. package/dist/cli/commands/session-resume-command.js +83 -0
  161. package/dist/cli/commands/share-commands.d.ts +17 -0
  162. package/dist/cli/commands/share-commands.js +296 -0
  163. package/dist/cli/commands/skill-conformance-commands.d.ts +9 -0
  164. package/dist/cli/commands/skill-conformance-commands.js +39 -0
  165. package/dist/cli/commands/skill-loop-engineering-readiness-commands.d.ts +67 -0
  166. package/dist/cli/commands/skill-loop-engineering-readiness-commands.js +173 -0
  167. package/dist/cli/commands/skill-search-commands.d.ts +25 -0
  168. package/dist/cli/commands/skill-search-commands.js +68 -0
  169. package/dist/cli/commands/skill-visibility.d.ts +8 -0
  170. package/dist/cli/commands/skill-visibility.js +63 -0
  171. package/dist/cli/commands/slice-commands.d.ts +24 -0
  172. package/dist/cli/commands/slice-commands.js +492 -0
  173. package/dist/cli/commands/slice-integrate-commands.d.ts +11 -0
  174. package/dist/cli/commands/slice-integrate-commands.js +74 -0
  175. package/dist/cli/commands/slice-review-commands.d.ts +23 -0
  176. package/dist/cli/commands/slice-review-commands.js +162 -0
  177. package/dist/cli/commands/smoke-commands.d.ts +21 -0
  178. package/dist/cli/commands/smoke-commands.js +203 -0
  179. package/dist/cli/commands/sop-commands.d.ts +3 -0
  180. package/dist/cli/commands/sop-commands.js +215 -0
  181. package/dist/cli/commands/statusline-commands.d.ts +3 -0
  182. package/dist/cli/commands/statusline-commands.js +169 -0
  183. package/dist/cli/commands/sub-agent-commands.d.ts +22 -0
  184. package/dist/cli/commands/sub-agent-commands.js +19 -0
  185. package/dist/cli/commands/sub-agent-dispatch-guard.d.ts +55 -0
  186. package/dist/cli/commands/sub-agent-dispatch-guard.js +57 -0
  187. package/dist/cli/commands/sub-agent-shared.d.ts +99 -0
  188. package/dist/cli/commands/sub-agent-shared.js +67 -0
  189. package/dist/cli/commands/test-commands.d.ts +47 -0
  190. package/dist/cli/commands/test-commands.js +204 -0
  191. package/dist/cli/commands/understand-commands.d.ts +3 -0
  192. package/dist/cli/commands/understand-commands.js +148 -0
  193. package/dist/cli/commands/upgrade-commands.d.ts +23 -0
  194. package/dist/cli/commands/upgrade-commands.js +119 -0
  195. package/dist/cli/commands/user-touchpoint-commands.d.ts +18 -0
  196. package/dist/cli/commands/user-touchpoint-commands.js +78 -0
  197. package/dist/cli/commands/verdict-aggregate-command.d.ts +14 -0
  198. package/dist/cli/commands/verdict-aggregate-command.js +106 -0
  199. package/dist/cli/commands/worker-commands.d.ts +3 -0
  200. package/dist/cli/commands/worker-commands.js +52 -0
  201. package/dist/cli/commands/workflow-commands.d.ts +3 -0
  202. package/dist/cli/commands/workflow-commands.js +544 -0
  203. package/dist/cli/commands/workflow-plan-commands.d.ts +39 -0
  204. package/dist/cli/commands/workflow-plan-commands.js +163 -0
  205. package/dist/cli/commands/workspace/clean-command.d.ts +14 -0
  206. package/dist/cli/commands/workspace/clean-command.js +49 -0
  207. package/dist/cli/commands/workspace/helpers.d.ts +28 -0
  208. package/dist/cli/commands/workspace/helpers.js +87 -0
  209. package/dist/cli/commands/workspace/init-command.d.ts +139 -0
  210. package/dist/cli/commands/workspace/init-command.js +505 -0
  211. package/dist/cli/commands/workspace/migrate-command.d.ts +11 -0
  212. package/dist/cli/commands/workspace/migrate-command.js +91 -0
  213. package/dist/cli/commands/workspace/reconcile-command.d.ts +14 -0
  214. package/dist/cli/commands/workspace/reconcile-command.js +103 -0
  215. package/dist/cli/commands/workspace-commands.d.ts +18 -0
  216. package/dist/cli/commands/workspace-commands.js +50 -0
  217. package/dist/cli/index.d.ts +1 -0
  218. package/dist/cli/index.js +30 -0
  219. package/dist/cli/program.d.ts +5 -0
  220. package/dist/cli/program.js +408 -0
  221. package/dist/hooks/pre-tool-use-sub-agent.d.ts +28 -0
  222. package/dist/hooks/pre-tool-use-sub-agent.js +105 -0
  223. package/dist/lib/render/message-renderer.d.ts +20 -0
  224. package/dist/lib/render/message-renderer.js +80 -0
  225. package/dist/services/adapter/adapter-registry.d.ts +48 -0
  226. package/dist/services/adapter/adapter-registry.js +186 -0
  227. package/dist/services/adapter/adapter.d.ts +27 -0
  228. package/dist/services/adapter/adapter.js +5 -0
  229. package/dist/services/adapter/auto-adapter.d.ts +11 -0
  230. package/dist/services/adapter/auto-adapter.js +15 -0
  231. package/dist/services/adapter/claude-adapter.d.ts +14 -0
  232. package/dist/services/adapter/claude-adapter.js +40 -0
  233. package/dist/services/adapter/codex-adapter.d.ts +14 -0
  234. package/dist/services/adapter/codex-adapter.js +14 -0
  235. package/dist/services/adapter/copilot-adapter.d.ts +14 -0
  236. package/dist/services/adapter/copilot-adapter.js +14 -0
  237. package/dist/services/agent/ecc-agent-service.d.ts +47 -0
  238. package/dist/services/agent/ecc-agent-service.js +143 -0
  239. package/dist/services/artifacts/artifact-lint-service.d.ts +23 -0
  240. package/dist/services/artifacts/artifact-lint-service.js +99 -0
  241. package/dist/services/artifacts/artifact-prerequisites.d.ts +78 -0
  242. package/dist/services/artifacts/artifact-prerequisites.js +491 -0
  243. package/dist/services/artifacts/artifact-service.d.ts +43 -0
  244. package/dist/services/artifacts/artifact-service.js +98 -0
  245. package/dist/services/artifacts/artifact-templates.d.ts +30 -0
  246. package/dist/services/artifacts/artifact-templates.js +302 -0
  247. package/dist/services/artifacts/repair-cycle-service.d.ts +23 -0
  248. package/dist/services/artifacts/repair-cycle-service.js +52 -0
  249. package/dist/services/artifacts/request-artifact-service.d.ts +116 -0
  250. package/dist/services/artifacts/request-artifact-service.js +451 -0
  251. package/dist/services/artifacts/request-artifact-state-helpers.d.ts +51 -0
  252. package/dist/services/artifacts/request-artifact-state-helpers.js +114 -0
  253. package/dist/services/artifacts/workspace-service.d.ts +34 -0
  254. package/dist/services/artifacts/workspace-service.js +272 -0
  255. package/dist/services/audit/artifact-writer.d.ts +93 -0
  256. package/dist/services/audit/artifact-writer.js +303 -0
  257. package/dist/services/audit/audit-goal-service.d.ts +35 -0
  258. package/dist/services/audit/audit-goal-service.js +75 -0
  259. package/dist/services/audit/audit-goal-types.d.ts +40 -0
  260. package/dist/services/audit/audit-goal-types.js +15 -0
  261. package/dist/services/audit/backing-detector.d.ts +24 -0
  262. package/dist/services/audit/backing-detector.js +59 -0
  263. package/dist/services/audit/classifier.d.ts +38 -0
  264. package/dist/services/audit/classifier.js +134 -0
  265. package/dist/services/audit/decision-writer.d.ts +76 -0
  266. package/dist/services/audit/decision-writer.js +217 -0
  267. package/dist/services/audit/enforcers/active-skill-resolver.d.ts +29 -0
  268. package/dist/services/audit/enforcers/active-skill-resolver.js +71 -0
  269. package/dist/services/audit/enforcers/code-ban.d.ts +23 -0
  270. package/dist/services/audit/enforcers/code-ban.js +27 -0
  271. package/dist/services/audit/enforcers/design-draft-confirm.d.ts +24 -0
  272. package/dist/services/audit/enforcers/design-draft-confirm.js +58 -0
  273. package/dist/services/audit/enforcers/lint-audit-regression.d.ts +21 -0
  274. package/dist/services/audit/enforcers/lint-audit-regression.js +86 -0
  275. package/dist/services/audit/enforcers/lint-catalog-governance.d.ts +32 -0
  276. package/dist/services/audit/enforcers/lint-catalog-governance.js +48 -0
  277. package/dist/services/audit/enforcers/lint-cli-back.d.ts +16 -0
  278. package/dist/services/audit/enforcers/lint-cli-back.js +35 -0
  279. package/dist/services/audit/enforcers/lint-output-style.d.ts +11 -0
  280. package/dist/services/audit/enforcers/lint-output-style.js +94 -0
  281. package/dist/services/audit/enforcers/lint-reference-integrity.d.ts +6 -0
  282. package/dist/services/audit/enforcers/lint-reference-integrity.js +83 -0
  283. package/dist/services/audit/enforcers/lint-reference-shape.d.ts +30 -0
  284. package/dist/services/audit/enforcers/lint-reference-shape.js +272 -0
  285. package/dist/services/audit/enforcers/lint-style.d.ts +49 -0
  286. package/dist/services/audit/enforcers/lint-style.js +173 -0
  287. package/dist/services/audit/enforcers/lint-workflow-shape.d.ts +4 -0
  288. package/dist/services/audit/enforcers/lint-workflow-shape.js +100 -0
  289. package/dist/services/audit/enforcers/login-gate.d.ts +23 -0
  290. package/dist/services/audit/enforcers/login-gate.js +40 -0
  291. package/dist/services/audit/enforcers/mock-placement.d.ts +25 -0
  292. package/dist/services/audit/enforcers/mock-placement.js +48 -0
  293. package/dist/services/audit/enforcers/no-root-pollution.d.ts +21 -0
  294. package/dist/services/audit/enforcers/no-root-pollution.js +56 -0
  295. package/dist/services/audit/enforcers/pre-rd-scan.d.ts +22 -0
  296. package/dist/services/audit/enforcers/pre-rd-scan.js +23 -0
  297. package/dist/services/audit/enforcers/prototype-fidelity.d.ts +25 -0
  298. package/dist/services/audit/enforcers/prototype-fidelity.js +75 -0
  299. package/dist/services/audit/enforcers/resume-detection.d.ts +21 -0
  300. package/dist/services/audit/enforcers/resume-detection.js +52 -0
  301. package/dist/services/audit/enforcers/sub-agent-sid.d.ts +25 -0
  302. package/dist/services/audit/enforcers/sub-agent-sid.js +63 -0
  303. package/dist/services/audit/prose-ratio-calculator.d.ts +45 -0
  304. package/dist/services/audit/prose-ratio-calculator.js +52 -0
  305. package/dist/services/audit/red-line-catalog-p2-a.d.ts +21 -0
  306. package/dist/services/audit/red-line-catalog-p2-a.js +229 -0
  307. package/dist/services/audit/red-line-catalog-p2-b.d.ts +19 -0
  308. package/dist/services/audit/red-line-catalog-p2-b.js +225 -0
  309. package/dist/services/audit/red-line-catalog.d.ts +51 -0
  310. package/dist/services/audit/red-line-catalog.js +195 -0
  311. package/dist/services/audit/red-lines-service.d.ts +23 -0
  312. package/dist/services/audit/red-lines-service.js +464 -0
  313. package/dist/services/audit/scanners/openspec-scanner.d.ts +15 -0
  314. package/dist/services/audit/scanners/openspec-scanner.js +55 -0
  315. package/dist/services/audit/scanners/rules-tree-scanner.d.ts +16 -0
  316. package/dist/services/audit/scanners/rules-tree-scanner.js +56 -0
  317. package/dist/services/audit/scanners/skills-tree-scanner.d.ts +17 -0
  318. package/dist/services/audit/scanners/skills-tree-scanner.js +68 -0
  319. package/dist/services/audit/static-service.d.ts +60 -0
  320. package/dist/services/audit/static-service.js +130 -0
  321. package/dist/services/audit/types.d.ts +86 -0
  322. package/dist/services/audit/types.js +13 -0
  323. package/dist/services/audit-independent/perf-audit-service.d.ts +151 -0
  324. package/dist/services/audit-independent/perf-audit-service.js +316 -0
  325. package/dist/services/audit-independent/security-audit-service.d.ts +155 -0
  326. package/dist/services/audit-independent/security-audit-service.js +316 -0
  327. package/dist/services/classify/classify-service.d.ts +42 -0
  328. package/dist/services/classify/classify-service.js +122 -0
  329. package/dist/services/classify/classify-types.d.ts +79 -0
  330. package/dist/services/classify/classify-types.js +90 -0
  331. package/dist/services/code/auto-compact-orchestrator.d.ts +98 -0
  332. package/dist/services/code/auto-compact-orchestrator.js +343 -0
  333. package/dist/services/code/batch-heartbeat-poller.d.ts +51 -0
  334. package/dist/services/code/batch-heartbeat-poller.js +88 -0
  335. package/dist/services/code/dag-orchestrator.d.ts +128 -0
  336. package/dist/services/code/dag-orchestrator.js +304 -0
  337. package/dist/services/code/emit-handoff.d.ts +49 -0
  338. package/dist/services/code/emit-handoff.js +79 -0
  339. package/dist/services/code/job-shape-decision.d.ts +71 -0
  340. package/dist/services/code/job-shape-decision.js +151 -0
  341. package/dist/services/code/mode-gate.d.ts +163 -0
  342. package/dist/services/code/mode-gate.js +212 -0
  343. package/dist/services/code/post-compact-detector.d.ts +61 -0
  344. package/dist/services/code/post-compact-detector.js +240 -0
  345. package/dist/services/code/status-line-renderer.d.ts +34 -0
  346. package/dist/services/code/status-line-renderer.js +55 -0
  347. package/dist/services/code/step-08-gate.d.ts +90 -0
  348. package/dist/services/code/step-08-gate.js +136 -0
  349. package/dist/services/code/user-touchpoint-classifier.d.ts +44 -0
  350. package/dist/services/code/user-touchpoint-classifier.js +145 -0
  351. package/dist/services/code-review/ecc-bridge.d.ts +148 -0
  352. package/dist/services/code-review/ecc-bridge.js +242 -0
  353. package/dist/services/code-review/ocr-service.d.ts +129 -0
  354. package/dist/services/code-review/ocr-service.js +369 -0
  355. package/dist/services/codegraph/codegraph-process-runner.d.ts +2 -0
  356. package/dist/services/codegraph/codegraph-process-runner.js +93 -0
  357. package/dist/services/codegraph/codegraph-service.d.ts +43 -0
  358. package/dist/services/codegraph/codegraph-service.js +160 -0
  359. package/dist/services/compact/decision-tables.d.ts +66 -0
  360. package/dist/services/compact/decision-tables.js +127 -0
  361. package/dist/services/compact/request-transition-hook.d.ts +20 -0
  362. package/dist/services/compact/request-transition-hook.js +110 -0
  363. package/dist/services/compact/suggest-service.d.ts +74 -0
  364. package/dist/services/compact/suggest-service.js +203 -0
  365. package/dist/services/complexity/complexity-estimator.d.ts +34 -0
  366. package/dist/services/complexity/complexity-estimator.js +64 -0
  367. package/dist/services/config/config-migration.d.ts +45 -0
  368. package/dist/services/config/config-migration.js +154 -0
  369. package/dist/services/config/config-restore.d.ts +10 -0
  370. package/dist/services/config/config-restore.js +47 -0
  371. package/dist/services/config/config-rollback.d.ts +13 -0
  372. package/dist/services/config/config-rollback.js +26 -0
  373. package/dist/services/config/config-safety.d.ts +40 -0
  374. package/dist/services/config/config-safety.js +359 -0
  375. package/dist/services/config/config-service.d.ts +69 -0
  376. package/dist/services/config/config-service.js +814 -0
  377. package/dist/services/config/config-types.d.ts +119 -0
  378. package/dist/services/config/config-types.js +18 -0
  379. package/dist/services/config/model-routing.d.ts +66 -0
  380. package/dist/services/config/model-routing.js +105 -0
  381. package/dist/services/config/provider-service.d.ts +48 -0
  382. package/dist/services/config/provider-service.js +143 -0
  383. package/dist/services/config/proxy-service.d.ts +21 -0
  384. package/dist/services/config/proxy-service.js +44 -0
  385. package/dist/services/config/sidecar-store.d.ts +25 -0
  386. package/dist/services/config/sidecar-store.js +61 -0
  387. package/dist/services/config/workspace-state-service.d.ts +30 -0
  388. package/dist/services/config/workspace-state-service.js +142 -0
  389. package/dist/services/context/artifact-meta.d.ts +72 -0
  390. package/dist/services/context/artifact-meta.js +105 -0
  391. package/dist/services/context/auto-compact-dispatcher.d.ts +37 -0
  392. package/dist/services/context/auto-compact-dispatcher.js +240 -0
  393. package/dist/services/context/auto-compact-reader.d.ts +51 -0
  394. package/dist/services/context/auto-compact-reader.js +164 -0
  395. package/dist/services/context/auto-compact-types.d.ts +143 -0
  396. package/dist/services/context/auto-compact-types.js +36 -0
  397. package/dist/services/context/collector.d.ts +24 -0
  398. package/dist/services/context/collector.js +133 -0
  399. package/dist/services/context/context-builder.d.ts +30 -0
  400. package/dist/services/context/context-builder.js +78 -0
  401. package/dist/services/context/context-guard.d.ts +49 -0
  402. package/dist/services/context/context-guard.js +91 -0
  403. package/dist/services/context/context-schema.d.ts +415 -0
  404. package/dist/services/context/context-schema.js +73 -0
  405. package/dist/services/context/dispatch-context-guard.d.ts +27 -0
  406. package/dist/services/context/dispatch-context-guard.js +192 -0
  407. package/dist/services/context/doc-retriever.d.ts +26 -0
  408. package/dist/services/context/doc-retriever.js +51 -0
  409. package/dist/services/context/headroom-client.d.ts +34 -0
  410. package/dist/services/context/headroom-client.js +117 -0
  411. package/dist/services/context/headroom-fetcher.d.ts +6 -0
  412. package/dist/services/context/headroom-fetcher.js +28 -0
  413. package/dist/services/context/headroom-prefs.d.ts +46 -0
  414. package/dist/services/context/headroom-prefs.js +34 -0
  415. package/dist/services/context/index.d.ts +7 -0
  416. package/dist/services/context/index.js +6 -0
  417. package/dist/services/context/main-session-monitor.d.ts +89 -0
  418. package/dist/services/context/main-session-monitor.js +142 -0
  419. package/dist/services/context/renderer.d.ts +20 -0
  420. package/dist/services/context/renderer.js +30 -0
  421. package/dist/services/context/shared-channel.d.ts +93 -0
  422. package/dist/services/context/shared-channel.js +308 -0
  423. package/dist/services/context/threshold.d.ts +35 -0
  424. package/dist/services/context/threshold.js +76 -0
  425. package/dist/services/context/tokenizer.d.ts +12 -0
  426. package/dist/services/context/tokenizer.js +43 -0
  427. package/dist/services/context/types.d.ts +93 -0
  428. package/dist/services/context/types.js +9 -0
  429. package/dist/services/crystallization/crystallization-service.d.ts +239 -0
  430. package/dist/services/crystallization/crystallization-service.js +397 -0
  431. package/dist/services/crystallization/crystallization-store.d.ts +75 -0
  432. package/dist/services/crystallization/crystallization-store.js +193 -0
  433. package/dist/services/crystallization/crystallization-types.d.ts +313 -0
  434. package/dist/services/crystallization/crystallization-types.js +299 -0
  435. package/dist/services/crystallization/evidence-brief-builder.d.ts +237 -0
  436. package/dist/services/crystallization/evidence-brief-builder.js +240 -0
  437. package/dist/services/dashboard/project-dashboard-service.d.ts +91 -0
  438. package/dist/services/dashboard/project-dashboard-service.js +147 -0
  439. package/dist/services/dispatch/batch-counter.d.ts +27 -0
  440. package/dist/services/dispatch/batch-counter.js +102 -0
  441. package/dist/services/dispatch/contract-store.d.ts +63 -0
  442. package/dist/services/dispatch/contract-store.js +157 -0
  443. package/dist/services/dispatch/dispatch-record-writer.d.ts +138 -0
  444. package/dist/services/dispatch/dispatch-record-writer.js +460 -0
  445. package/dist/services/dispatch/heartbeat-truncator.d.ts +26 -0
  446. package/dist/services/dispatch/heartbeat-truncator.js +13 -0
  447. package/dist/services/dispatch/leak-detector.d.ts +11 -0
  448. package/dist/services/dispatch/leak-detector.js +72 -0
  449. package/dist/services/dispatch/slice-dag.d.ts +81 -0
  450. package/dist/services/dispatch/slice-dag.js +238 -0
  451. package/dist/services/dispatch/sub-agent-dispatcher.d.ts +239 -0
  452. package/dist/services/dispatch/sub-agent-dispatcher.js +382 -0
  453. package/dist/services/dispatch/test-tool-detection.d.ts +36 -0
  454. package/dist/services/dispatch/test-tool-detection.js +46 -0
  455. package/dist/services/doc/doc-generator.d.ts +38 -0
  456. package/dist/services/doc/doc-generator.js +122 -0
  457. package/dist/services/doctor/doctor-service.d.ts +149 -0
  458. package/dist/services/doctor/doctor-service.js +929 -0
  459. package/dist/services/evolution/evolution-service.d.ts +137 -0
  460. package/dist/services/evolution/evolution-service.js +281 -0
  461. package/dist/services/evolution/evolution-store.d.ts +57 -0
  462. package/dist/services/evolution/evolution-store.js +232 -0
  463. package/dist/services/evolution/evolution-types.d.ts +706 -0
  464. package/dist/services/evolution/evolution-types.js +286 -0
  465. package/dist/services/evolution/independent-evaluator-runner.d.ts +90 -0
  466. package/dist/services/evolution/independent-evaluator-runner.js +106 -0
  467. package/dist/services/evolution/regression-skeptic-runner.d.ts +64 -0
  468. package/dist/services/evolution/regression-skeptic-runner.js +113 -0
  469. package/dist/services/feedback/feedback-promotion-service.d.ts +123 -0
  470. package/dist/services/feedback/feedback-promotion-service.js +300 -0
  471. package/dist/services/filesystem/file-lock.d.ts +11 -0
  472. package/dist/services/filesystem/file-lock.js +152 -0
  473. package/dist/services/final-review/final-review-service.d.ts +12 -0
  474. package/dist/services/final-review/final-review-service.js +52 -0
  475. package/dist/services/final-review/final-review-types.d.ts +42 -0
  476. package/dist/services/final-review/final-review-types.js +18 -0
  477. package/dist/services/fixture/fixture-capture-service.d.ts +87 -0
  478. package/dist/services/fixture/fixture-capture-service.js +317 -0
  479. package/dist/services/fixture/fixture-sanitize-service.d.ts +117 -0
  480. package/dist/services/fixture/fixture-sanitize-service.js +161 -0
  481. package/dist/services/fixture/index.d.ts +8 -0
  482. package/dist/services/fixture/index.js +8 -0
  483. package/dist/services/fork/fork-sync-state.d.ts +85 -0
  484. package/dist/services/fork/fork-sync-state.js +130 -0
  485. package/dist/services/fuzzy-matching/fuzzy-match-service.d.ts +15 -0
  486. package/dist/services/fuzzy-matching/fuzzy-match-service.js +56 -0
  487. package/dist/services/fuzzy-matching/fzf-pick-service.d.ts +68 -0
  488. package/dist/services/fuzzy-matching/fzf-pick-service.js +158 -0
  489. package/dist/services/fuzzy-matching/types.d.ts +20 -0
  490. package/dist/services/fuzzy-matching/types.js +1 -0
  491. package/dist/services/handoff/handoff-parser.d.ts +28 -0
  492. package/dist/services/handoff/handoff-parser.js +69 -0
  493. package/dist/services/handoff/handoff-types.d.ts +39 -0
  494. package/dist/services/handoff/handoff-types.js +19 -0
  495. package/dist/services/handoff/handoff-writer.d.ts +23 -0
  496. package/dist/services/handoff/handoff-writer.js +30 -0
  497. package/dist/services/hooks/auto-compact-hook-install.d.ts +104 -0
  498. package/dist/services/hooks/auto-compact-hook-install.js +157 -0
  499. package/dist/services/hooks/output.d.ts +92 -0
  500. package/dist/services/hooks/output.js +111 -0
  501. package/dist/services/hooks/presence-marker-detector.d.ts +16 -0
  502. package/dist/services/hooks/presence-marker-detector.js +105 -0
  503. package/dist/services/ide/adapters/claude-code-adapter.d.ts +18 -0
  504. package/dist/services/ide/adapters/claude-code-adapter.js +103 -0
  505. package/dist/services/ide/adapters/codex-adapter.d.ts +46 -0
  506. package/dist/services/ide/adapters/codex-adapter.js +97 -0
  507. package/dist/services/ide/adapters/cursor-adapter.d.ts +36 -0
  508. package/dist/services/ide/adapters/cursor-adapter.js +84 -0
  509. package/dist/services/ide/adapters/hermes-adapter.d.ts +21 -0
  510. package/dist/services/ide/adapters/hermes-adapter.js +51 -0
  511. package/dist/services/ide/adapters/openclaw-adapter.d.ts +14 -0
  512. package/dist/services/ide/adapters/openclaw-adapter.js +42 -0
  513. package/dist/services/ide/adapters/trae-adapter.d.ts +42 -0
  514. package/dist/services/ide/adapters/trae-adapter.js +83 -0
  515. package/dist/services/ide/adapters/zcode-adapter.d.ts +40 -0
  516. package/dist/services/ide/adapters/zcode-adapter.js +220 -0
  517. package/dist/services/ide/current-model-detector.d.ts +14 -0
  518. package/dist/services/ide/current-model-detector.js +60 -0
  519. package/dist/services/ide/hook-protocol.d.ts +47 -0
  520. package/dist/services/ide/hook-protocol.js +74 -0
  521. package/dist/services/ide/hook-translator.d.ts +72 -0
  522. package/dist/services/ide/hook-translator.js +128 -0
  523. package/dist/services/ide/ide-detector.d.ts +10 -0
  524. package/dist/services/ide/ide-detector.js +19 -0
  525. package/dist/services/ide/ide-registry.d.ts +14 -0
  526. package/dist/services/ide/ide-registry.js +63 -0
  527. package/dist/services/ide/ide-types.d.ts +253 -0
  528. package/dist/services/ide/ide-types.js +2 -0
  529. package/dist/services/ide/resource-profile.d.ts +52 -0
  530. package/dist/services/ide/resource-profile.js +33 -0
  531. package/dist/services/ide/shared/atomic-json.d.ts +15 -0
  532. package/dist/services/ide/shared/atomic-json.js +58 -0
  533. package/dist/services/ide/shared/safe-path.d.ts +11 -0
  534. package/dist/services/ide/shared/safe-path.js +29 -0
  535. package/dist/services/impact/impact-scan-service.d.ts +66 -0
  536. package/dist/services/impact/impact-scan-service.js +197 -0
  537. package/dist/services/job/job-event-emitter.d.ts +30 -0
  538. package/dist/services/job/job-event-emitter.js +5 -0
  539. package/dist/services/job/job-orchestrator.d.ts +50 -0
  540. package/dist/services/job/job-orchestrator.js +104 -0
  541. package/dist/services/job/job-progress-store.d.ts +60 -0
  542. package/dist/services/job/job-progress-store.js +70 -0
  543. package/dist/services/job/job-resource-snapshot.d.ts +7 -0
  544. package/dist/services/job/job-resource-snapshot.js +75 -0
  545. package/dist/services/job/job-rotation.d.ts +17 -0
  546. package/dist/services/job/job-rotation.js +30 -0
  547. package/dist/services/job/job-state-store.d.ts +24 -0
  548. package/dist/services/job/job-state-store.js +60 -0
  549. package/dist/services/job/job-types.d.ts +444 -0
  550. package/dist/services/job/job-types.js +87 -0
  551. package/dist/services/job/subagent-job-wrapper.d.ts +35 -0
  552. package/dist/services/job/subagent-job-wrapper.js +30 -0
  553. package/dist/services/legacy/legacy-detector.d.ts +34 -0
  554. package/dist/services/legacy/legacy-detector.js +111 -0
  555. package/dist/services/log/log-commands-service.d.ts +54 -0
  556. package/dist/services/log/log-commands-service.js +83 -0
  557. package/dist/services/log/logger.d.ts +103 -0
  558. package/dist/services/log/logger.js +224 -0
  559. package/dist/services/log/redact.d.ts +32 -0
  560. package/dist/services/log/redact.js +89 -0
  561. package/dist/services/log/retention.d.ts +34 -0
  562. package/dist/services/log/retention.js +78 -0
  563. package/dist/services/loop/evaluator-dispatcher.d.ts +50 -0
  564. package/dist/services/loop/evaluator-dispatcher.js +552 -0
  565. package/dist/services/loop/loop-bee-relation-service.d.ts +107 -0
  566. package/dist/services/loop/loop-bee-relation-service.js +211 -0
  567. package/dist/services/loop/loop-bee-relation-store.d.ts +53 -0
  568. package/dist/services/loop/loop-bee-relation-store.js +130 -0
  569. package/dist/services/loop/loop-bee-relation-types.d.ts +118 -0
  570. package/dist/services/loop/loop-bee-relation-types.js +114 -0
  571. package/dist/services/loop/loop-release-service.d.ts +46 -0
  572. package/dist/services/loop/loop-release-service.js +66 -0
  573. package/dist/services/loop/loop-release-store.d.ts +55 -0
  574. package/dist/services/loop/loop-release-store.js +134 -0
  575. package/dist/services/loop/loop-release-types.d.ts +250 -0
  576. package/dist/services/loop/loop-release-types.js +162 -0
  577. package/dist/services/loop/monotonic-guard.d.ts +80 -0
  578. package/dist/services/loop/monotonic-guard.js +232 -0
  579. package/dist/services/loop/monotonic-runner.d.ts +58 -0
  580. package/dist/services/loop/monotonic-runner.js +231 -0
  581. package/dist/services/loop/run-driver.d.ts +70 -0
  582. package/dist/services/loop/run-driver.js +400 -0
  583. package/dist/services/loop/spec-service.d.ts +90 -0
  584. package/dist/services/loop/spec-service.js +497 -0
  585. package/dist/services/memory/llm-reranker.d.ts +174 -0
  586. package/dist/services/memory/llm-reranker.js +284 -0
  587. package/dist/services/memory/memory-search-service.d.ts +93 -0
  588. package/dist/services/memory/memory-search-service.js +117 -0
  589. package/dist/services/memory/project-context-service.d.ts +21 -0
  590. package/dist/services/memory/project-context-service.js +161 -0
  591. package/dist/services/memory/project-memory-service.d.ts +167 -0
  592. package/dist/services/memory/project-memory-service.js +817 -0
  593. package/dist/services/migrate-skill-name/migrate.d.ts +17 -0
  594. package/dist/services/migrate-skill-name/migrate.js +152 -0
  595. package/dist/services/migrate-skill-name/schema.d.ts +42 -0
  596. package/dist/services/migrate-skill-name/schema.js +25 -0
  597. package/dist/services/migration/v2-10-to-v2-11-service.d.ts +44 -0
  598. package/dist/services/migration/v2-10-to-v2-11-service.js +190 -0
  599. package/dist/services/migration/v2-10-to-v2-11-types.d.ts +41 -0
  600. package/dist/services/migration/v2-10-to-v2-11-types.js +23 -0
  601. package/dist/services/mode/bypass-tracker.d.ts +4 -0
  602. package/dist/services/mode/bypass-tracker.js +31 -0
  603. package/dist/services/mode/mode-enforcement.d.ts +14 -0
  604. package/dist/services/mode/mode-enforcement.js +84 -0
  605. package/dist/services/mut/assert-scanner.d.ts +6 -0
  606. package/dist/services/mut/assert-scanner.js +116 -0
  607. package/dist/services/mut/index.d.ts +8 -0
  608. package/dist/services/mut/index.js +7 -0
  609. package/dist/services/mut/mut-runner.d.ts +39 -0
  610. package/dist/services/mut/mut-runner.js +29 -0
  611. package/dist/services/mut/production-stryker.d.ts +2 -0
  612. package/dist/services/mut/production-stryker.js +75 -0
  613. package/dist/services/mut/report-builder.d.ts +11 -0
  614. package/dist/services/mut/report-builder.js +110 -0
  615. package/dist/services/mut/report-loader.d.ts +31 -0
  616. package/dist/services/mut/report-loader.js +78 -0
  617. package/dist/services/mut/thresholds.d.ts +21 -0
  618. package/dist/services/mut/thresholds.js +22 -0
  619. package/dist/services/mut/types.d.ts +336 -0
  620. package/dist/services/mut/types.js +59 -0
  621. package/dist/services/observability/aggregation.d.ts +64 -0
  622. package/dist/services/observability/aggregation.js +217 -0
  623. package/dist/services/observability/jsonl-store.d.ts +59 -0
  624. package/dist/services/observability/jsonl-store.js +120 -0
  625. package/dist/services/observability/observability-service.d.ts +95 -0
  626. package/dist/services/observability/observability-service.js +119 -0
  627. package/dist/services/observability/report-formatter.d.ts +42 -0
  628. package/dist/services/observability/report-formatter.js +156 -0
  629. package/dist/services/openspec/openspec-archive-service.d.ts +12 -0
  630. package/dist/services/openspec/openspec-archive-service.js +28 -0
  631. package/dist/services/openspec/openspec-bridge-service.d.ts +16 -0
  632. package/dist/services/openspec/openspec-bridge-service.js +76 -0
  633. package/dist/services/openspec/openspec-init-service.d.ts +23 -0
  634. package/dist/services/openspec/openspec-init-service.js +122 -0
  635. package/dist/services/openspec/openspec-propose-from-doctor-service.d.ts +31 -0
  636. package/dist/services/openspec/openspec-propose-from-doctor-service.js +95 -0
  637. package/dist/services/openspec/openspec-render-service.d.ts +38 -0
  638. package/dist/services/openspec/openspec-render-service.js +130 -0
  639. package/dist/services/openspec/openspec-scan-service.d.ts +6 -0
  640. package/dist/services/openspec/openspec-scan-service.js +123 -0
  641. package/dist/services/openspec/openspec-types.d.ts +39 -0
  642. package/dist/services/openspec/openspec-types.js +1 -0
  643. package/dist/services/openspec/openspec-validate-service.d.ts +27 -0
  644. package/dist/services/openspec/openspec-validate-service.js +77 -0
  645. package/dist/services/perf/perf-baseline-service.d.ts +70 -0
  646. package/dist/services/perf/perf-baseline-service.js +214 -0
  647. package/dist/services/polyrepo/polyrepo-dispatcher.d.ts +34 -0
  648. package/dist/services/polyrepo/polyrepo-dispatcher.js +119 -0
  649. package/dist/services/polyrepo/polyrepo-scanner.d.ts +9 -0
  650. package/dist/services/polyrepo/polyrepo-scanner.js +94 -0
  651. package/dist/services/polyrepo/polyrepo-service.d.ts +34 -0
  652. package/dist/services/polyrepo/polyrepo-service.js +49 -0
  653. package/dist/services/polyrepo/polyrepo-types.d.ts +55 -0
  654. package/dist/services/polyrepo/polyrepo-types.js +1 -0
  655. package/dist/services/prd/handoff-auto-regen.d.ts +22 -0
  656. package/dist/services/prd/handoff-auto-regen.js +73 -0
  657. package/dist/services/prd/handoff-service.d.ts +54 -0
  658. package/dist/services/prd/handoff-service.js +142 -0
  659. package/dist/services/prd/handoff-types.d.ts +64 -0
  660. package/dist/services/prd/handoff-types.js +22 -0
  661. package/dist/services/prd/prd-blocks-checker.d.ts +51 -0
  662. package/dist/services/prd/prd-blocks-checker.js +130 -0
  663. package/dist/services/prd/project-scan-bootstrap-service.d.ts +52 -0
  664. package/dist/services/prd/project-scan-bootstrap-service.js +445 -0
  665. package/dist/services/prd/project-scan-reader.d.ts +24 -0
  666. package/dist/services/prd/project-scan-reader.js +150 -0
  667. package/dist/services/prd/project-scan-sediment.d.ts +97 -0
  668. package/dist/services/prd/project-scan-sediment.js +445 -0
  669. package/dist/services/prd/project-scan-types.d.ts +66 -0
  670. package/dist/services/prd/project-scan-types.js +20 -0
  671. package/dist/services/preferences/preferences-service.d.ts +38 -0
  672. package/dist/services/preferences/preferences-service.js +198 -0
  673. package/dist/services/preferences/preferences-types.d.ts +148 -0
  674. package/dist/services/preferences/preferences-types.js +53 -0
  675. package/dist/services/profiles/profile-service.d.ts +6 -0
  676. package/dist/services/profiles/profile-service.js +19 -0
  677. package/dist/services/progress/progress-service.d.ts +125 -0
  678. package/dist/services/progress/progress-service.js +192 -0
  679. package/dist/services/providers/minimax-provider-service.d.ts +24 -0
  680. package/dist/services/providers/minimax-provider-service.js +143 -0
  681. package/dist/services/providers/minimax-worker-service.d.ts +21 -0
  682. package/dist/services/providers/minimax-worker-service.js +83 -0
  683. package/dist/services/proxy/proxy-service.d.ts +7 -0
  684. package/dist/services/proxy/proxy-service.js +31 -0
  685. package/dist/services/qa/browser-event-logger.d.ts +40 -0
  686. package/dist/services/qa/browser-event-logger.js +54 -0
  687. package/dist/services/qa/browser-restart-detector.d.ts +74 -0
  688. package/dist/services/qa/browser-restart-detector.js +138 -0
  689. package/dist/services/qa/browser-reuse-hint.d.ts +18 -0
  690. package/dist/services/qa/browser-reuse-hint.js +18 -0
  691. package/dist/services/qa/browser-wrapper-service.d.ts +37 -0
  692. package/dist/services/qa/browser-wrapper-service.js +88 -0
  693. package/dist/services/qa/qa-business-review-state.d.ts +47 -0
  694. package/dist/services/qa/qa-business-review-state.js +96 -0
  695. package/dist/services/rd/ast-gate.d.ts +19 -0
  696. package/dist/services/rd/ast-gate.js +71 -0
  697. package/dist/services/rd/impl.d.ts +9 -0
  698. package/dist/services/rd/impl.js +57 -0
  699. package/dist/services/rd/rd-service.d.ts +129 -0
  700. package/dist/services/rd/rd-service.js +441 -0
  701. package/dist/services/rd/reviewer-dispatch-policy.d.ts +122 -0
  702. package/dist/services/rd/reviewer-dispatch-policy.js +148 -0
  703. package/dist/services/rd/standards-diagnostic.d.ts +76 -0
  704. package/dist/services/rd/standards-diagnostic.js +166 -0
  705. package/dist/services/rd/strategic-stage.d.ts +4 -0
  706. package/dist/services/rd/strategic-stage.js +15 -0
  707. package/dist/services/rd/strategy.d.ts +13 -0
  708. package/dist/services/rd/strategy.js +60 -0
  709. package/dist/services/rd/tactical-stage.d.ts +33 -0
  710. package/dist/services/rd/tactical-stage.js +62 -0
  711. package/dist/services/rd/types.d.ts +252 -0
  712. package/dist/services/rd/types.js +47 -0
  713. package/dist/services/recommendations/capability-availability.d.ts +5 -0
  714. package/dist/services/recommendations/capability-availability.js +40 -0
  715. package/dist/services/recommendations/capability-map-service.d.ts +7 -0
  716. package/dist/services/recommendations/capability-map-service.js +131 -0
  717. package/dist/services/recommendations/capability-seed-items.d.ts +2 -0
  718. package/dist/services/recommendations/capability-seed-items.js +140 -0
  719. package/dist/services/recommendations/capability-seed-mappings.d.ts +2 -0
  720. package/dist/services/recommendations/capability-seed-mappings.js +54 -0
  721. package/dist/services/recommendations/capability-seed-sources.d.ts +2 -0
  722. package/dist/services/recommendations/capability-seed-sources.js +35 -0
  723. package/dist/services/recommendations/recommendation-service.d.ts +8 -0
  724. package/dist/services/recommendations/recommendation-service.js +106 -0
  725. package/dist/services/recommendations/recommendation-types.d.ts +129 -0
  726. package/dist/services/recommendations/recommendation-types.js +1 -0
  727. package/dist/services/recommendations/seed-capability-catalog.d.ts +3 -0
  728. package/dist/services/recommendations/seed-capability-catalog.js +3 -0
  729. package/dist/services/refactor/refactor-service.d.ts +9 -0
  730. package/dist/services/refactor/refactor-service.js +36 -0
  731. package/dist/services/release/release-state.d.ts +70 -0
  732. package/dist/services/release/release-state.js +140 -0
  733. package/dist/services/retrospective/retrospective-index.d.ts +37 -0
  734. package/dist/services/retrospective/retrospective-index.js +110 -0
  735. package/dist/services/retrospective/retrospective-search-service.d.ts +55 -0
  736. package/dist/services/retrospective/retrospective-search-service.js +107 -0
  737. package/dist/services/retrospective/retrospective-show.d.ts +40 -0
  738. package/dist/services/retrospective/retrospective-show.js +109 -0
  739. package/dist/services/reviewer/model-family.d.ts +18 -0
  740. package/dist/services/reviewer/model-family.js +70 -0
  741. package/dist/services/reviewer/providers/anthropic.d.ts +2 -0
  742. package/dist/services/reviewer/providers/anthropic.js +61 -0
  743. package/dist/services/reviewer/providers/ollama.d.ts +26 -0
  744. package/dist/services/reviewer/providers/ollama.js +38 -0
  745. package/dist/services/reviewer/providers/openai.d.ts +2 -0
  746. package/dist/services/reviewer/providers/openai.js +63 -0
  747. package/dist/services/reviewer/reviewer-config.d.ts +34 -0
  748. package/dist/services/reviewer/reviewer-config.js +100 -0
  749. package/dist/services/reviewer/reviewer-service.d.ts +56 -0
  750. package/dist/services/reviewer/reviewer-service.js +263 -0
  751. package/dist/services/reviewer/selection-strategies.d.ts +27 -0
  752. package/dist/services/reviewer/selection-strategies.js +53 -0
  753. package/dist/services/role/role-registry.d.ts +38 -0
  754. package/dist/services/role/role-registry.js +83 -0
  755. package/dist/services/runtime/runtime-detector.d.ts +15 -0
  756. package/dist/services/runtime/runtime-detector.js +62 -0
  757. package/dist/services/runtime/runtime-service.d.ts +59 -0
  758. package/dist/services/runtime/runtime-service.js +51 -0
  759. package/dist/services/runtime/vendor-adapter.d.ts +59 -0
  760. package/dist/services/runtime/vendor-adapter.js +1 -0
  761. package/dist/services/runtime/vendors/claude-code.d.ts +7 -0
  762. package/dist/services/runtime/vendors/claude-code.js +39 -0
  763. package/dist/services/runtime/vendors/codex.d.ts +7 -0
  764. package/dist/services/runtime/vendors/codex.js +43 -0
  765. package/dist/services/runtime/vendors/copilot.d.ts +7 -0
  766. package/dist/services/runtime/vendors/copilot.js +40 -0
  767. package/dist/services/sc/index.d.ts +1 -0
  768. package/dist/services/sc/index.js +1 -0
  769. package/dist/services/sc/sc-service.d.ts +131 -0
  770. package/dist/services/sc/sc-service.js +552 -0
  771. package/dist/services/scan/acceptance-coverage-service.d.ts +42 -0
  772. package/dist/services/scan/acceptance-coverage-service.js +140 -0
  773. package/dist/services/scan/api-surface-service.d.ts +69 -0
  774. package/dist/services/scan/api-surface-service.js +239 -0
  775. package/dist/services/scan/archetype-service.d.ts +5 -0
  776. package/dist/services/scan/archetype-service.js +254 -0
  777. package/dist/services/scan/diff-scope-service.d.ts +40 -0
  778. package/dist/services/scan/diff-scope-service.js +198 -0
  779. package/dist/services/scan/existing-system-service.d.ts +7 -0
  780. package/dist/services/scan/existing-system-service.js +300 -0
  781. package/dist/services/scan/file-size-scan.d.ts +23 -0
  782. package/dist/services/scan/file-size-scan.js +68 -0
  783. package/dist/services/scan/karpathy-service.d.ts +60 -0
  784. package/dist/services/scan/karpathy-service.js +228 -0
  785. package/dist/services/scan/libraries-service.d.ts +24 -0
  786. package/dist/services/scan/libraries-service.js +419 -0
  787. package/dist/services/scan/libraries-types.d.ts +59 -0
  788. package/dist/services/scan/libraries-types.js +9 -0
  789. package/dist/services/scan/orphan-service.d.ts +76 -0
  790. package/dist/services/scan/orphan-service.js +538 -0
  791. package/dist/services/scan/scan-types.d.ts +59 -0
  792. package/dist/services/scan/scan-types.js +1 -0
  793. package/dist/services/scan/type-sanity-service.d.ts +23 -0
  794. package/dist/services/scan/type-sanity-service.js +116 -0
  795. package/dist/services/security/safe-settings-path.d.ts +12 -0
  796. package/dist/services/security/safe-settings-path.js +104 -0
  797. package/dist/services/sediment/dispose-confirm.d.ts +9 -0
  798. package/dist/services/sediment/dispose-confirm.js +5 -0
  799. package/dist/services/sediment/json-schema.d.ts +247 -0
  800. package/dist/services/sediment/json-schema.js +26 -0
  801. package/dist/services/sediment/manifest-lint.d.ts +13 -0
  802. package/dist/services/sediment/manifest-lint.js +11 -0
  803. package/dist/services/sediment/pool-paths.d.ts +22 -0
  804. package/dist/services/sediment/pool-paths.js +25 -0
  805. package/dist/services/sediment/pool-read.d.ts +20 -0
  806. package/dist/services/sediment/pool-read.js +73 -0
  807. package/dist/services/sediment/pool-rebuild-index.d.ts +15 -0
  808. package/dist/services/sediment/pool-rebuild-index.js +28 -0
  809. package/dist/services/sediment/pool-write.d.ts +14 -0
  810. package/dist/services/sediment/pool-write.js +25 -0
  811. package/dist/services/sediment/promotion-gate.d.ts +12 -0
  812. package/dist/services/sediment/promotion-gate.js +20 -0
  813. package/dist/services/sediment/types.d.ts +52 -0
  814. package/dist/services/sediment/types.js +1 -0
  815. package/dist/services/session/binding-status-service.d.ts +56 -0
  816. package/dist/services/session/binding-status-service.js +106 -0
  817. package/dist/services/session/binding-store.d.ts +161 -0
  818. package/dist/services/session/binding-store.js +509 -0
  819. package/dist/services/session/caller-binding-service.d.ts +70 -0
  820. package/dist/services/session/caller-binding-service.js +148 -0
  821. package/dist/services/session/caller-id-types.d.ts +77 -0
  822. package/dist/services/session/caller-id-types.js +46 -0
  823. package/dist/services/session/getSessionDir.d.ts +1 -0
  824. package/dist/services/session/getSessionDir.js +27 -0
  825. package/dist/services/session/index.d.ts +6 -0
  826. package/dist/services/session/index.js +7 -0
  827. package/dist/services/session/platform-fallbacks.d.ts +31 -0
  828. package/dist/services/session/platform-fallbacks.js +35 -0
  829. package/dist/services/session/resolve-caller-id.d.ts +57 -0
  830. package/dist/services/session/resolve-caller-id.js +88 -0
  831. package/dist/services/session/session-binding-bridge.d.ts +76 -0
  832. package/dist/services/session/session-binding-bridge.js +247 -0
  833. package/dist/services/session/session-checkpoint-service.d.ts +57 -0
  834. package/dist/services/session/session-checkpoint-service.js +143 -0
  835. package/dist/services/session/session-manager.d.ts +168 -0
  836. package/dist/services/session/session-manager.js +502 -0
  837. package/dist/services/session/session-resume-service.d.ts +25 -0
  838. package/dist/services/session/session-resume-service.js +101 -0
  839. package/dist/services/share/bundle-reader.d.ts +100 -0
  840. package/dist/services/share/bundle-reader.js +434 -0
  841. package/dist/services/share/bundle-types.d.ts +392 -0
  842. package/dist/services/share/bundle-types.js +318 -0
  843. package/dist/services/share/bundle-writer.d.ts +97 -0
  844. package/dist/services/share/bundle-writer.js +429 -0
  845. package/dist/services/share/run-state-contract.d.ts +133 -0
  846. package/dist/services/share/run-state-contract.js +138 -0
  847. package/dist/services/signal/cancel-handler.d.ts +14 -0
  848. package/dist/services/signal/cancel-handler.js +76 -0
  849. package/dist/services/skill/resume-detector.d.ts +54 -0
  850. package/dist/services/skill/resume-detector.js +334 -0
  851. package/dist/services/skill/skill-scheduler.d.ts +40 -0
  852. package/dist/services/skill/skill-scheduler.js +53 -0
  853. package/dist/services/skill/skill-search-service.d.ts +88 -0
  854. package/dist/services/skill/skill-search-service.js +228 -0
  855. package/dist/services/skillhub/release-diff.d.ts +18 -0
  856. package/dist/services/skillhub/release-diff.js +38 -0
  857. package/dist/services/skillhub/release-export.d.ts +8 -0
  858. package/dist/services/skillhub/release-export.js +31 -0
  859. package/dist/services/skillhub/release-gc-blobs.d.ts +13 -0
  860. package/dist/services/skillhub/release-gc-blobs.js +32 -0
  861. package/dist/services/skillhub/release-import.d.ts +7 -0
  862. package/dist/services/skillhub/release-import.js +64 -0
  863. package/dist/services/skillhub/release-retain.d.ts +23 -0
  864. package/dist/services/skillhub/release-retain.js +94 -0
  865. package/dist/services/skillhub/sqlite-store.d.ts +22 -0
  866. package/dist/services/skillhub/sqlite-store.js +63 -0
  867. package/dist/services/skillhub/tar-runtime.d.ts +21 -0
  868. package/dist/services/skillhub/tar-runtime.js +91 -0
  869. package/dist/services/skillhub/types.d.ts +115 -0
  870. package/dist/services/skillhub/types.js +1 -0
  871. package/dist/services/skills/hooks-settings-service.d.ts +137 -0
  872. package/dist/services/skills/hooks-settings-service.js +396 -0
  873. package/dist/services/skills/skill-conformance-service.d.ts +40 -0
  874. package/dist/services/skills/skill-conformance-service.js +139 -0
  875. package/dist/services/skills/skill-presence-service.d.ts +158 -0
  876. package/dist/services/skills/skill-presence-service.js +474 -0
  877. package/dist/services/skills/skill-registry.d.ts +17 -0
  878. package/dist/services/skills/skill-registry.js +67 -0
  879. package/dist/services/skills/skill-runbook-service.d.ts +11 -0
  880. package/dist/services/skills/skill-runbook-service.js +128 -0
  881. package/dist/services/skills/skill-statusline-renderer.d.ts +6 -0
  882. package/dist/services/skills/skill-statusline-renderer.js +55 -0
  883. package/dist/services/skills/skill-statusline-service.d.ts +24 -0
  884. package/dist/services/skills/skill-statusline-service.js +110 -0
  885. package/dist/services/skills/statusline-settings-service.d.ts +59 -0
  886. package/dist/services/skills/statusline-settings-service.js +141 -0
  887. package/dist/services/skills/sync-service.d.ts +86 -0
  888. package/dist/services/skills/sync-service.js +271 -0
  889. package/dist/services/slice/calibration-store.d.ts +39 -0
  890. package/dist/services/slice/calibration-store.js +68 -0
  891. package/dist/services/slice/cross-pass-edge-merger.d.ts +53 -0
  892. package/dist/services/slice/cross-pass-edge-merger.js +246 -0
  893. package/dist/services/slice/granularity-decider.d.ts +37 -0
  894. package/dist/services/slice/granularity-decider.js +40 -0
  895. package/dist/services/slice/llm-arbitrator.d.ts +35 -0
  896. package/dist/services/slice/llm-arbitrator.js +63 -0
  897. package/dist/services/slice/multi-pass-orchestrator.d.ts +67 -0
  898. package/dist/services/slice/multi-pass-orchestrator.js +225 -0
  899. package/dist/services/slice/schema-router.d.ts +44 -0
  900. package/dist/services/slice/schema-router.js +61 -0
  901. package/dist/services/slice/slice-archive-service.d.ts +20 -0
  902. package/dist/services/slice/slice-archive-service.js +111 -0
  903. package/dist/services/slice/slice-benchmark-service.d.ts +19 -0
  904. package/dist/services/slice/slice-benchmark-service.js +60 -0
  905. package/dist/services/slice/slice-check-service.d.ts +2 -0
  906. package/dist/services/slice/slice-check-service.js +459 -0
  907. package/dist/services/slice/slice-check-types.d.ts +104 -0
  908. package/dist/services/slice/slice-check-types.js +28 -0
  909. package/dist/services/slice/slice-decompose-runners.d.ts +23 -0
  910. package/dist/services/slice/slice-decompose-runners.js +174 -0
  911. package/dist/services/slice/slice-decompose-service.d.ts +24 -0
  912. package/dist/services/slice/slice-decompose-service.js +532 -0
  913. package/dist/services/slice/slice-decompose-types.d.ts +263 -0
  914. package/dist/services/slice/slice-decompose-types.js +30 -0
  915. package/dist/services/slice/slice-integration.d.ts +43 -0
  916. package/dist/services/slice/slice-integration.js +106 -0
  917. package/dist/services/slice/slice-pick-service.d.ts +32 -0
  918. package/dist/services/slice/slice-pick-service.js +75 -0
  919. package/dist/services/slice/slice-review-state.d.ts +70 -0
  920. package/dist/services/slice/slice-review-state.js +109 -0
  921. package/dist/services/slice/slice-topology-types.d.ts +115 -0
  922. package/dist/services/slice/slice-topology-types.js +20 -0
  923. package/dist/services/smoke/smoke-paths-state.d.ts +73 -0
  924. package/dist/services/smoke/smoke-paths-state.js +117 -0
  925. package/dist/services/sop/gate-enforce-service.d.ts +33 -0
  926. package/dist/services/sop/gate-enforce-service.js +168 -0
  927. package/dist/services/sop/sop-advance-service.d.ts +74 -0
  928. package/dist/services/sop/sop-advance-service.js +115 -0
  929. package/dist/services/sop/sop-check-service.d.ts +45 -0
  930. package/dist/services/sop/sop-check-service.js +181 -0
  931. package/dist/services/sop/sop-paths.d.ts +62 -0
  932. package/dist/services/sop/sop-paths.js +92 -0
  933. package/dist/services/sop/sop-registry-service.d.ts +46 -0
  934. package/dist/services/sop/sop-registry-service.js +89 -0
  935. package/dist/services/sop/sop-service.d.ts +55 -0
  936. package/dist/services/sop/sop-service.js +222 -0
  937. package/dist/services/sop/sop-types.d.ts +95 -0
  938. package/dist/services/sop/sop-types.js +11 -0
  939. package/dist/services/standards/ide-aware-standards-service.d.ts +94 -0
  940. package/dist/services/standards/ide-aware-standards-service.js +91 -0
  941. package/dist/services/standards/loop-engineering-lint.d.ts +38 -0
  942. package/dist/services/standards/loop-engineering-lint.js +101 -0
  943. package/dist/services/standards/loop-engineering-readiness-lint.d.ts +111 -0
  944. package/dist/services/standards/loop-engineering-readiness-lint.js +248 -0
  945. package/dist/services/standards/migrate-claude-rules-service.d.ts +19 -0
  946. package/dist/services/standards/migrate-claude-rules-service.js +214 -0
  947. package/dist/services/standards/migrate-service.d.ts +63 -0
  948. package/dist/services/standards/migrate-service.js +193 -0
  949. package/dist/services/standards/missing-standards-detector.d.ts +81 -0
  950. package/dist/services/standards/missing-standards-detector.js +139 -0
  951. package/dist/services/standards/project-context.d.ts +24 -0
  952. package/dist/services/standards/project-context.js +314 -0
  953. package/dist/services/standards/project-standards-service.d.ts +114 -0
  954. package/dist/services/standards/project-standards-service.js +693 -0
  955. package/dist/services/tech/tech-service.d.ts +69 -0
  956. package/dist/services/tech/tech-service.js +299 -0
  957. package/dist/services/test-cache/test-cache-service.d.ts +70 -0
  958. package/dist/services/test-cache/test-cache-service.js +175 -0
  959. package/dist/services/understand/hybrid-types.d.ts +32 -0
  960. package/dist/services/understand/hybrid-types.js +1 -0
  961. package/dist/services/understand/understand-hybrid-service.d.ts +10 -0
  962. package/dist/services/understand/understand-hybrid-service.js +100 -0
  963. package/dist/services/understand/understand-scan-service.d.ts +28 -0
  964. package/dist/services/understand/understand-scan-service.js +170 -0
  965. package/dist/services/understand/understand-types.d.ts +50 -0
  966. package/dist/services/understand/understand-types.js +1 -0
  967. package/dist/services/upgrade/1x-detector-service.d.ts +7 -0
  968. package/dist/services/upgrade/1x-detector-service.js +94 -0
  969. package/dist/services/upgrade/gitignore-migrate-service.d.ts +56 -0
  970. package/dist/services/upgrade/gitignore-migrate-service.js +170 -0
  971. package/dist/services/upgrade/upgrade-service.d.ts +81 -0
  972. package/dist/services/upgrade/upgrade-service.js +403 -0
  973. package/dist/services/verdict/envelopes.d.ts +93 -0
  974. package/dist/services/verdict/envelopes.js +349 -0
  975. package/dist/services/verdict/verdict-aggregator.d.ts +94 -0
  976. package/dist/services/verdict/verdict-aggregator.js +112 -0
  977. package/dist/services/workflow/artifact-paths.d.ts +59 -0
  978. package/dist/services/workflow/artifact-paths.js +166 -0
  979. package/dist/services/workflow/autonomous-resume-writer.d.ts +16 -0
  980. package/dist/services/workflow/autonomous-resume-writer.js +170 -0
  981. package/dist/services/workflow/pipeline-verify-service.d.ts +90 -0
  982. package/dist/services/workflow/pipeline-verify-service.js +449 -0
  983. package/dist/services/workflow/plan-reader.d.ts +29 -0
  984. package/dist/services/workflow/plan-reader.js +174 -0
  985. package/dist/services/workflow/plan-refresher.d.ts +32 -0
  986. package/dist/services/workflow/plan-refresher.js +353 -0
  987. package/dist/services/workflow/plan-trigger-detector.d.ts +55 -0
  988. package/dist/services/workflow/plan-trigger-detector.js +142 -0
  989. package/dist/services/workflow/workflow-autonomous-resume-helpers.d.ts +19 -0
  990. package/dist/services/workflow/workflow-autonomous-resume-helpers.js +300 -0
  991. package/dist/services/workflow/workflow-autonomous-service.d.ts +100 -0
  992. package/dist/services/workflow/workflow-autonomous-service.js +306 -0
  993. package/dist/services/workflow/workflow-loader.d.ts +63 -0
  994. package/dist/services/workflow/workflow-loader.js +168 -0
  995. package/dist/services/workflow/workflow-router-service.d.ts +85 -0
  996. package/dist/services/workflow/workflow-router-service.js +233 -0
  997. package/dist/services/workflow/workflow-skip-service.d.ts +106 -0
  998. package/dist/services/workflow/workflow-skip-service.js +209 -0
  999. package/dist/services/workflow/workflow-spec.d.ts +116 -0
  1000. package/dist/services/workflow/workflow-spec.js +431 -0
  1001. package/dist/services/workflow/workflow-state-store.d.ts +27 -0
  1002. package/dist/services/workflow/workflow-state-store.js +95 -0
  1003. package/dist/services/workspace/claude-settings-template.d.ts +101 -0
  1004. package/dist/services/workspace/claude-settings-template.js +254 -0
  1005. package/dist/services/workspace/migrate-1-4-1-service.d.ts +44 -0
  1006. package/dist/services/workspace/migrate-1-4-1-service.js +195 -0
  1007. package/dist/services/workspace/migrate-service.d.ts +2 -0
  1008. package/dist/services/workspace/migrate-service.js +613 -0
  1009. package/dist/services/workspace/migrate-types.d.ts +127 -0
  1010. package/dist/services/workspace/migrate-types.js +21 -0
  1011. package/dist/services/workspace/reconcile-service.d.ts +188 -0
  1012. package/dist/services/workspace/reconcile-service.js +683 -0
  1013. package/dist/services/workspace/reconcile-types.d.ts +130 -0
  1014. package/dist/services/workspace/reconcile-types.js +13 -0
  1015. package/dist/services/workspace/sid-naming-guard.d.ts +17 -0
  1016. package/dist/services/workspace/sid-naming-guard.js +34 -0
  1017. package/dist/services/workspace/templates/project-scan/audit-output-schema.md +100 -0
  1018. package/dist/services/workspace/templates/project-scan/business-knowledge.md +44 -0
  1019. package/dist/services/workspace/templates/project-scan/index.d.ts +34 -0
  1020. package/dist/services/workspace/templates/project-scan/index.js +60 -0
  1021. package/dist/services/workspace/templates/project-scan/perf-template.md +109 -0
  1022. package/dist/services/workspace/templates/project-scan/security-template.md +99 -0
  1023. package/dist/services/workspace/workspace-claude-settings-materializer.d.ts +45 -0
  1024. package/dist/services/workspace/workspace-claude-settings-materializer.js +194 -0
  1025. package/dist/services/workspace/workspace-clean-service.d.ts +28 -0
  1026. package/dist/services/workspace/workspace-clean-service.js +46 -0
  1027. package/dist/services/workspace/workspace-service.d.ts +177 -0
  1028. package/dist/services/workspace/workspace-service.js +432 -0
  1029. package/dist/services/workspace/workspace-state-service.d.ts +7 -0
  1030. package/dist/services/workspace/workspace-state-service.js +43 -0
  1031. package/dist/shared/format-md-compact.d.ts +32 -0
  1032. package/dist/shared/format-md-compact.js +297 -0
  1033. package/dist/shared/frontmatter.d.ts +6 -0
  1034. package/dist/shared/frontmatter.js +165 -0
  1035. package/dist/shared/fs-utils.d.ts +4 -0
  1036. package/dist/shared/fs-utils.js +16 -0
  1037. package/dist/shared/fs.d.ts +4 -0
  1038. package/dist/shared/fs.js +26 -0
  1039. package/dist/shared/incrementing-number.d.ts +23 -0
  1040. package/dist/shared/incrementing-number.js +68 -0
  1041. package/dist/shared/json-schema-mini.d.ts +10 -0
  1042. package/dist/shared/json-schema-mini.js +113 -0
  1043. package/dist/shared/path-safety.d.ts +21 -0
  1044. package/dist/shared/path-safety.js +54 -0
  1045. package/dist/shared/path-utils.d.ts +13 -0
  1046. package/dist/shared/path-utils.js +56 -0
  1047. package/dist/shared/paths.d.ts +6 -0
  1048. package/dist/shared/paths.js +50 -0
  1049. package/dist/shared/planner-response.d.ts +21 -0
  1050. package/dist/shared/planner-response.js +26 -0
  1051. package/dist/shared/platform.d.ts +6 -0
  1052. package/dist/shared/platform.js +11 -0
  1053. package/dist/shared/process.d.ts +5 -0
  1054. package/dist/shared/process.js +12 -0
  1055. package/dist/shared/result.d.ts +22 -0
  1056. package/dist/shared/result.js +46 -0
  1057. package/dist/shared/stale-policy.d.ts +67 -0
  1058. package/dist/shared/stale-policy.js +85 -0
  1059. package/dist/shared/version.d.ts +1 -0
  1060. package/dist/shared/version.js +1 -0
  1061. package/dist/skills/peaks-maker/index.d.ts +5 -0
  1062. package/dist/skills/peaks-maker/index.js +32 -0
  1063. package/package.json +5 -4
  1064. package/scripts/copy-templates.mjs +1 -1
@@ -0,0 +1,491 @@
1
+ import { join, dirname, basename } from 'node:path';
2
+ import { readFile, readdir } from 'node:fs/promises';
3
+ import { pathExists } from '../../shared/fs.js';
4
+ import { emitObservabilityEvent } from '../observability/observability-service.js';
5
+ export const VALID_REQUEST_TYPES = [
6
+ 'feature',
7
+ 'bugfix',
8
+ 'refactor',
9
+ 'docs',
10
+ 'config',
11
+ 'chore'
12
+ ];
13
+ export const DEFAULT_REQUEST_TYPE = 'feature';
14
+ export function isRequestType(value) {
15
+ return VALID_REQUEST_TYPES.includes(value);
16
+ }
17
+ // Shared prerequisite fragments
18
+ // (Removed in v2.11.0 Group A: TECH_DOC prerequisite. The per-session
19
+ // rd/tech-doc.md is replaced by the immutable peaks-prd handoff at
20
+ // prd/handoff.md. Group B will introduce a PRD_HANDOFF prerequisite
21
+ // once the handoff service lands. For Group A scope, `rd:implemented`
22
+ // and `rd:qa-handoff` rely on the evidence files (code-review,
23
+ // security-review, perf-baseline, karpathy-review, unit tests) only.)
24
+ const BUG_ANALYSIS = {
25
+ relativePath: 'rd/bug-analysis.md',
26
+ description: 'Bug root-cause analysis (reproduction, affected paths, fix approach, regression test plan)',
27
+ mustContain: ['## Root cause', '## Fix approach']
28
+ };
29
+ const CODE_REVIEW = {
30
+ relativePath: 'rd/code-review.md',
31
+ description: 'Code review evidence (CRITICAL/HIGH must be fixed before handoff)',
32
+ mustContain: ['## Findings', 'CRITICAL']
33
+ };
34
+ const SECURITY_REVIEW = { relativePath: 'rd/security-review.md', description: 'Security review evidence for the changed surface' };
35
+ // Gate B9 — RD-side perf baseline (peaks-rd SKILL "Parallel review fan-out").
36
+ // The file must exist; the body must either carry a Results table marker
37
+ // (per peaks-rd SKILL "Mandatory perf-baseline output") or the explicit
38
+ // "N/A — no perf surface" escape hatch. A slice without a perf surface
39
+ // still has to write the stub; an RD that omits perf-baseline entirely is
40
+ // blocked here, matching peaks-rd's BLOCKING Gate B9 claim.
41
+ const PERF_BASELINE = {
42
+ relativePath: 'rd/perf-baseline.md',
43
+ description: 'RD-side perf baseline (peaks-rd Gate B9) — must include a Results table with measurements OR the literal "N/A — no perf surface" escape hatch in the Notes section. QA Gate A4 diffs against this file.',
44
+ // Either a real Results table is present, OR the explicit no-perf-surface
45
+ // stub marker. Both paths satisfy Gate B9; absence of both is BLOCKED.
46
+ mustContainAny: ['## Results', 'N/A — no perf surface']
47
+ };
48
+ // v2.12.0 Group B Tier 5 — audit outputs from the new independent
49
+ // skills (`peaks-security-audit` / `peaks-perf-audit`). These replace
50
+ // the v2.11.x rd/{security-review,perf-baseline}.md slots for the
51
+ // fanout-trigger types (feat / bugfix / refactor). The audit skills
52
+ // are dispatched as pre-RD audit runs that consume the public PRD
53
+ // handoff (`prd/handoff.md`) — see `AUDIT_REQUIRES_HANDOFF` below.
54
+ //
55
+ // Back-compat: the canonical location is `audit/security.md` (and
56
+ // `audit/perf.md`); the legacy `rd/security-review.md` (and
57
+ // `rd/perf-baseline.md`) path is also accepted via `legacyRelativePath`
58
+ // for the 1-minor-release window. v2.13.0 hard-deletes the legacy paths.
59
+ const AUDIT_SECURITY = {
60
+ relativePath: 'audit/security.md',
61
+ legacyRelativePath: 'rd/security-review.md',
62
+ description: 'Independent security audit output (peaks-security-audit skill, v2.12.0+). Replaces the v2.11.x rd/security-review.md slot for fanout-trigger request types. The legacy path is accepted during the 1-minor-release back-compat window via legacyRelativePath.',
63
+ // New canonical path writes a "## Verdict" header on the audit
64
+ // envelope. The legacy rd/security-review.md writes a "## Findings"
65
+ // header. Both pass the gate.
66
+ mustContainAny: ['## Verdict', '## Findings']
67
+ };
68
+ const AUDIT_PERF = {
69
+ relativePath: 'audit/perf.md',
70
+ legacyRelativePath: 'rd/perf-baseline.md',
71
+ description: 'Independent perf audit output (peaks-perf-audit skill, v2.12.0+). Replaces the v2.11.x rd/perf-baseline.md slot for fanout-trigger request types. The legacy path is accepted during the 1-minor-release back-compat window via legacyRelativePath.',
72
+ // New schema writes "## Baseline" header; the legacy schema writes
73
+ // "## Results". Both pass the gate, as does the explicit
74
+ // no-perf-surface stub (slices whose surface is purely logic /
75
+ // config / docs).
76
+ mustContainAny: ['## Baseline', '## Results', 'N/A — no perf surface']
77
+ };
78
+ // v2.13.1 Group A — MUT prereq (Plan 2 ships `mut-report.json` to
79
+ // `.peaks/_runtime/<sid>/mut/mut-report.json`; v2.13.1 wires it into
80
+ // the rd:qa-handoff gate for fanout-trigger types). The body must carry
81
+ // the `"passed": true` marker so the gate rejects failed mutation
82
+ // runs. We pin on the substring `"passed":` so that both JSON and
83
+ // pretty-printed JSON (with whitespace variations) are caught — the
84
+ // downstream stricter check happens in `verdict-aggregator.ts`. The
85
+ // PRD's preserved-behavior clause says `loadMutReport() === null`
86
+ // stays `skipped` on the qa side, which means this prereq is the
87
+ // rd-side CLI hard gate (blocks `rd → qa-handoff`), while qa-side
88
+ // consumption remains soft.
89
+ //
90
+ // v2.13.2 AC-5 — 1-minor-release back-compat window. When
91
+ // `backCompat: true` is set, a MISSING file downgrades to a warning
92
+ // (`mut-report-missing-deprecated-in-v2.14.0`) instead of a hard
93
+ // failure. The hard-fail behavior for `passed: false` is preserved
94
+ // (the body still has to carry `"passed": true` when present).
95
+ // v2.14.0 will remove `backCompat` and re-elevate missing → throw.
96
+ const MUT_REPORT = {
97
+ relativePath: 'mut/mut-report.json',
98
+ description: 'peaks-mut mutation + weak-assertion report (Plan 2, v2.12.0+). v2.13.1: required at rd:qa-handoff for feature / bugfix / refactor slices. v2.13.2: back-compat window — missing file downgrades to a warning (1-minor-release); passed:false still throws. The body must carry `"passed": true` when present; failed runs are blocked at this gate. CONFIG / DOCS / CHORE slices retain the legacy "no acceptance surface" exemption.',
99
+ // Substring check on the JSON property name only — strictness (kill
100
+ // rate ≥ 0.8 etc.) is enforced downstream by verdict-aggregator +
101
+ // peaks-mut's evaluateThresholds. We require both the property name
102
+ // and a literal `true` value to keep the gate as tight as possible
103
+ // without depending on JSON parsing in the prereq resolver.
104
+ mustContainAny: ['"passed": true', '"passed":true'],
105
+ backCompat: true
106
+ };
107
+ // v2.12.0 Group B Tier 5 — gate that the peaks-prd handoff (the
108
+ // immutable handoff capsule at `prd/handoff.md`) exists before any
109
+ // audit skill is allowed to consume it. The peaks-security-audit
110
+ // and peaks-perf-audit CLI commands read frontmatter from
111
+ // `prd/handoff.md` (AC-2.4 / AC-3.4); if the handoff is missing the
112
+ // audit skill aborts — and so should the prereq gate when those
113
+ // audits are required at rd:qa-handoff.
114
+ //
115
+ // This gate is co-listed with AUDIT_SECURITY / AUDIT_PERF at
116
+ // `rd:qa-handoff` for FEATURE / BUGFIX / REFACTOR. CONFIG retains
117
+ // the old form (no PRD handoff chain — config slices may run before
118
+ // PRD handoff exists for small CONFIG-only commits).
119
+ const AUDIT_REQUIRES_HANDOFF = {
120
+ relativePath: 'prd/handoff.md',
121
+ description: 'PRD handoff capsule (v2.12.0+) — peaks-security-audit / peaks-perf-audit both read frontmatter from this file. Must exist before audit prereqs are evaluated at rd:qa-handoff.',
122
+ // Empty `mustContain` is fine — file existence is the contract.
123
+ // The peaks-prd handoff service writes frontmatter with
124
+ // `schemaVersion: 2` and a sha256 fingerprint; we pin a
125
+ // substring check on `schemaVersion: 2` to fail loudly if a
126
+ // legacy handoff (schemaVersion: 1) slips in. This protects
127
+ // the audit skills from reading an envelope they cannot parse.
128
+ mustContain: ['schemaVersion: 2', 'sha256:']
129
+ };
130
+ // Karpathy-Gate (Slice 5/6 — karpathy-enforcement 5-way fanout).
131
+ // Hard gate: rd/karpathy-review.md MUST exist with the 4 guideline section
132
+ // markers (think-before-coding / simplicity-first / surgical-changes /
133
+ // goal-driven-execution) as actual headings before rd:qa-handoff transitions
134
+ // to qa. Slice 2.6.1.F hardening: the 4 guideline markers are now enforced
135
+ // as `headingMustContain` (line-anchored `#`–`###` prefix), not as substring
136
+ // matches. This prevents a malicious or careless file from passing the gate
137
+ // by simply mentioning the guideline names as prose. The `## Karpathy-Gate`
138
+ // header remains a substring match (it is the file's own gate header, not
139
+ // a structural section anchor).
140
+ const KARPATHY_REVIEW = {
141
+ relativePath: 'rd/karpathy-review.md',
142
+ description: 'RD-side karpathy review (peaks-rd 5-way fanout) — must contain a "## Karpathy-Gate" header AND the 4 guideline section markers (Think Before Coding / Simplicity First / Surgical Changes / Goal-Driven Execution) as actual markdown headings. Per karpathy §1 / §3.',
143
+ mustContain: ['## Karpathy-Gate'],
144
+ headingMustContain: [
145
+ 'Think Before Coding',
146
+ 'Simplicity First',
147
+ 'Surgical Changes',
148
+ 'Goal-Driven Execution'
149
+ ]
150
+ };
151
+ // v2.14.0 G4 — third-party reviewer (peaks-reviewer skill). Parallel
152
+ // to KARPATHY_REVIEW. The body MUST carry the literal substring
153
+ // `third-party-review` so a stub file with an empty envelope cannot
154
+ // pass the gate. The full envelope lives at the JSON sibling path
155
+ // (`rd/third-party-review.json`); this MD file is the human-readable
156
+ // companion. The body is also expected to declare a `modelFamily`
157
+ // distinct from the karpathy-reviewer's modelFamily (AC-4.4 — the CI
158
+ // gate diffs `rd/third-party-review.json.modelFamily` against
159
+ // `rd/karpathy-review.md` parsed `modelFamily`); equality fails the
160
+ // build. When `~/.peaks/config.json` lacks a `reviewer.providers`
161
+ // section, the prereq is auto-marked `skipped: no-reviewer-config`
162
+ // and the transition still passes (A4.3 fallbackOnError=skip).
163
+ const THIRD_PARTY_REVIEW = {
164
+ relativePath: 'rd/third-party-review.md',
165
+ description: 'v2.14.0 G4 third-party reviewer (peaks-reviewer skill) — must declare a `modelFamily` distinct from the karpathy-reviewer modelFamily (AC-4.4). Skipped when `~/.peaks/config.json` lacks `reviewer.providers` (>=2 entries); the prereq then resolves to a soft warning (`no-reviewer-config`) rather than a hard failure. The JSON sibling at `rd/third-party-review.json` carries the schema-validated ReviewerEnvelope (no free-form LLM JSON). v2.14.0 ships as a soft-warning prereq (1-minor-release back-compat window); v2.15.0 will hard-fail when the file is absent AND `reviewer.providers` is configured.',
166
+ mustContain: ['third-party-review', 'modelFamily'],
167
+ backCompat: true
168
+ };
169
+ const TEST_CASES = {
170
+ relativePath: 'qa/test-cases/<rid>.md',
171
+ description: 'Generated test cases (unit / integration / UI regression)',
172
+ mustContain: ['## Test cases']
173
+ };
174
+ const TEST_REPORT = {
175
+ relativePath: 'qa/test-reports/<rid>.md',
176
+ description: 'Test execution report with actual pass/fail/coverage results',
177
+ mustContain: ['## Test execution']
178
+ };
179
+ const SECURITY_FINDINGS = {
180
+ relativePath: 'qa/security-findings.md',
181
+ description: 'Security test findings (record "no findings" inside if truly clean)',
182
+ mustContain: ['## Findings']
183
+ };
184
+ const PERFORMANCE_FINDINGS = {
185
+ relativePath: 'qa/performance-findings.md',
186
+ description: 'Performance test findings (record baseline/after numbers or explicit "not applicable" rationale)',
187
+ mustContain: ['## Baseline']
188
+ };
189
+ // PRD content prereq: ensures the PRD artifact has actual scope/acceptance content
190
+ // before handoff to RD/UI/QA. The SKILL says "Handoff to RD/UI/QA is blocked while
191
+ // the artifact is missing or in `draft` state" — this gives that claim a CLI gate.
192
+ const PRD_CONTENT = {
193
+ relativePath: 'prd/requests/<rid>.md',
194
+ description: 'PRD artifact must contain Goal and Acceptance criteria sections before handoff',
195
+ mustContain: ['## Goals', '## Acceptance']
196
+ };
197
+ const UNIT_TESTS = {
198
+ relativePath: 'qa/test-cases/<rid>.md',
199
+ description: 'Unit test files for the implemented changes (enforces peaks-rd Gate B2)',
200
+ mustContain: ['## Test cases', 'test(']
201
+ };
202
+ const QA_INITIATED = {
203
+ relativePath: 'qa/.initiated',
204
+ description: 'QA skill must be invoked before RD handoff (run peaks request init --role qa)'
205
+ };
206
+ // v2.11.0 D1/D4 trim (Group C Tier 6): peaks-qa no longer requires
207
+ // qa/security-findings.md or qa/performance-findings.md at qa:verdict-issued.
208
+ // Those are owned by peaks-rd's audit fan-out (rd/security-review.md and
209
+ // rd/perf-baseline.md). QA references them by path from the test-report body
210
+ // (see qa-transition-gates.md Gates A3/A4). SECURITY_FINDINGS /
211
+ // PERFORMANCE_FINDINGS constants are kept for back-compat and a 1-minor-
212
+ // release deprecation window but are NOT in any qa:verdict-issued table.
213
+ //
214
+ // v2.12.0 Group B Tier 5: at rd:qa-handoff, the v2.11.x security-review +
215
+ // perf-baseline slots are replaced by `AUDIT_SECURITY` + `AUDIT_PERF` (the
216
+ // new audit-skill outputs). The legacy `AUDIT_SECURITY_LEGACY` /
217
+ // `AUDIT_PERF_LEGACY` shims are kept in the same list so the 1-minor-
218
+ // release back-compat window still accepts the v2.11.x on-disk layout;
219
+ // both the new path (`audit/security.md`) and the legacy path
220
+ // (`rd/security-review.md`) satisfy the gate. The audit skills require
221
+ // `prd/handoff.md` (`AUDIT_REQUIRES_HANDOFF`).
222
+ //
223
+ // v2.13.1 Group A: add `MUT_REPORT` (peaks-mut Plan 2 output). The
224
+ // gate is the rd-side CLI hard block; CONFIG / DOCS / CHORE retain the
225
+ // legacy "no acceptance surface" exemption via MINIMAL_TABLE /
226
+ // CONFIG_TABLE.
227
+ const FEATURE_TABLE = {
228
+ 'prd:handed-off': [PRD_CONTENT],
229
+ 'rd:implemented': [],
230
+ 'rd:qa-handoff': [
231
+ CODE_REVIEW,
232
+ AUDIT_REQUIRES_HANDOFF,
233
+ AUDIT_SECURITY,
234
+ AUDIT_PERF,
235
+ KARPATHY_REVIEW,
236
+ THIRD_PARTY_REVIEW,
237
+ MUT_REPORT,
238
+ UNIT_TESTS,
239
+ QA_INITIATED
240
+ ],
241
+ 'qa:running': [TEST_CASES],
242
+ 'qa:verdict-issued': [TEST_CASES, TEST_REPORT]
243
+ };
244
+ // Bugfix: lighter planning artifact (bug-analysis instead of tech-doc), still requires code review + security review + regression test.
245
+ // Performance baseline: required for perf-shaped bugfixes (where the bug IS a
246
+ // perf regression). For non-perf bugfixes, RD writes the perf-baseline stub
247
+ // with "N/A — no perf surface" — Gate B9 still passes (mustContainAny hit),
248
+ // and the stub tells QA Gate A4 to skip the perf diff.
249
+ // v2.11.0 D1/D4: SECURITY_FINDINGS dropped from qa:verdict-issued (peaks-rd owns it).
250
+ // v2.12.0 Group B Tier 5: security-review + perf-baseline → AUDIT_SECURITY +
251
+ // AUDIT_PERF (with legacy shims for 1-minor-release back-compat).
252
+ // v2.13.1 Group A: add MUT_REPORT (same rd-side hard block rationale as
253
+ // FEATURE_TABLE).
254
+ const BUGFIX_TABLE = {
255
+ 'prd:handed-off': [PRD_CONTENT],
256
+ 'rd:implemented': [BUG_ANALYSIS],
257
+ 'rd:qa-handoff': [
258
+ BUG_ANALYSIS,
259
+ CODE_REVIEW,
260
+ AUDIT_REQUIRES_HANDOFF,
261
+ AUDIT_SECURITY,
262
+ AUDIT_PERF,
263
+ KARPATHY_REVIEW,
264
+ THIRD_PARTY_REVIEW,
265
+ MUT_REPORT,
266
+ UNIT_TESTS,
267
+ QA_INITIATED
268
+ ],
269
+ 'qa:running': [TEST_CASES],
270
+ 'qa:verdict-issued': [TEST_CASES, TEST_REPORT]
271
+ };
272
+ // Refactor: same as feature; refactor hard gates (coverage ≥ 95%) are enforced separately in peaks-rd SKILL.
273
+ const REFACTOR_TABLE = FEATURE_TABLE;
274
+ // Docs / chore: minimal gate — require PRD content before proceeding.
275
+ // Prevents jumping to implementation without planning.
276
+ const MINIMAL_TABLE = {
277
+ 'prd:handed-off': [PRD_CONTENT]
278
+ };
279
+ // Config: security review is the only mandatory check (config changes can break auth, CORS, CSP, secrets handling).
280
+ // v2.11.0 D1/D4: SECURITY_FINDINGS dropped from qa:verdict-issued (peaks-rd owns security evidence).
281
+ const CONFIG_TABLE = {
282
+ 'prd:handed-off': [PRD_CONTENT],
283
+ 'rd:qa-handoff': [SECURITY_REVIEW],
284
+ 'qa:verdict-issued': [TEST_REPORT]
285
+ };
286
+ const PREREQUISITES_BY_TYPE = {
287
+ feature: FEATURE_TABLE,
288
+ bugfix: BUGFIX_TABLE,
289
+ refactor: REFACTOR_TABLE,
290
+ docs: MINIMAL_TABLE,
291
+ config: CONFIG_TABLE,
292
+ chore: MINIMAL_TABLE
293
+ };
294
+ export function getPrerequisitesFor(role, newState, requestType = DEFAULT_REQUEST_TYPE) {
295
+ const table = PREREQUISITES_BY_TYPE[requestType];
296
+ return table[`${role}:${newState}`] ?? [];
297
+ }
298
+ function resolvePrerequisitePath(prerequisite, requestId) {
299
+ return prerequisite.relativePath.replace('<rid>', requestId);
300
+ }
301
+ /**
302
+ * Resolve a prerequisite to an on-disk path, tolerating the numbered filename
303
+ * prefix that `request init` writes (e.g. `001-<rid>.md`). When the prerequisite
304
+ * path contains `<rid>`, we accept either the legacy bare `<rid>.md` form or any
305
+ * `NNN-<rid>.md` numbered form — mirroring the matcher in request-artifact-service.
306
+ * Returns the matched absolute path, or null when nothing matches.
307
+ */
308
+ async function resolvePrerequisiteAbsolutePath(sessionRoot, prerequisite, requestId) {
309
+ const relative = resolvePrerequisitePath(prerequisite, requestId);
310
+ const exact = join(sessionRoot, relative);
311
+ if (await pathExists(exact)) {
312
+ return exact;
313
+ }
314
+ // Only `<rid>`-templated prerequisites can carry a numbered prefix; fixed paths
315
+ // (e.g. rd/tech-doc.md) are matched exactly above.
316
+ if (!prerequisite.relativePath.includes('<rid>')) {
317
+ return null;
318
+ }
319
+ const dir = dirname(exact);
320
+ const targetSuffix = `-${basename(exact)}`;
321
+ let entries;
322
+ try {
323
+ entries = await readdir(dir);
324
+ }
325
+ catch { // TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
326
+ return null;
327
+ }
328
+ const match = entries.find((name) => /^\d+-/.test(name) && name.endsWith(targetSuffix));
329
+ return match ? join(dir, match) : null;
330
+ }
331
+ export async function checkPrerequisites(options) {
332
+ const requirements = getPrerequisitesFor(options.role, options.newState, options.requestType);
333
+ if (requirements.length === 0) {
334
+ return { ok: true, missing: [], warnings: [] };
335
+ }
336
+ // Slice 006 simplifies the resolution to a 2-tier fallback. The
337
+ // per-change-id scope (`.peaks/_runtime/<sessionId>/<role>/`) is gone — new
338
+ // artifacts go to the session dir directly. The 2 tiers are:
339
+ // 1. `.peaks/_runtime/<sid>/<role>/...` (post-F3 canonical
340
+ // session home; primary).
341
+ // 2. `.peaks/_runtime/<sid>/<role>/...` (pre-F3 legacy session home;
342
+ // back-compat).
343
+ // The sessionId is preserved in the artifact body's frontmatter for
344
+ // human navigation; it is no longer a filesystem path key.
345
+ const canonicalSessionRoot = options.sessionId !== undefined
346
+ ? join(options.projectRoot, '.peaks', '_runtime', options.sessionId)
347
+ : null;
348
+ const legacySessionRoot = options.sessionId !== undefined
349
+ ? join(options.projectRoot, '.peaks', options.sessionId)
350
+ : null;
351
+ const missing = [];
352
+ const warnings = [];
353
+ for (const prerequisite of requirements) {
354
+ const relative = resolvePrerequisitePath(prerequisite, options.requestId);
355
+ const absolute = await resolvePrerequisiteAbsolutePathWithFallback(canonicalSessionRoot, legacySessionRoot, prerequisite, options.requestId);
356
+ if (absolute === null) {
357
+ // v2.13.2 AC-5: back-compat window for MUT_REPORT — missing
358
+ // file downgrades to a warning, NOT a hard failure. v2.14.0
359
+ // will remove this branch and re-elevate missing → throw.
360
+ const backCompat = prerequisite.backCompat === true;
361
+ if (backCompat) {
362
+ warnings.push({
363
+ path: relative,
364
+ code: 'mut-report-missing-deprecated-in-v2.14.0',
365
+ message: `${prerequisite.description} — file missing; soft-blocked under v2.13.2 1-minor back-compat window. v2.14.0 hard-fail.`
366
+ });
367
+ continue;
368
+ }
369
+ missing.push({ path: relative, description: prerequisite.description });
370
+ continue;
371
+ }
372
+ if (prerequisite.mustContain && prerequisite.mustContain.length > 0) {
373
+ const body = await readFile(absolute, 'utf8');
374
+ const lowered = body.toLowerCase();
375
+ const missingMarkers = prerequisite.mustContain.filter((marker) => !lowered.includes(marker.toLowerCase()));
376
+ if (missingMarkers.length > 0) {
377
+ missing.push({
378
+ path: relative,
379
+ description: `${prerequisite.description} — missing section(s): ${missingMarkers.join(', ')}`
380
+ });
381
+ }
382
+ }
383
+ if (prerequisite.headingMustContain && prerequisite.headingMustContain.length > 0) {
384
+ const body = await readFile(absolute, 'utf8');
385
+ // Slice 2.6.1.F: a line beginning with `#`, `##`, or `###` followed by
386
+ // the marker (case-insensitive). Fenced code blocks are NOT excluded
387
+ // here — a "heading" inside a code fence is rare and, when present,
388
+ // should still be reported as missing to keep the contract strict.
389
+ const headingLines = body
390
+ .split('\n')
391
+ .map((line) => line.trim())
392
+ .filter((line) => /^#{1,3}\s+/.test(line));
393
+ const loweredHeadings = headingLines.map((h) => h.toLowerCase());
394
+ const missingHeadings = prerequisite.headingMustContain.filter((marker) => !loweredHeadings.some((h) => h.includes(marker.toLowerCase())));
395
+ if (missingHeadings.length > 0) {
396
+ missing.push({
397
+ path: relative,
398
+ description: `${prerequisite.description} — missing heading(s): ${missingHeadings.join(', ')}`
399
+ });
400
+ }
401
+ }
402
+ if (prerequisite.mustContainAny && prerequisite.mustContainAny.length > 0) {
403
+ const body = await readFile(absolute, 'utf8');
404
+ const lowered = body.toLowerCase();
405
+ const hitAny = prerequisite.mustContainAny.some((marker) => lowered.includes(marker.toLowerCase()));
406
+ if (!hitAny) {
407
+ missing.push({
408
+ path: relative,
409
+ description: `${prerequisite.description} — none of the escape-hatch markers present: ${prerequisite.mustContainAny.join(', ')}`
410
+ });
411
+ }
412
+ }
413
+ }
414
+ const result = { ok: missing.length === 0, missing, warnings };
415
+ emitPrereqTransitionEvent({
416
+ projectRoot: options.projectRoot,
417
+ sessionId: options.sessionId ?? '',
418
+ role: options.role,
419
+ newState: options.newState,
420
+ requestId: options.requestId,
421
+ result
422
+ });
423
+ return result;
424
+ }
425
+ // Slice C of v2.11.1 — observability hook #7/7. Fire-and-forget per
426
+ // PRD Q4. The synchronous emit never throws and never blocks the
427
+ // prereq check return value.
428
+ function emitPrereqTransitionEvent(opts) {
429
+ if (opts.sessionId === undefined)
430
+ return;
431
+ emitObservabilityEvent({
432
+ schemaVersion: 1,
433
+ ts: new Date().toISOString(),
434
+ sessionId: opts.sessionId,
435
+ category: 'slice-transition',
436
+ sliceRid: opts.requestId,
437
+ detail: {
438
+ artifactRole: opts.role,
439
+ to: opts.newState,
440
+ prereqOk: opts.result.ok,
441
+ missingCount: opts.result.missing.length
442
+ }
443
+ }, { projectRoot: opts.projectRoot });
444
+ }
445
+ /**
446
+ * Resolve a prerequisite to an on-disk path, with a 2-tier fallback
447
+ * (slice 006 — the per-change-id tier was dropped because per-change-id
448
+ * dirs are no longer created):
449
+ * 1. `<canonicalSessionRoot>/<relative>` (post-F3 canonical session
450
+ * home, when `canonicalSessionRoot` is provided).
451
+ * 2. `<legacySessionRoot>/<relative>` (pre-F3 legacy session home,
452
+ * when `legacySessionRoot` is provided).
453
+ * Tolerates the numbered filename prefix that `request init` writes
454
+ * (e.g. `001-<rid>.md`) at every tier. Returns the matched absolute
455
+ * path, or null when nothing matches.
456
+ *
457
+ * v2.12.0 Group B Tier 5: if `prerequisite.legacyRelativePath` is set
458
+ * and neither primary session-root tier resolved, the resolver tries
459
+ * the legacy relative path at BOTH session roots before declaring the
460
+ * prereq missing. This is the 1-minor-release back-compat mechanism
461
+ * for artifacts that moved location (e.g. `rd/security-review.md` →
462
+ * `audit/security.md`).
463
+ */
464
+ async function resolvePrerequisiteAbsolutePathWithFallback(canonicalSessionRoot, legacySessionRoot, prerequisite, requestId) {
465
+ const roots = [canonicalSessionRoot, legacySessionRoot];
466
+ // First pass: try the primary relativePath at every root.
467
+ for (const root of roots) {
468
+ if (root === null)
469
+ continue;
470
+ const found = await resolvePrerequisiteAbsolutePath(root, prerequisite, requestId);
471
+ if (found !== null)
472
+ return found;
473
+ }
474
+ // Second pass: if a legacyRelativePath is declared, try it at every
475
+ // root. Only the relativePath is swapped — the same numbered-prefix
476
+ // tolerance applies via the shared resolver.
477
+ if (prerequisite.legacyRelativePath !== undefined) {
478
+ const legacyPrereq = {
479
+ ...prerequisite,
480
+ relativePath: prerequisite.legacyRelativePath
481
+ };
482
+ for (const root of roots) {
483
+ if (root === null)
484
+ continue;
485
+ const found = await resolvePrerequisiteAbsolutePath(root, legacyPrereq, requestId);
486
+ if (found !== null)
487
+ return found;
488
+ }
489
+ }
490
+ return null;
491
+ }
@@ -0,0 +1,43 @@
1
+ export type ArtifactProvider = 'github' | 'gitlab';
2
+ export type ArtifactInitPlan = {
3
+ provider: ArtifactProvider;
4
+ name: string;
5
+ visibility: 'private';
6
+ localPath: string;
7
+ remoteFirst: boolean;
8
+ dryRun: boolean;
9
+ plannedActions: string[];
10
+ tokenPolicy: string;
11
+ };
12
+ export type GuidedArtifactSetup = {
13
+ step: 'detect' | 'configure' | 'validate' | 'complete';
14
+ workspaceId: string | null;
15
+ workspacePath: string | null;
16
+ provider: ArtifactProvider | null;
17
+ repoOwner: string | null;
18
+ repoName: string | null;
19
+ localPath: string;
20
+ remoteUrl: string | null;
21
+ validationResult: {
22
+ workspaceExists: boolean;
23
+ gitAvailable: boolean;
24
+ ghTokenAvailable: boolean;
25
+ sshKeyAvailable: boolean;
26
+ };
27
+ nextStep: string;
28
+ guidance: string[];
29
+ };
30
+ export declare function createArtifactInitPlan(options: {
31
+ provider: ArtifactProvider;
32
+ name: string;
33
+ localPath?: string;
34
+ dryRun?: boolean;
35
+ }): ArtifactInitPlan;
36
+ export declare function createGuidedArtifactSetup(): GuidedArtifactSetup;
37
+ export declare function getArtifactStatus(): {
38
+ mode: string;
39
+ supportedProviders: ArtifactProvider[];
40
+ localPath: string;
41
+ configured: boolean;
42
+ nextActions: string[];
43
+ };
@@ -0,0 +1,98 @@
1
+ import { existsSync } from 'node:fs';
2
+ import { execFileSync } from 'node:child_process';
3
+ import { homedir } from 'node:os';
4
+ import { resolve } from 'node:path';
5
+ import { getWorkspaceConfigForPath } from '../config/config-service.js';
6
+ import { getArtifactRemoteRepo, getLocalArtifactPath } from './workspace-service.js';
7
+ function getRemoteUrl(artifactRepo) {
8
+ if (!artifactRepo)
9
+ return null;
10
+ if (artifactRepo.provider === 'github') {
11
+ return `https://github.com/${artifactRepo.owner}/${artifactRepo.name}.git`;
12
+ }
13
+ return `https://gitlab.com/${artifactRepo.owner}/${artifactRepo.name}.git`;
14
+ }
15
+ function hasGit() {
16
+ try {
17
+ execFileSync('git', ['--version']);
18
+ return true;
19
+ }
20
+ catch {
21
+ return false;
22
+ }
23
+ }
24
+ function hasSshKey() {
25
+ const sshDir = resolve(process.env.HOME ?? homedir(), '.ssh');
26
+ const keyNames = ['id_ed25519', 'id_rsa', 'id_ecdsa', 'id_dsa'];
27
+ return keyNames.some((keyName) => existsSync(resolve(sshDir, keyName)));
28
+ }
29
+ export function createArtifactInitPlan(options) {
30
+ return {
31
+ provider: options.provider,
32
+ name: options.name,
33
+ visibility: 'private',
34
+ localPath: options.localPath ?? '.peaks-artifacts',
35
+ remoteFirst: true,
36
+ dryRun: options.dryRun ?? true,
37
+ plannedActions: [
38
+ `confirm creation of private ${options.provider} artifact repository`,
39
+ 'verify authentication without storing tokens',
40
+ `create or link remote artifact repository ${options.name}`,
41
+ `prepare local working copy at ${options.localPath ?? '.peaks-artifacts'}`,
42
+ 'write artifact repository creation report'
43
+ ],
44
+ tokenPolicy: 'Use provider auth/CLI or environment tokens only; never write tokens to skills, artifacts, config, or reports.'
45
+ };
46
+ }
47
+ export function createGuidedArtifactSetup() {
48
+ const workspace = getWorkspaceConfigForPath(process.cwd());
49
+ const artifactRepo = workspace ? getArtifactRemoteRepo(workspace) : null;
50
+ const validationResult = {
51
+ workspaceExists: workspace !== null,
52
+ gitAvailable: hasGit(),
53
+ ghTokenAvailable: Boolean(process.env.GH_TOKEN?.trim()),
54
+ sshKeyAvailable: hasSshKey()
55
+ };
56
+ const localPath = workspace ? getLocalArtifactPath(workspace) : '.peaks-artifacts';
57
+ const remoteUrl = getRemoteUrl(artifactRepo ?? undefined);
58
+ return {
59
+ step: 'detect',
60
+ workspaceId: workspace?.workspaceId ?? null,
61
+ workspacePath: workspace?.rootPath ?? null,
62
+ provider: artifactRepo?.provider ?? null,
63
+ repoOwner: artifactRepo?.owner ?? null,
64
+ repoName: artifactRepo?.name ?? null,
65
+ localPath,
66
+ remoteUrl,
67
+ validationResult,
68
+ nextStep: workspace ? (artifactRepo ? 'validate' : 'complete') : 'configure',
69
+ guidance: [
70
+ 'Step 1: Detect current workspace and environment',
71
+ ` - Workspace: ${workspace?.workspaceId ?? 'not configured'}`,
72
+ ` - Git available: ${validationResult.gitAvailable ? 'yes' : 'no'}`,
73
+ ` - GH_TOKEN environment variable: ${validationResult.ghTokenAvailable ? 'available' : 'not set'}`,
74
+ ` - SSH key for code push: ${validationResult.sshKeyAvailable ? 'available' : 'not found'}`,
75
+ '',
76
+ 'Step 2: Configure artifact repository',
77
+ ' - Optional for local-only storage',
78
+ ' - Run: peaks artifacts init --provider github --name <repo> --dry-run',
79
+ ' - Or add to workspace: peaks config workspace add --id <id> --provider github --repo-owner <owner> --repo-name <name>',
80
+ '',
81
+ 'Step 3: Validate setup',
82
+ ' - Run: peaks sc status',
83
+ ' - Run: peaks artifacts workspace',
84
+ '',
85
+ 'Step 4: Complete',
86
+ artifactRepo ? ' - Artifact sync is ready when workspace has remote artifact storage configured' : ' - Local artifact storage is ready'
87
+ ]
88
+ };
89
+ }
90
+ export function getArtifactStatus() {
91
+ return {
92
+ mode: 'remote-first',
93
+ supportedProviders: ['github', 'gitlab'],
94
+ localPath: '.peaks-artifacts',
95
+ configured: false,
96
+ nextActions: ['Run peaks artifacts init --provider gitlab --name <repo> --dry-run']
97
+ };
98
+ }
@@ -0,0 +1,30 @@
1
+ import type { RequestType } from './artifact-prerequisites.js';
2
+ /**
3
+ * Role discriminator for the five request-artifact templates. Lives here
4
+ * (rather than in `request-artifact-service.ts`) so this pure-function
5
+ * module has no dependency on the service. The service re-exports it for
6
+ * back-compat with external callers.
7
+ */
8
+ export type RequestArtifactRole = 'prd' | 'ui' | 'rd' | 'qa' | 'sc';
9
+ /**
10
+ * Handoff path helpers.
11
+ *
12
+ * Slice 2026-06-29-change-id-root-removal: all handoff paths now key
13
+ * on the session-id axis (`.peaks/_runtime/<sessionId>/<role>/...`)
14
+ * instead of the deleted change-id axis
15
+ * (`.peaks/_runtime/change/<sessionId>/<role>/...`). The session
16
+ * dir is gitignored; the hard ban on `.peaks/_runtime/<id>/`
17
+ * siblings remains in force.
18
+ *
19
+ * The render functions below emit markdown bodies that quote these
20
+ * paths verbatim as write instructions — if the body contains a
21
+ * banned top-level path, the sub-agent prompt will recreate the
22
+ * forbidden dir on its next write.
23
+ */
24
+ /** Canonical handoff path for a downstream role's request artifact. */
25
+ export declare function formatHandoffPath(sessionId: string, role: string, requestId: string): string;
26
+ /** Canonical path for the SC commit-boundary handoff artifact. */
27
+ export declare function formatCommitBoundaryPath(sessionId: string, requestId: string): string;
28
+ /** Canonical path for the txt skill-usage lessons log under a session scope. */
29
+ export declare function formatSkillUsageLessonsPath(sessionId: string): string;
30
+ export declare function renderTemplate(role: RequestArtifactRole, requestId: string, sessionId: string, changeSlug: string, timestamp: string, requestType: RequestType): string;