peaks-loop 4.0.0-beta.9 → 4.0.1

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 (552) hide show
  1. package/CHANGELOG.md +910 -141
  2. package/README-en.md +26 -7
  3. package/README.md +75 -6
  4. package/agents/karpathy-reviewer.md +33 -0
  5. package/bin/peaks.js +0 -0
  6. package/dist/cli/cli-helpers.d.ts +31 -6
  7. package/dist/cli/cli-helpers.js +48 -25
  8. package/dist/cli/commands/_register.d.ts +3 -0
  9. package/dist/cli/commands/_register.js +139 -0
  10. package/dist/cli/commands/_super.d.ts +10 -0
  11. package/dist/cli/commands/_super.js +97 -0
  12. package/dist/cli/commands/adapter-commands-s2a.js +1 -1
  13. package/dist/cli/commands/asset-commands.js +33 -16
  14. package/dist/cli/commands/audit-commands.js +2 -2
  15. package/dist/cli/commands/autonomous-swarm-commands.d.ts +12 -0
  16. package/dist/cli/commands/autonomous-swarm-commands.js +120 -0
  17. package/dist/cli/commands/bee-commands.js +1 -1
  18. package/dist/cli/commands/capability-commands.js +1 -1
  19. package/dist/cli/commands/capability-worker-config-sc-commands.js +0 -2
  20. package/dist/cli/commands/changeset-commands.d.ts +13 -0
  21. package/dist/cli/commands/changeset-commands.js +46 -0
  22. package/dist/cli/commands/code-commands.d.ts +11 -1
  23. package/dist/cli/commands/code-commands.js +19 -699
  24. package/dist/cli/commands/code-job-shape-commands.d.ts +9 -0
  25. package/dist/cli/commands/code-job-shape-commands.js +164 -0
  26. package/dist/cli/commands/code-mode-gate-commands.d.ts +9 -0
  27. package/dist/cli/commands/code-mode-gate-commands.js +223 -0
  28. package/dist/cli/commands/code-review-commands.js +2 -2
  29. package/dist/cli/commands/code-run-command.d.ts +12 -0
  30. package/dist/cli/commands/code-run-command.js +68 -0
  31. package/dist/cli/commands/code-runtime-commands.d.ts +11 -0
  32. package/dist/cli/commands/code-runtime-commands.js +391 -0
  33. package/dist/cli/commands/codegraph-commands.js +1 -1
  34. package/dist/cli/commands/compact-command.js +53 -1
  35. package/dist/cli/commands/complexity-commands.js +1 -1
  36. package/dist/cli/commands/config-commands.js +4 -75
  37. package/dist/cli/commands/container-commands.d.ts +28 -0
  38. package/dist/cli/commands/container-commands.js +221 -0
  39. package/dist/cli/commands/context-commands.js +3 -2
  40. package/dist/cli/commands/core/artifacts-command.js +1 -1
  41. package/dist/cli/commands/core/binding-commands.js +1 -1
  42. package/dist/cli/commands/core/doctor-command.js +63 -3
  43. package/dist/cli/commands/core/memory-command.js +1 -1
  44. package/dist/cli/commands/core/profile-command.js +1 -1
  45. package/dist/cli/commands/core/proxy-command.js +1 -1
  46. package/dist/cli/commands/core/session-command.js +9 -7
  47. package/dist/cli/commands/core/skill-command.js +7 -4
  48. package/dist/cli/commands/core/standards-command.js +1 -1
  49. package/dist/cli/commands/cron-commands.d.ts +57 -0
  50. package/dist/cli/commands/cron-commands.js +257 -0
  51. package/dist/cli/commands/cron-scheduler-commands.d.ts +47 -0
  52. package/dist/cli/commands/cron-scheduler-commands.js +284 -0
  53. package/dist/cli/commands/dashboard-commands.d.ts +4 -0
  54. package/dist/cli/commands/dashboard-commands.js +10 -0
  55. package/dist/cli/commands/dashboard-long-run.d.ts +25 -0
  56. package/dist/cli/commands/dashboard-long-run.js +122 -0
  57. package/dist/cli/commands/dashboard-summary.d.ts +12 -0
  58. package/dist/cli/commands/dashboard-summary.js +58 -0
  59. package/dist/cli/commands/dispatch-commands.d.ts +0 -7
  60. package/dist/cli/commands/dispatch-commands.js +372 -8
  61. package/dist/cli/commands/dispatch-from-dag.js +4 -1
  62. package/dist/cli/commands/doc-commands.js +1 -1
  63. package/dist/cli/commands/ecc-commands.d.ts +30 -0
  64. package/dist/cli/commands/ecc-commands.js +119 -0
  65. package/dist/cli/commands/evolution-commands.js +1 -1
  66. package/dist/cli/commands/feedback-commands.js +1 -1
  67. package/dist/cli/commands/final-review-commands.js +1 -1
  68. package/dist/cli/commands/fixture-commands.js +1 -1
  69. package/dist/cli/commands/fork-commands.js +1 -1
  70. package/dist/cli/commands/gate-commands.js +128 -6
  71. package/dist/cli/commands/governance-classify-contract-commands.d.ts +21 -0
  72. package/dist/cli/commands/governance-classify-contract-commands.js +273 -0
  73. package/dist/cli/commands/heartbeat-commands.js +76 -5
  74. package/dist/cli/commands/heartbeat-watch-command.d.ts +31 -0
  75. package/dist/cli/commands/heartbeat-watch-command.js +146 -0
  76. package/dist/cli/commands/hook-handle.js +1 -1
  77. package/dist/cli/commands/hooks-commands.js +126 -10
  78. package/dist/cli/commands/ide-commands.js +1 -1
  79. package/dist/cli/commands/impact-commands.js +1 -1
  80. package/dist/cli/commands/job-commands.js +34 -1
  81. package/dist/cli/commands/lease-metrics-commands.d.ts +67 -0
  82. package/dist/cli/commands/lease-metrics-commands.js +231 -0
  83. package/dist/cli/commands/lease-stats-commands.d.ts +65 -0
  84. package/dist/cli/commands/lease-stats-commands.js +107 -0
  85. package/dist/cli/commands/legacy-commands.js +1 -1
  86. package/dist/cli/commands/log-commands.js +1 -1
  87. package/dist/cli/commands/loop-commands.js +1 -1
  88. package/dist/cli/commands/loop-eval-commands.js +1 -1
  89. package/dist/cli/commands/memory-commands.js +1 -1
  90. package/dist/cli/commands/migrate-1-4-1-command.js +1 -1
  91. package/dist/cli/commands/migrate-v2-10-to-v2-11-command.js +1 -1
  92. package/dist/cli/commands/mut-commands.d.ts +1 -1
  93. package/dist/cli/commands/mut-commands.js +1 -5
  94. package/dist/cli/commands/observability-commands.js +1 -1
  95. package/dist/cli/commands/openspec-commands.js +65 -4
  96. package/dist/cli/commands/perf-audit-commands.js +3 -3
  97. package/dist/cli/commands/perf-commands.js +1 -1
  98. package/dist/cli/commands/polyrepo-commands.js +1 -1
  99. package/dist/cli/commands/prd-blocks-commands.js +1 -1
  100. package/dist/cli/commands/prd-commands.js +4 -2
  101. package/dist/cli/commands/preferences-commands.js +23 -3
  102. package/dist/cli/commands/project-commands.js +1 -1
  103. package/dist/cli/commands/qa-business-review-commands.js +1 -1
  104. package/dist/cli/commands/qa-commands.d.ts +1 -1
  105. package/dist/cli/commands/qa-commands.js +39 -3
  106. package/dist/cli/commands/release-commands.d.ts +15 -0
  107. package/dist/cli/commands/release-commands.js +113 -21
  108. package/dist/cli/commands/request-commands.js +1 -1
  109. package/dist/cli/commands/retrospective-commands.js +1 -1
  110. package/dist/cli/commands/reviewer-commands.js +1 -1
  111. package/dist/cli/commands/role-commands.js +1 -1
  112. package/dist/cli/commands/runtime-commands-helpers.d.ts +7 -0
  113. package/dist/cli/commands/runtime-commands-helpers.js +24 -0
  114. package/dist/cli/commands/runtime-commands.js +1 -2
  115. package/dist/cli/commands/sc-commands.js +4 -2
  116. package/dist/cli/commands/scan-commands.js +1 -1
  117. package/dist/cli/commands/security-audit-commands.js +3 -3
  118. package/dist/cli/commands/sediment-commands.js +10 -1
  119. package/dist/cli/commands/session-24h-mode.d.ts +26 -0
  120. package/dist/cli/commands/session-24h-mode.js +196 -0
  121. package/dist/cli/commands/share-commands.d.ts +19 -0
  122. package/dist/cli/commands/share-commands.js +121 -2
  123. package/dist/cli/commands/skill-conformance-commands.js +1 -1
  124. package/dist/cli/commands/skill-loop-engineering-readiness-commands.js +1 -1
  125. package/dist/cli/commands/skill-search-commands.js +4 -1
  126. package/dist/cli/commands/slice-commands.js +1 -1
  127. package/dist/cli/commands/slice-integrate-commands.js +1 -1
  128. package/dist/cli/commands/slice-review-commands.js +1 -1
  129. package/dist/cli/commands/smoke-commands.js +1 -1
  130. package/dist/cli/commands/sop-commands.js +1 -1
  131. package/dist/cli/commands/spill-demo-command.d.ts +7 -0
  132. package/dist/cli/commands/spill-demo-command.js +29 -0
  133. package/dist/cli/commands/statusline-commands.d.ts +12 -0
  134. package/dist/cli/commands/statusline-commands.js +79 -17
  135. package/dist/cli/commands/sub-agent-commands.js +2 -1
  136. package/dist/cli/commands/sub-agent-shared.d.ts +10 -0
  137. package/dist/cli/commands/sub-agent-shared.js +24 -1
  138. package/dist/cli/commands/swarm-commands.d.ts +13 -0
  139. package/dist/cli/commands/swarm-commands.js +77 -0
  140. package/dist/cli/commands/tech-commands.d.ts +64 -0
  141. package/dist/cli/commands/tech-commands.js +195 -0
  142. package/dist/cli/commands/understand-commands.js +1 -1
  143. package/dist/cli/commands/upgrade-commands.d.ts +2 -0
  144. package/dist/cli/commands/upgrade-commands.js +40 -5
  145. package/dist/cli/commands/user-touchpoint-commands.js +1 -1
  146. package/dist/cli/commands/verdict-aggregate-command.js +1 -1
  147. package/dist/cli/commands/vm-commands.d.ts +31 -0
  148. package/dist/cli/commands/vm-commands.js +274 -0
  149. package/dist/cli/commands/workflow-commands.js +24 -1
  150. package/dist/cli/commands/workflow-plan-commands.js +1 -1
  151. package/dist/cli/commands/workspace/init-command.js +1 -1
  152. package/dist/cli/commands/workspace/migrate-command.js +1 -1
  153. package/dist/cli/commands/workspace/reconcile-command.js +1 -1
  154. package/dist/cli/commands/worktree-auth-commands.d.ts +29 -0
  155. package/dist/cli/commands/worktree-auth-commands.js +652 -0
  156. package/dist/cli/index.js +58 -13
  157. package/dist/cli/program.d.ts +2 -2
  158. package/dist/cli/program.js +86 -281
  159. package/dist/services/24h-mode/decider.d.ts +103 -0
  160. package/dist/services/24h-mode/decider.js +144 -0
  161. package/dist/services/24h-mode/index.d.ts +12 -0
  162. package/dist/services/24h-mode/index.js +12 -0
  163. package/dist/services/24h-mode/state.d.ts +48 -0
  164. package/dist/services/24h-mode/state.js +51 -0
  165. package/dist/services/24h-mode/store.d.ts +27 -0
  166. package/dist/services/24h-mode/store.js +119 -0
  167. package/dist/services/artifacts/artifact-prerequisites.js +1 -1
  168. package/dist/services/artifacts/request-artifact-service.js +1 -1
  169. package/dist/services/artifacts/workspace-service.js +1 -1
  170. package/dist/services/audit/enforcers/lint-bee-runtime-contract.d.ts +25 -0
  171. package/dist/services/audit/enforcers/lint-bee-runtime-contract.js +91 -0
  172. package/dist/services/audit/enforcers/lint-peaks-code-runtime.d.ts +16 -0
  173. package/dist/services/audit/enforcers/lint-peaks-code-runtime.js +31 -0
  174. package/dist/services/audit/enforcers/lint-peaks-skill-runtime.d.ts +23 -0
  175. package/dist/services/audit/enforcers/lint-peaks-skill-runtime.js +59 -0
  176. package/dist/services/audit/enforcers/lint-peaks-ui-sc-txt-runtime.d.ts +28 -0
  177. package/dist/services/audit/enforcers/lint-peaks-ui-sc-txt-runtime.js +86 -0
  178. package/dist/services/audit/enforcers/lint-prd-artifact-handoff.d.ts +16 -0
  179. package/dist/services/audit/enforcers/lint-prd-artifact-handoff.js +41 -0
  180. package/dist/services/audit/enforcers/lint-prd-source-snapshot.d.ts +27 -0
  181. package/dist/services/audit/enforcers/lint-prd-source-snapshot.js +47 -0
  182. package/dist/services/audit/enforcers/lint-qa-gateguard-and-runtime.d.ts +19 -0
  183. package/dist/services/audit/enforcers/lint-qa-gateguard-and-runtime.js +47 -0
  184. package/dist/services/audit/enforcers/lint-rd-handoff-coverage.d.ts +18 -0
  185. package/dist/services/audit/enforcers/lint-rd-handoff-coverage.js +70 -0
  186. package/dist/services/audit/enforcers/lint-skill-presence-mandatory.d.ts +25 -0
  187. package/dist/services/audit/enforcers/lint-skill-presence-mandatory.js +53 -0
  188. package/dist/services/audit/red-line-catalog-p2-a.d.ts +0 -6
  189. package/dist/services/audit/red-line-catalog-p2-a.js +230 -1
  190. package/dist/services/audit/static-service.d.ts +32 -25
  191. package/dist/services/audit/static-service.js +30 -109
  192. package/dist/services/audit-independent/index.d.ts +2 -0
  193. package/dist/services/audit-independent/index.js +2 -0
  194. package/dist/services/autonomous-swarm/autonomous-swarm-service.d.ts +127 -0
  195. package/dist/services/autonomous-swarm/autonomous-swarm-service.js +446 -0
  196. package/dist/services/changeset/changeset-check-service.d.ts +22 -0
  197. package/dist/services/changeset/changeset-check-service.js +47 -0
  198. package/dist/services/code/auto-compact-modes.d.ts +30 -0
  199. package/dist/services/code/auto-compact-modes.js +38 -0
  200. package/dist/services/code/auto-compact-orchestrator.d.ts +43 -5
  201. package/dist/services/code/auto-compact-orchestrator.js +101 -21
  202. package/dist/services/code/dag-orchestrator.d.ts +30 -1
  203. package/dist/services/code/dag-orchestrator.js +106 -1
  204. package/dist/services/code/status-line-renderer.d.ts +2 -0
  205. package/dist/services/code/status-line-renderer.js +21 -3
  206. package/dist/services/code-review/ocr-service.d.ts +1 -1
  207. package/dist/services/code-review/ocr-service.js +6 -3
  208. package/dist/services/compact-history/compact-history-service.d.ts +41 -0
  209. package/dist/services/compact-history/compact-history-service.js +62 -0
  210. package/dist/services/compact-statusline/compact-statusline-service.d.ts +16 -0
  211. package/dist/services/compact-statusline/compact-statusline-service.js +83 -0
  212. package/dist/services/config/config-service.d.ts +1 -12
  213. package/dist/services/config/config-service.js +3 -72
  214. package/dist/services/config/config-types.d.ts +2 -4
  215. package/dist/services/config/config-types.js +1 -1
  216. package/dist/services/container/container-lease.d.ts +67 -0
  217. package/dist/services/container/container-lease.js +135 -0
  218. package/dist/services/context/auto-compact-dispatcher.d.ts +40 -5
  219. package/dist/services/context/auto-compact-dispatcher.js +32 -102
  220. package/dist/services/context/auto-compact-reader.js +1 -1
  221. package/dist/services/context/auto-compact-types.d.ts +27 -2
  222. package/dist/services/context/auto-compact-types.js +8 -1
  223. package/dist/services/context/build-dispatch-system-prompt.d.ts +75 -0
  224. package/dist/services/context/build-dispatch-system-prompt.js +117 -0
  225. package/dist/services/context/collector.d.ts +2 -2
  226. package/dist/services/context/context-builder.d.ts +4 -4
  227. package/dist/services/context/context-schema.d.ts +48 -48
  228. package/dist/services/context/ide-detect.d.ts +4 -0
  229. package/dist/services/context/ide-detect.js +24 -0
  230. package/dist/services/context/main-session-monitor.d.ts +1 -4
  231. package/dist/services/context/main-session-monitor.js +1 -24
  232. package/dist/services/context/memory-index-reader.d.ts +8 -0
  233. package/dist/services/context/memory-index-reader.js +57 -0
  234. package/dist/services/context/memory-lru-cache.d.ts +12 -0
  235. package/dist/services/context/memory-lru-cache.js +60 -0
  236. package/dist/services/context/memory-preflight-config.d.ts +19 -0
  237. package/dist/services/context/memory-preflight-config.js +25 -0
  238. package/dist/services/context/memory-preflight-service.d.ts +19 -0
  239. package/dist/services/context/memory-preflight-service.js +120 -0
  240. package/dist/services/context/spillover-store.d.ts +23 -0
  241. package/dist/services/context/spillover-store.js +155 -0
  242. package/dist/services/context/spillover-types.d.ts +18 -0
  243. package/dist/services/context/spillover-types.js +1 -0
  244. package/dist/services/crystallization/crystallization-service.d.ts +22 -5
  245. package/dist/services/crystallization/crystallization-service.js +8 -14
  246. package/dist/services/crystallization/crystallization-types.d.ts +6 -6
  247. package/dist/services/crystallization/evidence-brief-builder.d.ts +1 -1
  248. package/dist/services/crystallization/index.d.ts +13 -0
  249. package/dist/services/crystallization/index.js +13 -0
  250. package/dist/services/dashboard/project-dashboard-service.js +2 -2
  251. package/dist/services/dispatch/await-batch.d.ts +70 -0
  252. package/dist/services/dispatch/await-batch.js +272 -0
  253. package/dist/services/dispatch/batch-counter.js +1 -1
  254. package/dist/services/dispatch/dispatch-record-writer.d.ts +126 -4
  255. package/dist/services/dispatch/dispatch-record-writer.js +239 -9
  256. package/dist/services/dispatch/slice-dag.d.ts +46 -0
  257. package/dist/services/dispatch/slice-dag.js +6 -0
  258. package/dist/services/dispatch/stage-enum.d.ts +27 -0
  259. package/dist/services/dispatch/stage-enum.js +48 -0
  260. package/dist/services/dispatch/startup-timeout.d.ts +86 -0
  261. package/dist/services/dispatch/startup-timeout.js +97 -0
  262. package/dist/services/dispatch/sub-agent-dispatcher.js +40 -89
  263. package/dist/services/dispatch/test-tool-detection.d.ts +25 -1
  264. package/dist/services/dispatch/test-tool-detection.js +80 -0
  265. package/dist/services/doctor/doctor-service/checks/check-id-schema.d.ts +18 -0
  266. package/dist/services/doctor/doctor-service/checks/check-id-schema.js +64 -0
  267. package/dist/services/doctor/doctor-service/checks/codegraph-capability.d.ts +14 -0
  268. package/dist/services/doctor/doctor-service/checks/codegraph-capability.js +69 -0
  269. package/dist/services/doctor/doctor-service/checks/dist-source-version.d.ts +32 -0
  270. package/dist/services/doctor/doctor-service/checks/dist-source-version.js +110 -0
  271. package/dist/services/doctor/doctor-service/checks/gateguard-conflict.d.ts +24 -0
  272. package/dist/services/doctor/doctor-service/checks/gateguard-conflict.js +164 -0
  273. package/dist/services/doctor/doctor-service/checks/l3-memory-health.d.ts +16 -0
  274. package/dist/services/doctor/doctor-service/checks/l3-memory-health.js +57 -0
  275. package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.d.ts +19 -0
  276. package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.js +66 -0
  277. package/dist/services/doctor/doctor-service/checks/schema-validity.d.ts +10 -0
  278. package/dist/services/doctor/doctor-service/checks/schema-validity.js +33 -0
  279. package/dist/services/doctor/doctor-service/checks/skill-apply-note.d.ts +20 -0
  280. package/dist/services/doctor/doctor-service/checks/skill-apply-note.js +85 -0
  281. package/dist/services/doctor/doctor-service/checks/skill-existence.d.ts +13 -0
  282. package/dist/services/doctor/doctor-service/checks/skill-existence.js +30 -0
  283. package/dist/services/doctor/doctor-service/checks/skill-name-match.d.ts +10 -0
  284. package/dist/services/doctor/doctor-service/checks/skill-name-match.js +25 -0
  285. package/dist/services/doctor/doctor-service/checks/skill-parse.d.ts +10 -0
  286. package/dist/services/doctor/doctor-service/checks/skill-parse.js +19 -0
  287. package/dist/services/doctor/doctor-service/checks/skill-presence.d.ts +21 -0
  288. package/dist/services/doctor/doctor-service/checks/skill-presence.js +75 -0
  289. package/dist/services/doctor/doctor-service/checks/skill-runbook.d.ts +14 -0
  290. package/dist/services/doctor/doctor-service/checks/skill-runbook.js +47 -0
  291. package/dist/services/doctor/doctor-service/checks/statusline-install.d.ts +14 -0
  292. package/dist/services/doctor/doctor-service/checks/statusline-install.js +32 -0
  293. package/dist/services/doctor/doctor-service/checks/statusline-runtime.d.ts +13 -0
  294. package/dist/services/doctor/doctor-service/checks/statusline-runtime.js +30 -0
  295. package/dist/services/doctor/doctor-service/checks/user-config.d.ts +11 -0
  296. package/dist/services/doctor/doctor-service/checks/user-config.js +27 -0
  297. package/dist/services/doctor/doctor-service/checks/workspace-init.d.ts +16 -0
  298. package/dist/services/doctor/doctor-service/checks/workspace-init.js +34 -0
  299. package/dist/services/doctor/doctor-service/checks/workspace-layout.d.ts +33 -0
  300. package/dist/services/doctor/doctor-service/checks/workspace-layout.js +180 -0
  301. package/dist/services/doctor/doctor-service/index.d.ts +48 -0
  302. package/dist/services/doctor/doctor-service/index.js +254 -0
  303. package/dist/services/doctor/doctor-service/plugin-registry.d.ts +41 -0
  304. package/dist/services/doctor/doctor-service/plugin-registry.js +77 -0
  305. package/dist/services/doctor/doctor-service/report/final-summary.d.ts +20 -0
  306. package/dist/services/doctor/doctor-service/report/final-summary.js +29 -0
  307. package/dist/services/doctor/doctor-service/types.d.ts +245 -0
  308. package/dist/services/doctor/doctor-service/types.js +15 -0
  309. package/dist/services/doctor/doctor-service.d.ts +15 -146
  310. package/dist/services/doctor/doctor-service.js +22 -926
  311. package/dist/services/doctor/index.d.ts +22 -0
  312. package/dist/services/doctor/index.js +22 -0
  313. package/dist/services/env/shell-probe.d.ts +71 -0
  314. package/dist/services/env/shell-probe.js +161 -0
  315. package/dist/services/evolution/evolution-types.d.ts +39 -39
  316. package/dist/services/final-review/final-review-service.d.ts +11 -1
  317. package/dist/services/final-review/index.d.ts +2 -0
  318. package/dist/services/final-review/index.js +1 -0
  319. package/dist/services/hooks/auto-compact-hook-install.d.ts +4 -5
  320. package/dist/services/hooks/auto-compact-hook-install.js +4 -5
  321. package/dist/services/hooks/worktree-authorization-gate.d.ts +205 -0
  322. package/dist/services/hooks/worktree-authorization-gate.js +492 -0
  323. package/dist/services/ide/adapters/claude-code-adapter.js +2 -2
  324. package/dist/services/ide/adapters/qoder-adapter.d.ts +25 -0
  325. package/dist/services/ide/adapters/qoder-adapter.js +57 -0
  326. package/dist/services/ide/adapters/tongyi-lingma-adapter.d.ts +16 -0
  327. package/dist/services/ide/adapters/tongyi-lingma-adapter.js +45 -0
  328. package/dist/services/ide/ide-registry.js +6 -0
  329. package/dist/services/ide/ide-types.d.ts +1 -1
  330. package/dist/services/job/job-types.d.ts +56 -56
  331. package/dist/services/job-snapshot/index.d.ts +8 -0
  332. package/dist/services/job-snapshot/index.js +7 -0
  333. package/dist/services/{job/job-resource-snapshot.d.ts → job-snapshot/snapshot.d.ts} +1 -1
  334. package/dist/services/job-snapshot/types.d.ts +7 -0
  335. package/dist/services/job-snapshot/types.js +1 -0
  336. package/dist/services/karpathy-cost/karpathy-cost-check-service.d.ts +67 -0
  337. package/dist/services/karpathy-cost/karpathy-cost-check-service.js +108 -0
  338. package/dist/services/log/retention.d.ts +16 -0
  339. package/dist/services/log/retention.js +17 -0
  340. package/dist/services/loop/loop-bee-relation-types.d.ts +6 -6
  341. package/dist/services/loop/loop-release-types.d.ts +24 -24
  342. package/dist/services/loop/monotonic-runner.d.ts +17 -11
  343. package/dist/services/loop/monotonic-runner.js +118 -79
  344. package/dist/services/memory/project-memory-service/index/kind-dispatch.d.ts +8 -0
  345. package/dist/services/memory/project-memory-service/index/kind-dispatch.js +253 -0
  346. package/dist/services/memory/project-memory-service/index/ranking.d.ts +6 -0
  347. package/dist/services/memory/project-memory-service/index/ranking.js +171 -0
  348. package/dist/services/memory/project-memory-service/index/search.d.ts +34 -0
  349. package/dist/services/memory/project-memory-service/index/search.js +194 -0
  350. package/dist/services/memory/project-memory-service/index.d.ts +9 -0
  351. package/dist/services/memory/project-memory-service/index.js +24 -0
  352. package/dist/services/memory/project-memory-service/parsers/frontmatter.d.ts +9 -0
  353. package/dist/services/memory/project-memory-service/parsers/frontmatter.js +106 -0
  354. package/dist/services/memory/project-memory-service/parsers/markdown-pure.d.ts +7 -0
  355. package/dist/services/memory/project-memory-service/parsers/markdown-pure.js +96 -0
  356. package/dist/services/memory/project-memory-service/store/atomic-write.d.ts +5 -0
  357. package/dist/services/memory/project-memory-service/store/atomic-write.js +56 -0
  358. package/dist/services/memory/project-memory-service/store/paths.d.ts +8 -0
  359. package/dist/services/memory/project-memory-service/store/paths.js +116 -0
  360. package/dist/services/memory/project-memory-service/types.d.ts +128 -0
  361. package/dist/services/memory/project-memory-service/types.js +9 -0
  362. package/dist/services/memory/project-memory-service.d.ts +1 -167
  363. package/dist/services/memory/project-memory-service.js +19 -816
  364. package/dist/services/migrate-skill-name/schema.d.ts +2 -2
  365. package/dist/services/observability/aggregation.d.ts +27 -0
  366. package/dist/services/observability/aggregation.js +72 -0
  367. package/dist/services/observability/observability-service.d.ts +73 -7
  368. package/dist/services/observability/observability-service.js +87 -1
  369. package/dist/services/openspec/artifact-boundary.d.ts +138 -0
  370. package/dist/services/openspec/artifact-boundary.js +150 -0
  371. package/dist/services/openspec/coverage-evidence-reader.d.ts +191 -0
  372. package/dist/services/openspec/coverage-evidence-reader.js +386 -0
  373. package/dist/services/openspec/openspec-archive-service.d.ts +70 -0
  374. package/dist/services/openspec/openspec-archive-service.js +320 -8
  375. package/dist/services/openspec/openspec-bridge-service.js +1 -1
  376. package/dist/services/openspec/openspec-init-service.js +1 -1
  377. package/dist/services/openspec/openspec-propose-from-doctor-service.js +1 -1
  378. package/dist/services/openspec/openspec-render-service.js +7 -4
  379. package/dist/services/openspec/openspec-scan-service.js +1 -1
  380. package/dist/services/openspec/openspec-validate-service.js +5 -4
  381. package/dist/services/preferences/preferences-service.js +10 -0
  382. package/dist/services/preferences/preferences-types.d.ts +13 -0
  383. package/dist/services/preferences/preferences-types.js +11 -0
  384. package/dist/services/qa/screenshot-archive-service.d.ts +51 -0
  385. package/dist/services/qa/screenshot-archive-service.js +134 -0
  386. package/dist/services/rd/rd-service.js +10 -11
  387. package/dist/services/rd/types.d.ts +32 -32
  388. package/dist/services/rd-swarm/rd-swarm-service.d.ts +60 -0
  389. package/dist/services/rd-swarm/rd-swarm-service.js +93 -0
  390. package/dist/services/recommendations/capability-seed-items.js +0 -1
  391. package/dist/services/recommendations/capability-seed-mappings.js +0 -1
  392. package/dist/services/recommendations/capability-seed-sources.js +0 -1
  393. package/dist/services/release/version-precheck-service.d.ts +51 -0
  394. package/dist/services/release/version-precheck-service.js +257 -0
  395. package/dist/services/scan/acceptance-coverage-service.js +1 -1
  396. package/dist/services/scan/archetype-service.js +1 -1
  397. package/dist/services/scan/existing-system-service.js +1 -1
  398. package/dist/services/scan/libraries-service.js +1 -1
  399. package/dist/services/sediment/json-schema.d.ts +40 -40
  400. package/dist/services/share/bundle-types.d.ts +12 -12
  401. package/dist/services/share/run-state-contract.d.ts +2 -2
  402. package/dist/services/skill/skill-search-service.d.ts +12 -7
  403. package/dist/services/skill/skill-search-service.js +8 -4
  404. package/dist/services/skillhub/migrations/001-initial.sql +71 -0
  405. package/dist/services/skillhub/migrations/002-loop-release.sql +32 -0
  406. package/dist/services/skillhub/migrations/003-loop-bee-relation.sql +35 -0
  407. package/dist/services/skillhub/migrations/004-loop-bee-extension.sql +65 -0
  408. package/dist/services/skillhub/migrations/005-evolution-evaluation.sql +81 -0
  409. package/dist/services/skillhub/migrations/006-crystallization-event.sql +92 -0
  410. package/dist/services/skills/hooks-settings-service.d.ts +75 -0
  411. package/dist/services/skills/hooks-settings-service.js +230 -2
  412. package/dist/services/skills/skill-registry.d.ts +1 -0
  413. package/dist/services/skills/skill-registry.js +6 -4
  414. package/dist/services/skills/skill-runbook-service.js +1 -1
  415. package/dist/services/slice/slice-check-service.js +1 -1
  416. package/dist/services/standards/main-session-monitor-ban-hook.d.ts +14 -0
  417. package/dist/services/standards/main-session-monitor-ban-hook.js +19 -0
  418. package/dist/services/standards/missing-standards-detector.d.ts +25 -0
  419. package/dist/services/standards/missing-standards-detector.js +43 -12
  420. package/dist/services/tech/tech-change-id-service.d.ts +82 -0
  421. package/dist/services/tech/tech-change-id-service.js +117 -0
  422. package/dist/services/understand/understand-hybrid-service.js +1 -1
  423. package/dist/services/understand/understand-scan-service.js +2 -2
  424. package/dist/services/upgrade/upgrade-service.js +4 -3
  425. package/dist/services/verdict/envelopes.d.ts +2 -2
  426. package/dist/services/verdict/envelopes.js +2 -2
  427. package/dist/services/verdict/verdict-aggregator.d.ts +3 -3
  428. package/dist/services/vm/vm-lease.d.ts +40 -0
  429. package/dist/services/vm/vm-lease.js +137 -0
  430. package/dist/services/workflow/autonomous-resume-writer.js +1 -1
  431. package/dist/services/workflow/pipeline-verify-gate-support.d.ts +47 -0
  432. package/dist/services/workflow/pipeline-verify-gate-support.js +194 -0
  433. package/dist/services/workflow/pipeline-verify-service.d.ts +17 -81
  434. package/dist/services/workflow/pipeline-verify-service.js +42 -218
  435. package/dist/services/workflow/pipeline-verify-types.d.ts +90 -0
  436. package/dist/services/workflow/pipeline-verify-types.js +10 -0
  437. package/dist/services/workflow/plan-reader.d.ts +1 -1
  438. package/dist/services/workflow/plan-reader.js +1 -1
  439. package/dist/services/workflow/plan-refresher.d.ts +1 -1
  440. package/dist/services/workflow/plan-refresher.js +1 -1
  441. package/dist/services/workflow/plan-trigger-detector.d.ts +1 -1
  442. package/dist/services/workflow/plan-trigger-detector.js +1 -1
  443. package/dist/services/workflow/workflow-autonomous-resume-helpers.d.ts +1 -1
  444. package/dist/services/workflow/workflow-autonomous-service.d.ts +2 -98
  445. package/dist/services/workflow/workflow-autonomous-types.d.ts +114 -0
  446. package/dist/services/workflow/workflow-autonomous-types.js +21 -0
  447. package/dist/services/workflow/workflow-router-service.js +18 -16
  448. package/dist/services/workflow/workflow-spec-lint.d.ts +13 -0
  449. package/dist/services/workflow/workflow-spec-lint.js +75 -0
  450. package/dist/services/workflow/workflow-spec-types.d.ts +100 -0
  451. package/dist/services/workflow/workflow-spec-types.js +13 -0
  452. package/dist/services/workflow/workflow-spec-yaml.d.ts +17 -0
  453. package/dist/services/workflow/workflow-spec-yaml.js +88 -0
  454. package/dist/services/workflow/workflow-spec.d.ts +11 -91
  455. package/dist/services/workflow/workflow-spec.js +16 -145
  456. package/dist/services/workspace/migrate-service.js +1 -1
  457. package/dist/services/workspace/workspace-service.js +1 -1
  458. package/dist/services/worktree/worktree-lease.d.ts +170 -0
  459. package/dist/services/worktree/worktree-lease.js +242 -0
  460. package/package.json +47 -51
  461. package/scripts/clean-dist.mjs +31 -1
  462. package/scripts/copy-templates.mjs +16 -0
  463. package/scripts/sync-version.mjs +53 -2
  464. package/skills/bee/peaks-perf-audit/SKILL.md +17 -0
  465. package/skills/bee/peaks-prd/SKILL.md +16 -0
  466. package/skills/bee/peaks-prd/test-prompts.json +12 -0
  467. package/skills/bee/peaks-qa/SKILL.md +16 -1
  468. package/skills/bee/peaks-qa/references/qa-sub-agent-dispatch.md +22 -0
  469. package/skills/bee/peaks-qa/test-prompts.json +12 -0
  470. package/skills/bee/peaks-rd/SKILL.md +29 -20
  471. package/skills/bee/peaks-rd/references/rd-sub-agent-dispatch.md +39 -0
  472. package/skills/bee/peaks-rd/test-prompts.json +12 -0
  473. package/skills/bee/peaks-reviewer/SKILL.md +17 -0
  474. package/skills/bee/peaks-sc/SKILL.md +16 -0
  475. package/skills/bee/peaks-security-audit/SKILL.md +17 -0
  476. package/skills/bee/peaks-txt/SKILL.md +16 -0
  477. package/skills/bee/peaks-txt/test-prompts.json +12 -0
  478. package/skills/bee/peaks-ui/SKILL.md +49 -43
  479. package/skills/bee/peaks-ui/test-prompts.json +12 -0
  480. package/skills/peaks-code/SKILL.md +54 -109
  481. package/skills/peaks-code/references/boundaries.md +15 -1
  482. package/skills/peaks-code/references/cron-scheduler-deployment.md +313 -0
  483. package/skills/peaks-code/references/external-skill-invocation.md +27 -0
  484. package/skills/peaks-code/references/lease-dashboard.html +224 -0
  485. package/skills/peaks-code/references/lease-stats.sample.json +26 -0
  486. package/skills/peaks-code/references/peaks-worktree-l2-enforcers.md +208 -0
  487. package/skills/peaks-code/references/periodic-checkpoint.md +4 -4
  488. package/skills/peaks-code/references/runbook.md +63 -1
  489. package/skills/peaks-code/references/startup-sequence.md +110 -0
  490. package/skills/peaks-code/references/step-0-8-gate.md +1 -1
  491. package/skills/peaks-code/references/sub-agent-dispatch.md +92 -1
  492. package/skills/peaks-code/references/worktree-governance.md +123 -0
  493. package/skills/peaks-code/test-prompts.json +12 -0
  494. package/skills/peaks-doctor/SKILL.md +1 -1
  495. package/skills/peaks-ide/SKILL.md +1 -1
  496. package/skills/peaks-solo/SKILL.md +21 -0
  497. package/skills/peaks-solo/references/triage-decision-table.md +6 -0
  498. package/skills/peaks-sop/test-prompts.json +17 -0
  499. package/dist/cli/commands/agent-commands.d.ts +0 -20
  500. package/dist/cli/commands/agent-commands.js +0 -48
  501. package/dist/cli/commands/classify-classify-commands.d.ts +0 -19
  502. package/dist/cli/commands/classify-classify-commands.js +0 -151
  503. package/dist/cli/commands/contract-commands.d.ts +0 -26
  504. package/dist/cli/commands/contract-commands.js +0 -114
  505. package/dist/cli/commands/session-auto-compact-hook-command.d.ts +0 -37
  506. package/dist/cli/commands/session-auto-compact-hook-command.js +0 -127
  507. package/dist/cli/commands/worker-commands.d.ts +0 -3
  508. package/dist/cli/commands/worker-commands.js +0 -52
  509. package/dist/services/agent/ecc-agent-service.d.ts +0 -47
  510. package/dist/services/agent/ecc-agent-service.js +0 -143
  511. package/dist/services/config/provider-service.d.ts +0 -48
  512. package/dist/services/config/provider-service.js +0 -143
  513. package/dist/services/context/dispatch-context-guard.d.ts +0 -27
  514. package/dist/services/context/dispatch-context-guard.js +0 -192
  515. package/dist/services/context/shared-channel.d.ts +0 -93
  516. package/dist/services/context/shared-channel.js +0 -308
  517. package/dist/services/filesystem/file-lock.d.ts +0 -11
  518. package/dist/services/filesystem/file-lock.js +0 -152
  519. package/dist/services/mut/assert-scanner.d.ts +0 -6
  520. package/dist/services/mut/assert-scanner.js +0 -116
  521. package/dist/services/mut/index.d.ts +0 -8
  522. package/dist/services/mut/index.js +0 -7
  523. package/dist/services/mut/mut-runner.d.ts +0 -39
  524. package/dist/services/mut/mut-runner.js +0 -29
  525. package/dist/services/mut/production-stryker.d.ts +0 -2
  526. package/dist/services/mut/production-stryker.js +0 -75
  527. package/dist/services/mut/report-builder.d.ts +0 -11
  528. package/dist/services/mut/report-builder.js +0 -110
  529. package/dist/services/mut/report-loader.d.ts +0 -31
  530. package/dist/services/mut/report-loader.js +0 -78
  531. package/dist/services/mut/thresholds.d.ts +0 -21
  532. package/dist/services/mut/thresholds.js +0 -22
  533. package/dist/services/mut/types.d.ts +0 -336
  534. package/dist/services/mut/types.js +0 -59
  535. package/dist/services/providers/minimax-provider-service.d.ts +0 -24
  536. package/dist/services/providers/minimax-provider-service.js +0 -143
  537. package/dist/services/providers/minimax-worker-service.d.ts +0 -21
  538. package/dist/services/providers/minimax-worker-service.js +0 -83
  539. package/dist/shared/fs.d.ts +0 -4
  540. package/dist/shared/fs.js +0 -26
  541. package/dist/shared/paths.d.ts +0 -6
  542. package/dist/shared/paths.js +0 -50
  543. package/dist/shared/result.d.ts +0 -22
  544. package/dist/shared/result.js +0 -46
  545. package/dist/shared/version.d.ts +0 -1
  546. package/dist/shared/version.js +0 -1
  547. package/examples/video-demo/README.md +0 -142
  548. package/examples/video-demo/out/en-closing-960.png +0 -0
  549. package/examples/video-demo/out/zh-closing-960.png +0 -0
  550. package/examples/video-demo/preview/peaks-loop-demo-en.mp4 +0 -0
  551. package/examples/video-demo/preview/peaks-loop-demo.mp4 +0 -0
  552. /package/dist/services/{job/job-resource-snapshot.js → job-snapshot/snapshot.js} +0 -0
