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

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 (1072) hide show
  1. package/CHANGELOG.md +90 -0
  2. package/README-en.md +178 -67
  3. package/README.md +178 -57
  4. package/examples/video-demo/README.md +108 -23
  5. package/examples/video-demo/preview/peaks-loop-demo-en.mp4 +0 -0
  6. package/examples/video-demo/preview/peaks-loop-demo.mp4 +0 -0
  7. package/package.json +19 -6
  8. package/scripts/copy-templates.mjs +64 -0
  9. package/skills/bee/peaks-rd/SKILL.md +1 -1
  10. package/skills/bee/peaks-rd/references/library-version-awareness.md +2 -2
  11. package/skills/bee/peaks-rd/references/mock-data-placement.md +1 -1
  12. package/skills/bee/peaks-rd/references/rd-runbook.md +2 -2
  13. package/skills/bee/peaks-rd/references/rd-transition-gates.md +2 -2
  14. package/skills/bee/peaks-rd/references/writing-handoff-frontmatter.md +1 -1
  15. package/skills/bee/peaks-ui/SKILL.md +2 -2
  16. package/skills/peaks-code/SKILL.md +18 -49
  17. package/skills/peaks-code/references/project-scan-checklist.md +3 -1
  18. package/skills/peaks-code/references/runbook.md +2 -2
  19. package/skills/peaks-code/references/standards-preflight.md +1 -1
  20. package/skills/peaks-code/references/step-11-memory-sediment.md +56 -0
  21. package/skills/peaks-code/references/swarm-dispatch-contract.md +1 -1
  22. package/skills/peaks-code/references/workflow-gates-and-types.md +3 -3
  23. package/dist/src/cli/cli-helpers.d.ts +0 -43
  24. package/dist/src/cli/cli-helpers.js +0 -86
  25. package/dist/src/cli/commands/adapter-commands-s2a.d.ts +0 -34
  26. package/dist/src/cli/commands/adapter-commands-s2a.js +0 -92
  27. package/dist/src/cli/commands/adapter-commands.d.ts +0 -30
  28. package/dist/src/cli/commands/adapter-commands.js +0 -35
  29. package/dist/src/cli/commands/agent-commands.d.ts +0 -20
  30. package/dist/src/cli/commands/agent-commands.js +0 -48
  31. package/dist/src/cli/commands/asset-commands.d.ts +0 -45
  32. package/dist/src/cli/commands/asset-commands.js +0 -404
  33. package/dist/src/cli/commands/audit-commands.d.ts +0 -28
  34. package/dist/src/cli/commands/audit-commands.js +0 -437
  35. package/dist/src/cli/commands/bee-commands.d.ts +0 -26
  36. package/dist/src/cli/commands/bee-commands.js +0 -169
  37. package/dist/src/cli/commands/capability-commands.d.ts +0 -16
  38. package/dist/src/cli/commands/capability-commands.js +0 -45
  39. package/dist/src/cli/commands/capability-worker-config-sc-commands.d.ts +0 -3
  40. package/dist/src/cli/commands/capability-worker-config-sc-commands.js +0 -10
  41. package/dist/src/cli/commands/classify-classify-commands.d.ts +0 -19
  42. package/dist/src/cli/commands/classify-classify-commands.js +0 -151
  43. package/dist/src/cli/commands/code-commands.d.ts +0 -80
  44. package/dist/src/cli/commands/code-commands.js +0 -798
  45. package/dist/src/cli/commands/code-review-commands.d.ts +0 -34
  46. package/dist/src/cli/commands/code-review-commands.js +0 -83
  47. package/dist/src/cli/commands/codegraph-commands.d.ts +0 -3
  48. package/dist/src/cli/commands/codegraph-commands.js +0 -99
  49. package/dist/src/cli/commands/compact-command.d.ts +0 -21
  50. package/dist/src/cli/commands/compact-command.js +0 -252
  51. package/dist/src/cli/commands/complexity-commands.d.ts +0 -9
  52. package/dist/src/cli/commands/complexity-commands.js +0 -34
  53. package/dist/src/cli/commands/config-commands.d.ts +0 -3
  54. package/dist/src/cli/commands/config-commands.js +0 -220
  55. package/dist/src/cli/commands/context-builder-commands.d.ts +0 -11
  56. package/dist/src/cli/commands/context-builder-commands.js +0 -85
  57. package/dist/src/cli/commands/context-commands.d.ts +0 -21
  58. package/dist/src/cli/commands/context-commands.js +0 -254
  59. package/dist/src/cli/commands/contract-commands.d.ts +0 -26
  60. package/dist/src/cli/commands/contract-commands.js +0 -114
  61. package/dist/src/cli/commands/core/artifacts-command.d.ts +0 -3
  62. package/dist/src/cli/commands/core/artifacts-command.js +0 -62
  63. package/dist/src/cli/commands/core/binding-commands.d.ts +0 -3
  64. package/dist/src/cli/commands/core/binding-commands.js +0 -58
  65. package/dist/src/cli/commands/core/doctor-command.d.ts +0 -11
  66. package/dist/src/cli/commands/core/doctor-command.js +0 -204
  67. package/dist/src/cli/commands/core/memory-command.d.ts +0 -3
  68. package/dist/src/cli/commands/core/memory-command.js +0 -98
  69. package/dist/src/cli/commands/core/profile-command.d.ts +0 -3
  70. package/dist/src/cli/commands/core/profile-command.js +0 -9
  71. package/dist/src/cli/commands/core/proxy-command.d.ts +0 -3
  72. package/dist/src/cli/commands/core/proxy-command.js +0 -26
  73. package/dist/src/cli/commands/core/session-command.d.ts +0 -3
  74. package/dist/src/cli/commands/core/session-command.js +0 -241
  75. package/dist/src/cli/commands/core/skill-command.d.ts +0 -3
  76. package/dist/src/cli/commands/core/skill-command.js +0 -297
  77. package/dist/src/cli/commands/core/standards-command.d.ts +0 -3
  78. package/dist/src/cli/commands/core/standards-command.js +0 -95
  79. package/dist/src/cli/commands/core-artifact-commands.d.ts +0 -15
  80. package/dist/src/cli/commands/core-artifact-commands.js +0 -31
  81. package/dist/src/cli/commands/dispatch-commands.d.ts +0 -10
  82. package/dist/src/cli/commands/dispatch-commands.js +0 -351
  83. package/dist/src/cli/commands/dispatch-from-dag.d.ts +0 -3
  84. package/dist/src/cli/commands/dispatch-from-dag.js +0 -251
  85. package/dist/src/cli/commands/doc-commands.d.ts +0 -11
  86. package/dist/src/cli/commands/doc-commands.js +0 -65
  87. package/dist/src/cli/commands/evolution-commands.d.ts +0 -27
  88. package/dist/src/cli/commands/evolution-commands.js +0 -393
  89. package/dist/src/cli/commands/feedback-commands.d.ts +0 -18
  90. package/dist/src/cli/commands/feedback-commands.js +0 -145
  91. package/dist/src/cli/commands/final-review-commands.d.ts +0 -31
  92. package/dist/src/cli/commands/final-review-commands.js +0 -161
  93. package/dist/src/cli/commands/fixture-commands.d.ts +0 -32
  94. package/dist/src/cli/commands/fixture-commands.js +0 -91
  95. package/dist/src/cli/commands/fork-commands.d.ts +0 -16
  96. package/dist/src/cli/commands/fork-commands.js +0 -163
  97. package/dist/src/cli/commands/gate-commands.d.ts +0 -3
  98. package/dist/src/cli/commands/gate-commands.js +0 -117
  99. package/dist/src/cli/commands/heartbeat-commands.d.ts +0 -3
  100. package/dist/src/cli/commands/heartbeat-commands.js +0 -135
  101. package/dist/src/cli/commands/hook-handle.d.ts +0 -17
  102. package/dist/src/cli/commands/hook-handle.js +0 -157
  103. package/dist/src/cli/commands/hooks-commands.d.ts +0 -3
  104. package/dist/src/cli/commands/hooks-commands.js +0 -156
  105. package/dist/src/cli/commands/ide-commands.d.ts +0 -25
  106. package/dist/src/cli/commands/ide-commands.js +0 -42
  107. package/dist/src/cli/commands/impact-commands.d.ts +0 -15
  108. package/dist/src/cli/commands/impact-commands.js +0 -62
  109. package/dist/src/cli/commands/job-commands.d.ts +0 -3
  110. package/dist/src/cli/commands/job-commands.js +0 -289
  111. package/dist/src/cli/commands/legacy-commands.d.ts +0 -11
  112. package/dist/src/cli/commands/legacy-commands.js +0 -32
  113. package/dist/src/cli/commands/log-commands.d.ts +0 -17
  114. package/dist/src/cli/commands/log-commands.js +0 -64
  115. package/dist/src/cli/commands/loop-commands.d.ts +0 -27
  116. package/dist/src/cli/commands/loop-commands.js +0 -262
  117. package/dist/src/cli/commands/loop-eval-commands.d.ts +0 -20
  118. package/dist/src/cli/commands/loop-eval-commands.js +0 -526
  119. package/dist/src/cli/commands/memory-commands.d.ts +0 -23
  120. package/dist/src/cli/commands/memory-commands.js +0 -129
  121. package/dist/src/cli/commands/migrate-1-4-1-command.d.ts +0 -11
  122. package/dist/src/cli/commands/migrate-1-4-1-command.js +0 -34
  123. package/dist/src/cli/commands/migrate-v2-10-to-v2-11-command.d.ts +0 -20
  124. package/dist/src/cli/commands/migrate-v2-10-to-v2-11-command.js +0 -52
  125. package/dist/src/cli/commands/mut-commands.d.ts +0 -20
  126. package/dist/src/cli/commands/mut-commands.js +0 -239
  127. package/dist/src/cli/commands/observability-commands.d.ts +0 -22
  128. package/dist/src/cli/commands/observability-commands.js +0 -201
  129. package/dist/src/cli/commands/openspec-commands.d.ts +0 -3
  130. package/dist/src/cli/commands/openspec-commands.js +0 -237
  131. package/dist/src/cli/commands/perf-audit-commands.d.ts +0 -22
  132. package/dist/src/cli/commands/perf-audit-commands.js +0 -132
  133. package/dist/src/cli/commands/perf-commands.d.ts +0 -3
  134. package/dist/src/cli/commands/perf-commands.js +0 -41
  135. package/dist/src/cli/commands/playwright-commands.d.ts +0 -95
  136. package/dist/src/cli/commands/playwright-commands.js +0 -432
  137. package/dist/src/cli/commands/polyrepo-commands.d.ts +0 -37
  138. package/dist/src/cli/commands/polyrepo-commands.js +0 -155
  139. package/dist/src/cli/commands/prd-blocks-commands.d.ts +0 -18
  140. package/dist/src/cli/commands/prd-blocks-commands.js +0 -50
  141. package/dist/src/cli/commands/prd-commands.d.ts +0 -18
  142. package/dist/src/cli/commands/prd-commands.js +0 -141
  143. package/dist/src/cli/commands/preferences-commands.d.ts +0 -2
  144. package/dist/src/cli/commands/preferences-commands.js +0 -197
  145. package/dist/src/cli/commands/project-commands.d.ts +0 -3
  146. package/dist/src/cli/commands/project-commands.js +0 -248
  147. package/dist/src/cli/commands/qa-business-review-commands.d.ts +0 -17
  148. package/dist/src/cli/commands/qa-business-review-commands.js +0 -148
  149. package/dist/src/cli/commands/qa-commands.d.ts +0 -94
  150. package/dist/src/cli/commands/qa-commands.js +0 -271
  151. package/dist/src/cli/commands/release-commands.d.ts +0 -24
  152. package/dist/src/cli/commands/release-commands.js +0 -231
  153. package/dist/src/cli/commands/request-commands.d.ts +0 -3
  154. package/dist/src/cli/commands/request-commands.js +0 -548
  155. package/dist/src/cli/commands/retrospective-commands.d.ts +0 -12
  156. package/dist/src/cli/commands/retrospective-commands.js +0 -175
  157. package/dist/src/cli/commands/reviewer-commands.d.ts +0 -14
  158. package/dist/src/cli/commands/reviewer-commands.js +0 -64
  159. package/dist/src/cli/commands/role-commands.d.ts +0 -13
  160. package/dist/src/cli/commands/role-commands.js +0 -85
  161. package/dist/src/cli/commands/runtime-commands.d.ts +0 -52
  162. package/dist/src/cli/commands/runtime-commands.js +0 -150
  163. package/dist/src/cli/commands/sc-commands.d.ts +0 -3
  164. package/dist/src/cli/commands/sc-commands.js +0 -45
  165. package/dist/src/cli/commands/scan-commands.d.ts +0 -3
  166. package/dist/src/cli/commands/scan-commands.js +0 -445
  167. package/dist/src/cli/commands/security-audit-commands.d.ts +0 -23
  168. package/dist/src/cli/commands/security-audit-commands.js +0 -132
  169. package/dist/src/cli/commands/sediment-commands.d.ts +0 -80
  170. package/dist/src/cli/commands/sediment-commands.js +0 -649
  171. package/dist/src/cli/commands/session-auto-compact-hook-command.d.ts +0 -37
  172. package/dist/src/cli/commands/session-auto-compact-hook-command.js +0 -127
  173. package/dist/src/cli/commands/session-checkpoint-command.d.ts +0 -10
  174. package/dist/src/cli/commands/session-checkpoint-command.js +0 -100
  175. package/dist/src/cli/commands/session-migrate-skill-name.d.ts +0 -17
  176. package/dist/src/cli/commands/session-migrate-skill-name.js +0 -41
  177. package/dist/src/cli/commands/session-resume-command.d.ts +0 -11
  178. package/dist/src/cli/commands/session-resume-command.js +0 -83
  179. package/dist/src/cli/commands/share-commands.d.ts +0 -17
  180. package/dist/src/cli/commands/share-commands.js +0 -296
  181. package/dist/src/cli/commands/skill-conformance-commands.d.ts +0 -9
  182. package/dist/src/cli/commands/skill-conformance-commands.js +0 -39
  183. package/dist/src/cli/commands/skill-loop-engineering-readiness-commands.d.ts +0 -67
  184. package/dist/src/cli/commands/skill-loop-engineering-readiness-commands.js +0 -173
  185. package/dist/src/cli/commands/skill-search-commands.d.ts +0 -25
  186. package/dist/src/cli/commands/skill-search-commands.js +0 -68
  187. package/dist/src/cli/commands/skill-visibility.d.ts +0 -8
  188. package/dist/src/cli/commands/skill-visibility.js +0 -63
  189. package/dist/src/cli/commands/slice-commands.d.ts +0 -24
  190. package/dist/src/cli/commands/slice-commands.js +0 -492
  191. package/dist/src/cli/commands/slice-integrate-commands.d.ts +0 -11
  192. package/dist/src/cli/commands/slice-integrate-commands.js +0 -74
  193. package/dist/src/cli/commands/slice-review-commands.d.ts +0 -23
  194. package/dist/src/cli/commands/slice-review-commands.js +0 -162
  195. package/dist/src/cli/commands/smoke-commands.d.ts +0 -21
  196. package/dist/src/cli/commands/smoke-commands.js +0 -203
  197. package/dist/src/cli/commands/sop-commands.d.ts +0 -3
  198. package/dist/src/cli/commands/sop-commands.js +0 -215
  199. package/dist/src/cli/commands/statusline-commands.d.ts +0 -3
  200. package/dist/src/cli/commands/statusline-commands.js +0 -169
  201. package/dist/src/cli/commands/sub-agent-commands.d.ts +0 -22
  202. package/dist/src/cli/commands/sub-agent-commands.js +0 -19
  203. package/dist/src/cli/commands/sub-agent-dispatch-guard.d.ts +0 -55
  204. package/dist/src/cli/commands/sub-agent-dispatch-guard.js +0 -57
  205. package/dist/src/cli/commands/sub-agent-shared.d.ts +0 -99
  206. package/dist/src/cli/commands/sub-agent-shared.js +0 -67
  207. package/dist/src/cli/commands/test-commands.d.ts +0 -47
  208. package/dist/src/cli/commands/test-commands.js +0 -204
  209. package/dist/src/cli/commands/understand-commands.d.ts +0 -3
  210. package/dist/src/cli/commands/understand-commands.js +0 -148
  211. package/dist/src/cli/commands/upgrade-commands.d.ts +0 -23
  212. package/dist/src/cli/commands/upgrade-commands.js +0 -119
  213. package/dist/src/cli/commands/user-touchpoint-commands.d.ts +0 -18
  214. package/dist/src/cli/commands/user-touchpoint-commands.js +0 -78
  215. package/dist/src/cli/commands/verdict-aggregate-command.d.ts +0 -14
  216. package/dist/src/cli/commands/verdict-aggregate-command.js +0 -106
  217. package/dist/src/cli/commands/worker-commands.d.ts +0 -3
  218. package/dist/src/cli/commands/worker-commands.js +0 -52
  219. package/dist/src/cli/commands/workflow-commands.d.ts +0 -3
  220. package/dist/src/cli/commands/workflow-commands.js +0 -535
  221. package/dist/src/cli/commands/workflow-plan-commands.d.ts +0 -39
  222. package/dist/src/cli/commands/workflow-plan-commands.js +0 -163
  223. package/dist/src/cli/commands/workspace/clean-command.d.ts +0 -14
  224. package/dist/src/cli/commands/workspace/clean-command.js +0 -49
  225. package/dist/src/cli/commands/workspace/helpers.d.ts +0 -28
  226. package/dist/src/cli/commands/workspace/helpers.js +0 -87
  227. package/dist/src/cli/commands/workspace/init-command.d.ts +0 -121
  228. package/dist/src/cli/commands/workspace/init-command.js +0 -436
  229. package/dist/src/cli/commands/workspace/migrate-command.d.ts +0 -11
  230. package/dist/src/cli/commands/workspace/migrate-command.js +0 -91
  231. package/dist/src/cli/commands/workspace/reconcile-command.d.ts +0 -14
  232. package/dist/src/cli/commands/workspace/reconcile-command.js +0 -103
  233. package/dist/src/cli/commands/workspace-commands.d.ts +0 -18
  234. package/dist/src/cli/commands/workspace-commands.js +0 -50
  235. package/dist/src/cli/index.d.ts +0 -1
  236. package/dist/src/cli/index.js +0 -30
  237. package/dist/src/cli/program.d.ts +0 -5
  238. package/dist/src/cli/program.js +0 -408
  239. package/dist/src/hooks/pre-tool-use-sub-agent.d.ts +0 -28
  240. package/dist/src/hooks/pre-tool-use-sub-agent.js +0 -105
  241. package/dist/src/lib/render/message-renderer.d.ts +0 -20
  242. package/dist/src/lib/render/message-renderer.js +0 -80
  243. package/dist/src/services/adapter/adapter-registry.d.ts +0 -48
  244. package/dist/src/services/adapter/adapter-registry.js +0 -186
  245. package/dist/src/services/adapter/adapter.d.ts +0 -27
  246. package/dist/src/services/adapter/adapter.js +0 -5
  247. package/dist/src/services/adapter/auto-adapter.d.ts +0 -11
  248. package/dist/src/services/adapter/auto-adapter.js +0 -15
  249. package/dist/src/services/adapter/claude-adapter.d.ts +0 -14
  250. package/dist/src/services/adapter/claude-adapter.js +0 -40
  251. package/dist/src/services/adapter/codex-adapter.d.ts +0 -14
  252. package/dist/src/services/adapter/codex-adapter.js +0 -14
  253. package/dist/src/services/adapter/copilot-adapter.d.ts +0 -14
  254. package/dist/src/services/adapter/copilot-adapter.js +0 -14
  255. package/dist/src/services/agent/ecc-agent-service.d.ts +0 -47
  256. package/dist/src/services/agent/ecc-agent-service.js +0 -143
  257. package/dist/src/services/artifacts/artifact-lint-service.d.ts +0 -23
  258. package/dist/src/services/artifacts/artifact-lint-service.js +0 -99
  259. package/dist/src/services/artifacts/artifact-prerequisites.d.ts +0 -78
  260. package/dist/src/services/artifacts/artifact-prerequisites.js +0 -491
  261. package/dist/src/services/artifacts/artifact-service.d.ts +0 -43
  262. package/dist/src/services/artifacts/artifact-service.js +0 -98
  263. package/dist/src/services/artifacts/artifact-templates.d.ts +0 -30
  264. package/dist/src/services/artifacts/artifact-templates.js +0 -302
  265. package/dist/src/services/artifacts/repair-cycle-service.d.ts +0 -23
  266. package/dist/src/services/artifacts/repair-cycle-service.js +0 -52
  267. package/dist/src/services/artifacts/request-artifact-service.d.ts +0 -116
  268. package/dist/src/services/artifacts/request-artifact-service.js +0 -451
  269. package/dist/src/services/artifacts/request-artifact-state-helpers.d.ts +0 -51
  270. package/dist/src/services/artifacts/request-artifact-state-helpers.js +0 -114
  271. package/dist/src/services/artifacts/workspace-service.d.ts +0 -34
  272. package/dist/src/services/artifacts/workspace-service.js +0 -272
  273. package/dist/src/services/audit/artifact-writer.d.ts +0 -93
  274. package/dist/src/services/audit/artifact-writer.js +0 -303
  275. package/dist/src/services/audit/audit-goal-service.d.ts +0 -35
  276. package/dist/src/services/audit/audit-goal-service.js +0 -75
  277. package/dist/src/services/audit/audit-goal-types.d.ts +0 -40
  278. package/dist/src/services/audit/audit-goal-types.js +0 -15
  279. package/dist/src/services/audit/backing-detector.d.ts +0 -24
  280. package/dist/src/services/audit/backing-detector.js +0 -59
  281. package/dist/src/services/audit/classifier.d.ts +0 -38
  282. package/dist/src/services/audit/classifier.js +0 -134
  283. package/dist/src/services/audit/decision-writer.d.ts +0 -76
  284. package/dist/src/services/audit/decision-writer.js +0 -217
  285. package/dist/src/services/audit/enforcers/active-skill-resolver.d.ts +0 -29
  286. package/dist/src/services/audit/enforcers/active-skill-resolver.js +0 -71
  287. package/dist/src/services/audit/enforcers/code-ban.d.ts +0 -23
  288. package/dist/src/services/audit/enforcers/code-ban.js +0 -27
  289. package/dist/src/services/audit/enforcers/design-draft-confirm.d.ts +0 -24
  290. package/dist/src/services/audit/enforcers/design-draft-confirm.js +0 -58
  291. package/dist/src/services/audit/enforcers/lint-audit-regression.d.ts +0 -21
  292. package/dist/src/services/audit/enforcers/lint-audit-regression.js +0 -86
  293. package/dist/src/services/audit/enforcers/lint-catalog-governance.d.ts +0 -32
  294. package/dist/src/services/audit/enforcers/lint-catalog-governance.js +0 -48
  295. package/dist/src/services/audit/enforcers/lint-cli-back.d.ts +0 -16
  296. package/dist/src/services/audit/enforcers/lint-cli-back.js +0 -35
  297. package/dist/src/services/audit/enforcers/lint-output-style.d.ts +0 -11
  298. package/dist/src/services/audit/enforcers/lint-output-style.js +0 -94
  299. package/dist/src/services/audit/enforcers/lint-reference-integrity.d.ts +0 -6
  300. package/dist/src/services/audit/enforcers/lint-reference-integrity.js +0 -83
  301. package/dist/src/services/audit/enforcers/lint-reference-shape.d.ts +0 -30
  302. package/dist/src/services/audit/enforcers/lint-reference-shape.js +0 -272
  303. package/dist/src/services/audit/enforcers/lint-style.d.ts +0 -49
  304. package/dist/src/services/audit/enforcers/lint-style.js +0 -173
  305. package/dist/src/services/audit/enforcers/lint-workflow-shape.d.ts +0 -4
  306. package/dist/src/services/audit/enforcers/lint-workflow-shape.js +0 -100
  307. package/dist/src/services/audit/enforcers/login-gate.d.ts +0 -23
  308. package/dist/src/services/audit/enforcers/login-gate.js +0 -40
  309. package/dist/src/services/audit/enforcers/mock-placement.d.ts +0 -25
  310. package/dist/src/services/audit/enforcers/mock-placement.js +0 -48
  311. package/dist/src/services/audit/enforcers/no-root-pollution.d.ts +0 -21
  312. package/dist/src/services/audit/enforcers/no-root-pollution.js +0 -56
  313. package/dist/src/services/audit/enforcers/pre-rd-scan.d.ts +0 -22
  314. package/dist/src/services/audit/enforcers/pre-rd-scan.js +0 -23
  315. package/dist/src/services/audit/enforcers/prototype-fidelity.d.ts +0 -25
  316. package/dist/src/services/audit/enforcers/prototype-fidelity.js +0 -75
  317. package/dist/src/services/audit/enforcers/resume-detection.d.ts +0 -21
  318. package/dist/src/services/audit/enforcers/resume-detection.js +0 -52
  319. package/dist/src/services/audit/enforcers/sub-agent-sid.d.ts +0 -25
  320. package/dist/src/services/audit/enforcers/sub-agent-sid.js +0 -63
  321. package/dist/src/services/audit/prose-ratio-calculator.d.ts +0 -45
  322. package/dist/src/services/audit/prose-ratio-calculator.js +0 -52
  323. package/dist/src/services/audit/red-line-catalog-p2-a.d.ts +0 -21
  324. package/dist/src/services/audit/red-line-catalog-p2-a.js +0 -229
  325. package/dist/src/services/audit/red-line-catalog-p2-b.d.ts +0 -19
  326. package/dist/src/services/audit/red-line-catalog-p2-b.js +0 -225
  327. package/dist/src/services/audit/red-line-catalog.d.ts +0 -51
  328. package/dist/src/services/audit/red-line-catalog.js +0 -195
  329. package/dist/src/services/audit/red-lines-service.d.ts +0 -23
  330. package/dist/src/services/audit/red-lines-service.js +0 -464
  331. package/dist/src/services/audit/scanners/openspec-scanner.d.ts +0 -15
  332. package/dist/src/services/audit/scanners/openspec-scanner.js +0 -55
  333. package/dist/src/services/audit/scanners/rules-tree-scanner.d.ts +0 -16
  334. package/dist/src/services/audit/scanners/rules-tree-scanner.js +0 -56
  335. package/dist/src/services/audit/scanners/skills-tree-scanner.d.ts +0 -17
  336. package/dist/src/services/audit/scanners/skills-tree-scanner.js +0 -68
  337. package/dist/src/services/audit/static-service.d.ts +0 -60
  338. package/dist/src/services/audit/static-service.js +0 -130
  339. package/dist/src/services/audit/types.d.ts +0 -86
  340. package/dist/src/services/audit/types.js +0 -13
  341. package/dist/src/services/audit-independent/perf-audit-service.d.ts +0 -151
  342. package/dist/src/services/audit-independent/perf-audit-service.js +0 -316
  343. package/dist/src/services/audit-independent/security-audit-service.d.ts +0 -155
  344. package/dist/src/services/audit-independent/security-audit-service.js +0 -316
  345. package/dist/src/services/classify/classify-service.d.ts +0 -42
  346. package/dist/src/services/classify/classify-service.js +0 -122
  347. package/dist/src/services/classify/classify-types.d.ts +0 -79
  348. package/dist/src/services/classify/classify-types.js +0 -90
  349. package/dist/src/services/code/auto-compact-orchestrator.d.ts +0 -98
  350. package/dist/src/services/code/auto-compact-orchestrator.js +0 -343
  351. package/dist/src/services/code/batch-heartbeat-poller.d.ts +0 -51
  352. package/dist/src/services/code/batch-heartbeat-poller.js +0 -88
  353. package/dist/src/services/code/dag-orchestrator.d.ts +0 -128
  354. package/dist/src/services/code/dag-orchestrator.js +0 -304
  355. package/dist/src/services/code/emit-handoff.d.ts +0 -49
  356. package/dist/src/services/code/emit-handoff.js +0 -79
  357. package/dist/src/services/code/job-shape-decision.d.ts +0 -71
  358. package/dist/src/services/code/job-shape-decision.js +0 -151
  359. package/dist/src/services/code/mode-gate.d.ts +0 -163
  360. package/dist/src/services/code/mode-gate.js +0 -212
  361. package/dist/src/services/code/post-compact-detector.d.ts +0 -61
  362. package/dist/src/services/code/post-compact-detector.js +0 -240
  363. package/dist/src/services/code/status-line-renderer.d.ts +0 -34
  364. package/dist/src/services/code/status-line-renderer.js +0 -55
  365. package/dist/src/services/code/step-08-gate.d.ts +0 -90
  366. package/dist/src/services/code/step-08-gate.js +0 -136
  367. package/dist/src/services/code/user-touchpoint-classifier.d.ts +0 -44
  368. package/dist/src/services/code/user-touchpoint-classifier.js +0 -145
  369. package/dist/src/services/code-review/ecc-bridge.d.ts +0 -148
  370. package/dist/src/services/code-review/ecc-bridge.js +0 -242
  371. package/dist/src/services/code-review/ocr-service.d.ts +0 -129
  372. package/dist/src/services/code-review/ocr-service.js +0 -369
  373. package/dist/src/services/codegraph/codegraph-process-runner.d.ts +0 -2
  374. package/dist/src/services/codegraph/codegraph-process-runner.js +0 -93
  375. package/dist/src/services/codegraph/codegraph-service.d.ts +0 -43
  376. package/dist/src/services/codegraph/codegraph-service.js +0 -160
  377. package/dist/src/services/compact/decision-tables.d.ts +0 -66
  378. package/dist/src/services/compact/decision-tables.js +0 -127
  379. package/dist/src/services/compact/request-transition-hook.d.ts +0 -20
  380. package/dist/src/services/compact/request-transition-hook.js +0 -110
  381. package/dist/src/services/compact/suggest-service.d.ts +0 -74
  382. package/dist/src/services/compact/suggest-service.js +0 -203
  383. package/dist/src/services/complexity/complexity-estimator.d.ts +0 -34
  384. package/dist/src/services/complexity/complexity-estimator.js +0 -64
  385. package/dist/src/services/config/config-migration.d.ts +0 -45
  386. package/dist/src/services/config/config-migration.js +0 -154
  387. package/dist/src/services/config/config-restore.d.ts +0 -10
  388. package/dist/src/services/config/config-restore.js +0 -47
  389. package/dist/src/services/config/config-rollback.d.ts +0 -13
  390. package/dist/src/services/config/config-rollback.js +0 -26
  391. package/dist/src/services/config/config-safety.d.ts +0 -40
  392. package/dist/src/services/config/config-safety.js +0 -359
  393. package/dist/src/services/config/config-service.d.ts +0 -69
  394. package/dist/src/services/config/config-service.js +0 -814
  395. package/dist/src/services/config/config-types.d.ts +0 -119
  396. package/dist/src/services/config/config-types.js +0 -18
  397. package/dist/src/services/config/model-routing.d.ts +0 -57
  398. package/dist/src/services/config/model-routing.js +0 -93
  399. package/dist/src/services/config/provider-service.d.ts +0 -48
  400. package/dist/src/services/config/provider-service.js +0 -143
  401. package/dist/src/services/config/proxy-service.d.ts +0 -21
  402. package/dist/src/services/config/proxy-service.js +0 -44
  403. package/dist/src/services/config/sidecar-store.d.ts +0 -25
  404. package/dist/src/services/config/sidecar-store.js +0 -61
  405. package/dist/src/services/config/workspace-state-service.d.ts +0 -30
  406. package/dist/src/services/config/workspace-state-service.js +0 -142
  407. package/dist/src/services/context/artifact-meta.d.ts +0 -72
  408. package/dist/src/services/context/artifact-meta.js +0 -105
  409. package/dist/src/services/context/auto-compact-dispatcher.d.ts +0 -37
  410. package/dist/src/services/context/auto-compact-dispatcher.js +0 -240
  411. package/dist/src/services/context/auto-compact-reader.d.ts +0 -51
  412. package/dist/src/services/context/auto-compact-reader.js +0 -164
  413. package/dist/src/services/context/auto-compact-types.d.ts +0 -143
  414. package/dist/src/services/context/auto-compact-types.js +0 -36
  415. package/dist/src/services/context/collector.d.ts +0 -24
  416. package/dist/src/services/context/collector.js +0 -133
  417. package/dist/src/services/context/context-builder.d.ts +0 -30
  418. package/dist/src/services/context/context-builder.js +0 -78
  419. package/dist/src/services/context/context-guard.d.ts +0 -49
  420. package/dist/src/services/context/context-guard.js +0 -91
  421. package/dist/src/services/context/context-schema.d.ts +0 -415
  422. package/dist/src/services/context/context-schema.js +0 -73
  423. package/dist/src/services/context/dispatch-context-guard.d.ts +0 -27
  424. package/dist/src/services/context/dispatch-context-guard.js +0 -192
  425. package/dist/src/services/context/doc-retriever.d.ts +0 -26
  426. package/dist/src/services/context/doc-retriever.js +0 -51
  427. package/dist/src/services/context/headroom-client.d.ts +0 -34
  428. package/dist/src/services/context/headroom-client.js +0 -117
  429. package/dist/src/services/context/headroom-fetcher.d.ts +0 -6
  430. package/dist/src/services/context/headroom-fetcher.js +0 -28
  431. package/dist/src/services/context/headroom-prefs.d.ts +0 -46
  432. package/dist/src/services/context/headroom-prefs.js +0 -34
  433. package/dist/src/services/context/index.d.ts +0 -7
  434. package/dist/src/services/context/index.js +0 -6
  435. package/dist/src/services/context/main-session-monitor.d.ts +0 -89
  436. package/dist/src/services/context/main-session-monitor.js +0 -142
  437. package/dist/src/services/context/renderer.d.ts +0 -20
  438. package/dist/src/services/context/renderer.js +0 -30
  439. package/dist/src/services/context/shared-channel.d.ts +0 -93
  440. package/dist/src/services/context/shared-channel.js +0 -308
  441. package/dist/src/services/context/threshold.d.ts +0 -35
  442. package/dist/src/services/context/threshold.js +0 -76
  443. package/dist/src/services/context/tokenizer.d.ts +0 -12
  444. package/dist/src/services/context/tokenizer.js +0 -43
  445. package/dist/src/services/context/types.d.ts +0 -93
  446. package/dist/src/services/context/types.js +0 -9
  447. package/dist/src/services/crystallization/crystallization-service.d.ts +0 -239
  448. package/dist/src/services/crystallization/crystallization-service.js +0 -397
  449. package/dist/src/services/crystallization/crystallization-store.d.ts +0 -75
  450. package/dist/src/services/crystallization/crystallization-store.js +0 -193
  451. package/dist/src/services/crystallization/crystallization-types.d.ts +0 -313
  452. package/dist/src/services/crystallization/crystallization-types.js +0 -299
  453. package/dist/src/services/crystallization/evidence-brief-builder.d.ts +0 -237
  454. package/dist/src/services/crystallization/evidence-brief-builder.js +0 -240
  455. package/dist/src/services/dashboard/project-dashboard-service.d.ts +0 -91
  456. package/dist/src/services/dashboard/project-dashboard-service.js +0 -147
  457. package/dist/src/services/dispatch/batch-counter.d.ts +0 -27
  458. package/dist/src/services/dispatch/batch-counter.js +0 -102
  459. package/dist/src/services/dispatch/contract-store.d.ts +0 -63
  460. package/dist/src/services/dispatch/contract-store.js +0 -157
  461. package/dist/src/services/dispatch/dispatch-record-writer.d.ts +0 -138
  462. package/dist/src/services/dispatch/dispatch-record-writer.js +0 -460
  463. package/dist/src/services/dispatch/heartbeat-truncator.d.ts +0 -26
  464. package/dist/src/services/dispatch/heartbeat-truncator.js +0 -13
  465. package/dist/src/services/dispatch/leak-detector.d.ts +0 -11
  466. package/dist/src/services/dispatch/leak-detector.js +0 -72
  467. package/dist/src/services/dispatch/slice-dag.d.ts +0 -81
  468. package/dist/src/services/dispatch/slice-dag.js +0 -238
  469. package/dist/src/services/dispatch/sub-agent-dispatcher.d.ts +0 -239
  470. package/dist/src/services/dispatch/sub-agent-dispatcher.js +0 -382
  471. package/dist/src/services/dispatch/test-tool-detection.d.ts +0 -36
  472. package/dist/src/services/dispatch/test-tool-detection.js +0 -46
  473. package/dist/src/services/doc/doc-generator.d.ts +0 -38
  474. package/dist/src/services/doc/doc-generator.js +0 -122
  475. package/dist/src/services/doctor/doctor-service.d.ts +0 -149
  476. package/dist/src/services/doctor/doctor-service.js +0 -929
  477. package/dist/src/services/evolution/evolution-service.d.ts +0 -137
  478. package/dist/src/services/evolution/evolution-service.js +0 -281
  479. package/dist/src/services/evolution/evolution-store.d.ts +0 -57
  480. package/dist/src/services/evolution/evolution-store.js +0 -232
  481. package/dist/src/services/evolution/evolution-types.d.ts +0 -706
  482. package/dist/src/services/evolution/evolution-types.js +0 -286
  483. package/dist/src/services/evolution/independent-evaluator-runner.d.ts +0 -90
  484. package/dist/src/services/evolution/independent-evaluator-runner.js +0 -106
  485. package/dist/src/services/evolution/regression-skeptic-runner.d.ts +0 -64
  486. package/dist/src/services/evolution/regression-skeptic-runner.js +0 -113
  487. package/dist/src/services/feedback/feedback-promotion-service.d.ts +0 -123
  488. package/dist/src/services/feedback/feedback-promotion-service.js +0 -300
  489. package/dist/src/services/filesystem/file-lock.d.ts +0 -11
  490. package/dist/src/services/filesystem/file-lock.js +0 -129
  491. package/dist/src/services/final-review/final-review-service.d.ts +0 -12
  492. package/dist/src/services/final-review/final-review-service.js +0 -52
  493. package/dist/src/services/final-review/final-review-types.d.ts +0 -42
  494. package/dist/src/services/final-review/final-review-types.js +0 -18
  495. package/dist/src/services/fixture/fixture-capture-service.d.ts +0 -87
  496. package/dist/src/services/fixture/fixture-capture-service.js +0 -317
  497. package/dist/src/services/fixture/fixture-sanitize-service.d.ts +0 -117
  498. package/dist/src/services/fixture/fixture-sanitize-service.js +0 -161
  499. package/dist/src/services/fixture/index.d.ts +0 -8
  500. package/dist/src/services/fixture/index.js +0 -8
  501. package/dist/src/services/fork/fork-sync-state.d.ts +0 -85
  502. package/dist/src/services/fork/fork-sync-state.js +0 -130
  503. package/dist/src/services/fuzzy-matching/fuzzy-match-service.d.ts +0 -15
  504. package/dist/src/services/fuzzy-matching/fuzzy-match-service.js +0 -56
  505. package/dist/src/services/fuzzy-matching/fzf-pick-service.d.ts +0 -68
  506. package/dist/src/services/fuzzy-matching/fzf-pick-service.js +0 -158
  507. package/dist/src/services/fuzzy-matching/types.d.ts +0 -20
  508. package/dist/src/services/fuzzy-matching/types.js +0 -1
  509. package/dist/src/services/handoff/handoff-parser.d.ts +0 -28
  510. package/dist/src/services/handoff/handoff-parser.js +0 -69
  511. package/dist/src/services/handoff/handoff-types.d.ts +0 -39
  512. package/dist/src/services/handoff/handoff-types.js +0 -19
  513. package/dist/src/services/handoff/handoff-writer.d.ts +0 -23
  514. package/dist/src/services/handoff/handoff-writer.js +0 -30
  515. package/dist/src/services/hooks/auto-compact-hook-install.d.ts +0 -104
  516. package/dist/src/services/hooks/auto-compact-hook-install.js +0 -157
  517. package/dist/src/services/hooks/output.d.ts +0 -92
  518. package/dist/src/services/hooks/output.js +0 -111
  519. package/dist/src/services/hooks/presence-marker-detector.d.ts +0 -16
  520. package/dist/src/services/hooks/presence-marker-detector.js +0 -105
  521. package/dist/src/services/ide/adapters/claude-code-adapter.d.ts +0 -18
  522. package/dist/src/services/ide/adapters/claude-code-adapter.js +0 -103
  523. package/dist/src/services/ide/adapters/codex-adapter.d.ts +0 -46
  524. package/dist/src/services/ide/adapters/codex-adapter.js +0 -97
  525. package/dist/src/services/ide/adapters/cursor-adapter.d.ts +0 -36
  526. package/dist/src/services/ide/adapters/cursor-adapter.js +0 -84
  527. package/dist/src/services/ide/adapters/hermes-adapter.d.ts +0 -21
  528. package/dist/src/services/ide/adapters/hermes-adapter.js +0 -51
  529. package/dist/src/services/ide/adapters/openclaw-adapter.d.ts +0 -14
  530. package/dist/src/services/ide/adapters/openclaw-adapter.js +0 -42
  531. package/dist/src/services/ide/adapters/trae-adapter.d.ts +0 -42
  532. package/dist/src/services/ide/adapters/trae-adapter.js +0 -83
  533. package/dist/src/services/ide/adapters/zcode-adapter.d.ts +0 -40
  534. package/dist/src/services/ide/adapters/zcode-adapter.js +0 -220
  535. package/dist/src/services/ide/current-model-detector.d.ts +0 -14
  536. package/dist/src/services/ide/current-model-detector.js +0 -60
  537. package/dist/src/services/ide/hook-protocol.d.ts +0 -47
  538. package/dist/src/services/ide/hook-protocol.js +0 -74
  539. package/dist/src/services/ide/hook-translator.d.ts +0 -72
  540. package/dist/src/services/ide/hook-translator.js +0 -128
  541. package/dist/src/services/ide/ide-detector.d.ts +0 -10
  542. package/dist/src/services/ide/ide-detector.js +0 -19
  543. package/dist/src/services/ide/ide-registry.d.ts +0 -14
  544. package/dist/src/services/ide/ide-registry.js +0 -63
  545. package/dist/src/services/ide/ide-types.d.ts +0 -253
  546. package/dist/src/services/ide/ide-types.js +0 -2
  547. package/dist/src/services/ide/resource-profile.d.ts +0 -52
  548. package/dist/src/services/ide/resource-profile.js +0 -33
  549. package/dist/src/services/ide/shared/atomic-json.d.ts +0 -15
  550. package/dist/src/services/ide/shared/atomic-json.js +0 -58
  551. package/dist/src/services/ide/shared/safe-path.d.ts +0 -11
  552. package/dist/src/services/ide/shared/safe-path.js +0 -29
  553. package/dist/src/services/impact/impact-scan-service.d.ts +0 -66
  554. package/dist/src/services/impact/impact-scan-service.js +0 -197
  555. package/dist/src/services/job/job-event-emitter.d.ts +0 -30
  556. package/dist/src/services/job/job-event-emitter.js +0 -5
  557. package/dist/src/services/job/job-orchestrator.d.ts +0 -50
  558. package/dist/src/services/job/job-orchestrator.js +0 -104
  559. package/dist/src/services/job/job-progress-store.d.ts +0 -60
  560. package/dist/src/services/job/job-progress-store.js +0 -70
  561. package/dist/src/services/job/job-resource-snapshot.d.ts +0 -7
  562. package/dist/src/services/job/job-resource-snapshot.js +0 -75
  563. package/dist/src/services/job/job-rotation.d.ts +0 -17
  564. package/dist/src/services/job/job-rotation.js +0 -30
  565. package/dist/src/services/job/job-state-store.d.ts +0 -24
  566. package/dist/src/services/job/job-state-store.js +0 -60
  567. package/dist/src/services/job/job-types.d.ts +0 -444
  568. package/dist/src/services/job/job-types.js +0 -87
  569. package/dist/src/services/job/subagent-job-wrapper.d.ts +0 -35
  570. package/dist/src/services/job/subagent-job-wrapper.js +0 -30
  571. package/dist/src/services/legacy/legacy-detector.d.ts +0 -34
  572. package/dist/src/services/legacy/legacy-detector.js +0 -111
  573. package/dist/src/services/log/log-commands-service.d.ts +0 -54
  574. package/dist/src/services/log/log-commands-service.js +0 -83
  575. package/dist/src/services/log/logger.d.ts +0 -103
  576. package/dist/src/services/log/logger.js +0 -224
  577. package/dist/src/services/log/redact.d.ts +0 -32
  578. package/dist/src/services/log/redact.js +0 -89
  579. package/dist/src/services/log/retention.d.ts +0 -34
  580. package/dist/src/services/log/retention.js +0 -78
  581. package/dist/src/services/loop/evaluator-dispatcher.d.ts +0 -50
  582. package/dist/src/services/loop/evaluator-dispatcher.js +0 -552
  583. package/dist/src/services/loop/loop-bee-relation-service.d.ts +0 -107
  584. package/dist/src/services/loop/loop-bee-relation-service.js +0 -211
  585. package/dist/src/services/loop/loop-bee-relation-store.d.ts +0 -53
  586. package/dist/src/services/loop/loop-bee-relation-store.js +0 -130
  587. package/dist/src/services/loop/loop-bee-relation-types.d.ts +0 -118
  588. package/dist/src/services/loop/loop-bee-relation-types.js +0 -114
  589. package/dist/src/services/loop/loop-release-service.d.ts +0 -46
  590. package/dist/src/services/loop/loop-release-service.js +0 -66
  591. package/dist/src/services/loop/loop-release-store.d.ts +0 -55
  592. package/dist/src/services/loop/loop-release-store.js +0 -134
  593. package/dist/src/services/loop/loop-release-types.d.ts +0 -250
  594. package/dist/src/services/loop/loop-release-types.js +0 -162
  595. package/dist/src/services/loop/monotonic-guard.d.ts +0 -80
  596. package/dist/src/services/loop/monotonic-guard.js +0 -232
  597. package/dist/src/services/loop/monotonic-runner.d.ts +0 -58
  598. package/dist/src/services/loop/monotonic-runner.js +0 -231
  599. package/dist/src/services/loop/run-driver.d.ts +0 -70
  600. package/dist/src/services/loop/run-driver.js +0 -400
  601. package/dist/src/services/loop/spec-service.d.ts +0 -90
  602. package/dist/src/services/loop/spec-service.js +0 -497
  603. package/dist/src/services/memory/llm-reranker.d.ts +0 -174
  604. package/dist/src/services/memory/llm-reranker.js +0 -284
  605. package/dist/src/services/memory/memory-search-service.d.ts +0 -93
  606. package/dist/src/services/memory/memory-search-service.js +0 -117
  607. package/dist/src/services/memory/project-context-service.d.ts +0 -11
  608. package/dist/src/services/memory/project-context-service.js +0 -148
  609. package/dist/src/services/memory/project-memory-service.d.ts +0 -167
  610. package/dist/src/services/memory/project-memory-service.js +0 -817
  611. package/dist/src/services/migrate-skill-name/migrate.d.ts +0 -17
  612. package/dist/src/services/migrate-skill-name/migrate.js +0 -152
  613. package/dist/src/services/migrate-skill-name/schema.d.ts +0 -42
  614. package/dist/src/services/migrate-skill-name/schema.js +0 -25
  615. package/dist/src/services/migration/v2-10-to-v2-11-service.d.ts +0 -44
  616. package/dist/src/services/migration/v2-10-to-v2-11-service.js +0 -190
  617. package/dist/src/services/migration/v2-10-to-v2-11-types.d.ts +0 -41
  618. package/dist/src/services/migration/v2-10-to-v2-11-types.js +0 -23
  619. package/dist/src/services/mode/bypass-tracker.d.ts +0 -4
  620. package/dist/src/services/mode/bypass-tracker.js +0 -31
  621. package/dist/src/services/mode/mode-enforcement.d.ts +0 -14
  622. package/dist/src/services/mode/mode-enforcement.js +0 -84
  623. package/dist/src/services/mut/assert-scanner.d.ts +0 -6
  624. package/dist/src/services/mut/assert-scanner.js +0 -116
  625. package/dist/src/services/mut/index.d.ts +0 -8
  626. package/dist/src/services/mut/index.js +0 -7
  627. package/dist/src/services/mut/mut-runner.d.ts +0 -39
  628. package/dist/src/services/mut/mut-runner.js +0 -29
  629. package/dist/src/services/mut/production-stryker.d.ts +0 -2
  630. package/dist/src/services/mut/production-stryker.js +0 -75
  631. package/dist/src/services/mut/report-builder.d.ts +0 -11
  632. package/dist/src/services/mut/report-builder.js +0 -110
  633. package/dist/src/services/mut/report-loader.d.ts +0 -31
  634. package/dist/src/services/mut/report-loader.js +0 -78
  635. package/dist/src/services/mut/thresholds.d.ts +0 -21
  636. package/dist/src/services/mut/thresholds.js +0 -22
  637. package/dist/src/services/mut/types.d.ts +0 -336
  638. package/dist/src/services/mut/types.js +0 -59
  639. package/dist/src/services/observability/aggregation.d.ts +0 -64
  640. package/dist/src/services/observability/aggregation.js +0 -217
  641. package/dist/src/services/observability/jsonl-store.d.ts +0 -59
  642. package/dist/src/services/observability/jsonl-store.js +0 -120
  643. package/dist/src/services/observability/observability-service.d.ts +0 -95
  644. package/dist/src/services/observability/observability-service.js +0 -119
  645. package/dist/src/services/observability/report-formatter.d.ts +0 -42
  646. package/dist/src/services/observability/report-formatter.js +0 -156
  647. package/dist/src/services/openspec/openspec-archive-service.d.ts +0 -12
  648. package/dist/src/services/openspec/openspec-archive-service.js +0 -28
  649. package/dist/src/services/openspec/openspec-bridge-service.d.ts +0 -16
  650. package/dist/src/services/openspec/openspec-bridge-service.js +0 -76
  651. package/dist/src/services/openspec/openspec-init-service.d.ts +0 -23
  652. package/dist/src/services/openspec/openspec-init-service.js +0 -122
  653. package/dist/src/services/openspec/openspec-propose-from-doctor-service.d.ts +0 -31
  654. package/dist/src/services/openspec/openspec-propose-from-doctor-service.js +0 -95
  655. package/dist/src/services/openspec/openspec-render-service.d.ts +0 -38
  656. package/dist/src/services/openspec/openspec-render-service.js +0 -130
  657. package/dist/src/services/openspec/openspec-scan-service.d.ts +0 -6
  658. package/dist/src/services/openspec/openspec-scan-service.js +0 -123
  659. package/dist/src/services/openspec/openspec-types.d.ts +0 -39
  660. package/dist/src/services/openspec/openspec-types.js +0 -1
  661. package/dist/src/services/openspec/openspec-validate-service.d.ts +0 -27
  662. package/dist/src/services/openspec/openspec-validate-service.js +0 -77
  663. package/dist/src/services/perf/perf-baseline-service.d.ts +0 -70
  664. package/dist/src/services/perf/perf-baseline-service.js +0 -214
  665. package/dist/src/services/polyrepo/polyrepo-dispatcher.d.ts +0 -34
  666. package/dist/src/services/polyrepo/polyrepo-dispatcher.js +0 -119
  667. package/dist/src/services/polyrepo/polyrepo-scanner.d.ts +0 -9
  668. package/dist/src/services/polyrepo/polyrepo-scanner.js +0 -94
  669. package/dist/src/services/polyrepo/polyrepo-service.d.ts +0 -34
  670. package/dist/src/services/polyrepo/polyrepo-service.js +0 -49
  671. package/dist/src/services/polyrepo/polyrepo-types.d.ts +0 -55
  672. package/dist/src/services/polyrepo/polyrepo-types.js +0 -1
  673. package/dist/src/services/prd/handoff-auto-regen.d.ts +0 -22
  674. package/dist/src/services/prd/handoff-auto-regen.js +0 -73
  675. package/dist/src/services/prd/handoff-service.d.ts +0 -54
  676. package/dist/src/services/prd/handoff-service.js +0 -142
  677. package/dist/src/services/prd/handoff-types.d.ts +0 -64
  678. package/dist/src/services/prd/handoff-types.js +0 -22
  679. package/dist/src/services/prd/prd-blocks-checker.d.ts +0 -51
  680. package/dist/src/services/prd/prd-blocks-checker.js +0 -130
  681. package/dist/src/services/prd/project-scan-reader.d.ts +0 -24
  682. package/dist/src/services/prd/project-scan-reader.js +0 -150
  683. package/dist/src/services/prd/project-scan-sediment.d.ts +0 -97
  684. package/dist/src/services/prd/project-scan-sediment.js +0 -445
  685. package/dist/src/services/prd/project-scan-types.d.ts +0 -66
  686. package/dist/src/services/prd/project-scan-types.js +0 -20
  687. package/dist/src/services/preferences/preferences-service.d.ts +0 -38
  688. package/dist/src/services/preferences/preferences-service.js +0 -198
  689. package/dist/src/services/preferences/preferences-types.d.ts +0 -148
  690. package/dist/src/services/preferences/preferences-types.js +0 -53
  691. package/dist/src/services/profiles/profile-service.d.ts +0 -6
  692. package/dist/src/services/profiles/profile-service.js +0 -19
  693. package/dist/src/services/progress/progress-service.d.ts +0 -125
  694. package/dist/src/services/progress/progress-service.js +0 -192
  695. package/dist/src/services/providers/minimax-provider-service.d.ts +0 -24
  696. package/dist/src/services/providers/minimax-provider-service.js +0 -143
  697. package/dist/src/services/providers/minimax-worker-service.d.ts +0 -21
  698. package/dist/src/services/providers/minimax-worker-service.js +0 -83
  699. package/dist/src/services/proxy/proxy-service.d.ts +0 -7
  700. package/dist/src/services/proxy/proxy-service.js +0 -31
  701. package/dist/src/services/qa/browser-event-logger.d.ts +0 -40
  702. package/dist/src/services/qa/browser-event-logger.js +0 -54
  703. package/dist/src/services/qa/browser-restart-detector.d.ts +0 -74
  704. package/dist/src/services/qa/browser-restart-detector.js +0 -138
  705. package/dist/src/services/qa/browser-reuse-hint.d.ts +0 -18
  706. package/dist/src/services/qa/browser-reuse-hint.js +0 -18
  707. package/dist/src/services/qa/browser-wrapper-service.d.ts +0 -37
  708. package/dist/src/services/qa/browser-wrapper-service.js +0 -88
  709. package/dist/src/services/qa/qa-business-review-state.d.ts +0 -47
  710. package/dist/src/services/qa/qa-business-review-state.js +0 -96
  711. package/dist/src/services/rd/ast-gate.d.ts +0 -19
  712. package/dist/src/services/rd/ast-gate.js +0 -71
  713. package/dist/src/services/rd/impl.d.ts +0 -9
  714. package/dist/src/services/rd/impl.js +0 -57
  715. package/dist/src/services/rd/rd-service.d.ts +0 -129
  716. package/dist/src/services/rd/rd-service.js +0 -441
  717. package/dist/src/services/rd/reviewer-dispatch-policy.d.ts +0 -122
  718. package/dist/src/services/rd/reviewer-dispatch-policy.js +0 -148
  719. package/dist/src/services/rd/standards-diagnostic.d.ts +0 -76
  720. package/dist/src/services/rd/standards-diagnostic.js +0 -166
  721. package/dist/src/services/rd/strategic-stage.d.ts +0 -4
  722. package/dist/src/services/rd/strategic-stage.js +0 -15
  723. package/dist/src/services/rd/strategy.d.ts +0 -13
  724. package/dist/src/services/rd/strategy.js +0 -60
  725. package/dist/src/services/rd/tactical-stage.d.ts +0 -33
  726. package/dist/src/services/rd/tactical-stage.js +0 -62
  727. package/dist/src/services/rd/types.d.ts +0 -252
  728. package/dist/src/services/rd/types.js +0 -47
  729. package/dist/src/services/recommendations/capability-availability.d.ts +0 -5
  730. package/dist/src/services/recommendations/capability-availability.js +0 -40
  731. package/dist/src/services/recommendations/capability-map-service.d.ts +0 -7
  732. package/dist/src/services/recommendations/capability-map-service.js +0 -131
  733. package/dist/src/services/recommendations/capability-seed-items.d.ts +0 -2
  734. package/dist/src/services/recommendations/capability-seed-items.js +0 -140
  735. package/dist/src/services/recommendations/capability-seed-mappings.d.ts +0 -2
  736. package/dist/src/services/recommendations/capability-seed-mappings.js +0 -54
  737. package/dist/src/services/recommendations/capability-seed-sources.d.ts +0 -2
  738. package/dist/src/services/recommendations/capability-seed-sources.js +0 -35
  739. package/dist/src/services/recommendations/recommendation-service.d.ts +0 -8
  740. package/dist/src/services/recommendations/recommendation-service.js +0 -106
  741. package/dist/src/services/recommendations/recommendation-types.d.ts +0 -129
  742. package/dist/src/services/recommendations/recommendation-types.js +0 -1
  743. package/dist/src/services/recommendations/seed-capability-catalog.d.ts +0 -3
  744. package/dist/src/services/recommendations/seed-capability-catalog.js +0 -3
  745. package/dist/src/services/refactor/refactor-service.d.ts +0 -9
  746. package/dist/src/services/refactor/refactor-service.js +0 -36
  747. package/dist/src/services/release/release-state.d.ts +0 -70
  748. package/dist/src/services/release/release-state.js +0 -140
  749. package/dist/src/services/retrospective/retrospective-index.d.ts +0 -37
  750. package/dist/src/services/retrospective/retrospective-index.js +0 -110
  751. package/dist/src/services/retrospective/retrospective-search-service.d.ts +0 -55
  752. package/dist/src/services/retrospective/retrospective-search-service.js +0 -107
  753. package/dist/src/services/retrospective/retrospective-show.d.ts +0 -40
  754. package/dist/src/services/retrospective/retrospective-show.js +0 -109
  755. package/dist/src/services/reviewer/model-family.d.ts +0 -18
  756. package/dist/src/services/reviewer/model-family.js +0 -70
  757. package/dist/src/services/reviewer/providers/anthropic.d.ts +0 -2
  758. package/dist/src/services/reviewer/providers/anthropic.js +0 -61
  759. package/dist/src/services/reviewer/providers/ollama.d.ts +0 -26
  760. package/dist/src/services/reviewer/providers/ollama.js +0 -38
  761. package/dist/src/services/reviewer/providers/openai.d.ts +0 -2
  762. package/dist/src/services/reviewer/providers/openai.js +0 -63
  763. package/dist/src/services/reviewer/reviewer-config.d.ts +0 -34
  764. package/dist/src/services/reviewer/reviewer-config.js +0 -100
  765. package/dist/src/services/reviewer/reviewer-service.d.ts +0 -56
  766. package/dist/src/services/reviewer/reviewer-service.js +0 -263
  767. package/dist/src/services/reviewer/selection-strategies.d.ts +0 -27
  768. package/dist/src/services/reviewer/selection-strategies.js +0 -53
  769. package/dist/src/services/role/role-registry.d.ts +0 -38
  770. package/dist/src/services/role/role-registry.js +0 -83
  771. package/dist/src/services/runtime/runtime-detector.d.ts +0 -15
  772. package/dist/src/services/runtime/runtime-detector.js +0 -62
  773. package/dist/src/services/runtime/runtime-service.d.ts +0 -59
  774. package/dist/src/services/runtime/runtime-service.js +0 -51
  775. package/dist/src/services/runtime/vendor-adapter.d.ts +0 -59
  776. package/dist/src/services/runtime/vendor-adapter.js +0 -1
  777. package/dist/src/services/runtime/vendors/claude-code.d.ts +0 -7
  778. package/dist/src/services/runtime/vendors/claude-code.js +0 -39
  779. package/dist/src/services/runtime/vendors/codex.d.ts +0 -7
  780. package/dist/src/services/runtime/vendors/codex.js +0 -43
  781. package/dist/src/services/runtime/vendors/copilot.d.ts +0 -7
  782. package/dist/src/services/runtime/vendors/copilot.js +0 -40
  783. package/dist/src/services/sc/index.d.ts +0 -1
  784. package/dist/src/services/sc/index.js +0 -1
  785. package/dist/src/services/sc/sc-service.d.ts +0 -131
  786. package/dist/src/services/sc/sc-service.js +0 -552
  787. package/dist/src/services/scan/acceptance-coverage-service.d.ts +0 -42
  788. package/dist/src/services/scan/acceptance-coverage-service.js +0 -140
  789. package/dist/src/services/scan/api-surface-service.d.ts +0 -69
  790. package/dist/src/services/scan/api-surface-service.js +0 -239
  791. package/dist/src/services/scan/archetype-service.d.ts +0 -5
  792. package/dist/src/services/scan/archetype-service.js +0 -242
  793. package/dist/src/services/scan/diff-scope-service.d.ts +0 -40
  794. package/dist/src/services/scan/diff-scope-service.js +0 -198
  795. package/dist/src/services/scan/existing-system-service.d.ts +0 -7
  796. package/dist/src/services/scan/existing-system-service.js +0 -300
  797. package/dist/src/services/scan/file-size-scan.d.ts +0 -23
  798. package/dist/src/services/scan/file-size-scan.js +0 -68
  799. package/dist/src/services/scan/karpathy-service.d.ts +0 -60
  800. package/dist/src/services/scan/karpathy-service.js +0 -228
  801. package/dist/src/services/scan/libraries-service.d.ts +0 -24
  802. package/dist/src/services/scan/libraries-service.js +0 -419
  803. package/dist/src/services/scan/libraries-types.d.ts +0 -59
  804. package/dist/src/services/scan/libraries-types.js +0 -9
  805. package/dist/src/services/scan/orphan-service.d.ts +0 -76
  806. package/dist/src/services/scan/orphan-service.js +0 -538
  807. package/dist/src/services/scan/scan-types.d.ts +0 -59
  808. package/dist/src/services/scan/scan-types.js +0 -1
  809. package/dist/src/services/scan/type-sanity-service.d.ts +0 -23
  810. package/dist/src/services/scan/type-sanity-service.js +0 -116
  811. package/dist/src/services/security/safe-settings-path.d.ts +0 -12
  812. package/dist/src/services/security/safe-settings-path.js +0 -104
  813. package/dist/src/services/sediment/dispose-confirm.d.ts +0 -9
  814. package/dist/src/services/sediment/dispose-confirm.js +0 -5
  815. package/dist/src/services/sediment/json-schema.d.ts +0 -247
  816. package/dist/src/services/sediment/json-schema.js +0 -26
  817. package/dist/src/services/sediment/manifest-lint.d.ts +0 -13
  818. package/dist/src/services/sediment/manifest-lint.js +0 -11
  819. package/dist/src/services/sediment/pool-paths.d.ts +0 -22
  820. package/dist/src/services/sediment/pool-paths.js +0 -25
  821. package/dist/src/services/sediment/pool-read.d.ts +0 -20
  822. package/dist/src/services/sediment/pool-read.js +0 -73
  823. package/dist/src/services/sediment/pool-rebuild-index.d.ts +0 -15
  824. package/dist/src/services/sediment/pool-rebuild-index.js +0 -28
  825. package/dist/src/services/sediment/pool-write.d.ts +0 -14
  826. package/dist/src/services/sediment/pool-write.js +0 -25
  827. package/dist/src/services/sediment/promotion-gate.d.ts +0 -12
  828. package/dist/src/services/sediment/promotion-gate.js +0 -20
  829. package/dist/src/services/sediment/types.d.ts +0 -52
  830. package/dist/src/services/sediment/types.js +0 -1
  831. package/dist/src/services/session/binding-status-service.d.ts +0 -56
  832. package/dist/src/services/session/binding-status-service.js +0 -106
  833. package/dist/src/services/session/binding-store.d.ts +0 -161
  834. package/dist/src/services/session/binding-store.js +0 -509
  835. package/dist/src/services/session/caller-binding-service.d.ts +0 -70
  836. package/dist/src/services/session/caller-binding-service.js +0 -148
  837. package/dist/src/services/session/caller-id-types.d.ts +0 -77
  838. package/dist/src/services/session/caller-id-types.js +0 -46
  839. package/dist/src/services/session/getSessionDir.d.ts +0 -1
  840. package/dist/src/services/session/getSessionDir.js +0 -27
  841. package/dist/src/services/session/index.d.ts +0 -6
  842. package/dist/src/services/session/index.js +0 -7
  843. package/dist/src/services/session/platform-fallbacks.d.ts +0 -31
  844. package/dist/src/services/session/platform-fallbacks.js +0 -35
  845. package/dist/src/services/session/resolve-caller-id.d.ts +0 -57
  846. package/dist/src/services/session/resolve-caller-id.js +0 -88
  847. package/dist/src/services/session/session-binding-bridge.d.ts +0 -76
  848. package/dist/src/services/session/session-binding-bridge.js +0 -247
  849. package/dist/src/services/session/session-checkpoint-service.d.ts +0 -57
  850. package/dist/src/services/session/session-checkpoint-service.js +0 -143
  851. package/dist/src/services/session/session-manager.d.ts +0 -168
  852. package/dist/src/services/session/session-manager.js +0 -502
  853. package/dist/src/services/session/session-resume-service.d.ts +0 -25
  854. package/dist/src/services/session/session-resume-service.js +0 -101
  855. package/dist/src/services/share/bundle-reader.d.ts +0 -100
  856. package/dist/src/services/share/bundle-reader.js +0 -434
  857. package/dist/src/services/share/bundle-types.d.ts +0 -392
  858. package/dist/src/services/share/bundle-types.js +0 -318
  859. package/dist/src/services/share/bundle-writer.d.ts +0 -97
  860. package/dist/src/services/share/bundle-writer.js +0 -429
  861. package/dist/src/services/share/run-state-contract.d.ts +0 -133
  862. package/dist/src/services/share/run-state-contract.js +0 -138
  863. package/dist/src/services/signal/cancel-handler.d.ts +0 -14
  864. package/dist/src/services/signal/cancel-handler.js +0 -76
  865. package/dist/src/services/skill/resume-detector.d.ts +0 -54
  866. package/dist/src/services/skill/resume-detector.js +0 -334
  867. package/dist/src/services/skill/skill-scheduler.d.ts +0 -40
  868. package/dist/src/services/skill/skill-scheduler.js +0 -53
  869. package/dist/src/services/skill/skill-search-service.d.ts +0 -88
  870. package/dist/src/services/skill/skill-search-service.js +0 -228
  871. package/dist/src/services/skillhub/release-diff.d.ts +0 -18
  872. package/dist/src/services/skillhub/release-diff.js +0 -38
  873. package/dist/src/services/skillhub/release-export.d.ts +0 -8
  874. package/dist/src/services/skillhub/release-export.js +0 -31
  875. package/dist/src/services/skillhub/release-gc-blobs.d.ts +0 -13
  876. package/dist/src/services/skillhub/release-gc-blobs.js +0 -32
  877. package/dist/src/services/skillhub/release-import.d.ts +0 -7
  878. package/dist/src/services/skillhub/release-import.js +0 -64
  879. package/dist/src/services/skillhub/release-retain.d.ts +0 -23
  880. package/dist/src/services/skillhub/release-retain.js +0 -94
  881. package/dist/src/services/skillhub/sqlite-store.d.ts +0 -22
  882. package/dist/src/services/skillhub/sqlite-store.js +0 -63
  883. package/dist/src/services/skillhub/tar-runtime.d.ts +0 -21
  884. package/dist/src/services/skillhub/tar-runtime.js +0 -91
  885. package/dist/src/services/skillhub/types.d.ts +0 -115
  886. package/dist/src/services/skillhub/types.js +0 -1
  887. package/dist/src/services/skills/hooks-settings-service.d.ts +0 -137
  888. package/dist/src/services/skills/hooks-settings-service.js +0 -396
  889. package/dist/src/services/skills/skill-conformance-service.d.ts +0 -40
  890. package/dist/src/services/skills/skill-conformance-service.js +0 -139
  891. package/dist/src/services/skills/skill-presence-service.d.ts +0 -158
  892. package/dist/src/services/skills/skill-presence-service.js +0 -474
  893. package/dist/src/services/skills/skill-registry.d.ts +0 -17
  894. package/dist/src/services/skills/skill-registry.js +0 -67
  895. package/dist/src/services/skills/skill-runbook-service.d.ts +0 -11
  896. package/dist/src/services/skills/skill-runbook-service.js +0 -128
  897. package/dist/src/services/skills/skill-statusline-renderer.d.ts +0 -6
  898. package/dist/src/services/skills/skill-statusline-renderer.js +0 -55
  899. package/dist/src/services/skills/skill-statusline-service.d.ts +0 -24
  900. package/dist/src/services/skills/skill-statusline-service.js +0 -110
  901. package/dist/src/services/skills/statusline-settings-service.d.ts +0 -59
  902. package/dist/src/services/skills/statusline-settings-service.js +0 -141
  903. package/dist/src/services/skills/sync-service.d.ts +0 -86
  904. package/dist/src/services/skills/sync-service.js +0 -271
  905. package/dist/src/services/slice/calibration-store.d.ts +0 -39
  906. package/dist/src/services/slice/calibration-store.js +0 -68
  907. package/dist/src/services/slice/cross-pass-edge-merger.d.ts +0 -53
  908. package/dist/src/services/slice/cross-pass-edge-merger.js +0 -246
  909. package/dist/src/services/slice/granularity-decider.d.ts +0 -37
  910. package/dist/src/services/slice/granularity-decider.js +0 -40
  911. package/dist/src/services/slice/llm-arbitrator.d.ts +0 -35
  912. package/dist/src/services/slice/llm-arbitrator.js +0 -63
  913. package/dist/src/services/slice/multi-pass-orchestrator.d.ts +0 -67
  914. package/dist/src/services/slice/multi-pass-orchestrator.js +0 -225
  915. package/dist/src/services/slice/schema-router.d.ts +0 -44
  916. package/dist/src/services/slice/schema-router.js +0 -61
  917. package/dist/src/services/slice/slice-archive-service.d.ts +0 -20
  918. package/dist/src/services/slice/slice-archive-service.js +0 -111
  919. package/dist/src/services/slice/slice-benchmark-service.d.ts +0 -19
  920. package/dist/src/services/slice/slice-benchmark-service.js +0 -60
  921. package/dist/src/services/slice/slice-check-service.d.ts +0 -2
  922. package/dist/src/services/slice/slice-check-service.js +0 -459
  923. package/dist/src/services/slice/slice-check-types.d.ts +0 -104
  924. package/dist/src/services/slice/slice-check-types.js +0 -28
  925. package/dist/src/services/slice/slice-decompose-runners.d.ts +0 -23
  926. package/dist/src/services/slice/slice-decompose-runners.js +0 -174
  927. package/dist/src/services/slice/slice-decompose-service.d.ts +0 -24
  928. package/dist/src/services/slice/slice-decompose-service.js +0 -532
  929. package/dist/src/services/slice/slice-decompose-types.d.ts +0 -263
  930. package/dist/src/services/slice/slice-decompose-types.js +0 -30
  931. package/dist/src/services/slice/slice-integration.d.ts +0 -43
  932. package/dist/src/services/slice/slice-integration.js +0 -106
  933. package/dist/src/services/slice/slice-pick-service.d.ts +0 -32
  934. package/dist/src/services/slice/slice-pick-service.js +0 -75
  935. package/dist/src/services/slice/slice-review-state.d.ts +0 -70
  936. package/dist/src/services/slice/slice-review-state.js +0 -109
  937. package/dist/src/services/slice/slice-topology-types.d.ts +0 -115
  938. package/dist/src/services/slice/slice-topology-types.js +0 -20
  939. package/dist/src/services/smoke/smoke-paths-state.d.ts +0 -73
  940. package/dist/src/services/smoke/smoke-paths-state.js +0 -117
  941. package/dist/src/services/sop/gate-enforce-service.d.ts +0 -33
  942. package/dist/src/services/sop/gate-enforce-service.js +0 -168
  943. package/dist/src/services/sop/sop-advance-service.d.ts +0 -74
  944. package/dist/src/services/sop/sop-advance-service.js +0 -115
  945. package/dist/src/services/sop/sop-check-service.d.ts +0 -45
  946. package/dist/src/services/sop/sop-check-service.js +0 -181
  947. package/dist/src/services/sop/sop-paths.d.ts +0 -62
  948. package/dist/src/services/sop/sop-paths.js +0 -92
  949. package/dist/src/services/sop/sop-registry-service.d.ts +0 -46
  950. package/dist/src/services/sop/sop-registry-service.js +0 -89
  951. package/dist/src/services/sop/sop-service.d.ts +0 -55
  952. package/dist/src/services/sop/sop-service.js +0 -222
  953. package/dist/src/services/sop/sop-types.d.ts +0 -95
  954. package/dist/src/services/sop/sop-types.js +0 -11
  955. package/dist/src/services/standards/ide-aware-standards-service.d.ts +0 -94
  956. package/dist/src/services/standards/ide-aware-standards-service.js +0 -89
  957. package/dist/src/services/standards/loop-engineering-lint.d.ts +0 -38
  958. package/dist/src/services/standards/loop-engineering-lint.js +0 -101
  959. package/dist/src/services/standards/loop-engineering-readiness-lint.d.ts +0 -111
  960. package/dist/src/services/standards/loop-engineering-readiness-lint.js +0 -248
  961. package/dist/src/services/standards/migrate-claude-rules-service.d.ts +0 -19
  962. package/dist/src/services/standards/migrate-claude-rules-service.js +0 -193
  963. package/dist/src/services/standards/migrate-service.d.ts +0 -63
  964. package/dist/src/services/standards/migrate-service.js +0 -193
  965. package/dist/src/services/standards/missing-standards-detector.d.ts +0 -79
  966. package/dist/src/services/standards/missing-standards-detector.js +0 -132
  967. package/dist/src/services/standards/project-context.d.ts +0 -24
  968. package/dist/src/services/standards/project-context.js +0 -314
  969. package/dist/src/services/standards/project-standards-service.d.ts +0 -114
  970. package/dist/src/services/standards/project-standards-service.js +0 -574
  971. package/dist/src/services/tech/tech-service.d.ts +0 -69
  972. package/dist/src/services/tech/tech-service.js +0 -299
  973. package/dist/src/services/test-cache/test-cache-service.d.ts +0 -70
  974. package/dist/src/services/test-cache/test-cache-service.js +0 -175
  975. package/dist/src/services/understand/hybrid-types.d.ts +0 -32
  976. package/dist/src/services/understand/hybrid-types.js +0 -1
  977. package/dist/src/services/understand/understand-hybrid-service.d.ts +0 -10
  978. package/dist/src/services/understand/understand-hybrid-service.js +0 -100
  979. package/dist/src/services/understand/understand-scan-service.d.ts +0 -28
  980. package/dist/src/services/understand/understand-scan-service.js +0 -170
  981. package/dist/src/services/understand/understand-types.d.ts +0 -50
  982. package/dist/src/services/understand/understand-types.js +0 -1
  983. package/dist/src/services/upgrade/1x-detector-service.d.ts +0 -7
  984. package/dist/src/services/upgrade/1x-detector-service.js +0 -94
  985. package/dist/src/services/upgrade/gitignore-migrate-service.d.ts +0 -56
  986. package/dist/src/services/upgrade/gitignore-migrate-service.js +0 -170
  987. package/dist/src/services/upgrade/upgrade-service.d.ts +0 -81
  988. package/dist/src/services/upgrade/upgrade-service.js +0 -403
  989. package/dist/src/services/verdict/envelopes.d.ts +0 -93
  990. package/dist/src/services/verdict/envelopes.js +0 -349
  991. package/dist/src/services/verdict/verdict-aggregator.d.ts +0 -94
  992. package/dist/src/services/verdict/verdict-aggregator.js +0 -112
  993. package/dist/src/services/workflow/artifact-paths.d.ts +0 -59
  994. package/dist/src/services/workflow/artifact-paths.js +0 -166
  995. package/dist/src/services/workflow/autonomous-resume-writer.d.ts +0 -16
  996. package/dist/src/services/workflow/autonomous-resume-writer.js +0 -170
  997. package/dist/src/services/workflow/pipeline-verify-service.d.ts +0 -90
  998. package/dist/src/services/workflow/pipeline-verify-service.js +0 -449
  999. package/dist/src/services/workflow/plan-reader.d.ts +0 -29
  1000. package/dist/src/services/workflow/plan-reader.js +0 -174
  1001. package/dist/src/services/workflow/plan-refresher.d.ts +0 -32
  1002. package/dist/src/services/workflow/plan-refresher.js +0 -353
  1003. package/dist/src/services/workflow/plan-trigger-detector.d.ts +0 -55
  1004. package/dist/src/services/workflow/plan-trigger-detector.js +0 -142
  1005. package/dist/src/services/workflow/workflow-autonomous-resume-helpers.d.ts +0 -19
  1006. package/dist/src/services/workflow/workflow-autonomous-resume-helpers.js +0 -300
  1007. package/dist/src/services/workflow/workflow-autonomous-service.d.ts +0 -100
  1008. package/dist/src/services/workflow/workflow-autonomous-service.js +0 -306
  1009. package/dist/src/services/workflow/workflow-loader.d.ts +0 -63
  1010. package/dist/src/services/workflow/workflow-loader.js +0 -168
  1011. package/dist/src/services/workflow/workflow-router-service.d.ts +0 -85
  1012. package/dist/src/services/workflow/workflow-router-service.js +0 -233
  1013. package/dist/src/services/workflow/workflow-skip-service.d.ts +0 -106
  1014. package/dist/src/services/workflow/workflow-skip-service.js +0 -209
  1015. package/dist/src/services/workflow/workflow-spec.d.ts +0 -116
  1016. package/dist/src/services/workflow/workflow-spec.js +0 -431
  1017. package/dist/src/services/workflow/workflow-state-store.d.ts +0 -27
  1018. package/dist/src/services/workflow/workflow-state-store.js +0 -95
  1019. package/dist/src/services/workspace/claude-settings-template.d.ts +0 -101
  1020. package/dist/src/services/workspace/claude-settings-template.js +0 -254
  1021. package/dist/src/services/workspace/migrate-1-4-1-service.d.ts +0 -44
  1022. package/dist/src/services/workspace/migrate-1-4-1-service.js +0 -195
  1023. package/dist/src/services/workspace/migrate-service.d.ts +0 -2
  1024. package/dist/src/services/workspace/migrate-service.js +0 -613
  1025. package/dist/src/services/workspace/migrate-types.d.ts +0 -127
  1026. package/dist/src/services/workspace/migrate-types.js +0 -21
  1027. package/dist/src/services/workspace/reconcile-service.d.ts +0 -188
  1028. package/dist/src/services/workspace/reconcile-service.js +0 -683
  1029. package/dist/src/services/workspace/reconcile-types.d.ts +0 -130
  1030. package/dist/src/services/workspace/reconcile-types.js +0 -13
  1031. package/dist/src/services/workspace/sid-naming-guard.d.ts +0 -17
  1032. package/dist/src/services/workspace/sid-naming-guard.js +0 -34
  1033. package/dist/src/services/workspace/workspace-claude-settings-materializer.d.ts +0 -45
  1034. package/dist/src/services/workspace/workspace-claude-settings-materializer.js +0 -194
  1035. package/dist/src/services/workspace/workspace-clean-service.d.ts +0 -28
  1036. package/dist/src/services/workspace/workspace-clean-service.js +0 -46
  1037. package/dist/src/services/workspace/workspace-service.d.ts +0 -177
  1038. package/dist/src/services/workspace/workspace-service.js +0 -432
  1039. package/dist/src/services/workspace/workspace-state-service.d.ts +0 -7
  1040. package/dist/src/services/workspace/workspace-state-service.js +0 -43
  1041. package/dist/src/shared/format-md-compact.d.ts +0 -32
  1042. package/dist/src/shared/format-md-compact.js +0 -297
  1043. package/dist/src/shared/frontmatter.d.ts +0 -6
  1044. package/dist/src/shared/frontmatter.js +0 -165
  1045. package/dist/src/shared/fs-utils.d.ts +0 -4
  1046. package/dist/src/shared/fs-utils.js +0 -16
  1047. package/dist/src/shared/fs.d.ts +0 -4
  1048. package/dist/src/shared/fs.js +0 -26
  1049. package/dist/src/shared/incrementing-number.d.ts +0 -23
  1050. package/dist/src/shared/incrementing-number.js +0 -68
  1051. package/dist/src/shared/json-schema-mini.d.ts +0 -10
  1052. package/dist/src/shared/json-schema-mini.js +0 -113
  1053. package/dist/src/shared/path-safety.d.ts +0 -21
  1054. package/dist/src/shared/path-safety.js +0 -54
  1055. package/dist/src/shared/path-utils.d.ts +0 -13
  1056. package/dist/src/shared/path-utils.js +0 -56
  1057. package/dist/src/shared/paths.d.ts +0 -6
  1058. package/dist/src/shared/paths.js +0 -50
  1059. package/dist/src/shared/planner-response.d.ts +0 -21
  1060. package/dist/src/shared/planner-response.js +0 -26
  1061. package/dist/src/shared/platform.d.ts +0 -6
  1062. package/dist/src/shared/platform.js +0 -11
  1063. package/dist/src/shared/process.d.ts +0 -5
  1064. package/dist/src/shared/process.js +0 -12
  1065. package/dist/src/shared/result.d.ts +0 -22
  1066. package/dist/src/shared/result.js +0 -46
  1067. package/dist/src/shared/stale-policy.d.ts +0 -67
  1068. package/dist/src/shared/stale-policy.js +0 -85
  1069. package/dist/src/shared/version.d.ts +0 -1
  1070. package/dist/src/shared/version.js +0 -1
  1071. package/dist/src/skills/peaks-maker/index.d.ts +0 -5
  1072. package/dist/src/skills/peaks-maker/index.js +0 -32
