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
@@ -16,13 +16,13 @@ export declare const ContextJsonSchema: z.ZodObject<{
16
16
  hash: z.ZodString;
17
17
  }, "strip", z.ZodTypeAny, {
18
18
  path: string;
19
- kind: "doc" | "source" | "test" | "config";
20
19
  lines: number;
20
+ kind: "doc" | "source" | "config" | "test";
21
21
  hash: string;
22
22
  }, {
23
23
  path: string;
24
- kind: "doc" | "source" | "test" | "config";
25
24
  lines: number;
25
+ kind: "doc" | "source" | "config" | "test";
26
26
  hash: string;
27
27
  }>, "many">;
28
28
  gitStatus: z.ZodObject<{
@@ -68,6 +68,12 @@ export declare const ContextJsonSchema: z.ZodObject<{
68
68
  resolved: string;
69
69
  }>>;
70
70
  }, "strip", z.ZodTypeAny, {
71
+ files: {
72
+ path: string;
73
+ lines: number;
74
+ kind: "doc" | "source" | "config" | "test";
75
+ hash: string;
76
+ }[];
71
77
  deps: Record<string, {
72
78
  version: string;
73
79
  source: "package.json" | "pnpm-lock.yaml" | "yarn.lock";
@@ -78,12 +84,6 @@ export declare const ContextJsonSchema: z.ZodObject<{
78
84
  branch: string;
79
85
  lastCommit: string;
80
86
  };
81
- files: {
82
- path: string;
83
- kind: "doc" | "source" | "test" | "config";
84
- lines: number;
85
- hash: string;
86
- }[];
87
87
  memoryEntries: {
88
88
  path: string;
89
89
  title: string;
@@ -91,6 +91,12 @@ export declare const ContextJsonSchema: z.ZodObject<{
91
91
  excerptHash: string;
92
92
  }[];
93
93
  }, {
94
+ files: {
95
+ path: string;
96
+ lines: number;
97
+ kind: "doc" | "source" | "config" | "test";
98
+ hash: string;
99
+ }[];
94
100
  deps: Record<string, {
95
101
  version: string;
96
102
  source: "package.json" | "pnpm-lock.yaml" | "yarn.lock";
@@ -101,12 +107,6 @@ export declare const ContextJsonSchema: z.ZodObject<{
101
107
  branch: string;
102
108
  lastCommit: string;
103
109
  };
104
- files: {
105
- path: string;
106
- kind: "doc" | "source" | "test" | "config";
107
- lines: number;
108
- hash: string;
109
- }[];
110
110
  memoryEntries: {
111
111
  path: string;
112
112
  title: string;
@@ -138,8 +138,8 @@ export declare const ContextJsonSchema: z.ZodObject<{
138
138
  stale: z.ZodBoolean;
139
139
  }, "strip", z.ZodTypeAny, {
140
140
  version: string;
141
- source: "local-cache" | "remote-fetch";
142
141
  stale: boolean;
142
+ source: "local-cache" | "remote-fetch";
143
143
  dep: string;
144
144
  fetchedAt: string;
145
145
  contentHash: string;
@@ -151,8 +151,8 @@ export declare const ContextJsonSchema: z.ZodObject<{
151
151
  url?: string | undefined;
152
152
  }, {
153
153
  version: string;
154
- source: "local-cache" | "remote-fetch";
155
154
  stale: boolean;
155
+ source: "local-cache" | "remote-fetch";
156
156
  dep: string;
157
157
  fetchedAt: string;
158
158
  contentHash: string;
@@ -167,21 +167,21 @@ export declare const ContextJsonSchema: z.ZodObject<{
167
167
  dep: z.ZodString;
168
168
  reason: z.ZodEnum<["unconfigured", "network_error", "version_unknown"]>;
169
169
  }, "strip", z.ZodTypeAny, {
170
- dep: string;
171
170
  reason: "unconfigured" | "network_error" | "version_unknown";
172
- }, {
173
171
  dep: string;
172
+ }, {
174
173
  reason: "unconfigured" | "network_error" | "version_unknown";
174
+ dep: string;
175
175
  }>, "many">;
176
176
  }, "strip", z.ZodTypeAny, {
177
177
  skipped: {
178
- dep: string;
179
178
  reason: "unconfigured" | "network_error" | "version_unknown";
179
+ dep: string;
180
180
  }[];
181
181
  fetchedDocs: {
182
182
  version: string;
183
- source: "local-cache" | "remote-fetch";
184
183
  stale: boolean;
184
+ source: "local-cache" | "remote-fetch";
185
185
  dep: string;
186
186
  fetchedAt: string;
187
187
  contentHash: string;
@@ -194,13 +194,13 @@ export declare const ContextJsonSchema: z.ZodObject<{
194
194
  }[];
195
195
  }, {
196
196
  skipped: {
197
- dep: string;
198
197
  reason: "unconfigured" | "network_error" | "version_unknown";
198
+ dep: string;
199
199
  }[];
200
200
  fetchedDocs: {
201
201
  version: string;
202
- source: "local-cache" | "remote-fetch";
203
202
  stale: boolean;
203
+ source: "local-cache" | "remote-fetch";
204
204
  dep: string;
205
205
  fetchedAt: string;
206
206
  contentHash: string;
@@ -222,17 +222,17 @@ export declare const ContextJsonSchema: z.ZodObject<{
222
222
  timeDecayScore: z.ZodNumber;
223
223
  tags: z.ZodArray<z.ZodString, "many">;
224
224
  }, "strip", z.ZodTypeAny, {
225
+ id: string;
225
226
  kind: "git" | "code" | "doc" | "memory";
226
227
  tags: string[];
227
- id: string;
228
228
  blastRadius: string[];
229
229
  conflictScore: number;
230
230
  timeDecayScore: number;
231
231
  version?: string | undefined;
232
232
  }, {
233
+ id: string;
233
234
  kind: "git" | "code" | "doc" | "memory";
234
235
  tags: string[];
235
- id: string;
236
236
  blastRadius: string[];
237
237
  conflictScore: number;
238
238
  timeDecayScore: number;
@@ -240,9 +240,9 @@ export declare const ContextJsonSchema: z.ZodObject<{
240
240
  }>, "many">;
241
241
  }, "strip", z.ZodTypeAny, {
242
242
  metadata: {
243
+ id: string;
243
244
  kind: "git" | "code" | "doc" | "memory";
244
245
  tags: string[];
245
- id: string;
246
246
  blastRadius: string[];
247
247
  conflictScore: number;
248
248
  timeDecayScore: number;
@@ -250,9 +250,9 @@ export declare const ContextJsonSchema: z.ZodObject<{
250
250
  }[];
251
251
  }, {
252
252
  metadata: {
253
+ id: string;
253
254
  kind: "git" | "code" | "doc" | "memory";
254
255
  tags: string[];
255
- id: string;
256
256
  blastRadius: string[];
257
257
  conflictScore: number;
258
258
  timeDecayScore: number;
@@ -267,15 +267,15 @@ export declare const ContextJsonSchema: z.ZodObject<{
267
267
  truncatedReason: z.ZodOptional<z.ZodEnum<["doc_budget_exceeded", "section_count_exceeded"]>>;
268
268
  }, "strip", z.ZodTypeAny, {
269
269
  sizeBytes: number;
270
+ truncated: boolean;
270
271
  audience: "all" | "peaks-rd" | "peaks-qa" | "peaks-mut";
271
272
  renderedAt: string;
272
- truncated: boolean;
273
273
  truncatedReason?: "doc_budget_exceeded" | "section_count_exceeded" | undefined;
274
274
  }, {
275
275
  sizeBytes: number;
276
+ truncated: boolean;
276
277
  audience: "all" | "peaks-rd" | "peaks-qa" | "peaks-mut";
277
278
  renderedAt: string;
278
- truncated: boolean;
279
279
  truncatedReason?: "doc_budget_exceeded" | "section_count_exceeded" | undefined;
280
280
  }>;
281
281
  }, "strip", z.ZodTypeAny, {
@@ -284,6 +284,12 @@ export declare const ContextJsonSchema: z.ZodObject<{
284
284
  sha256: string;
285
285
  generatedAt: string;
286
286
  collector: {
287
+ files: {
288
+ path: string;
289
+ lines: number;
290
+ kind: "doc" | "source" | "config" | "test";
291
+ hash: string;
292
+ }[];
287
293
  deps: Record<string, {
288
294
  version: string;
289
295
  source: "package.json" | "pnpm-lock.yaml" | "yarn.lock";
@@ -294,12 +300,6 @@ export declare const ContextJsonSchema: z.ZodObject<{
294
300
  branch: string;
295
301
  lastCommit: string;
296
302
  };
297
- files: {
298
- path: string;
299
- kind: "doc" | "source" | "test" | "config";
300
- lines: number;
301
- hash: string;
302
- }[];
303
303
  memoryEntries: {
304
304
  path: string;
305
305
  title: string;
@@ -309,13 +309,13 @@ export declare const ContextJsonSchema: z.ZodObject<{
309
309
  };
310
310
  docRetriever: {
311
311
  skipped: {
312
- dep: string;
313
312
  reason: "unconfigured" | "network_error" | "version_unknown";
313
+ dep: string;
314
314
  }[];
315
315
  fetchedDocs: {
316
316
  version: string;
317
- source: "local-cache" | "remote-fetch";
318
317
  stale: boolean;
318
+ source: "local-cache" | "remote-fetch";
319
319
  dep: string;
320
320
  fetchedAt: string;
321
321
  contentHash: string;
@@ -329,9 +329,9 @@ export declare const ContextJsonSchema: z.ZodObject<{
329
329
  };
330
330
  tokenizer: {
331
331
  metadata: {
332
+ id: string;
332
333
  kind: "git" | "code" | "doc" | "memory";
333
334
  tags: string[];
334
- id: string;
335
335
  blastRadius: string[];
336
336
  conflictScore: number;
337
337
  timeDecayScore: number;
@@ -340,9 +340,9 @@ export declare const ContextJsonSchema: z.ZodObject<{
340
340
  };
341
341
  renderer: {
342
342
  sizeBytes: number;
343
+ truncated: boolean;
343
344
  audience: "all" | "peaks-rd" | "peaks-qa" | "peaks-mut";
344
345
  renderedAt: string;
345
- truncated: boolean;
346
346
  truncatedReason?: "doc_budget_exceeded" | "section_count_exceeded" | undefined;
347
347
  };
348
348
  }, {
@@ -351,6 +351,12 @@ export declare const ContextJsonSchema: z.ZodObject<{
351
351
  sha256: string;
352
352
  generatedAt: string;
353
353
  collector: {
354
+ files: {
355
+ path: string;
356
+ lines: number;
357
+ kind: "doc" | "source" | "config" | "test";
358
+ hash: string;
359
+ }[];
354
360
  deps: Record<string, {
355
361
  version: string;
356
362
  source: "package.json" | "pnpm-lock.yaml" | "yarn.lock";
@@ -361,12 +367,6 @@ export declare const ContextJsonSchema: z.ZodObject<{
361
367
  branch: string;
362
368
  lastCommit: string;
363
369
  };
364
- files: {
365
- path: string;
366
- kind: "doc" | "source" | "test" | "config";
367
- lines: number;
368
- hash: string;
369
- }[];
370
370
  memoryEntries: {
371
371
  path: string;
372
372
  title: string;
@@ -376,13 +376,13 @@ export declare const ContextJsonSchema: z.ZodObject<{
376
376
  };
377
377
  docRetriever: {
378
378
  skipped: {
379
- dep: string;
380
379
  reason: "unconfigured" | "network_error" | "version_unknown";
380
+ dep: string;
381
381
  }[];
382
382
  fetchedDocs: {
383
383
  version: string;
384
- source: "local-cache" | "remote-fetch";
385
384
  stale: boolean;
385
+ source: "local-cache" | "remote-fetch";
386
386
  dep: string;
387
387
  fetchedAt: string;
388
388
  contentHash: string;
@@ -396,9 +396,9 @@ export declare const ContextJsonSchema: z.ZodObject<{
396
396
  };
397
397
  tokenizer: {
398
398
  metadata: {
399
+ id: string;
399
400
  kind: "git" | "code" | "doc" | "memory";
400
401
  tags: string[];
401
- id: string;
402
402
  blastRadius: string[];
403
403
  conflictScore: number;
404
404
  timeDecayScore: number;
@@ -407,9 +407,9 @@ export declare const ContextJsonSchema: z.ZodObject<{
407
407
  };
408
408
  renderer: {
409
409
  sizeBytes: number;
410
+ truncated: boolean;
410
411
  audience: "all" | "peaks-rd" | "peaks-qa" | "peaks-mut";
411
412
  renderedAt: string;
412
- truncated: boolean;
413
413
  truncatedReason?: "doc_budget_exceeded" | "section_count_exceeded" | undefined;
414
414
  };
415
415
  }>;
@@ -0,0 +1,4 @@
1
+ export type IdeKind = 'claude-code' | 'trae' | 'opencode' | 'unknown';
2
+ export declare const IDE_KINDS: readonly IdeKind[];
3
+ export declare function isIdeKind(value: string): value is IdeKind;
4
+ export declare function detectIdeFromEnv(env?: NodeJS.ProcessEnv): IdeKind;
@@ -0,0 +1,24 @@
1
+ export const IDE_KINDS = [
2
+ 'claude-code',
3
+ 'trae',
4
+ 'opencode',
5
+ 'unknown'
6
+ ];
7
+ export function isIdeKind(value) {
8
+ return IDE_KINDS.includes(value);
9
+ }
10
+ export function detectIdeFromEnv(env = process.env) {
11
+ if (typeof env['CLAUDE_CODE_ENTRYPOINT'] === 'string' && env['CLAUDE_CODE_ENTRYPOINT'].length > 0) {
12
+ return 'claude-code';
13
+ }
14
+ if (typeof env['CLAUDE_SESSION_ID'] === 'string' && env['CLAUDE_SESSION_ID'].length > 0) {
15
+ return 'claude-code';
16
+ }
17
+ if (typeof env['TRAE_CLI'] === 'string' && env['TRAE_CLI'].length > 0) {
18
+ return 'trae';
19
+ }
20
+ if (typeof env['OPENCODE'] === 'string' && env['OPENCODE'].length > 0) {
21
+ return 'opencode';
22
+ }
23
+ return 'unknown';
24
+ }
@@ -20,12 +20,11 @@
20
20
  * No inline `promptSize / 256K > 0.75` checks scattered across
21
21
  * SKILL.md or other services.
22
22
  */
23
+ import { type IdeKind } from './ide-detect.js';
23
24
  export type MainSessionTier = 'ok' | 'soft-warn' | 'near-limit' | 'emergency';
24
25
  export declare const MAIN_SESSION_THRESHOLD_RATIOS: {
25
26
  readonly [K in MainSessionTier]: number;
26
27
  };
27
- export type IdeKind = 'claude-code' | 'trae' | 'opencode' | 'unknown';
28
- export declare const IDE_KINDS: readonly IdeKind[];
29
28
  export type MainSessionTrigger = {
30
29
  readonly kind: 'none';
31
30
  } | {
@@ -50,8 +49,6 @@ export interface MainSessionEvaluation {
50
49
  readonly capacityBytes: number;
51
50
  readonly warnings: readonly string[];
52
51
  }
53
- export declare function isIdeKind(value: string): value is IdeKind;
54
- export declare function detectIdeFromEnv(env?: NodeJS.ProcessEnv): IdeKind;
55
52
  /**
56
53
  * Threshold check. Pure function (no IO). `capacityBytes` is injectable
57
54
  * for tests and future per-IDE capacity overrides. Defaults to the
@@ -21,36 +21,13 @@
21
21
  * SKILL.md or other services.
22
22
  */
23
23
  import { CONTEXT_CAPACITY_DEFAULT_BYTES, THRESHOLD_SOFT_WARN_RATIO, THRESHOLD_NEAR_LIMIT_RATIO, THRESHOLD_EMERGENCY_RATIO, evaluateThresholdTier } from './threshold.js';
24
+ import { detectIdeFromEnv } from './ide-detect.js';
24
25
  export const MAIN_SESSION_THRESHOLD_RATIOS = {
25
26
  ok: 0,
26
27
  'soft-warn': THRESHOLD_SOFT_WARN_RATIO,
27
28
  'near-limit': THRESHOLD_NEAR_LIMIT_RATIO,
28
29
  emergency: THRESHOLD_EMERGENCY_RATIO
29
30
  };
30
- export const IDE_KINDS = [
31
- 'claude-code',
32
- 'trae',
33
- 'opencode',
34
- 'unknown'
35
- ];
36
- export function isIdeKind(value) {
37
- return IDE_KINDS.includes(value);
38
- }
39
- export function detectIdeFromEnv(env = process.env) {
40
- if (typeof env['CLAUDE_CODE_ENTRYPOINT'] === 'string' && env['CLAUDE_CODE_ENTRYPOINT'].length > 0) {
41
- return 'claude-code';
42
- }
43
- if (typeof env['CLAUDE_SESSION_ID'] === 'string' && env['CLAUDE_SESSION_ID'].length > 0) {
44
- return 'claude-code';
45
- }
46
- if (typeof env['TRAE_CLI'] === 'string' && env['TRAE_CLI'].length > 0) {
47
- return 'trae';
48
- }
49
- if (typeof env['OPENCODE'] === 'string' && env['OPENCODE'].length > 0) {
50
- return 'opencode';
51
- }
52
- return 'unknown';
53
- }
54
31
  /**
55
32
  * Threshold check. Pure function (no IO). `capacityBytes` is injectable
56
33
  * for tests and future per-IDE capacity overrides. Defaults to the
@@ -0,0 +1,8 @@
1
+ import type { MemoryIndexEntry } from '../memory/memory-search-service.js';
2
+ export declare class MemoryIndexReader {
3
+ private readonly projectRoot;
4
+ private cache;
5
+ constructor(projectRoot: string);
6
+ loadIfStale(): MemoryIndexEntry[];
7
+ selectFeedbackLayerA(cap: number): MemoryIndexEntry[];
8
+ }
@@ -0,0 +1,57 @@
1
+ import { existsSync, readFileSync, statSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ const LAYER_A_RE = /peaks-feedback-promoted:\s*layer=A\b/;
4
+ export class MemoryIndexReader {
5
+ projectRoot;
6
+ cache = null;
7
+ constructor(projectRoot) {
8
+ this.projectRoot = projectRoot;
9
+ }
10
+ loadIfStale() {
11
+ const indexPath = join(this.projectRoot, '.peaks', 'memory', 'index.json');
12
+ if (!existsSync(indexPath))
13
+ return [];
14
+ const { mtimeMs } = statSync(indexPath);
15
+ if (this.cache && this.cache.mtimeMs === mtimeMs)
16
+ return this.cache.entries;
17
+ let raw;
18
+ try {
19
+ raw = JSON.parse(readFileSync(indexPath, 'utf8'));
20
+ }
21
+ catch {
22
+ this.cache = null;
23
+ return [];
24
+ }
25
+ const entries = flattenIndex(raw);
26
+ this.cache = { mtimeMs, entries };
27
+ return entries;
28
+ }
29
+ selectFeedbackLayerA(cap) {
30
+ const all = this.loadIfStale();
31
+ return all
32
+ .filter((e) => e.kind === 'feedback')
33
+ .filter((e) => LAYER_A_RE.test(e.description))
34
+ .slice(0, Math.max(1, Math.trunc(cap)));
35
+ }
36
+ }
37
+ function flattenIndex(raw) {
38
+ if (!raw || typeof raw !== 'object')
39
+ return [];
40
+ const out = [];
41
+ const obj = raw;
42
+ for (const layer of ['hot', 'warm', 'cold']) {
43
+ const bucket = obj[layer];
44
+ if (!bucket || typeof bucket !== 'object')
45
+ continue;
46
+ for (const k of ['feedback', 'project', 'reference', 'user']) {
47
+ const list = bucket[k];
48
+ if (!Array.isArray(list))
49
+ continue;
50
+ for (const item of list) {
51
+ if (item && typeof item === 'object')
52
+ out.push(item);
53
+ }
54
+ }
55
+ }
56
+ return out;
57
+ }
@@ -0,0 +1,12 @@
1
+ export declare class MemoryLruCache {
2
+ private readonly budgetBytes;
3
+ private readonly store;
4
+ private currentBytes;
5
+ constructor(budgetBytes: number);
6
+ set(key: string, body: string): void;
7
+ get(key: string): string | undefined;
8
+ delete(key: string): void;
9
+ size(): number;
10
+ private evictIfOver;
11
+ private evictAll;
12
+ }
@@ -0,0 +1,60 @@
1
+ export class MemoryLruCache {
2
+ budgetBytes;
3
+ store = new Map();
4
+ currentBytes = 0;
5
+ constructor(budgetBytes) {
6
+ this.budgetBytes = budgetBytes;
7
+ }
8
+ set(key, body) {
9
+ if (this.store.has(key))
10
+ this.delete(key);
11
+ const bytes = Buffer.byteLength(body, 'utf8');
12
+ if (bytes > this.budgetBytes) {
13
+ // Oversized insert: evict ALL existing entries (LRU order) so only
14
+ // the newly inserted key remains in the cache. This prevents the
15
+ // unbounded growth that a naive "single oversized exception" would
16
+ // allow when oversized values are inserted consecutively.
17
+ this.evictAll();
18
+ this.store.set(key, { body, bytes });
19
+ this.currentBytes += bytes;
20
+ return;
21
+ }
22
+ this.store.set(key, { body, bytes });
23
+ this.currentBytes += bytes;
24
+ this.evictIfOver();
25
+ }
26
+ get(key) {
27
+ const entry = this.store.get(key);
28
+ if (!entry)
29
+ return undefined;
30
+ // refresh recency
31
+ this.store.delete(key);
32
+ this.store.set(key, entry);
33
+ return entry.body;
34
+ }
35
+ delete(key) {
36
+ const entry = this.store.get(key);
37
+ if (!entry)
38
+ return;
39
+ this.store.delete(key);
40
+ this.currentBytes -= entry.bytes;
41
+ }
42
+ size() {
43
+ return this.currentBytes;
44
+ }
45
+ evictIfOver() {
46
+ while (this.currentBytes > this.budgetBytes && this.store.size > 0) {
47
+ // Map preserves insertion order — first key is least-recently-touched
48
+ const oldestKey = this.store.keys().next().value;
49
+ if (oldestKey === undefined)
50
+ break;
51
+ this.delete(oldestKey);
52
+ }
53
+ }
54
+ evictAll() {
55
+ // Empty the store; called before an oversized insert so only the new
56
+ // entry remains, per the eviction contract documented above.
57
+ this.store.clear();
58
+ this.currentBytes = 0;
59
+ }
60
+ }
@@ -0,0 +1,19 @@
1
+ import type { ProjectPreferences } from '../preferences/preferences-types.js';
2
+ export interface MemoryPreflightConfig {
3
+ readonly enabled: boolean;
4
+ readonly maxTokens: number;
5
+ readonly listCap: number;
6
+ readonly contentCacheBytes: number;
7
+ }
8
+ /**
9
+ * Loose input type for `resolveMemoryPreflightConfig`. Accepts either a
10
+ * full `ProjectPreferences` (e.g. the output of `loadPreferences()`) or
11
+ * any object that at minimum carries `memoryPreflight`. Lets callers
12
+ * pass a partial overlay literal — e.g. `{}` or `{ memoryPreflight: {...} }`
13
+ * — without having to construct a fully-populated preferences fixture.
14
+ *
15
+ * Downstream tasks (orchestrator service, dispatch hook) should import
16
+ * this alias rather than re-deriving the structural type.
17
+ */
18
+ export type MemoryPreflightPrefsInput = ProjectPreferences | Pick<ProjectPreferences, 'memoryPreflight'>;
19
+ export declare function resolveMemoryPreflightConfig(prefs: MemoryPreflightPrefsInput): MemoryPreflightConfig;
@@ -0,0 +1,25 @@
1
+ const DEFAULTS = Object.freeze({
2
+ enabled: true,
3
+ maxTokens: 1200,
4
+ listCap: 12,
5
+ contentCacheBytes: 6000,
6
+ });
7
+ const LIST_CAP_MIN = 1;
8
+ const LIST_CAP_MAX = 50;
9
+ function asFiniteInt(value, fallback) {
10
+ return typeof value === 'number' && Number.isFinite(value) && value >= 0
11
+ ? Math.trunc(value)
12
+ : fallback;
13
+ }
14
+ export function resolveMemoryPreflightConfig(prefs) {
15
+ const m = prefs.memoryPreflight ?? {};
16
+ const listCapRaw = asFiniteInt(m.listCap, DEFAULTS.listCap);
17
+ return {
18
+ enabled: m.enabled === false ? false : DEFAULTS.enabled,
19
+ maxTokens: m.maxTokens && m.maxTokens > 0 ? m.maxTokens : DEFAULTS.maxTokens,
20
+ listCap: Math.min(LIST_CAP_MAX, Math.max(LIST_CAP_MIN, listCapRaw)),
21
+ contentCacheBytes: m.contentCacheBytes && m.contentCacheBytes > 0
22
+ ? m.contentCacheBytes
23
+ : DEFAULTS.contentCacheBytes,
24
+ };
25
+ }
@@ -0,0 +1,19 @@
1
+ import { type MemoryPreflightPrefsInput } from './memory-preflight-config.js';
2
+ export interface MemoryPreflightResult {
3
+ available: boolean;
4
+ block?: string;
5
+ feedbackListItems?: number;
6
+ cachedItemCount?: number;
7
+ reason?: string;
8
+ truncated?: boolean | undefined;
9
+ droppedCount?: number | undefined;
10
+ }
11
+ export declare class MemoryPreflightService {
12
+ private readonly reader;
13
+ private readonly config;
14
+ /** path -> body; sub-agent-requested memo contents (Task 4 deviation, see module header). */
15
+ private readonly cachedMemoContents;
16
+ constructor(projectRoot: string, prefs: MemoryPreflightPrefsInput);
17
+ cacheMemoContent(path: string, content: string): void;
18
+ fetchBlock(_taskTitle: string): Promise<MemoryPreflightResult>;
19
+ }