@@ -4,6 +4,8 @@ import { CURSOR_ADAPTER } from './adapters/cursor-adapter.js';
4
4
  import { CODEX_ADAPTER } from './adapters/codex-adapter.js';
5
5
  import { HERMES_ADAPTER } from './adapters/hermes-adapter.js';
6
6
  import { OPENCLAW_ADAPTER } from './adapters/openclaw-adapter.js';
7
+ import { QODER_ADAPTER } from './adapters/qoder-adapter.js';
8
+ import { TONGYI_LINGMA_ADAPTER } from './adapters/tongyi-lingma-adapter.js';
7
9
  import { ZCODE_ADAPTER } from './adapters/zcode-adapter.js';
8
10
  /**
9
11
  * Built-in IDE adapter registry。Map<IdeId, IdeAdapter> 是单一来源。
@@ -25,6 +27,8 @@ const ADAPTERS = new Map([
25
27
  ['codex', CODEX_ADAPTER],
26
28
  ['hermes', HERMES_ADAPTER],
27
29
  ['openclaw', OPENCLAW_ADAPTER],
30
+ ['qoder', QODER_ADAPTER],
31
+ ['tongyi-lingma', TONGYI_LINGMA_ADAPTER],
28
32
  ['zcode', ZCODE_ADAPTER],
29
33
  ]);
30
34
  /** Get the adapter for a given IDE id. Throws on unsupported IDE. */