@@ -1,798 +0,0 @@
1
- /**
2
- * Slice 2 — `peaks code [--fast] <change-id>` (peaks-code fast mode).
3
- *
4
- * The `peaks-code` SKILL orchestrates an LLM-side workflow:
5
- * load-memory -> standards-preflight -> rd-cycle -> qa-cycle -> emit-txt
6
- *
7
- * The CLI surface here is intentionally narrow: it builds a CodePlan and
8
- * runs it via `runCodeFast`. Fast mode skips memory full-load, standards
9
- * preflight, and the QA repair loop. Round-trip KPI: ≤ 30s.
10
- *
11
- * No new service layer — the orchestrator is the in-file `runCodeFast`
12
- * function. Hooks are injected so tests can mock at the boundary.
13
- *
14
- * v2.11.0 Group F (Tier 9) — D5 / D7 additions:
15
- * - `peaks code should-pause --step <step> --mode <mode>` (D5)
16
- * - `peaks code post-compact-detect --project <path>` (D7)
17
- */
18
- import { existsSync, readFileSync } from 'node:fs';
19
- import { join } from 'node:path';
20
- import { addJsonOption, getErrorMessage, printResult } from '../cli-helpers.js';
21
- import { fail, ok } from '../../shared/result.js';
22
- import { emitObservabilityEvent } from '../../services/observability/observability-service.js';
23
- import { findProjectRoot } from '../../services/config/config-safety.js';
24
- import { GATED_STEPS, isHardFloorCategory, isCodeMode, isCommitBoundaryAction, shouldPauseAtGate, formatAutoProceedLogLine } from '../../services/code/mode-gate.js';
25
- import { getSkillPresence, checkStalePresence } from '../../services/skills/skill-presence-service.js';
26
- import { detectPostCompactResume, formatPostCompactResumeLogLine } from '../../services/code/post-compact-detector.js';
27
- import { runAutoCompact } from '../../services/code/auto-compact-orchestrator.js';
28
- import { readJobShapeDecision, writeJobShapeDecision, JobShapeDecisionError, JOB_SHAPE_NOT_DECIDED, JOB_SHAPE_ALREADY_DECIDED } from '../../services/code/job-shape-decision.js';
29
- import { evaluateStep08, STEP_08_BACKUP_REGEX } from '../../services/code/step-08-gate.js';
30
- import { evaluateEmitHandoff, JOB_NOT_INITIALIZED, JOB_REMAINING_BLOCKED } from '../../services/code/emit-handoff.js';
31
- const STEP_ORDER = [
32
- 'load-memory',
33
- 'standards-preflight',
34
- 'rd-cycle',
35
- 'qa-cycle',
36
- 'emit-txt'
37
- ];
38
- const STEP_KIND = {
39
- 'load-memory': 'memory',
40
- 'standards-preflight': 'preflight',
41
- 'rd-cycle': 'rd',
42
- 'qa-cycle': 'qa',
43
- 'emit-txt': 'emit'
44
- };
45
- /**
46
- * Build a CodePlan. `fast=true` marks memory + preflight as skipped and
47
- * disables the QA repair loop. Step order is fixed; emit-txt always last.
48
- */
49
- export function buildCodePlan(opts) {
50
- const steps = STEP_ORDER.map((id) => {
51
- const isSkippable = id === 'load-memory' || id === 'standards-preflight';
52
- const step = {
53
- id,
54
- kind: STEP_KIND[id],
55
- skipped: opts.fast && isSkippable
56
- };
57
- if (id === 'qa-cycle') {
58
- return { ...step, repairLoop: !opts.fast };
59
- }
60
- return step;
61
- });
62
- return { sessionId: opts.sessionId, steps };
63
- }
64
- /**
65
- * Run the CodePlan. Skipped steps do NOT invoke their hook; emit-txt is
66
- * always invoked last. Returns timing + skipped ids for KPI measurement.
67
- */
68
- export async function runCodeFast(opts) {
69
- const start = Date.now();
70
- const skipped = [];
71
- const { sessionId, plan, hooks } = opts;
72
- for (const step of plan.steps) {
73
- if (step.skipped) {
74
- skipped.push(step.id);
75
- continue;
76
- }
77
- switch (step.id) {
78
- case 'load-memory':
79
- await hooks.memory({ sessionId });
80
- break;
81
- case 'standards-preflight':
82
- await hooks.preflight({ sessionId });
83
- break;
84
- case 'rd-cycle':
85
- await hooks.rd({ sessionId });
86
- break;
87
- case 'qa-cycle':
88
- await hooks.qa({ sessionId, repairLoop: step.repairLoop === true });
89
- break;
90
- case 'emit-txt':
91
- await hooks.emit({ sessionId });
92
- break;
93
- }
94
- }
95
- return {
96
- sessionId,
97
- ok: true,
98
- steps: plan.steps,
99
- skipped,
100
- elapsedMs: Date.now() - start
101
- };
102
- }
103
- /**
104
- * Register the `peaks code [--fast] <change-id>` command. The actual
105
- * LLM-side orchestration is driven by the SKILL.md (LLM-side), so this
106
- * CLI command is a thin surface that builds the plan and emits a JSON
107
- * envelope for downstream tooling.
108
- */
109
- export function registerCodeCommands(program, io) {
110
- const code = program
111
- .command('code')
112
- .description('peaks-code LLM-side workflow planner (slice 2 fast mode)');
113
- code
114
- .command('plan')
115
- .description('Build and print a CodePlan without executing it')
116
- .argument('<change-id>', 'change id to plan against')
117
- .option('--fast', 'fast mode: skip memory full-load, standards preflight, and QA repair loop', false)
118
- .option('--json', 'emit JSON envelope')
119
- .action((sessionId, opts) => {
120
- const plan = buildCodePlan({ sessionId, fast: opts.fast === true });
121
- if (opts.json === true) {
122
- process.stdout.write(JSON.stringify({ ok: true, data: plan }) + '\n');
123
- }
124
- else {
125
- process.stdout.write(`change-id: ${plan.sessionId}\n`);
126
- for (const step of plan.steps) {
127
- const flag = step.skipped ? 'SKIP' : 'RUN ';
128
- const repair = step.id === 'qa-cycle' ? ` repair=${step.repairLoop === true ? 'on' : 'off'}` : '';
129
- process.stdout.write(` [${flag}] ${step.id}${repair}\n`);
130
- }
131
- }
132
- });
133
- addJsonOption(code
134
- .command('should-pause')
135
- .description('v2.11.0 D5: ask the mode-gate whether the LLM should pause for an AskUserQuestion at a given step. ' +
136
- 'full-auto / swarm auto-proceed (recommended = chosen); assisted / strict pause. ' +
137
- 'The 3 hard-floor categories always pause regardless of mode. ' +
138
- 'v2.15.0 slice 002 AC-2: when --step step-1-mode-select AND the recorded skill presence is stale ' +
139
- '(outer-session-mismatch / no-presence), the gate returns shouldPause: true with reason "stale-presence" ' +
140
- 'even if the user passed --mode full-auto. The re-ask is mandatory — sticky-mode from a previous ' +
141
- 'session is NOT authoritative.')
142
- .requiredOption('--step <step>', `one of: ${GATED_STEPS.join(', ')}`)
143
- // v2.18.4 slice 002-fix-first-run-step-gates (Bug 2):
144
- // `--mode` is now OPTIONAL. Step 1's SEMANTIC is "ask the user
145
- // what mode to use" — requiring --mode to ask mode is a
146
- // chicken-and-egg. When --mode is omitted, default to
147
- // 'full-auto' so the gate can still evaluate; the gate's hard-
148
- // pause on `step-1-mode-select` (mode-selection-itself) will
149
- // pause regardless, and the LLM-side caller can present
150
- // AskUserQuestion without first knowing the mode.
151
- .option('--mode <mode>', 'one of: full-auto, assisted, swarm, strict. Defaults to full-auto when omitted (Step 1 chicken-and-egg fix).')
152
- .option('--hard-floor <category>', 'optional hard-floor override (irreversible-external-side-effect | authentication-credential | multi-day-investment | commit-boundary-side-effect)')
153
- .option('--recommended <option>', 'recommended option label to log when auto-proceeding', 'recommended-option')
154
- .option('--project <path>', 'v2.15.0 slice 002 AC-2: project root for presence:check-stale. Default: cwd. Pass only when step=step-1-mode-select.')
155
- .option('--ignore-stale-presence', 'v2.15.0 slice 002 AC-2: skip the stale-presence check (test seam). Default false.')
156
- .option('--commit-boundary-action <id>', 'v2.15.0 slice 002 AC-4 CLI seam (slice 002 repair): when the LLM is about to run a commit-boundary action (git push / tag / npm publish / global install), pass the action id here to force the hard-floor pause. Valid: git-push | git-tag | npm-publish | npm-install-global | peaks-global-install. Default: omitted (no override).')).action((opts) => {
157
- try {
158
- // v2.18.4 slice 002-fix-first-run-step-gates (Bug 2):
159
- // --mode is optional. Default to 'full-auto' when omitted
160
- // so step-1-mode-select can run without forcing the caller
161
- // to know the mode up front. The gate's hard-pause on
162
- // step-1-mode-select will still pause regardless.
163
- const mode = opts.mode ?? 'full-auto';
164
- if (!isCodeMode(mode)) {
165
- printResult(io, fail('code.should-pause', 'INVALID_MODE', `mode must be one of full-auto, assisted, swarm, strict (got "${mode}")`, { provided: mode }, ['Pass --mode full-auto | assisted | swarm | strict']), opts.json);
166
- process.exitCode = 1;
167
- return;
168
- }
169
- if (!GATED_STEPS.includes(opts.step)) {
170
- printResult(io, fail('code.should-pause', 'INVALID_STEP', `step must be one of the 14 GATED_STEPS (got "${opts.step}")`, { provided: opts.step, allowed: [...GATED_STEPS] }, ['Pass --step <one of the 14 GATED_STEPS>']), opts.json);
171
- process.exitCode = 1;
172
- return;
173
- }
174
- const hardFloor = opts.hardFloor;
175
- if (hardFloor !== undefined && !isHardFloorCategory(hardFloor)) {
176
- printResult(io, fail('code.should-pause', 'INVALID_HARD_FLOOR', `hard-floor must be one of: irreversible-external-side-effect | authentication-credential | multi-day-investment | commit-boundary-side-effect (got "${hardFloor}")`, { provided: hardFloor }, ['Omit --hard-floor or pass a valid category']), opts.json);
177
- process.exitCode = 1;
178
- return;
179
- }
180
- // v2.15.0 slice 002 repair (QA blocker): validate the
181
- // --commit-boundary-action flag at the CLI boundary. The
182
- // service-layer `shouldPauseAtGate` accepts a boolean
183
- // `commitBoundaryAction: true`; this flag tells the CLI to
184
- // pass it through. An unknown action id is rejected here
185
- // (not silently ignored) so typos fail loud.
186
- const commitBoundaryActionId = opts.commitBoundaryAction;
187
- if (commitBoundaryActionId !== undefined && !isCommitBoundaryAction(commitBoundaryActionId)) {
188
- printResult(io, fail('code.should-pause', 'INVALID_COMMIT_BOUNDARY_ACTION', `--commit-boundary-action must be one of: git-push | git-tag | npm-publish | npm-install-global | peaks-global-install (got "${commitBoundaryActionId}")`, { provided: commitBoundaryActionId }, ['Omit --commit-boundary-action or pass a valid action id']), opts.json);
189
- process.exitCode = 1;
190
- return;
191
- }
192
- const step = opts.step;
193
- // Slice 002 (v2.15.0) AC-2: when the caller is asking about
194
- // Step 1 AND the recorded presence is stale, OVERRIDE the
195
- // gate decision to PAUSE with reason='stale-presence'. The
196
- // hard-pause on step-1-mode-select (defect #1 fix from
197
- // 2026-06-28-code-mode-bypass-fix) is already in effect, so
198
- // this only adds the structured `stale` reason + an
199
- // envelope-level `stalePresence` field so downstream tooling
200
- // (statusline, sub-agent dispatch) can act on it.
201
- let stalePresence = null;
202
- if (opts.step === 'step-1-mode-select' && opts.ignoreStalePresence !== true) {
203
- const projectRoot = opts.project ?? findProjectRoot(process.cwd()) ?? process.cwd();
204
- stalePresence = checkStalePresence({ projectRootOverride: projectRoot });
205
- }
206
- if (stalePresence !== null && stalePresence.stale) {
207
- // Build the envelope manually so we can attach the extra
208
- // structured fields (stalePresence, logLine) and emit a
209
- // dedicated observability event tagged with reason='stale-presence'.
210
- const sid = readActiveSid(opts.project ?? findProjectRoot(process.cwd()) ?? process.cwd()) ?? '';
211
- if (sid.length > 0) {
212
- emitObservabilityEvent({
213
- schemaVersion: 1,
214
- ts: new Date().toISOString(),
215
- sessionId: sid,
216
- category: 'mode-gate',
217
- detail: {
218
- mode: mode,
219
- step,
220
- shouldPause: true,
221
- reason: 'stale-presence',
222
- staleReason: stalePresence.reason,
223
- recordedOuterSessionId: stalePresence.recordedOuterSessionId,
224
- currentOuterSessionId: stalePresence.currentOuterSessionId
225
- }
226
- }, { projectRoot: opts.project ?? process.cwd() });
227
- }
228
- printResult(io, ok('code.should-pause', {
229
- shouldPause: true,
230
- reason: `stale-presence — re-ask Step 1 (${stalePresence.reason}; recorded outer session id does not match current)`,
231
- gateKind: 'mode-selection-itself',
232
- logLine: `auto-pause (${mode}, stale-presence:${stalePresence.reason}): ${step} → re-ask`,
233
- stalePresence: {
234
- stale: true,
235
- reason: stalePresence.reason,
236
- recordedOuterSessionId: stalePresence.recordedOuterSessionId,
237
- currentOuterSessionId: stalePresence.currentOuterSessionId
238
- }
239
- }, [], [
240
- `Recorded outer session id "${stalePresence.recordedOuterSessionId ?? '?'}" does not match current outer session id "${stalePresence.currentOuterSessionId ?? '?'}".`,
241
- `peaks-code Step 1 must AskUserQuestion to confirm the mode for THIS session (slice 002 AC-2).`
242
- ]), opts.json);
243
- return;
244
- }
245
- const decision = shouldPauseAtGate({
246
- mode: mode,
247
- step,
248
- hardFloorCategory: hardFloor,
249
- // v2.15.0 slice 002 repair (QA blocker): translate the CLI
250
- // --commit-boundary-action flag into the service-layer
251
- // boolean. The CLI accepts the action id (e.g. "git-push")
252
- // for ergonomic machine consumption; the service layer only
253
- // cares that *some* commit-boundary action triggered the
254
- // override. The actual action id is echoed in the JSON
255
- // envelope below.
256
- commitBoundaryAction: commitBoundaryActionId !== undefined
257
- });
258
- // Slice C of v2.11.1 — observability hook #4/7. Fire-and-forget
259
- // per PRD Q4 (full-auto must never fail-loud). projectRoot
260
- // resolution mirrors observability-commands.ts (findProjectRoot
261
- // → cwd fallback).
262
- const projectRoot = findProjectRoot(process.cwd()) ?? process.cwd();
263
- const sid = readActiveSid(projectRoot) ?? '';
264
- if (sid.length > 0) {
265
- emitObservabilityEvent({
266
- schemaVersion: 1,
267
- ts: new Date().toISOString(),
268
- sessionId: sid,
269
- category: 'mode-gate',
270
- detail: {
271
- mode: mode,
272
- step,
273
- shouldPause: decision.shouldPause,
274
- reason: decision.reason,
275
- ...(decision.hardFloorCategory !== undefined ? { hardFloorCategory: decision.hardFloorCategory } : {})
276
- }
277
- }, { projectRoot });
278
- }
279
- const logLine = formatAutoProceedLogLine({
280
- mode: mode,
281
- step,
282
- recommendedOption: opts.recommended ?? 'recommended-option',
283
- hardFloorCategory: hardFloor
284
- });
285
- printResult(io,
286
- // v2.15.0 slice 002 repair: include the commit-boundary
287
- // action id in the envelope (when provided) so the LLM-side
288
- // caller can echo which boundary was checked. Null when no
289
- // --commit-boundary-action flag was passed.
290
- ok('code.should-pause', {
291
- ...decision,
292
- logLine,
293
- ...(commitBoundaryActionId !== undefined ? { commitBoundaryAction: commitBoundaryActionId } : {})
294
- }, [], [
295
- decision.shouldPause
296
- ? `Mode ${mode} + step ${opts.step} → PAUSE for AskUserQuestion${commitBoundaryActionId !== undefined ? ` (commit-boundary: ${commitBoundaryActionId})` : ''}`
297
- : `Mode ${mode} + step ${opts.step} → AUTO-PROCEED with recommended option`
298
- ]), opts.json);
299
- }
300
- catch (err) {
301
- printResult(io, fail('code.should-pause', 'SHOULD_PAUSE_FAILED', getErrorMessage(err), null, ['Re-run with --json for envelope shape']), opts.json);
302
- process.exitCode = 1;
303
- }
304
- });
305
- addJsonOption(code
306
- .command('post-compact-detect')
307
- .description('v2.11.0 D7: detect whether the current invocation is a same-day post-compact resume. ' +
308
- 'Auto-resumes (no AskUserQuestion) when the most-recent checkpoint is from today, has a mode field, ' +
309
- 'and the active skill is peaks-code. Falls through to the normal Step 0.7 flow otherwise.')
310
- .requiredOption('--project <path>', 'target project root')
311
- .option('--session-id <sid>', 'override session id (default: read from active presence)')
312
- .option('--active-skill <skill>', 'override active skill (test seam; default: read from presence)')).action(async (opts) => {
313
- try {
314
- const sessionId = opts.sessionId ?? readActiveSid(opts.project);
315
- if (sessionId === null) {
316
- printResult(io, fail('code.post-compact-detect', 'NO_ACTIVE_SESSION', 'no active session id; pass --session-id or set presence via `peaks skill presence:set peaks-code`', null, ['Re-run with --session-id <sid>']), opts.json);
317
- process.exitCode = 1;
318
- return;
319
- }
320
- const probe = await detectPostCompactResume({
321
- sessionId,
322
- projectRoot: opts.project,
323
- activeSkill: opts.activeSkill
324
- });
325
- const logLine = formatPostCompactResumeLogLine(probe);
326
- printResult(io, ok('code.post-compact-detect', { ...probe, logLine }, [...probe.warnings], [
327
- probe.shouldAutoResume
328
- ? `Post-compact match → auto-resume mode=${probe.mode ?? '?'} checkpoint=${probe.checkpointPath ?? '?'}`
329
- : `No auto-resume: ${probe.reason}`
330
- ]), opts.json);
331
- }
332
- catch (err) {
333
- printResult(io, fail('code.post-compact-detect', 'POST_COMPACT_DETECT_FAILED', getErrorMessage(err), null, ['Verify the project path and try again']), opts.json);
334
- process.exitCode = 1;
335
- }
336
- });
337
- addJsonOption(code
338
- .command('auto-compact')
339
- .description('v2.13.0 AC-4: zero-human-intervention auto-compact. Probes current ' +
340
- 'context-fill % via the active IDE adapter; ≥ 0.85 writes a pre-compact ' +
341
- 'checkpoint + convergence plan + auto-decisions log; ≥ 0.95 forces ' +
342
- 'synchronous IDE-side compact. The LLM / runner keeps working with ' +
343
- 'context < 95% without human intervention. pair with `peaks context ' +
344
- 'now` (AC-1) which feeds the ratio into this command.')
345
- .requiredOption('--project <path>', 'target project root')
346
- .option('--session-id <sid>', 'override session id (default: read from active presence)')
347
- .option('--in-flight-batch', 'defer if a sub-agent batch is in flight (D6.e)')
348
- .option('--force', 'force compact at any ratio (test seam)')
349
- .option('--bypass-red-line', 'skip the 95% red-line gate (test seam; never true in production)')).action(async (opts) => {
350
- try {
351
- const result = await runAutoCompact({
352
- projectRoot: opts.project,
353
- sessionId: opts.sessionId ?? readActiveSid(opts.project) ?? undefined,
354
- inFlightBatch: opts.inFlightBatch === true
355
- ? { hasInFlightBatch: true }
356
- : undefined,
357
- force: opts.force === true,
358
- bypassRedLine: opts.bypassRedLine === true
359
- });
360
- const code = result.code;
361
- const exitOk = result.ok || code === 'AUTO_COMPACT_SKIP' || code === 'AUTO_COMPACT_WAIT';
362
- // Adapt AutoCompactResult → ResultEnvelope so printResult's
363
- // generic accepts it. The orchestrator envelope carries
364
- // `data` on success-path and `nextActions` on the error
365
- // path; surface both directly to the user.
366
- const data = 'data' in result ? result.data : null;
367
- const nextActions = 'nextActions' in result ? result.nextActions : [];
368
- const envelope = result.ok
369
- ? ok(`code.auto-compact`, data ?? {}, [], [result.message, ...nextActions])
370
- : fail(`code.auto-compact`, code, result.message, data, [...nextActions]);
371
- printResult(io, envelope, opts.json);
372
- if (!exitOk)
373
- process.exitCode = 1;
374
- }
375
- catch (err) {
376
- printResult(io, fail('code.auto-compact', 'AUTO_COMPACT_FAILED', getErrorMessage(err), null, [
377
- 'Verify the project path + session id and try again'
378
- ]), opts.json);
379
- process.exitCode = 1;
380
- }
381
- });
382
- addJsonOption(code
383
- .command('context-now')
384
- .description('v2.13.0 AC-1: read the active IDE adapter\'s context-fill % ' +
385
- 'without requiring the LLM to pass --prompt-size <bytes> manually. ' +
386
- 'Adapter-driven (no hard-coded IDE names): Claude Code is the MVP ' +
387
- 'implementation; trae / codex / cursor / qoder / tongyi-lingma / ' +
388
- 'hermes / openclaw register their own env-var via IdeAdapter.compact. ' +
389
- 'v3.1.2: when --enforce-job-mode is set OR job-shape.json says isJob=true, ' +
390
- '≥0.85 emits action=auto-compact-now (MANDATORY, not advisory) and ' +
391
- '≥0.95 emits action=red-line (forced hook fires next turn).')
392
- .requiredOption('--project <path>', 'target project root')
393
- .option('--session-id <sid>', 'override session id (default: read from active presence)')
394
- .option('--enforce-job-mode', 'v3.1.2: treat ≥0.85 as MANDATORY auto-compact (not advisory). Auto-enabled when job-shape.json says isJob=true.')).action(async (opts) => {
395
- try {
396
- const { readContextPercent } = await import('../../services/context/auto-compact-reader.js');
397
- // v3.1.2: detect Job mode from job-shape.json when --enforce-job-mode
398
- // is not explicitly passed. The LLM is the source of truth for
399
- // whether the request is Job-shaped; the recorded decision is.
400
- let isJobMode = opts.enforceJobMode === true;
401
- if (!isJobMode) {
402
- try {
403
- const sessionIdForDecision = opts.sessionId ?? readActiveSid(opts.project);
404
- if (sessionIdForDecision !== null) {
405
- const record = readJobShapeDecision(opts.project, sessionIdForDecision);
406
- if (record.decision.isJob)
407
- isJobMode = true;
408
- }
409
- }
410
- catch (err) {
411
- if (!(err instanceof JobShapeDecisionError))
412
- throw err;
413
- // missing/malformed decision file is fine — fall back to advisory.
414
- }
415
- }
416
- const probe = readContextPercent({
417
- projectRoot: opts.project,
418
- sessionId: opts.sessionId ?? readActiveSid(opts.project) ?? 'unknown',
419
- env: process.env
420
- });
421
- const ratioPct = (probe.ratio * 100).toFixed(1);
422
- let action = 'ok';
423
- let next = null;
424
- if (probe.ratio >= 0.95) {
425
- action = isJobMode ? 'red-line' : 'red-line';
426
- next = 'peaks session auto-compact-hook';
427
- }
428
- else if (probe.ratio >= 0.85) {
429
- if (isJobMode) {
430
- action = 'auto-compact-now';
431
- next = 'peaks session auto-compact --execute';
432
- }
433
- else {
434
- action = 'soft-warn';
435
- }
436
- }
437
- else if (probe.ratio >= 0.5) {
438
- action = 'soft-warn';
439
- }
440
- const verdict = action === 'red-line' ? 'red-line'
441
- : action === 'auto-compact-now' ? 'pre-compact'
442
- : action === 'soft-warn' ? 'soft-warn'
443
- : 'ok';
444
- const jobModeNotice = isJobMode
445
- ? 'Job mode enforced: ≥0.85 is MANDATORY auto-compact (v3.1.2).'
446
- : 'Advisory mode (single-rid): ≥0.85 is recommended, not mandatory.';
447
- printResult(io, ok('code.context-now', {
448
- ratio: probe.ratio,
449
- ratioPct: `${ratioPct}%`,
450
- verdict,
451
- action,
452
- next,
453
- jobMode: isJobMode,
454
- source: probe.source,
455
- ide: probe.ide,
456
- capacityBytes: probe.capacityBytes,
457
- rawBytes: probe.rawBytes ?? null,
458
- capturedAt: probe.capturedAt
459
- }, [], [
460
- action === 'red-line'
461
- ? `RED LINE: ≥ 95%. Next: \`${next}\` (PreToolUse hook fires next turn).`
462
- : action === 'auto-compact-now'
463
- ? `Job-mode MANDATORY auto-compact. Code MUST call \`${next}\` WITHOUT confirmation.`
464
- : action === 'soft-warn'
465
- ? isJobMode
466
- ? `Job mode soft-warn (50–85%). Continue working; the next \`peaks context now\` will re-check.`
467
- : `Soft warn (50–85%). Continue working; the next \`peaks context now\` will re-check.`
468
- : `Below 50%. No action required.`,
469
- jobModeNotice
470
- ]), true);
471
- }
472
- catch (err) {
473
- printResult(io, fail('code.context-now', 'CONTEXT_NOW_FAILED', getErrorMessage(err), null, [
474
- 'Verify the project path and try again'
475
- ]), opts.json);
476
- process.exitCode = 1;
477
- }
478
- });
479
- // v3.1.1 Step 0.8 — Job-shape decision recorder.
480
- // The CLI is a *recorder*, not a judge. The LLM supplies the verdict
481
- // (--is-job, --rationale, --suggested-job-id, --suggested-strategy,
482
- // --confidence); the CLI validates the shape, stamps `decidedAt`
483
- // server-side, and writes to `.peaks/_runtime/<sessionId>/job-shape.json`.
484
- addJsonOption(code
485
- .command('detect-job')
486
- .description('v3.1.1 Step 0.8: record the LLM\'s Job-shape judgement. CLI is a recorder, NOT a detector. ' +
487
- 'Pass --is-job true|false, --rationale <text>, --suggested-job-id <slug>. ' +
488
- 'Downstream steps call `peaks code read-job-shape` and refuse to proceed if missing.')
489
- .requiredOption('--is-job <bool>', 'true | false (the LLM\'s semantic verdict)')
490
- .requiredOption('--rationale <text>', '1-3 sentences the LLM writes explaining the call')
491
- .requiredOption('--suggested-job-id <jid>', 'LLM-chosen stable id, slug-safe (/^[a-z0-9][a-z0-9-]{2,40}$/)')
492
- .option('--suggested-strategy <single|rotating>', 'single | rotating', 'single')
493
- .option('--confidence <high|medium|low>', 'high | medium | low', 'medium')
494
- .option('--force', 'overwrite an existing decision file')
495
- .option('--session-id <sid>', 'override session id (default: read from active presence)')
496
- .option('--project <path>', 'target project root (default: findProjectRoot(cwd))')
497
- .option('--prompt <text>', 'override the prompt hashed into promptHash (default: read last-prompt.txt if present, else empty)')).action(async (opts) => {
498
- try {
499
- if (opts.isJob !== 'true' && opts.isJob !== 'false') {
500
- printResult(io, fail('code.detect-job', 'INVALID_FLAG', `--is-job must be true | false (got "${opts.isJob}")`, { provided: opts.isJob }, ['Pass --is-job true or --is-job false']), opts.json);
501
- process.exitCode = 1;
502
- return;
503
- }
504
- if (opts.suggestedStrategy !== 'single' && opts.suggestedStrategy !== 'rotating') {
505
- printResult(io, fail('code.detect-job', 'INVALID_FLAG', `--suggested-strategy must be single | rotating (got "${opts.suggestedStrategy}")`, { provided: opts.suggestedStrategy }, ['Pass --suggested-strategy single or --suggested-strategy rotating']), opts.json);
506
- process.exitCode = 1;
507
- return;
508
- }
509
- if (opts.confidence !== 'high' && opts.confidence !== 'medium' && opts.confidence !== 'low') {
510
- printResult(io, fail('code.detect-job', 'INVALID_FLAG', `--confidence must be high | medium | low (got "${opts.confidence}")`, { provided: opts.confidence }, ['Pass --confidence high | medium | low']), opts.json);
511
- process.exitCode = 1;
512
- return;
513
- }
514
- const jidRe = /^[a-z0-9][a-z0-9-]{2,40}$/;
515
- if (!jidRe.test(opts.suggestedJobId)) {
516
- printResult(io, fail('code.detect-job', 'INVALID_FLAG', `--suggested-job-id must match /^[a-z0-9][a-z0-9-]{2,40}$/ (got "${opts.suggestedJobId}")`, { provided: opts.suggestedJobId }, ['Pass a slug-safe id (lowercase, digits, dashes; 3-41 chars)']), opts.json);
517
- process.exitCode = 1;
518
- return;
519
- }
520
- const projectRoot = opts.project ?? findProjectRoot(process.cwd()) ?? process.cwd();
521
- const sessionId = opts.sessionId ?? readActiveSid(projectRoot);
522
- if (sessionId === null) {
523
- printResult(io, fail('code.detect-job', 'NO_ACTIVE_SESSION', 'no active session id; pass --session-id or set presence via `peaks skill presence:set peaks-code`', null, ['Re-run with --session-id <sid>']), opts.json);
524
- process.exitCode = 1;
525
- return;
526
- }
527
- // Prompt source: explicit --prompt > last-prompt.txt > empty.
528
- let promptText = opts.prompt ?? '';
529
- if (opts.prompt === undefined) {
530
- const lastPromptPath = join(projectRoot, '.peaks', '_runtime', sessionId, 'txt', 'last-prompt.txt');
531
- if (existsSync(lastPromptPath)) {
532
- try {
533
- promptText = readFileSync(lastPromptPath, 'utf8');
534
- }
535
- catch { // TODO(g2): legacy silent catch — grace: 1 minor release
536
- promptText = '';
537
- }
538
- }
539
- }
540
- const record = writeJobShapeDecision(projectRoot, sessionId, {
541
- isJob: opts.isJob === 'true',
542
- rationale: opts.rationale,
543
- suggestedJobId: opts.suggestedJobId,
544
- suggestedStrategy: opts.suggestedStrategy,
545
- confidence: opts.confidence,
546
- prompt: promptText
547
- }, { force: opts.force === true });
548
- printResult(io, ok('code.detect-job', {
549
- sessionId: record.sessionId,
550
- promptHash: record.promptHash,
551
- decision: record.decision,
552
- schemaVersion: record.schemaVersion
553
- }, [], [
554
- `Decision recorded: isJob=${record.decision.isJob} strategy=${record.decision.suggestedStrategy} confidence=${record.decision.confidence}`,
555
- `File: .peaks/_runtime/${record.sessionId}/job-shape.json`
556
- ]), opts.json);
557
- }
558
- catch (err) {
559
- if (err instanceof JobShapeDecisionError) {
560
- const code = err.code === JOB_SHAPE_ALREADY_DECIDED ? JOB_SHAPE_ALREADY_DECIDED : err.code === JOB_SHAPE_NOT_DECIDED ? JOB_SHAPE_NOT_DECIDED : err.code;
561
- printResult(io, fail('code.detect-job', code, err.message, err.details ?? null, [
562
- err.code === JOB_SHAPE_ALREADY_DECIDED
563
- ? 'Re-run with --force to overwrite the existing decision.'
564
- : 'Re-run with valid flags.'
565
- ]), opts.json);
566
- process.exitCode = 1;
567
- return;
568
- }
569
- printResult(io, fail('code.detect-job', 'DETECT_JOB_FAILED', getErrorMessage(err), null, ['Verify the flags and try again']), opts.json);
570
- process.exitCode = 1;
571
- }
572
- });
573
- // v3.1.1 Step 0.8 — read-only validator. Downstream steps call this
574
- // to refuse to proceed if the LLM has not yet recorded a decision.
575
- addJsonOption(code
576
- .command('read-job-shape')
577
- .description('v3.1.1 Step 0.8: return the recorded Job-shape decision. ' +
578
- 'Returns JOB_SHAPE_NOT_DECIDED when the LLM has not yet recorded a verdict.')
579
- .option('--session-id <sid>', 'override session id (default: read from active presence)')
580
- .option('--project <path>', 'target project root (default: findProjectRoot(cwd))')).action((opts) => {
581
- try {
582
- const projectRoot = opts.project ?? findProjectRoot(process.cwd()) ?? process.cwd();
583
- const sessionId = opts.sessionId ?? readActiveSid(projectRoot);
584
- if (sessionId === null) {
585
- printResult(io, fail('code.read-job-shape', 'NO_ACTIVE_SESSION', 'no active session id; pass --session-id or set presence via `peaks skill presence:set peaks-code`', null, ['Re-run with --session-id <sid>']), opts.json);
586
- process.exitCode = 1;
587
- return;
588
- }
589
- const record = readJobShapeDecision(projectRoot, sessionId);
590
- printResult(io, ok('code.read-job-shape', {
591
- sessionId: record.sessionId,
592
- promptHash: record.promptHash,
593
- decision: record.decision,
594
- schemaVersion: record.schemaVersion
595
- }, [], [
596
- `Decision on file: isJob=${record.decision.isJob} strategy=${record.decision.suggestedStrategy} confidence=${record.decision.confidence}`
597
- ]), opts.json);
598
- }
599
- catch (err) {
600
- if (err instanceof JobShapeDecisionError) {
601
- printResult(io, fail('code.read-job-shape', err.code, err.message, err.details ?? null, [
602
- err.code === JOB_SHAPE_NOT_DECIDED
603
- ? 'Run `peaks code detect-job` to record a decision.'
604
- : 'Investigate the decision file integrity.'
605
- ]), opts.json);
606
- process.exitCode = 1;
607
- return;
608
- }
609
- printResult(io, fail('code.read-job-shape', 'READ_JOB_SHAPE_FAILED', getErrorMessage(err), null, ['Verify the project path and try again']), opts.json);
610
- process.exitCode = 1;
611
- }
612
- });
613
- // v3.1.2 Step 0.8 — Mechanical PreToolUse gate.
614
- // Wire-installed by `peaks workspace init` (extends the existing hook
615
- // installer). Exit code is the load-bearing contract:
616
- // exit 0 → allow (with structured stdout describing the decision)
617
- // exit 2 → block (stderr contains the BLOCKED: ... reason)
618
- addJsonOption(code
619
- .command('gate-step-08')
620
- .description('v3.1.2: PreToolUse gate for Step 0.8 — allow when job-shape.json exists; ' +
621
- 'fail-closed backup regex when missing. Exit 0 = allow, exit 2 = block. ' +
622
- 'When the decision says isJob=true AND progress.json exists, the stdout ' +
623
- 'also carries `Next: slice #N+1 of M (<currentSlice>)` so the LLM cannot ' +
624
- 'wake up cold.')
625
- .requiredOption('--project <path>', 'target project root (the hook passes "." so resolveCanonicalProjectRoot promotes it to the git root)')
626
- .option('--session-id <sid>', 'override session id (default: read from active presence)')
627
- .option('--prompt <text>', 'explicit prompt text (default: read last-prompt.txt; stdin ignored)')).action((opts) => {
628
- try {
629
- const sessionId = opts.sessionId ?? readActiveSid(opts.project);
630
- if (sessionId === null) {
631
- // No session binding — treat as allow (single-rid mode). The
632
- // LLM has not yet anchored; we have nothing to gate against.
633
- const envelope = ok('code.gate-step-08', {
634
- allow: true,
635
- mode: 'no-session',
636
- decision: null,
637
- nextSlice: null
638
- }, [], [
639
- 'No active session id; gate passes through (single-rid mode).'
640
- ]);
641
- printResult(io, envelope, opts.json);
642
- return;
643
- }
644
- const evalInput = {
645
- projectRoot: opts.project,
646
- sessionId
647
- };
648
- if (opts.prompt !== undefined)
649
- evalInput.prompt = opts.prompt;
650
- const result = evaluateStep08(evalInput);
651
- const verdict = result.verdict;
652
- if (verdict.kind === 'allow-job') {
653
- const envelope = ok('code.gate-step-08', {
654
- allow: true,
655
- mode: 'job',
656
- decision: verdict.decision,
657
- progress: verdict.progress,
658
- nextSlice: result.nextSliceLine
659
- }, [], result.nextSliceLine !== null ? [result.nextSliceLine] : []);
660
- printResult(io, envelope, opts.json);
661
- return;
662
- }
663
- if (verdict.kind === 'allow-single') {
664
- const envelope = ok('code.gate-step-08', {
665
- allow: true,
666
- mode: 'single',
667
- decision: null,
668
- nextSlice: null
669
- }, [], [
670
- 'job-shape.json says isJob=false; single-rid mode (gate allows).'
671
- ]);
672
- printResult(io, envelope, opts.json);
673
- return;
674
- }
675
- // block-missing-decision
676
- if (verdict.promptHit) {
677
- // Block: backup regex hit. Exit code 2 is the load-bearing
678
- // signal for the PreToolUse hook.
679
- const blockMessage = 'BLOCKED: prompt looks Job-shaped but peaks code detect-job has not been called. Run `peaks code detect-job --is-job true ...` to record your Job-shape verdict, then retry.';
680
- const envelope = fail('code.gate-step-08', 'STEP_08_BLOCKED', blockMessage, {
681
- promptSource: verdict.promptSource,
682
- backupRegex: STEP_08_BACKUP_REGEX.toString()
683
- }, [
684
- 'Run `peaks code detect-job --is-job true --rationale <text> --suggested-job-id <slug>` to record the Job-shape verdict.',
685
- 'Then re-run the Bash tool call.'
686
- ]);
687
- io.stderr(`${blockMessage}\n`);
688
- printResult(io, envelope, opts.json);
689
- process.exitCode = 2;
690
- return;
691
- }
692
- // No decision + no regex hit → allow.
693
- const envelope = ok('code.gate-step-08', {
694
- allow: true,
695
- mode: 'undecided-no-regex-hit',
696
- decision: null,
697
- nextSlice: null,
698
- promptSource: verdict.promptSource
699
- }, [], [
700
- 'No job-shape.json AND no backup-regex match on prompt → allow (most prompts are not Job-shaped).'
701
- ]);
702
- printResult(io, envelope, opts.json);
703
- return;
704
- }
705
- catch (err) {
706
- printResult(io, fail('code.gate-step-08', 'GATE_STEP_08_FAILED', getErrorMessage(err), null, [
707
- 'Verify the project path and try again'
708
- ]), opts.json);
709
- process.exitCode = 1;
710
- }
711
- });
712
- // v3.1.2 Step 11 / final handoff — Size-fear ban.
713
- // Refuses to emit a final handoff while a Job has remaining slices.
714
- addJsonOption(code
715
- .command('emit-handoff')
716
- .description('v3.1.2 Step 11 size-fear ban: under Job mode, refuse to emit a final ' +
717
- 'handoff while remaining > 0. Exit 0 = allow, exit 1 = block. Pass ' +
718
- '--force-under-job to override (requires explicit user approval).')
719
- .requiredOption('--project <path>', 'target project root')
720
- .option('--session-id <sid>', 'override session id (default: read from active presence)')
721
- .option('--job-id <jid>', 'override job id (default: read from job-shape.json decision.suggestedJobId)')
722
- .option('--force-under-job', 'override the remaining>0 block (explicit user approval required)')).action((opts) => {
723
- try {
724
- const sessionId = opts.sessionId ?? readActiveSid(opts.project);
725
- if (sessionId === null) {
726
- const envelope = ok('code.emit-handoff', { allow: true, mode: 'no-session' }, [], [
727
- 'No active session id; gate passes through (single-rid mode).'
728
- ]);
729
- printResult(io, envelope, opts.json);
730
- return;
731
- }
732
- const evalInput = {
733
- projectRoot: opts.project,
734
- sessionId
735
- };
736
- if (opts.jobId !== undefined)
737
- evalInput.jobId = opts.jobId;
738
- if (opts.forceUnderJob === true)
739
- evalInput.forceUnderJob = true;
740
- const verdict = evaluateEmitHandoff(evalInput);
741
- if (verdict.kind === 'allow-not-job') {
742
- const envelope = ok('code.emit-handoff', { allow: true, mode: 'single' }, [], [
743
- 'job-shape.json says isJob=false (or absent); normal handoff allowed.'
744
- ]);
745
- printResult(io, envelope, opts.json);
746
- return;
747
- }
748
- if (verdict.kind === 'allow-done') {
749
- const envelope = ok('code.emit-handoff', { allow: true, mode: 'job-done', remaining: verdict.remaining }, [], [
750
- `Job is complete (remaining=0); handoff allowed.`
751
- ]);
752
- printResult(io, envelope, opts.json);
753
- return;
754
- }
755
- if (verdict.kind === 'allow-force-override') {
756
- const envelope = ok('code.emit-handoff', { allow: true, mode: 'job-force-override', remaining: verdict.remaining }, [], [
757
- `Job has ${verdict.remaining} remaining slices; --force-under-job override applied. Handoff allowed (explicit user approval).`
758
- ]);
759
- printResult(io, envelope, opts.json);
760
- return;
761
- }
762
- if (verdict.kind === 'block-not-initialized') {
763
- const envelope = fail('code.emit-handoff', JOB_NOT_INITIALIZED, `Job ${verdict.jobId} has no state.json; peaks job init was skipped.`, { jobId: verdict.jobId }, [`Run \`peaks job init --job-id ${verdict.jobId} --slice-list <...>\` before emitting handoff.`]);
764
- printResult(io, envelope, opts.json);
765
- process.exitCode = 1;
766
- return;
767
- }
768
- // block-remaining
769
- const blockMessage = `BLOCKED: Job ${verdict.jobId} has ${verdict.remaining} remaining slices. Run \`peaks job status\`. Use --force-under-job only with explicit user approval.`;
770
- const envelope = fail('code.emit-handoff', JOB_REMAINING_BLOCKED, blockMessage, { jobId: verdict.jobId, remaining: verdict.remaining }, [
771
- `Run \`peaks job status --job-id ${verdict.jobId}\` to see remaining slices.`,
772
- 'Resume Step 0.81 (per-slice checkpoint loop) and continue until remaining === 0.',
773
- 'Use --force-under-job only with explicit user approval (size-fear ban override).'
774
- ]);
775
- io.stderr(`${blockMessage}\n`);
776
- printResult(io, envelope, opts.json);
777
- process.exitCode = 1;
778
- return;
779
- }
780
- catch (err) {
781
- printResult(io, fail('code.emit-handoff', 'EMIT_HANDOFF_FAILED', getErrorMessage(err), null, [
782
- 'Verify the project path and try again'
783
- ]), opts.json);
784
- process.exitCode = 1;
785
- }
786
- });
787
- }
788
- function readActiveSid(projectRoot) {
789
- try {
790
- const presence = getSkillPresence(projectRoot);
791
- if (presence === null || presence === undefined)
792
- return null;
793
- return presence.sessionId ?? null;
794
- }
795
- catch { // TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
796
- return null;
797
- }
798
- }