@@ -59,5 +63,7 @@ export function _resetAdaptersForTesting() {
59
63
  ADAPTERS.set('codex', CODEX_ADAPTER);
60
64
  ADAPTERS.set('hermes', HERMES_ADAPTER);
61
65
  ADAPTERS.set('openclaw', OPENCLAW_ADAPTER);
66
+ ADAPTERS.set('qoder', QODER_ADAPTER);
67
+ ADAPTERS.set('tongyi-lingma', TONGYI_LINGMA_ADAPTER);
62
68
  ADAPTERS.set('zcode', ZCODE_ADAPTER);
63
69
  }
@@ -181,7 +181,7 @@ export interface IdeCompactProfile {
181
181
  readonly compactPathway: 'shell-exec' | 'ide-native' | 'llm-self-compress' | 'noop';
182
182
  /**
183
183
  * Optional command the runner invokes post-compact to confirm
184
- * ratio dropped (e.g. `peaks context now --json`). When omitted,
184
+ * ratio dropped (e.g. `peaks compact auto --json`). When omitted,
185
185
  * the orchestrator polls `envVarForContextPercent` directly.
186
186
  */
187
187
  readonly postCompactDetectCommand?: string;
@@ -9,7 +9,7 @@ export declare const SliceStateSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.
9
9
  repairCycles: z.ZodDefault<z.ZodNumber>;
10
10
  blockedReason: z.ZodOptional<z.ZodString>;
11
11
  }, "strip", z.ZodTypeAny, {
12
- status: "pending" | "skipped" | "done" | "failed" | "blocked" | "in-progress";
12
+ status: "pending" | "blocked" | "failed" | "done" | "skipped" | "in-progress";
13
13
  label: string;
14
14
  sliceId: string;
15
15
  repairCycles: number;
@@ -18,7 +18,7 @@ export declare const SliceStateSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.
18
18
  failureReason?: string | undefined;
19
19
  blockedReason?: string | undefined;
20
20
  }, {
21
- status: "pending" | "skipped" | "done" | "failed" | "blocked" | "in-progress";
21
+ status: "pending" | "blocked" | "failed" | "done" | "skipped" | "in-progress";
22
22
  label: string;
23
23
  sliceId: string;
24
24
  commitSha?: string | undefined;
@@ -27,7 +27,7 @@ export declare const SliceStateSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.
27
27
  repairCycles?: number | undefined;
28
28
  blockedReason?: string | undefined;
29
29
  }>, {
30
- status: "pending" | "skipped" | "done" | "failed" | "blocked" | "in-progress";
30
+ status: "pending" | "blocked" | "failed" | "done" | "skipped" | "in-progress";
31
31
  label: string;
32
32
  sliceId: string;
33
33
  repairCycles: number;
@@ -36,7 +36,7 @@ export declare const SliceStateSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.
36
36
  failureReason?: string | undefined;
37
37
  blockedReason?: string | undefined;
38
38
  }, {
39
- status: "pending" | "skipped" | "done" | "failed" | "blocked" | "in-progress";
39
+ status: "pending" | "blocked" | "failed" | "done" | "skipped" | "in-progress";
40
40
  label: string;
41
41
  sliceId: string;
42
42
  commitSha?: string | undefined;
@@ -45,7 +45,7 @@ export declare const SliceStateSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.
45
45
  repairCycles?: number | undefined;
46
46
  blockedReason?: string | undefined;
47
47
  }>, {
48
- status: "pending" | "skipped" | "done" | "failed" | "blocked" | "in-progress";
48
+ status: "pending" | "blocked" | "failed" | "done" | "skipped" | "in-progress";
49
49
  label: string;
50
50
  sliceId: string;
51
51
  repairCycles: number;
@@ -54,7 +54,7 @@ export declare const SliceStateSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.
54
54
  failureReason?: string | undefined;
55
55
  blockedReason?: string | undefined;
56
56
  }, {
57
- status: "pending" | "skipped" | "done" | "failed" | "blocked" | "in-progress";
57
+ status: "pending" | "blocked" | "failed" | "done" | "skipped" | "in-progress";
58
58
  label: string;
59
59
  sliceId: string;
60
60
  commitSha?: string | undefined;
@@ -63,7 +63,7 @@ export declare const SliceStateSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.
63
63
  repairCycles?: number | undefined;
64
64
  blockedReason?: string | undefined;
65
65
  }>, {
66
- status: "pending" | "skipped" | "done" | "failed" | "blocked" | "in-progress";
66
+ status: "pending" | "blocked" | "failed" | "done" | "skipped" | "in-progress";
67
67
  label: string;
68
68
  sliceId: string;
69
69
  repairCycles: number;
@@ -72,7 +72,7 @@ export declare const SliceStateSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.
72
72
  failureReason?: string | undefined;
73
73
  blockedReason?: string | undefined;
74
74
  }, {
75
- status: "pending" | "skipped" | "done" | "failed" | "blocked" | "in-progress";
75
+ status: "pending" | "blocked" | "failed" | "done" | "skipped" | "in-progress";
76
76
  label: string;
77
77
  sliceId: string;
78
78
  commitSha?: string | undefined;
@@ -99,13 +99,13 @@ export declare const JobStateSchema: z.ZodObject<{
99
99
  }, "strip", z.ZodTypeAny, {
100
100
  at: string;
101
101
  reason: string;
102
- from: "rotating";
103
102
  to: "single";
103
+ from: "rotating";
104
104
  }, {
105
105
  at: string;
106
106
  reason: string;
107
- from: "rotating";
108
107
  to: "single";
108
+ from: "rotating";
109
109
  }>>;
110
110
  slices: z.ZodArray<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodObject<{
111
111
  sliceId: z.ZodString;
@@ -117,7 +117,7 @@ export declare const JobStateSchema: z.ZodObject<{
117
117
  repairCycles: z.ZodDefault<z.ZodNumber>;
118
118
  blockedReason: z.ZodOptional<z.ZodString>;
119
119
  }, "strip", z.ZodTypeAny, {
120
- status: "pending" | "skipped" | "done" | "failed" | "blocked" | "in-progress";
120
+ status: "pending" | "blocked" | "failed" | "done" | "skipped" | "in-progress";
121
121
  label: string;
122
122
  sliceId: string;
123
123
  repairCycles: number;
@@ -126,7 +126,7 @@ export declare const JobStateSchema: z.ZodObject<{
126
126
  failureReason?: string | undefined;
127
127
  blockedReason?: string | undefined;
128
128
  }, {
129
- status: "pending" | "skipped" | "done" | "failed" | "blocked" | "in-progress";
129
+ status: "pending" | "blocked" | "failed" | "done" | "skipped" | "in-progress";
130
130
  label: string;
131
131
  sliceId: string;
132
132
  commitSha?: string | undefined;
@@ -135,7 +135,7 @@ export declare const JobStateSchema: z.ZodObject<{
135
135
  repairCycles?: number | undefined;
136
136
  blockedReason?: string | undefined;
137
137
  }>, {
138
- status: "pending" | "skipped" | "done" | "failed" | "blocked" | "in-progress";
138
+ status: "pending" | "blocked" | "failed" | "done" | "skipped" | "in-progress";
139
139
  label: string;
140
140
  sliceId: string;
141
141
  repairCycles: number;
@@ -144,7 +144,7 @@ export declare const JobStateSchema: z.ZodObject<{
144
144
  failureReason?: string | undefined;
145
145
  blockedReason?: string | undefined;
146
146
  }, {
147
- status: "pending" | "skipped" | "done" | "failed" | "blocked" | "in-progress";
147
+ status: "pending" | "blocked" | "failed" | "done" | "skipped" | "in-progress";
148
148
  label: string;
149
149
  sliceId: string;
150
150
  commitSha?: string | undefined;
@@ -153,7 +153,7 @@ export declare const JobStateSchema: z.ZodObject<{
153
153
  repairCycles?: number | undefined;
154
154
  blockedReason?: string | undefined;
155
155
  }>, {
156
- status: "pending" | "skipped" | "done" | "failed" | "blocked" | "in-progress";
156
+ status: "pending" | "blocked" | "failed" | "done" | "skipped" | "in-progress";
157
157
  label: string;
158
158
  sliceId: string;
159
159
  repairCycles: number;
@@ -162,7 +162,7 @@ export declare const JobStateSchema: z.ZodObject<{
162
162
  failureReason?: string | undefined;
163
163
  blockedReason?: string | undefined;
164
164
  }, {
165
- status: "pending" | "skipped" | "done" | "failed" | "blocked" | "in-progress";
165
+ status: "pending" | "blocked" | "failed" | "done" | "skipped" | "in-progress";
166
166
  label: string;
167
167
  sliceId: string;
168
168
  commitSha?: string | undefined;
@@ -171,7 +171,7 @@ export declare const JobStateSchema: z.ZodObject<{
171
171
  repairCycles?: number | undefined;
172
172
  blockedReason?: string | undefined;
173
173
  }>, {
174
- status: "pending" | "skipped" | "done" | "failed" | "blocked" | "in-progress";
174
+ status: "pending" | "blocked" | "failed" | "done" | "skipped" | "in-progress";
175
175
  label: string;
176
176
  sliceId: string;
177
177
  repairCycles: number;
@@ -180,7 +180,7 @@ export declare const JobStateSchema: z.ZodObject<{
180
180
  failureReason?: string | undefined;
181
181
  blockedReason?: string | undefined;
182
182
  }, {
183
- status: "pending" | "skipped" | "done" | "failed" | "blocked" | "in-progress";
183
+ status: "pending" | "blocked" | "failed" | "done" | "skipped" | "in-progress";
184
184
  label: string;
185
185
  sliceId: string;
186
186
  commitSha?: string | undefined;
@@ -191,10 +191,16 @@ export declare const JobStateSchema: z.ZodObject<{
191
191
  }>, "many">;
192
192
  }, "strip", z.ZodTypeAny, {
193
193
  sessionId: string;
194
- startedAt: string;
194
+ lastCheckpointAt: string;
195
195
  jobId: string;
196
+ startedAt: string;
197
+ parallelismHint: "serial" | "llm-decides";
198
+ exitPolicy: "strict" | "best-effort";
199
+ mainLoopStrategy: "single" | "rotating";
200
+ rotateEvery: number;
201
+ mainSessionCycle: number;
196
202
  slices: {
197
- status: "pending" | "skipped" | "done" | "failed" | "blocked" | "in-progress";
203
+ status: "pending" | "blocked" | "failed" | "done" | "skipped" | "in-progress";
198
204
  label: string;
199
205
  sliceId: string;
200
206
  repairCycles: number;
@@ -203,24 +209,19 @@ export declare const JobStateSchema: z.ZodObject<{
203
209
  failureReason?: string | undefined;
204
210
  blockedReason?: string | undefined;
205
211
  }[];
206
- lastCheckpointAt: string;
207
- parallelismHint: "serial" | "llm-decides";
208
- exitPolicy: "strict" | "best-effort";
209
- mainLoopStrategy: "single" | "rotating";
210
- rotateEvery: number;
211
- mainSessionCycle: number;
212
212
  mainLoopOverride?: {
213
213
  at: string;
214
214
  reason: string;
215
- from: "rotating";
216
215
  to: "single";
216
+ from: "rotating";
217
217
  } | undefined;
218
218
  }, {
219
219
  sessionId: string;
220
- startedAt: string;
220
+ lastCheckpointAt: string;
221
221
  jobId: string;
222
+ startedAt: string;
222
223
  slices: {
223
- status: "pending" | "skipped" | "done" | "failed" | "blocked" | "in-progress";
224
+ status: "pending" | "blocked" | "failed" | "done" | "skipped" | "in-progress";
224
225
  label: string;
225
226
  sliceId: string;
226
227
  commitSha?: string | undefined;
@@ -229,7 +230,6 @@ export declare const JobStateSchema: z.ZodObject<{
229
230
  repairCycles?: number | undefined;
230
231
  blockedReason?: string | undefined;
231
232
  }[];
232
- lastCheckpointAt: string;
233
233
  parallelismHint?: "serial" | "llm-decides" | undefined;
234
234
  exitPolicy?: "strict" | "best-effort" | undefined;
235
235
  mainLoopStrategy?: "single" | "rotating" | undefined;
@@ -238,8 +238,8 @@ export declare const JobStateSchema: z.ZodObject<{
238
238
  mainLoopOverride?: {
239
239
  at: string;
240
240
  reason: string;
241
- from: "rotating";
242
241
  to: "single";
242
+ from: "rotating";
243
243
  } | undefined;
244
244
  }>;
245
245
  export declare const ResourceSnapshotSchema: z.ZodObject<{
@@ -292,10 +292,10 @@ export declare const JobStatusSummarySchema: z.ZodObject<{
292
292
  contextRatio: number;
293
293
  }>>;
294
294
  }, "strip", z.ZodTypeAny, {
295
- skipped: number;
296
- done: number;
297
- failed: number;
298
295
  blocked: number;
296
+ failed: number;
297
+ done: number;
298
+ skipped: number;
299
299
  total: number;
300
300
  mainLoopStrategy: "single" | "rotating";
301
301
  mainSessionCycle: number;
@@ -310,10 +310,10 @@ export declare const JobStatusSummarySchema: z.ZodObject<{
310
310
  contextRatio: number;
311
311
  } | undefined;
312
312
  }, {
313
- skipped: number;
314
- done: number;
315
- failed: number;
316
313
  blocked: number;
314
+ failed: number;
315
+ done: number;
316
+ skipped: number;
317
317
  total: number;
318
318
  mainLoopStrategy: "single" | "rotating";
319
319
  mainSessionCycle: number;
@@ -330,7 +330,7 @@ export declare const JobStatusSummarySchema: z.ZodObject<{
330
330
  }>;
331
331
  export type SliceState = z.infer<typeof SliceStateSchema>;
332
332
  export type JobState = z.infer<typeof JobStateSchema>;
333
- export type ResourceSnapshot = z.infer<typeof ResourceSnapshotSchema>;
333
+ export type { ResourceSnapshot } from '../job-snapshot/types.js';
334
334
  export type JobStatusSummary = z.infer<typeof JobStatusSummarySchema>;
335
335
  export declare const JobInitInputSchema: z.ZodObject<{
336
336
  jobId: z.ZodString;
@@ -374,51 +374,51 @@ export declare const JobCheckpointInputSchema: z.ZodEffects<z.ZodEffects<z.ZodOb
374
374
  json: z.ZodDefault<z.ZodBoolean>;
375
375
  }, "strip", z.ZodTypeAny, {
376
376
  project: string;
377
+ state: "failed" | "done" | "skipped";
377
378
  json: boolean;
378
- state: "skipped" | "done" | "failed";
379
- sliceId: string;
380
379
  jobId: string;
380
+ sliceId: string;
381
381
  reason?: string | undefined;
382
382
  commitSha?: string | undefined;
383
383
  }, {
384
384
  project: string;
385
- state: "skipped" | "done" | "failed";
386
- sliceId: string;
385
+ state: "failed" | "done" | "skipped";
387
386
  jobId: string;
388
- json?: boolean | undefined;
387
+ sliceId: string;
389
388
  reason?: string | undefined;
389
+ json?: boolean | undefined;
390
390
  commitSha?: string | undefined;
391
391
  }>, {
392
392
  project: string;
393
+ state: "failed" | "done" | "skipped";
393
394
  json: boolean;
394
- state: "skipped" | "done" | "failed";
395
- sliceId: string;
396
395
  jobId: string;
396
+ sliceId: string;
397
397
  reason?: string | undefined;
398
398
  commitSha?: string | undefined;
399
399
  }, {
400
400
  project: string;
401
- state: "skipped" | "done" | "failed";
402
- sliceId: string;
401
+ state: "failed" | "done" | "skipped";
403
402
  jobId: string;
404
- json?: boolean | undefined;
403
+ sliceId: string;
405
404
  reason?: string | undefined;
405
+ json?: boolean | undefined;
406
406
  commitSha?: string | undefined;
407
407
  }>, {
408
408
  project: string;
409
+ state: "failed" | "done" | "skipped";
409
410
  json: boolean;
410
- state: "skipped" | "done" | "failed";
411
- sliceId: string;
412
411
  jobId: string;
412
+ sliceId: string;
413
413
  reason?: string | undefined;
414
414
  commitSha?: string | undefined;
415
415
  }, {
416
416
  project: string;
417
- state: "skipped" | "done" | "failed";
418
- sliceId: string;
417
+ state: "failed" | "done" | "skipped";
419
418
  jobId: string;
420
- json?: boolean | undefined;
419
+ sliceId: string;
421
420
  reason?: string | undefined;
421
+ json?: boolean | undefined;
422
422
  commitSha?: string | undefined;
423
423
  }>;
424
424
  export type JobCheckpointInput = z.infer<typeof JobCheckpointInputSchema>;
@@ -430,15 +430,15 @@ export declare const JobBlockInputSchema: z.ZodObject<{
430
430
  json: z.ZodDefault<z.ZodBoolean>;
431
431
  }, "strip", z.ZodTypeAny, {
432
432
  project: string;
433
- json: boolean;
434
433
  reason: string;
435
- sliceId: string;
434
+ json: boolean;
436
435
  jobId: string;
436
+ sliceId: string;
437
437
  }, {
438
438
  project: string;
439
439
  reason: string;
440
- sliceId: string;
441
440
  jobId: string;
441
+ sliceId: string;
442
442
  json?: boolean | undefined;
443
443
  }>;
444
444
  export type JobBlockInput = z.infer<typeof JobBlockInputSchema>;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * peaks-loop-job-snapshot area (consolidated into peaks-loop).
3
+ *
4
+ * Public surface: runSnapshot, captureResources, and the
5
+ * ResourceSnapshot type.
6
+ */
7
+ export { collectResourceSnapshot } from './snapshot.js';
8
+ export type { ResourceSnapshot } from './types.js';
@@ -0,0 +1,7 @@
1
+ /**
2
+ * peaks-loop-job-snapshot area (consolidated into peaks-loop).
3
+ *
4
+ * Public surface: runSnapshot, captureResources, and the
5
+ * ResourceSnapshot type.
6
+ */
7
+ export { collectResourceSnapshot } from './snapshot.js';
@@ -1,4 +1,4 @@
1
- import type { ResourceSnapshot } from './job-types.js';
1
+ import type { ResourceSnapshot } from './types.js';
2
2
  /**
3
3
  * Collects a coarse-grained snapshot of host + project resources.
4
4
  * Numeric ranges are clamped to zod's domain — out-of-range values are clamped, not thrown,
@@ -0,0 +1,7 @@
1
+ export interface ResourceSnapshot {
2
+ capturedAt: string;
3
+ cpuPercent: number;
4
+ memMb: number;
5
+ diskMb: number;
6
+ contextRatio: number;
7
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,67 @@
1
+ import { type ResultEnvelope } from 'peaks-loop-shared/result';
2
+ /** Threshold above which a `'block'` is downgraded to `'warn'`. */
3
+ export declare const KARPATHY_COST_DOWNGRADE_THRESHOLD = 10;
4
+ /** Threshold above which a sediment line is appended for human review. */
5
+ export declare const KARPATHY_COST_REPORT_THRESHOLD = 50;
6
+ export interface EvaluationCost {
7
+ readonly wallMs: number;
8
+ readonly subAgentsDispatched: number;
9
+ readonly tokensEstimated: number;
10
+ readonly sliceCodeSize: number;
11
+ }
12
+ export type GateAction = 'pass' | 'warn' | 'block';
13
+ export interface KarpathyReviewEnvelope {
14
+ readonly passed?: boolean;
15
+ readonly violations?: ReadonlyArray<unknown>;
16
+ readonly gateAction?: GateAction;
17
+ readonly evaluationCost?: EvaluationCost;
18
+ readonly costRatio?: number;
19
+ }
20
+ export type KarpathyCostCheckDecision = {
21
+ readonly kind: 'no-cost-data';
22
+ readonly gateAction: GateAction | null;
23
+ readonly reason: 'envelope-missing-evaluationCost' | 'file-missing' | 'file-unreadable' | 'envelope-not-json';
24
+ } | {
25
+ readonly kind: '24h-mode-active';
26
+ readonly gateAction: GateAction | null;
27
+ readonly reason: 'peaks session 24h-mode state = 24H_ACTIVE; cost-check is the OVERRIDE, not the constrained side';
28
+ } | {
29
+ readonly kind: 'downgraded';
30
+ readonly originalGateAction: 'block';
31
+ readonly newGateAction: 'warn';
32
+ readonly costRatio: number;
33
+ readonly evaluationCost: EvaluationCost;
34
+ } | {
35
+ readonly kind: 'reported';
36
+ readonly gateAction: GateAction;
37
+ readonly costRatio: number;
38
+ readonly evaluationCost: EvaluationCost;
39
+ } | {
40
+ readonly kind: 'unchanged';
41
+ readonly gateAction: GateAction;
42
+ readonly costRatio: number;
43
+ readonly evaluationCost: EvaluationCost;
44
+ };
45
+ export interface KarpathyCostCheckInput {
46
+ /** The karpathy-review.md file content (verbatim). */
47
+ readonly reviewFileContent: string;
48
+ /** Callable that returns true if 24h-mode is active. */
49
+ readonly is24hModeActive: () => boolean;
50
+ }
51
+ export interface KarpathyCostCheckOutput {
52
+ readonly decision: KarpathyCostCheckDecision;
53
+ /** Plain-text reason line for the CLI to print under the envelope. */
54
+ readonly reasonLine: string;
55
+ }
56
+ /**
57
+ * Pure: decide whether to downgrade a karpathy-reviewer gateAction.
58
+ * No fs / no env reads — the input is pre-loaded by the CLI.
59
+ */
60
+ export declare function decideKarpathyCostCheck(input: KarpathyCostCheckInput): KarpathyCostCheckOutput;
61
+ /** Convenience: load the review file from disk and run the decision. */
62
+ export declare function runKarpathyCostCheck(opts: {
63
+ readonly reviewFilePath: string;
64
+ readonly is24hModeActive: () => boolean;
65
+ }): KarpathyCostCheckOutput;
66
+ /** Envelope-shape return for the CLI. */
67
+ export declare function buildCostCheckEnvelope(out: KarpathyCostCheckOutput): ResultEnvelope<KarpathyCostCheckDecision>;
@@ -0,0 +1,108 @@
1
+ // src/services/karpathy-cost/karpathy-cost-check-service.ts
2
+ //
3
+ // Slice 2026-07-30-karpathy-cost-self-review (slice 2/4). The
4
+ // karpathy-reviewer's JSON envelope is extended with `evaluationCost`
5
+ // + `costRatio` (see agents/karpathy-reviewer.md §4). This service
6
+ // is the orchestrator-side consumer of those fields.
7
+ //
8
+ // The check is intentionally small and pure-with-respect-to-its-inputs:
9
+ // - It reads the slice's `rd/karpathy-review.md` (a JSON envelope
10
+ // written by karpathy-reviewer sub-agent)
11
+ // - It reads the 24h-mode state via a passed-in callable (NOT
12
+ // a direct fs read, to keep this unit-testable in isolation)
13
+ // - It decides whether to auto-downgrade a `'block'` gateAction
14
+ // to `'warn'` based on costRatio
15
+ // - It returns a structured result the CLI can render with
16
+ // printResult()
17
+ //
18
+ // Backward compatibility: when evaluationCost is absent the check
19
+ // returns `'skipped-no-cost-data'` and gateAction is left untouched
20
+ // (the existing hard gate stays in effect — missing cost data must
21
+ // not silently downgrade a 'block').
22
+ import { readFileSync } from 'node:fs';
23
+ import { ok } from 'peaks-loop-shared/result';
24
+ /** Threshold above which a `'block'` is downgraded to `'warn'`. */
25
+ export const KARPATHY_COST_DOWNGRADE_THRESHOLD = 10;
26
+ /** Threshold above which a sediment line is appended for human review. */
27
+ export const KARPATHY_COST_REPORT_THRESHOLD = 50;
28
+ /**
29
+ * Pure: decide whether to downgrade a karpathy-reviewer gateAction.
30
+ * No fs / no env reads — the input is pre-loaded by the CLI.
31
+ */
32
+ export function decideKarpathyCostCheck(input) {
33
+ if (input.is24hModeActive()) {
34
+ return {
35
+ decision: {
36
+ kind: '24h-mode-active',
37
+ gateAction: null,
38
+ reason: 'peaks session 24h-mode state = 24H_ACTIVE; cost-check is the OVERRIDE, not the constrained side',
39
+ },
40
+ reasonLine: 'karpathy-cost-check: skipped (24h-mode active)',
41
+ };
42
+ }
43
+ let envelope;
44
+ try {
45
+ envelope = JSON.parse(input.reviewFileContent);
46
+ }
47
+ catch {
48
+ return {
49
+ decision: { kind: 'no-cost-data', gateAction: null, reason: 'envelope-not-json' },
50
+ reasonLine: 'karpathy-cost-check: skipped (envelope not JSON)',
51
+ };
52
+ }
53
+ if (!envelope.evaluationCost || typeof envelope.costRatio !== 'number') {
54
+ return {
55
+ decision: {
56
+ kind: 'no-cost-data',
57
+ gateAction: envelope.gateAction ?? null,
58
+ reason: 'envelope-missing-evaluationCost',
59
+ },
60
+ reasonLine: 'karpathy-cost-check: skipped (envelope missing evaluationCost/costRatio)',
61
+ };
62
+ }
63
+ const costRatio = envelope.costRatio;
64
+ const evaluationCost = envelope.evaluationCost;
65
+ if (envelope.gateAction === 'block' && costRatio > KARPATHY_COST_DOWNGRADE_THRESHOLD) {
66
+ return {
67
+ decision: {
68
+ kind: 'downgraded',
69
+ originalGateAction: 'block',
70
+ newGateAction: 'warn',
71
+ costRatio,
72
+ evaluationCost,
73
+ },
74
+ reasonLine: `karpathy-cost-check: downgraded block → warn (costRatio=${costRatio.toFixed(2)} > ${KARPATHY_COST_DOWNGRADE_THRESHOLD})`,
75
+ };
76
+ }
77
+ if (costRatio > KARPATHY_COST_REPORT_THRESHOLD) {
78
+ return {
79
+ decision: { kind: 'reported', gateAction: envelope.gateAction ?? 'pass', costRatio, evaluationCost },
80
+ reasonLine: `karpathy-cost-check: costRatio=${costRatio.toFixed(2)} > ${KARPATHY_COST_REPORT_THRESHOLD} (sediment appended)`,
81
+ };
82
+ }
83
+ return {
84
+ decision: { kind: 'unchanged', gateAction: envelope.gateAction ?? 'pass', costRatio, evaluationCost },
85
+ reasonLine: `karpathy-cost-check: unchanged (costRatio=${costRatio.toFixed(2)})`,
86
+ };
87
+ }
88
+ /** Convenience: load the review file from disk and run the decision. */
89
+ export function runKarpathyCostCheck(opts) {
90
+ let content;
91
+ try {
92
+ content = readFileSync(opts.reviewFilePath, 'utf8');
93
+ }
94
+ catch {
95
+ return {
96
+ decision: { kind: 'no-cost-data', gateAction: null, reason: 'file-missing' },
97
+ reasonLine: `karpathy-cost-check: skipped (file missing: ${opts.reviewFilePath})`,
98
+ };
99
+ }
100
+ return decideKarpathyCostCheck({
101
+ reviewFileContent: content,
102
+ is24hModeActive: opts.is24hModeActive,
103
+ });
104
+ }
105
+ /** Envelope-shape return for the CLI. */
106
+ export function buildCostCheckEnvelope(out) {
107
+ return ok('karpathy-cost-check', out.decision);
108
+ }
@@ -32,3 +32,19 @@ export type ApplyRetentionOptions = {
32
32
  * process between the `readdir` and the `unlink`).
33
33
  */
34
34
  export declare function applyRetention(opts?: ApplyRetentionOptions): string[];
35
+ /**
36
+ * Slice 3 (on-demand-ecc) — 7-day TTL sweep over `~/.peaks/cache/ecc-<sha>/`
37
+ * directories. Delegates to `cleanupStaleCache` in the ECC cache
38
+ * service so the retention policy lives next to the cache it
39
+ * governs.
40
+ *
41
+ * Mirrors the `applyRetention` signature for symmetry: tests pass
42
+ * `nowMs` + `dirOverride`; production callers leave both unset.
43
+ */
44
+ export declare function cleanupEccCache(options: {
45
+ retentionDays: number;
46
+ nowMs?: number;
47
+ dirOverride?: string;
48
+ }): {
49
+ removed: string[];
50
+ };
@@ -16,6 +16,7 @@
16
16
  import { readdirSync, statSync, unlinkSync, existsSync } from 'node:fs';
17
17
  import { join } from 'node:path';
18
18
  import { resolveLogDir } from './logger.js';
19
+ import { cleanupStaleCache } from 'peaks-loop-mut';
19
20
  const LOG_FILE_NAME_PATTERN = /^peaks-loop-(\d{4}-\d{2}-\d{2})\.log$/;
20
21
  function dayDiffUtc(nowUtcMidnightMs, fileDateUtcMs) {
21
22
  const dayMs = 24 * 60 * 60 * 1000;
@@ -76,3 +77,19 @@ export function applyRetention(opts = {}) {
76
77
  }
77
78
  return removed;
78
79
  }
80
+ /**
81
+ * Slice 3 (on-demand-ecc) — 7-day TTL sweep over `~/.peaks/cache/ecc-<sha>/`
82
+ * directories. Delegates to `cleanupStaleCache` in the ECC cache
83
+ * service so the retention policy lives next to the cache it
84
+ * governs.
85
+ *
86
+ * Mirrors the `applyRetention` signature for symmetry: tests pass
87
+ * `nowMs` + `dirOverride`; production callers leave both unset.
88
+ */
89
+ export function cleanupEccCache(options) {
90
+ return cleanupStaleCache({
91
+ retentionDays: options.retentionDays,
92
+ nowMs: options.nowMs ?? Date.now(),
93
+ ...(options.dirOverride !== undefined ? { dirOverride: options.dirOverride } : {}),
94
+ });
95
+ }