peaks-loop 3.1.2 → 4.0.0-beta.10

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 (1436) hide show
  1. package/.claude-plugin/marketplace.json +67 -12
  2. package/CHANGELOG.md +576 -116
  3. package/README-en.md +155 -209
  4. package/README.md +149 -287
  5. package/agents/karpathy-reviewer.md +3 -3
  6. package/bin/peaks.js +1 -1
  7. package/dist/cli/cli-helpers.d.ts +43 -0
  8. package/dist/cli/cli-helpers.js +86 -0
  9. package/dist/cli/commands/_cli-error-envelope.d.ts +19 -0
  10. package/dist/cli/commands/_cli-error-envelope.js +50 -0
  11. package/dist/cli/commands/adapter-commands-s2a.d.ts +34 -0
  12. package/dist/cli/commands/adapter-commands-s2a.js +92 -0
  13. package/dist/cli/commands/adapter-commands.d.ts +30 -0
  14. package/dist/cli/commands/adapter-commands.js +35 -0
  15. package/dist/cli/commands/asset-commands.d.ts +45 -0
  16. package/dist/cli/commands/asset-commands.js +404 -0
  17. package/dist/cli/commands/bee-commands.d.ts +26 -0
  18. package/dist/cli/commands/bee-commands.js +169 -0
  19. package/dist/cli/commands/code-commands.d.ts +80 -0
  20. package/dist/cli/commands/code-commands.js +798 -0
  21. package/dist/cli/commands/context-commands.d.ts +21 -0
  22. package/dist/cli/commands/context-commands.js +254 -0
  23. package/dist/cli/commands/contract-commands.d.ts +26 -0
  24. package/dist/cli/commands/contract-commands.js +114 -0
  25. package/dist/cli/commands/core/session-command.js +241 -0
  26. package/dist/cli/commands/core/skill-command.js +300 -0
  27. package/dist/cli/commands/dispatch-commands.js +351 -0
  28. package/dist/cli/commands/dispatch-from-dag.js +251 -0
  29. package/dist/cli/commands/evolution-commands.d.ts +27 -0
  30. package/dist/cli/commands/evolution-commands.js +393 -0
  31. package/dist/cli/commands/hook-handle.js +157 -0
  32. package/dist/cli/commands/ide-commands.d.ts +25 -0
  33. package/dist/cli/commands/ide-commands.js +42 -0
  34. package/dist/cli/commands/job-commands.js +289 -0
  35. package/dist/cli/commands/loop-commands.d.ts +27 -0
  36. package/dist/cli/commands/loop-commands.js +262 -0
  37. package/dist/cli/commands/observability-commands.js +201 -0
  38. package/dist/cli/commands/perf-audit-commands.js +132 -0
  39. package/dist/cli/commands/polyrepo-commands.d.ts +37 -0
  40. package/dist/cli/commands/polyrepo-commands.js +155 -0
  41. package/dist/cli/commands/project-commands.js +253 -0
  42. package/dist/cli/commands/runtime-commands.d.ts +52 -0
  43. package/dist/cli/commands/runtime-commands.js +150 -0
  44. package/dist/cli/commands/security-audit-commands.js +132 -0
  45. package/dist/cli/commands/sediment-commands.d.ts +80 -0
  46. package/dist/cli/commands/sediment-commands.js +649 -0
  47. package/dist/cli/commands/session-auto-compact-hook-command.js +127 -0
  48. package/dist/cli/commands/session-migrate-skill-name.d.ts +17 -0
  49. package/dist/cli/commands/session-migrate-skill-name.js +41 -0
  50. package/dist/cli/commands/skill-loop-engineering-readiness-commands.d.ts +67 -0
  51. package/dist/cli/commands/skill-loop-engineering-readiness-commands.js +173 -0
  52. package/dist/cli/commands/skill-search-commands.d.ts +25 -0
  53. package/dist/cli/commands/skill-search-commands.js +68 -0
  54. package/dist/cli/commands/skill-visibility.d.ts +8 -0
  55. package/dist/cli/commands/skill-visibility.js +63 -0
  56. package/dist/cli/commands/slice-commands.js +492 -0
  57. package/dist/cli/commands/sub-agent-commands.d.ts +22 -0
  58. package/dist/cli/commands/sub-agent-commands.js +19 -0
  59. package/dist/cli/commands/sub-agent-shared.d.ts +99 -0
  60. package/dist/cli/commands/understand-commands.js +148 -0
  61. package/dist/cli/commands/upgrade-commands.d.ts +23 -0
  62. package/dist/cli/commands/upgrade-commands.js +119 -0
  63. package/dist/cli/commands/user-touchpoint-commands.d.ts +18 -0
  64. package/dist/cli/commands/user-touchpoint-commands.js +78 -0
  65. package/dist/cli/commands/verdict-aggregate-command.d.ts +14 -0
  66. package/dist/cli/commands/verdict-aggregate-command.js +106 -0
  67. package/dist/cli/commands/workflow-commands.js +544 -0
  68. package/dist/cli/commands/workspace/init-command.d.ts +139 -0
  69. package/dist/cli/commands/workspace/init-command.js +505 -0
  70. package/dist/cli/program.js +408 -0
  71. package/dist/services/adapter/adapter-registry.d.ts +48 -0
  72. package/dist/services/adapter/adapter-registry.js +186 -0
  73. package/dist/services/adapter/adapter.d.ts +27 -0
  74. package/dist/services/adapter/adapter.js +5 -0
  75. package/dist/services/adapter/auto-adapter.d.ts +11 -0
  76. package/dist/services/adapter/auto-adapter.js +15 -0
  77. package/dist/services/adapter/claude-adapter.d.ts +14 -0
  78. package/dist/services/adapter/claude-adapter.js +40 -0
  79. package/dist/services/adapter/codex-adapter.d.ts +14 -0
  80. package/dist/services/adapter/codex-adapter.js +14 -0
  81. package/dist/services/adapter/copilot-adapter.d.ts +14 -0
  82. package/dist/services/adapter/copilot-adapter.js +14 -0
  83. package/dist/services/artifacts/repair-cycle-service.js +52 -0
  84. package/dist/services/audit/enforcers/active-skill-resolver.d.ts +29 -0
  85. package/dist/services/audit/enforcers/active-skill-resolver.js +71 -0
  86. package/dist/services/audit/enforcers/code-ban.d.ts +23 -0
  87. package/dist/services/audit/enforcers/code-ban.js +27 -0
  88. package/dist/services/audit/red-line-catalog.d.ts +51 -0
  89. package/dist/services/audit/red-line-catalog.js +195 -0
  90. package/dist/services/audit/scanners/skills-tree-scanner.js +68 -0
  91. package/dist/services/audit/types.d.ts +86 -0
  92. package/dist/services/code/auto-compact-orchestrator.d.ts +98 -0
  93. package/dist/services/code/auto-compact-orchestrator.js +343 -0
  94. package/dist/services/code/dag-orchestrator.d.ts +128 -0
  95. package/dist/services/code/dag-orchestrator.js +304 -0
  96. package/dist/services/code/emit-handoff.d.ts +49 -0
  97. package/dist/services/code/emit-handoff.js +79 -0
  98. package/dist/services/code/job-shape-decision.d.ts +71 -0
  99. package/dist/services/code/job-shape-decision.js +151 -0
  100. package/dist/services/code/mode-gate.d.ts +163 -0
  101. package/dist/services/code/mode-gate.js +212 -0
  102. package/dist/services/code/post-compact-detector.d.ts +61 -0
  103. package/dist/services/code/post-compact-detector.js +240 -0
  104. package/dist/services/code/status-line-renderer.d.ts +34 -0
  105. package/dist/services/code/step-08-gate.d.ts +90 -0
  106. package/dist/services/code/step-08-gate.js +136 -0
  107. package/dist/services/code/user-touchpoint-classifier.d.ts +44 -0
  108. package/dist/services/code/user-touchpoint-classifier.js +145 -0
  109. package/dist/services/config/model-routing.d.ts +66 -0
  110. package/dist/services/config/model-routing.js +105 -0
  111. package/dist/services/context/auto-compact-dispatcher.d.ts +37 -0
  112. package/dist/services/context/auto-compact-dispatcher.js +240 -0
  113. package/dist/services/context/auto-compact-types.d.ts +143 -0
  114. package/dist/services/context/context-schema.d.ts +415 -0
  115. package/dist/services/crystallization/crystallization-service.d.ts +239 -0
  116. package/dist/services/crystallization/crystallization-service.js +397 -0
  117. package/dist/services/crystallization/crystallization-store.d.ts +75 -0
  118. package/dist/services/crystallization/crystallization-store.js +193 -0
  119. package/dist/services/crystallization/crystallization-types.d.ts +313 -0
  120. package/dist/services/crystallization/crystallization-types.js +299 -0
  121. package/dist/services/crystallization/evidence-brief-builder.d.ts +237 -0
  122. package/dist/services/crystallization/evidence-brief-builder.js +240 -0
  123. package/dist/services/dispatch/batch-counter.js +102 -0
  124. package/dist/services/dispatch/leak-detector.js +72 -0
  125. package/dist/services/dispatch/slice-dag.d.ts +81 -0
  126. package/dist/services/dispatch/test-tool-detection.d.ts +36 -0
  127. package/dist/services/dispatch/test-tool-detection.js +46 -0
  128. package/dist/services/doctor/doctor-service.js +929 -0
  129. package/dist/services/evolution/evolution-service.d.ts +137 -0
  130. package/dist/services/evolution/evolution-service.js +281 -0
  131. package/dist/services/evolution/evolution-store.d.ts +57 -0
  132. package/dist/services/evolution/evolution-store.js +232 -0
  133. package/dist/services/evolution/evolution-types.d.ts +706 -0
  134. package/dist/services/evolution/evolution-types.js +286 -0
  135. package/dist/services/evolution/independent-evaluator-runner.d.ts +90 -0
  136. package/dist/services/evolution/independent-evaluator-runner.js +106 -0
  137. package/dist/services/evolution/regression-skeptic-runner.d.ts +64 -0
  138. package/dist/services/evolution/regression-skeptic-runner.js +113 -0
  139. package/dist/services/feedback/feedback-promotion-service.js +300 -0
  140. package/dist/services/filesystem/file-lock.js +152 -0
  141. package/dist/services/ide/adapters/zcode-adapter.d.ts +40 -0
  142. package/dist/services/ide/adapters/zcode-adapter.js +220 -0
  143. package/dist/services/ide/current-model-detector.d.ts +14 -0
  144. package/dist/services/ide/current-model-detector.js +60 -0
  145. package/dist/services/ide/ide-registry.js +63 -0
  146. package/dist/services/ide/ide-types.d.ts +253 -0
  147. package/dist/services/job/job-progress-store.d.ts +60 -0
  148. package/dist/services/job/job-progress-store.js +70 -0
  149. package/dist/services/job/job-resource-snapshot.js +75 -0
  150. package/dist/services/loop/loop-bee-relation-service.d.ts +107 -0
  151. package/dist/services/loop/loop-bee-relation-service.js +211 -0
  152. package/dist/services/loop/loop-bee-relation-store.d.ts +53 -0
  153. package/dist/services/loop/loop-bee-relation-store.js +130 -0
  154. package/dist/services/loop/loop-bee-relation-types.d.ts +118 -0
  155. package/dist/services/loop/loop-bee-relation-types.js +114 -0
  156. package/dist/services/loop/loop-release-service.d.ts +46 -0
  157. package/dist/services/loop/loop-release-service.js +66 -0
  158. package/dist/services/loop/loop-release-store.d.ts +55 -0
  159. package/dist/services/loop/loop-release-store.js +134 -0
  160. package/dist/services/loop/loop-release-types.d.ts +250 -0
  161. package/dist/services/loop/loop-release-types.js +162 -0
  162. package/dist/services/memory/project-context-service.d.ts +21 -0
  163. package/dist/services/memory/project-context-service.js +161 -0
  164. package/dist/services/memory/project-memory-service.js +817 -0
  165. package/dist/services/migrate-skill-name/migrate.d.ts +17 -0
  166. package/dist/services/migrate-skill-name/migrate.js +152 -0
  167. package/dist/services/migrate-skill-name/schema.d.ts +42 -0
  168. package/dist/services/migrate-skill-name/schema.js +25 -0
  169. package/dist/services/observability/aggregation.d.ts +64 -0
  170. package/dist/services/observability/aggregation.js +217 -0
  171. package/dist/services/perf/perf-baseline-service.d.ts +70 -0
  172. package/dist/services/perf/perf-baseline-service.js +214 -0
  173. package/dist/services/polyrepo/polyrepo-dispatcher.d.ts +34 -0
  174. package/dist/services/polyrepo/polyrepo-dispatcher.js +119 -0
  175. package/dist/services/polyrepo/polyrepo-scanner.d.ts +9 -0
  176. package/dist/services/polyrepo/polyrepo-scanner.js +94 -0
  177. package/dist/services/polyrepo/polyrepo-service.d.ts +34 -0
  178. package/dist/services/polyrepo/polyrepo-service.js +49 -0
  179. package/dist/services/polyrepo/polyrepo-types.d.ts +55 -0
  180. package/dist/services/prd/handoff-types.d.ts +64 -0
  181. package/dist/services/prd/handoff-types.js +22 -0
  182. package/dist/services/prd/project-scan-bootstrap-service.d.ts +52 -0
  183. package/dist/services/prd/project-scan-bootstrap-service.js +445 -0
  184. package/dist/services/preferences/preferences-service.d.ts +38 -0
  185. package/dist/services/preferences/preferences-types.d.ts +148 -0
  186. package/dist/services/progress/progress-service.d.ts +125 -0
  187. package/dist/services/progress/progress-service.js +192 -0
  188. package/dist/services/providers/minimax-worker-service.d.ts +21 -0
  189. package/dist/services/providers/minimax-worker-service.js +83 -0
  190. package/dist/services/rd/rd-service.js +441 -0
  191. package/dist/services/rd/standards-diagnostic.d.ts +76 -0
  192. package/dist/services/rd/standards-diagnostic.js +166 -0
  193. package/dist/services/rd/types.d.ts +252 -0
  194. package/dist/services/recommendations/capability-seed-items.js +140 -0
  195. package/dist/services/recommendations/capability-seed-mappings.js +54 -0
  196. package/dist/services/recommendations/recommendation-service.js +106 -0
  197. package/dist/services/refactor/refactor-service.d.ts +9 -0
  198. package/dist/services/runtime/runtime-detector.d.ts +15 -0
  199. package/dist/services/runtime/runtime-detector.js +62 -0
  200. package/dist/services/runtime/runtime-service.d.ts +59 -0
  201. package/dist/services/runtime/runtime-service.js +51 -0
  202. package/dist/services/runtime/vendor-adapter.d.ts +59 -0
  203. package/dist/services/runtime/vendors/claude-code.d.ts +7 -0
  204. package/dist/services/runtime/vendors/claude-code.js +39 -0
  205. package/dist/services/runtime/vendors/codex.d.ts +7 -0
  206. package/dist/services/runtime/vendors/codex.js +43 -0
  207. package/dist/services/runtime/vendors/copilot.d.ts +7 -0
  208. package/dist/services/runtime/vendors/copilot.js +40 -0
  209. package/dist/services/sc/sc-service.js +552 -0
  210. package/dist/services/scan/archetype-service.js +254 -0
  211. package/dist/services/scan/scan-types.d.ts +59 -0
  212. package/dist/services/sediment/dispose-confirm.d.ts +9 -0
  213. package/dist/services/sediment/dispose-confirm.js +5 -0
  214. package/dist/services/sediment/json-schema.d.ts +247 -0
  215. package/dist/services/sediment/json-schema.js +26 -0
  216. package/dist/services/sediment/manifest-lint.d.ts +13 -0
  217. package/dist/services/sediment/manifest-lint.js +11 -0
  218. package/dist/services/sediment/pool-paths.d.ts +22 -0
  219. package/dist/services/sediment/pool-paths.js +25 -0
  220. package/dist/services/sediment/pool-read.d.ts +20 -0
  221. package/dist/services/sediment/pool-read.js +73 -0
  222. package/dist/services/sediment/pool-rebuild-index.d.ts +15 -0
  223. package/dist/services/sediment/pool-rebuild-index.js +28 -0
  224. package/dist/services/sediment/pool-write.d.ts +14 -0
  225. package/dist/services/sediment/pool-write.js +25 -0
  226. package/dist/services/sediment/promotion-gate.d.ts +12 -0
  227. package/dist/services/sediment/promotion-gate.js +20 -0
  228. package/dist/services/sediment/types.d.ts +52 -0
  229. package/dist/services/sediment/types.js +1 -0
  230. package/dist/services/session/binding-store.d.ts +161 -0
  231. package/dist/services/session/binding-store.js +509 -0
  232. package/dist/services/session/caller-id-types.d.ts +77 -0
  233. package/dist/services/session/session-manager.d.ts +168 -0
  234. package/dist/services/session/session-manager.js +502 -0
  235. package/dist/services/share/bundle-reader.d.ts +100 -0
  236. package/dist/services/share/bundle-reader.js +434 -0
  237. package/dist/services/share/bundle-types.d.ts +392 -0
  238. package/dist/services/share/bundle-types.js +318 -0
  239. package/dist/services/share/bundle-writer.d.ts +97 -0
  240. package/dist/services/share/bundle-writer.js +429 -0
  241. package/dist/services/share/run-state-contract.d.ts +133 -0
  242. package/dist/services/share/run-state-contract.js +138 -0
  243. package/dist/services/signal/cancel-handler.js +76 -0
  244. package/dist/services/skill/resume-detector.js +334 -0
  245. package/dist/services/skill/skill-scheduler.d.ts +40 -0
  246. package/dist/services/skill/skill-scheduler.js +53 -0
  247. package/dist/services/skill/skill-search-service.d.ts +88 -0
  248. package/dist/services/skill/skill-search-service.js +228 -0
  249. package/dist/services/skillhub/release-diff.d.ts +18 -0
  250. package/dist/services/skillhub/release-diff.js +38 -0
  251. package/dist/services/skillhub/release-export.d.ts +8 -0
  252. package/dist/services/skillhub/release-export.js +31 -0
  253. package/dist/services/skillhub/release-gc-blobs.d.ts +13 -0
  254. package/dist/services/skillhub/release-gc-blobs.js +32 -0
  255. package/dist/services/skillhub/release-import.d.ts +7 -0
  256. package/dist/services/skillhub/release-import.js +64 -0
  257. package/dist/services/skillhub/release-retain.d.ts +23 -0
  258. package/dist/services/skillhub/release-retain.js +94 -0
  259. package/dist/services/skillhub/sqlite-store.d.ts +22 -0
  260. package/dist/services/skillhub/sqlite-store.js +63 -0
  261. package/dist/services/skillhub/tar-runtime.d.ts +21 -0
  262. package/dist/services/skillhub/tar-runtime.js +91 -0
  263. package/dist/services/skillhub/types.d.ts +115 -0
  264. package/dist/services/skillhub/types.js +1 -0
  265. package/dist/services/skills/skill-conformance-service.js +139 -0
  266. package/dist/services/skills/skill-presence-service.d.ts +158 -0
  267. package/dist/services/skills/skill-presence-service.js +474 -0
  268. package/dist/services/skills/skill-registry.js +67 -0
  269. package/dist/services/skills/skill-runbook-service.js +128 -0
  270. package/dist/services/slice/slice-check-service.js +459 -0
  271. package/dist/services/slice/slice-check-types.d.ts +104 -0
  272. package/dist/services/slice/slice-check-types.js +28 -0
  273. package/dist/services/slice/slice-decompose-types.d.ts +263 -0
  274. package/dist/services/slice/slice-decompose-types.js +30 -0
  275. package/dist/services/standards/ide-aware-standards-service.js +91 -0
  276. package/dist/services/standards/loop-engineering-lint.d.ts +38 -0
  277. package/dist/services/standards/loop-engineering-lint.js +101 -0
  278. package/dist/services/standards/loop-engineering-readiness-lint.d.ts +111 -0
  279. package/dist/services/standards/loop-engineering-readiness-lint.js +248 -0
  280. package/dist/services/standards/migrate-claude-rules-service.js +214 -0
  281. package/dist/services/standards/missing-standards-detector.d.ts +81 -0
  282. package/dist/services/standards/missing-standards-detector.js +139 -0
  283. package/dist/services/standards/project-standards-service.d.ts +114 -0
  284. package/dist/services/standards/project-standards-service.js +693 -0
  285. package/dist/services/understand/hybrid-types.js +1 -0
  286. package/dist/services/understand/understand-types.d.ts +50 -0
  287. package/dist/services/understand/understand-types.js +1 -0
  288. package/dist/services/upgrade/1x-detector-service.js +94 -0
  289. package/dist/services/upgrade/upgrade-service.d.ts +81 -0
  290. package/dist/services/upgrade/upgrade-service.js +403 -0
  291. package/dist/services/verdict/verdict-aggregator.d.ts +94 -0
  292. package/dist/services/workflow/pipeline-verify-service.d.ts +90 -0
  293. package/dist/services/workflow/pipeline-verify-service.js +449 -0
  294. package/dist/services/workflow/workflow-autonomous-service.d.ts +100 -0
  295. package/dist/services/workflow/workflow-autonomous-service.js +306 -0
  296. package/dist/services/workflow/workflow-router-service.d.ts +85 -0
  297. package/dist/services/workflow/workflow-router-service.js +233 -0
  298. package/dist/services/workspace/claude-settings-template.d.ts +101 -0
  299. package/dist/services/workspace/claude-settings-template.js +254 -0
  300. package/dist/services/workspace/templates/project-scan/audit-output-schema.md +100 -0
  301. package/dist/services/workspace/templates/project-scan/business-knowledge.md +44 -0
  302. package/dist/services/workspace/templates/project-scan/index.d.ts +34 -0
  303. package/dist/services/workspace/templates/project-scan/index.js +60 -0
  304. package/dist/services/workspace/templates/project-scan/perf-template.md +109 -0
  305. package/dist/services/workspace/templates/project-scan/security-template.md +99 -0
  306. package/dist/services/workspace/workspace-claude-settings-materializer.d.ts +45 -0
  307. package/dist/services/workspace/workspace-claude-settings-materializer.js +194 -0
  308. package/dist/services/workspace/workspace-service.d.ts +177 -0
  309. package/dist/services/workspace/workspace-service.js +432 -0
  310. package/dist/shared/paths.d.ts +6 -0
  311. package/dist/shared/paths.js +50 -0
  312. package/dist/shared/version.d.ts +1 -0
  313. package/dist/shared/version.js +1 -0
  314. package/dist/skills/peaks-maker/index.d.ts +5 -0
  315. package/dist/skills/peaks-maker/index.js +32 -0
  316. package/examples/video-demo/README.md +142 -0
  317. package/examples/video-demo/out/en-closing-960.png +0 -0
  318. package/examples/video-demo/out/zh-closing-960.png +0 -0
  319. package/examples/video-demo/preview/peaks-loop-demo-en.mp4 +0 -0
  320. package/examples/video-demo/preview/peaks-loop-demo.mp4 +0 -0
  321. package/output-styles/peaks-skill-swarm.md +3 -3
  322. package/package.json +35 -12
  323. package/scripts/copy-templates.mjs +64 -0
  324. package/scripts/install-skills.mjs +42 -14
  325. package/skills/bee/peaks-prd/SKILL.md +325 -0
  326. package/skills/bee/peaks-prd/references/workflow.md +43 -0
  327. package/skills/bee/peaks-qa/SKILL.md +246 -0
  328. package/skills/bee/peaks-qa/references/artifact-per-request.md +25 -0
  329. package/skills/bee/peaks-qa/references/browser-validation-contracts.md +51 -0
  330. package/skills/bee/peaks-qa/references/external-capability-guidance.md +9 -0
  331. package/skills/bee/peaks-qa/references/qa-fanout-contract.md +158 -0
  332. package/skills/bee/peaks-qa/references/qa-sub-agent-dispatch.md +46 -0
  333. package/skills/bee/peaks-rd/SKILL.md +286 -0
  334. package/skills/bee/peaks-rd/references/browser-self-test-contracts.md +29 -0
  335. package/skills/bee/peaks-rd/references/library-version-awareness.md +30 -0
  336. package/skills/bee/peaks-rd/references/mock-data-placement.md +40 -0
  337. package/skills/bee/peaks-rd/references/parallel-review-fanout.md +90 -0
  338. package/skills/bee/peaks-rd/references/rd-fanout-contracts.md +216 -0
  339. package/skills/bee/peaks-rd/references/rd-runbook.md +190 -0
  340. package/skills/bee/peaks-rd/references/rd-sub-agent-dispatch.md +111 -0
  341. package/skills/bee/peaks-rd/references/rd-transition-gates.md +148 -0
  342. package/skills/bee/peaks-rd/references/skill-presence-and-title.md +22 -0
  343. package/skills/bee/peaks-rd/references/writing-handoff-frontmatter.md +68 -0
  344. package/skills/bee/peaks-reviewer/SKILL.md +76 -0
  345. package/skills/bee/peaks-sc/SKILL.md +172 -0
  346. package/skills/bee/peaks-txt/SKILL.md +309 -0
  347. package/skills/bee/peaks-ui/SKILL.md +375 -0
  348. package/skills/peaks-audit/SKILL.md +1 -1
  349. package/skills/peaks-code/SKILL.md +288 -0
  350. package/skills/peaks-code/references/a2a-artifact-mapping.md +115 -0
  351. package/skills/peaks-code/references/anchoring-and-session-info.md +34 -0
  352. package/skills/peaks-code/references/artifact-contracts.md +65 -0
  353. package/skills/peaks-code/references/boundaries.md +21 -0
  354. package/skills/peaks-code/references/browser-workflow.md +127 -0
  355. package/skills/peaks-code/references/codegraph-orchestration.md +5 -0
  356. package/skills/peaks-code/references/command-migration.md +3 -0
  357. package/skills/peaks-code/references/completion-handoff.md +23 -0
  358. package/skills/peaks-code/references/context-governance.md +204 -0
  359. package/skills/peaks-code/references/dag-orchestrator.md +56 -0
  360. package/skills/peaks-code/references/external-references.md +15 -0
  361. package/skills/peaks-code/references/external-skill-invocation.md +72 -0
  362. package/skills/peaks-code/references/fanout-mandatory.md +109 -0
  363. package/skills/peaks-code/references/fast-mode.md +23 -0
  364. package/skills/peaks-code/references/frontend-only-mode.md +87 -0
  365. package/skills/peaks-code/references/job-loop.md +68 -0
  366. package/skills/peaks-code/references/local-artifact-workspace.md +79 -0
  367. package/skills/peaks-code/references/micro-cycle.md +316 -0
  368. package/skills/peaks-code/references/mode-selection-with-stale-presence.md +124 -0
  369. package/skills/peaks-code/references/mode-selection.md +21 -0
  370. package/skills/peaks-code/references/periodic-checkpoint.md +81 -0
  371. package/skills/peaks-code/references/project-scan-checklist.md +138 -0
  372. package/skills/peaks-code/references/quality-gate-cheatsheet.md +13 -0
  373. package/skills/peaks-code/references/refactor-mode.md +24 -0
  374. package/skills/peaks-code/references/resume-detection.md +63 -0
  375. package/skills/peaks-code/references/runbook.md +247 -0
  376. package/skills/peaks-code/references/skill-presence-and-title.md +31 -0
  377. package/skills/peaks-code/references/standards-preflight.md +23 -0
  378. package/skills/peaks-code/references/step-0-55-1x-detection.md +83 -0
  379. package/skills/peaks-code/references/step-0-8-gate.md +60 -0
  380. package/skills/peaks-code/references/step-11-memory-sediment.md +56 -0
  381. package/skills/peaks-code/references/sub-agent-dispatch.md +334 -0
  382. package/skills/peaks-code/references/swarm-dispatch-contract.md +230 -0
  383. package/skills/peaks-code/references/workflow-gates-and-types.md +186 -0
  384. package/skills/peaks-code/references/workflow.md +38 -0
  385. package/skills/peaks-content/SKILL.md +272 -0
  386. package/skills/peaks-doctor/SKILL.md +1 -1
  387. package/skills/peaks-doctor/references/doctor-check-catalog.md +1 -1
  388. package/skills/peaks-final-review/SKILL.md +3 -3
  389. package/skills/peaks-final-review/references/4-dimensions.md +1 -1
  390. package/skills/peaks-ide/SKILL.md +1 -1
  391. package/skills/peaks-issue-fix-orchestrator/SKILL.md +307 -0
  392. package/skills/peaks-resume/SKILL.md +81 -0
  393. package/skills/peaks-slice-decompose/SKILL.md +61 -1
  394. package/skills/peaks-solo/SKILL.md +136 -231
  395. package/skills/peaks-solo/references/fallback-tool-inventory.md +46 -0
  396. package/skills/peaks-solo/references/sediment-prompt-template.md +62 -0
  397. package/skills/peaks-solo/references/triage-decision-table.md +31 -0
  398. package/skills/peaks-sop/SKILL.md +1 -1
  399. package/skills/peaks-status/SKILL.md +120 -0
  400. package/skills/peaks-test/SKILL.md +84 -0
  401. package/dist/src/cli/cli-helpers.d.ts +0 -25
  402. package/dist/src/cli/cli-helpers.js +0 -78
  403. package/dist/src/cli/commands/context-commands.d.ts +0 -21
  404. package/dist/src/cli/commands/context-commands.js +0 -254
  405. package/dist/src/cli/commands/contract-commands.d.ts +0 -26
  406. package/dist/src/cli/commands/contract-commands.js +0 -114
  407. package/dist/src/cli/commands/core/session-command.js +0 -229
  408. package/dist/src/cli/commands/core/skill-command.js +0 -275
  409. package/dist/src/cli/commands/dispatch-commands.js +0 -351
  410. package/dist/src/cli/commands/dispatch-from-dag.js +0 -251
  411. package/dist/src/cli/commands/hook-handle.js +0 -157
  412. package/dist/src/cli/commands/job-commands.js +0 -289
  413. package/dist/src/cli/commands/loop-commands.d.ts +0 -21
  414. package/dist/src/cli/commands/loop-commands.js +0 -128
  415. package/dist/src/cli/commands/observability-commands.js +0 -201
  416. package/dist/src/cli/commands/perf-audit-commands.js +0 -132
  417. package/dist/src/cli/commands/project-commands.js +0 -248
  418. package/dist/src/cli/commands/security-audit-commands.js +0 -132
  419. package/dist/src/cli/commands/session-auto-compact-hook-command.js +0 -127
  420. package/dist/src/cli/commands/slice-commands.js +0 -492
  421. package/dist/src/cli/commands/solo-commands.d.ts +0 -80
  422. package/dist/src/cli/commands/solo-commands.js +0 -798
  423. package/dist/src/cli/commands/sub-agent-commands.d.ts +0 -22
  424. package/dist/src/cli/commands/sub-agent-commands.js +0 -19
  425. package/dist/src/cli/commands/sub-agent-shared.d.ts +0 -99
  426. package/dist/src/cli/commands/understand-commands.js +0 -148
  427. package/dist/src/cli/commands/upgrade-commands.d.ts +0 -23
  428. package/dist/src/cli/commands/upgrade-commands.js +0 -119
  429. package/dist/src/cli/commands/user-touchpoint-commands.d.ts +0 -18
  430. package/dist/src/cli/commands/user-touchpoint-commands.js +0 -78
  431. package/dist/src/cli/commands/verdict-aggregate-command.d.ts +0 -14
  432. package/dist/src/cli/commands/verdict-aggregate-command.js +0 -106
  433. package/dist/src/cli/commands/workflow-commands.js +0 -535
  434. package/dist/src/cli/commands/workspace/init-command.d.ts +0 -121
  435. package/dist/src/cli/commands/workspace/init-command.js +0 -436
  436. package/dist/src/cli/program.js +0 -351
  437. package/dist/src/services/artifacts/repair-cycle-service.js +0 -52
  438. package/dist/src/services/audit/enforcers/active-skill-resolver.d.ts +0 -29
  439. package/dist/src/services/audit/enforcers/active-skill-resolver.js +0 -71
  440. package/dist/src/services/audit/enforcers/solo-code-ban.d.ts +0 -23
  441. package/dist/src/services/audit/enforcers/solo-code-ban.js +0 -27
  442. package/dist/src/services/audit/red-line-catalog.d.ts +0 -51
  443. package/dist/src/services/audit/red-line-catalog.js +0 -195
  444. package/dist/src/services/audit/scanners/skills-tree-scanner.js +0 -46
  445. package/dist/src/services/audit/types.d.ts +0 -86
  446. package/dist/src/services/config/model-routing.d.ts +0 -4
  447. package/dist/src/services/config/model-routing.js +0 -17
  448. package/dist/src/services/context/auto-compact-dispatcher.d.ts +0 -37
  449. package/dist/src/services/context/auto-compact-dispatcher.js +0 -240
  450. package/dist/src/services/context/auto-compact-types.d.ts +0 -143
  451. package/dist/src/services/context/context-schema.d.ts +0 -415
  452. package/dist/src/services/dispatch/batch-counter.js +0 -102
  453. package/dist/src/services/dispatch/leak-detector.js +0 -72
  454. package/dist/src/services/dispatch/slice-dag.d.ts +0 -81
  455. package/dist/src/services/dispatch/test-tool-detection.d.ts +0 -36
  456. package/dist/src/services/dispatch/test-tool-detection.js +0 -46
  457. package/dist/src/services/doctor/doctor-service.js +0 -929
  458. package/dist/src/services/feedback/feedback-promotion-service.js +0 -300
  459. package/dist/src/services/filesystem/file-lock.js +0 -129
  460. package/dist/src/services/ide/ide-registry.js +0 -60
  461. package/dist/src/services/ide/ide-types.d.ts +0 -230
  462. package/dist/src/services/job/job-progress-store.d.ts +0 -60
  463. package/dist/src/services/job/job-progress-store.js +0 -70
  464. package/dist/src/services/job/job-resource-snapshot.js +0 -47
  465. package/dist/src/services/memory/project-context-service.d.ts +0 -11
  466. package/dist/src/services/memory/project-context-service.js +0 -148
  467. package/dist/src/services/memory/project-memory-service.js +0 -817
  468. package/dist/src/services/observability/aggregation.d.ts +0 -64
  469. package/dist/src/services/observability/aggregation.js +0 -217
  470. package/dist/src/services/perf/perf-baseline-service.d.ts +0 -70
  471. package/dist/src/services/perf/perf-baseline-service.js +0 -214
  472. package/dist/src/services/prd/handoff-types.d.ts +0 -64
  473. package/dist/src/services/prd/handoff-types.js +0 -22
  474. package/dist/src/services/preferences/preferences-service.d.ts +0 -38
  475. package/dist/src/services/preferences/preferences-types.d.ts +0 -148
  476. package/dist/src/services/progress/progress-service.d.ts +0 -125
  477. package/dist/src/services/progress/progress-service.js +0 -192
  478. package/dist/src/services/providers/minimax-worker-service.d.ts +0 -21
  479. package/dist/src/services/providers/minimax-worker-service.js +0 -83
  480. package/dist/src/services/rd/rd-service.js +0 -438
  481. package/dist/src/services/rd/standards-diagnostic.d.ts +0 -76
  482. package/dist/src/services/rd/standards-diagnostic.js +0 -166
  483. package/dist/src/services/rd/types.d.ts +0 -252
  484. package/dist/src/services/recommendations/capability-seed-items.js +0 -140
  485. package/dist/src/services/recommendations/capability-seed-mappings.js +0 -54
  486. package/dist/src/services/recommendations/recommendation-service.js +0 -106
  487. package/dist/src/services/refactor/refactor-service.d.ts +0 -9
  488. package/dist/src/services/sc/sc-service.js +0 -552
  489. package/dist/src/services/scan/archetype-service.js +0 -242
  490. package/dist/src/services/scan/scan-types.d.ts +0 -59
  491. package/dist/src/services/session/binding-store.d.ts +0 -161
  492. package/dist/src/services/session/binding-store.js +0 -509
  493. package/dist/src/services/session/caller-id-types.d.ts +0 -77
  494. package/dist/src/services/session/session-manager.d.ts +0 -168
  495. package/dist/src/services/session/session-manager.js +0 -502
  496. package/dist/src/services/signal/cancel-handler.js +0 -76
  497. package/dist/src/services/skill/resume-detector.js +0 -334
  498. package/dist/src/services/skill/skill-scheduler.d.ts +0 -40
  499. package/dist/src/services/skill/skill-scheduler.js +0 -53
  500. package/dist/src/services/skills/skill-conformance-service.js +0 -136
  501. package/dist/src/services/skills/skill-presence-service.d.ts +0 -158
  502. package/dist/src/services/skills/skill-presence-service.js +0 -474
  503. package/dist/src/services/skills/skill-registry.js +0 -40
  504. package/dist/src/services/skills/skill-runbook-service.js +0 -128
  505. package/dist/src/services/slice/slice-check-service.js +0 -459
  506. package/dist/src/services/slice/slice-check-types.d.ts +0 -104
  507. package/dist/src/services/slice/slice-check-types.js +0 -28
  508. package/dist/src/services/slice/slice-decompose-types.d.ts +0 -263
  509. package/dist/src/services/slice/slice-decompose-types.js +0 -30
  510. package/dist/src/services/solo/auto-compact-orchestrator.d.ts +0 -98
  511. package/dist/src/services/solo/auto-compact-orchestrator.js +0 -343
  512. package/dist/src/services/solo/dag-orchestrator.d.ts +0 -128
  513. package/dist/src/services/solo/dag-orchestrator.js +0 -304
  514. package/dist/src/services/solo/emit-handoff.d.ts +0 -49
  515. package/dist/src/services/solo/emit-handoff.js +0 -79
  516. package/dist/src/services/solo/job-shape-decision.d.ts +0 -71
  517. package/dist/src/services/solo/job-shape-decision.js +0 -151
  518. package/dist/src/services/solo/mode-gate.d.ts +0 -163
  519. package/dist/src/services/solo/mode-gate.js +0 -212
  520. package/dist/src/services/solo/post-compact-detector.d.ts +0 -61
  521. package/dist/src/services/solo/post-compact-detector.js +0 -240
  522. package/dist/src/services/solo/status-line-renderer.d.ts +0 -34
  523. package/dist/src/services/solo/step-08-gate.d.ts +0 -90
  524. package/dist/src/services/solo/step-08-gate.js +0 -136
  525. package/dist/src/services/solo/user-touchpoint-classifier.d.ts +0 -44
  526. package/dist/src/services/solo/user-touchpoint-classifier.js +0 -145
  527. package/dist/src/services/standards/ide-aware-standards-service.js +0 -89
  528. package/dist/src/services/standards/migrate-claude-rules-service.js +0 -193
  529. package/dist/src/services/standards/missing-standards-detector.d.ts +0 -79
  530. package/dist/src/services/standards/missing-standards-detector.js +0 -132
  531. package/dist/src/services/standards/project-standards-service.d.ts +0 -114
  532. package/dist/src/services/standards/project-standards-service.js +0 -574
  533. package/dist/src/services/understand/understand-types.d.ts +0 -50
  534. package/dist/src/services/upgrade/1x-detector-service.js +0 -94
  535. package/dist/src/services/upgrade/upgrade-service.d.ts +0 -47
  536. package/dist/src/services/upgrade/upgrade-service.js +0 -381
  537. package/dist/src/services/verdict/verdict-aggregator.d.ts +0 -94
  538. package/dist/src/services/workflow/pipeline-verify-service.d.ts +0 -90
  539. package/dist/src/services/workflow/pipeline-verify-service.js +0 -449
  540. package/dist/src/services/workflow/workflow-autonomous-service.d.ts +0 -100
  541. package/dist/src/services/workflow/workflow-autonomous-service.js +0 -306
  542. package/dist/src/services/workflow/workflow-router-service.d.ts +0 -85
  543. package/dist/src/services/workflow/workflow-router-service.js +0 -227
  544. package/dist/src/services/workspace/claude-settings-template.d.ts +0 -101
  545. package/dist/src/services/workspace/claude-settings-template.js +0 -254
  546. package/dist/src/services/workspace/workspace-claude-settings-materializer.d.ts +0 -45
  547. package/dist/src/services/workspace/workspace-claude-settings-materializer.js +0 -194
  548. package/dist/src/services/workspace/workspace-service.d.ts +0 -177
  549. package/dist/src/services/workspace/workspace-service.js +0 -432
  550. package/dist/src/shared/paths.d.ts +0 -6
  551. package/dist/src/shared/paths.js +0 -50
  552. package/dist/src/shared/version.d.ts +0 -1
  553. package/dist/src/shared/version.js +0 -1
  554. package/skills/peaks-prd/SKILL.md +0 -319
  555. package/skills/peaks-prd/references/workflow.md +0 -43
  556. package/skills/peaks-qa/SKILL.md +0 -240
  557. package/skills/peaks-qa/references/artifact-per-request.md +0 -25
  558. package/skills/peaks-qa/references/browser-validation-contracts.md +0 -51
  559. package/skills/peaks-qa/references/external-capability-guidance.md +0 -9
  560. package/skills/peaks-qa/references/qa-fanout-contract.md +0 -158
  561. package/skills/peaks-qa/references/qa-sub-agent-dispatch.md +0 -46
  562. package/skills/peaks-rd/SKILL.md +0 -279
  563. package/skills/peaks-rd/references/browser-self-test-contracts.md +0 -29
  564. package/skills/peaks-rd/references/library-version-awareness.md +0 -30
  565. package/skills/peaks-rd/references/mock-data-placement.md +0 -40
  566. package/skills/peaks-rd/references/parallel-review-fanout.md +0 -90
  567. package/skills/peaks-rd/references/rd-fanout-contracts.md +0 -216
  568. package/skills/peaks-rd/references/rd-runbook.md +0 -190
  569. package/skills/peaks-rd/references/rd-sub-agent-dispatch.md +0 -111
  570. package/skills/peaks-rd/references/rd-transition-gates.md +0 -148
  571. package/skills/peaks-rd/references/skill-presence-and-title.md +0 -22
  572. package/skills/peaks-rd/references/writing-handoff-frontmatter.md +0 -68
  573. package/skills/peaks-reviewer/SKILL.md +0 -76
  574. package/skills/peaks-sc/SKILL.md +0 -166
  575. package/skills/peaks-solo/references/a2a-artifact-mapping.md +0 -115
  576. package/skills/peaks-solo/references/anchoring-and-session-info.md +0 -34
  577. package/skills/peaks-solo/references/artifact-contracts.md +0 -65
  578. package/skills/peaks-solo/references/boundaries.md +0 -21
  579. package/skills/peaks-solo/references/browser-workflow.md +0 -127
  580. package/skills/peaks-solo/references/codegraph-orchestration.md +0 -5
  581. package/skills/peaks-solo/references/command-migration.md +0 -3
  582. package/skills/peaks-solo/references/completion-handoff.md +0 -23
  583. package/skills/peaks-solo/references/context-governance.md +0 -204
  584. package/skills/peaks-solo/references/dag-orchestrator.md +0 -56
  585. package/skills/peaks-solo/references/external-references.md +0 -17
  586. package/skills/peaks-solo/references/external-skill-invocation.md +0 -72
  587. package/skills/peaks-solo/references/fanout-mandatory.md +0 -109
  588. package/skills/peaks-solo/references/fast-mode.md +0 -23
  589. package/skills/peaks-solo/references/frontend-only-mode.md +0 -87
  590. package/skills/peaks-solo/references/job-loop.md +0 -68
  591. package/skills/peaks-solo/references/local-artifact-workspace.md +0 -79
  592. package/skills/peaks-solo/references/micro-cycle.md +0 -316
  593. package/skills/peaks-solo/references/mode-selection-with-stale-presence.md +0 -124
  594. package/skills/peaks-solo/references/mode-selection.md +0 -21
  595. package/skills/peaks-solo/references/openspec-workflow.md +0 -81
  596. package/skills/peaks-solo/references/periodic-checkpoint.md +0 -81
  597. package/skills/peaks-solo/references/project-scan-checklist.md +0 -136
  598. package/skills/peaks-solo/references/quality-gate-cheatsheet.md +0 -13
  599. package/skills/peaks-solo/references/refactor-mode.md +0 -24
  600. package/skills/peaks-solo/references/resume-detection.md +0 -63
  601. package/skills/peaks-solo/references/runbook.md +0 -249
  602. package/skills/peaks-solo/references/skill-presence-and-title.md +0 -31
  603. package/skills/peaks-solo/references/standards-preflight.md +0 -23
  604. package/skills/peaks-solo/references/step-0-55-1x-detection.md +0 -82
  605. package/skills/peaks-solo/references/step-0-8-gate.md +0 -60
  606. package/skills/peaks-solo/references/sub-agent-dispatch.md +0 -334
  607. package/skills/peaks-solo/references/swarm-dispatch-contract.md +0 -230
  608. package/skills/peaks-solo/references/workflow-gates-and-types.md +0 -186
  609. package/skills/peaks-solo/references/workflow.md +0 -38
  610. package/skills/peaks-solo-resume/SKILL.md +0 -81
  611. package/skills/peaks-solo-status/SKILL.md +0 -120
  612. package/skills/peaks-solo-test/SKILL.md +0 -84
  613. package/skills/peaks-txt/SKILL.md +0 -303
  614. package/skills/peaks-ui/SKILL.md +0 -369
  615. /package/dist/{src/cli → cli}/commands/agent-commands.d.ts +0 -0
  616. /package/dist/{src/cli → cli}/commands/agent-commands.js +0 -0
  617. /package/dist/{src/cli → cli}/commands/audit-commands.d.ts +0 -0
  618. /package/dist/{src/cli → cli}/commands/audit-commands.js +0 -0
  619. /package/dist/{src/cli → cli}/commands/capability-commands.d.ts +0 -0
  620. /package/dist/{src/cli → cli}/commands/capability-commands.js +0 -0
  621. /package/dist/{src/cli → cli}/commands/capability-worker-config-sc-commands.d.ts +0 -0
  622. /package/dist/{src/cli → cli}/commands/capability-worker-config-sc-commands.js +0 -0
  623. /package/dist/{src/cli → cli}/commands/classify-classify-commands.d.ts +0 -0
  624. /package/dist/{src/cli → cli}/commands/classify-classify-commands.js +0 -0
  625. /package/dist/{src/cli → cli}/commands/code-review-commands.d.ts +0 -0
  626. /package/dist/{src/cli → cli}/commands/code-review-commands.js +0 -0
  627. /package/dist/{src/cli → cli}/commands/codegraph-commands.d.ts +0 -0
  628. /package/dist/{src/cli → cli}/commands/codegraph-commands.js +0 -0
  629. /package/dist/{src/cli → cli}/commands/compact-command.d.ts +0 -0
  630. /package/dist/{src/cli → cli}/commands/compact-command.js +0 -0
  631. /package/dist/{src/cli → cli}/commands/complexity-commands.d.ts +0 -0
  632. /package/dist/{src/cli → cli}/commands/complexity-commands.js +0 -0
  633. /package/dist/{src/cli → cli}/commands/config-commands.d.ts +0 -0
  634. /package/dist/{src/cli → cli}/commands/config-commands.js +0 -0
  635. /package/dist/{src/cli → cli}/commands/context-builder-commands.d.ts +0 -0
  636. /package/dist/{src/cli → cli}/commands/context-builder-commands.js +0 -0
  637. /package/dist/{src/cli → cli}/commands/core/artifacts-command.d.ts +0 -0
  638. /package/dist/{src/cli → cli}/commands/core/artifacts-command.js +0 -0
  639. /package/dist/{src/cli → cli}/commands/core/binding-commands.d.ts +0 -0
  640. /package/dist/{src/cli → cli}/commands/core/binding-commands.js +0 -0
  641. /package/dist/{src/cli → cli}/commands/core/doctor-command.d.ts +0 -0
  642. /package/dist/{src/cli → cli}/commands/core/doctor-command.js +0 -0
  643. /package/dist/{src/cli → cli}/commands/core/memory-command.d.ts +0 -0
  644. /package/dist/{src/cli → cli}/commands/core/memory-command.js +0 -0
  645. /package/dist/{src/cli → cli}/commands/core/profile-command.d.ts +0 -0
  646. /package/dist/{src/cli → cli}/commands/core/profile-command.js +0 -0
  647. /package/dist/{src/cli → cli}/commands/core/proxy-command.d.ts +0 -0
  648. /package/dist/{src/cli → cli}/commands/core/proxy-command.js +0 -0
  649. /package/dist/{src/cli → cli}/commands/core/session-command.d.ts +0 -0
  650. /package/dist/{src/cli → cli}/commands/core/skill-command.d.ts +0 -0
  651. /package/dist/{src/cli → cli}/commands/core/standards-command.d.ts +0 -0
  652. /package/dist/{src/cli → cli}/commands/core/standards-command.js +0 -0
  653. /package/dist/{src/cli → cli}/commands/core-artifact-commands.d.ts +0 -0
  654. /package/dist/{src/cli → cli}/commands/core-artifact-commands.js +0 -0
  655. /package/dist/{src/cli → cli}/commands/dispatch-commands.d.ts +0 -0
  656. /package/dist/{src/cli → cli}/commands/dispatch-from-dag.d.ts +0 -0
  657. /package/dist/{src/cli → cli}/commands/doc-commands.d.ts +0 -0
  658. /package/dist/{src/cli → cli}/commands/doc-commands.js +0 -0
  659. /package/dist/{src/cli → cli}/commands/feedback-commands.d.ts +0 -0
  660. /package/dist/{src/cli → cli}/commands/feedback-commands.js +0 -0
  661. /package/dist/{src/cli → cli}/commands/final-review-commands.d.ts +0 -0
  662. /package/dist/{src/cli → cli}/commands/final-review-commands.js +0 -0
  663. /package/dist/{src/cli → cli}/commands/fixture-commands.d.ts +0 -0
  664. /package/dist/{src/cli → cli}/commands/fixture-commands.js +0 -0
  665. /package/dist/{src/cli → cli}/commands/fork-commands.d.ts +0 -0
  666. /package/dist/{src/cli → cli}/commands/fork-commands.js +0 -0
  667. /package/dist/{src/cli → cli}/commands/gate-commands.d.ts +0 -0
  668. /package/dist/{src/cli → cli}/commands/gate-commands.js +0 -0
  669. /package/dist/{src/cli → cli}/commands/heartbeat-commands.d.ts +0 -0
  670. /package/dist/{src/cli → cli}/commands/heartbeat-commands.js +0 -0
  671. /package/dist/{src/cli → cli}/commands/hook-handle.d.ts +0 -0
  672. /package/dist/{src/cli → cli}/commands/hooks-commands.d.ts +0 -0
  673. /package/dist/{src/cli → cli}/commands/hooks-commands.js +0 -0
  674. /package/dist/{src/cli → cli}/commands/impact-commands.d.ts +0 -0
  675. /package/dist/{src/cli → cli}/commands/impact-commands.js +0 -0
  676. /package/dist/{src/cli → cli}/commands/job-commands.d.ts +0 -0
  677. /package/dist/{src/cli → cli}/commands/legacy-commands.d.ts +0 -0
  678. /package/dist/{src/cli → cli}/commands/legacy-commands.js +0 -0
  679. /package/dist/{src/cli → cli}/commands/log-commands.d.ts +0 -0
  680. /package/dist/{src/cli → cli}/commands/log-commands.js +0 -0
  681. /package/dist/{src/cli → cli}/commands/loop-eval-commands.d.ts +0 -0
  682. /package/dist/{src/cli → cli}/commands/loop-eval-commands.js +0 -0
  683. /package/dist/{src/cli → cli}/commands/memory-commands.d.ts +0 -0
  684. /package/dist/{src/cli → cli}/commands/memory-commands.js +0 -0
  685. /package/dist/{src/cli → cli}/commands/migrate-1-4-1-command.d.ts +0 -0
  686. /package/dist/{src/cli → cli}/commands/migrate-1-4-1-command.js +0 -0
  687. /package/dist/{src/cli → cli}/commands/migrate-v2-10-to-v2-11-command.d.ts +0 -0
  688. /package/dist/{src/cli → cli}/commands/migrate-v2-10-to-v2-11-command.js +0 -0
  689. /package/dist/{src/cli → cli}/commands/mut-commands.d.ts +0 -0
  690. /package/dist/{src/cli → cli}/commands/mut-commands.js +0 -0
  691. /package/dist/{src/cli → cli}/commands/observability-commands.d.ts +0 -0
  692. /package/dist/{src/cli → cli}/commands/openspec-commands.d.ts +0 -0
  693. /package/dist/{src/cli → cli}/commands/openspec-commands.js +0 -0
  694. /package/dist/{src/cli → cli}/commands/perf-audit-commands.d.ts +0 -0
  695. /package/dist/{src/cli → cli}/commands/perf-commands.d.ts +0 -0
  696. /package/dist/{src/cli → cli}/commands/perf-commands.js +0 -0
  697. /package/dist/{src/cli → cli}/commands/playwright-commands.d.ts +0 -0
  698. /package/dist/{src/cli → cli}/commands/playwright-commands.js +0 -0
  699. /package/dist/{src/cli → cli}/commands/prd-blocks-commands.d.ts +0 -0
  700. /package/dist/{src/cli → cli}/commands/prd-blocks-commands.js +0 -0
  701. /package/dist/{src/cli → cli}/commands/prd-commands.d.ts +0 -0
  702. /package/dist/{src/cli → cli}/commands/prd-commands.js +0 -0
  703. /package/dist/{src/cli → cli}/commands/preferences-commands.d.ts +0 -0
  704. /package/dist/{src/cli → cli}/commands/preferences-commands.js +0 -0
  705. /package/dist/{src/cli → cli}/commands/project-commands.d.ts +0 -0
  706. /package/dist/{src/cli → cli}/commands/qa-business-review-commands.d.ts +0 -0
  707. /package/dist/{src/cli → cli}/commands/qa-business-review-commands.js +0 -0
  708. /package/dist/{src/cli → cli}/commands/qa-commands.d.ts +0 -0
  709. /package/dist/{src/cli → cli}/commands/qa-commands.js +0 -0
  710. /package/dist/{src/cli → cli}/commands/release-commands.d.ts +0 -0
  711. /package/dist/{src/cli → cli}/commands/release-commands.js +0 -0
  712. /package/dist/{src/cli → cli}/commands/request-commands.d.ts +0 -0
  713. /package/dist/{src/cli → cli}/commands/request-commands.js +0 -0
  714. /package/dist/{src/cli → cli}/commands/retrospective-commands.d.ts +0 -0
  715. /package/dist/{src/cli → cli}/commands/retrospective-commands.js +0 -0
  716. /package/dist/{src/cli → cli}/commands/reviewer-commands.d.ts +0 -0
  717. /package/dist/{src/cli → cli}/commands/reviewer-commands.js +0 -0
  718. /package/dist/{src/cli → cli}/commands/role-commands.d.ts +0 -0
  719. /package/dist/{src/cli → cli}/commands/role-commands.js +0 -0
  720. /package/dist/{src/cli → cli}/commands/sc-commands.d.ts +0 -0
  721. /package/dist/{src/cli → cli}/commands/sc-commands.js +0 -0
  722. /package/dist/{src/cli → cli}/commands/scan-commands.d.ts +0 -0
  723. /package/dist/{src/cli → cli}/commands/scan-commands.js +0 -0
  724. /package/dist/{src/cli → cli}/commands/security-audit-commands.d.ts +0 -0
  725. /package/dist/{src/cli → cli}/commands/session-auto-compact-hook-command.d.ts +0 -0
  726. /package/dist/{src/cli → cli}/commands/session-checkpoint-command.d.ts +0 -0
  727. /package/dist/{src/cli → cli}/commands/session-checkpoint-command.js +0 -0
  728. /package/dist/{src/cli → cli}/commands/session-resume-command.d.ts +0 -0
  729. /package/dist/{src/cli → cli}/commands/session-resume-command.js +0 -0
  730. /package/dist/{src/cli → cli}/commands/share-commands.d.ts +0 -0
  731. /package/dist/{src/cli → cli}/commands/share-commands.js +0 -0
  732. /package/dist/{src/cli → cli}/commands/skill-conformance-commands.d.ts +0 -0
  733. /package/dist/{src/cli → cli}/commands/skill-conformance-commands.js +0 -0
  734. /package/dist/{src/cli → cli}/commands/slice-commands.d.ts +0 -0
  735. /package/dist/{src/cli → cli}/commands/slice-integrate-commands.d.ts +0 -0
  736. /package/dist/{src/cli → cli}/commands/slice-integrate-commands.js +0 -0
  737. /package/dist/{src/cli → cli}/commands/slice-review-commands.d.ts +0 -0
  738. /package/dist/{src/cli → cli}/commands/slice-review-commands.js +0 -0
  739. /package/dist/{src/cli → cli}/commands/smoke-commands.d.ts +0 -0
  740. /package/dist/{src/cli → cli}/commands/smoke-commands.js +0 -0
  741. /package/dist/{src/cli → cli}/commands/sop-commands.d.ts +0 -0
  742. /package/dist/{src/cli → cli}/commands/sop-commands.js +0 -0
  743. /package/dist/{src/cli → cli}/commands/statusline-commands.d.ts +0 -0
  744. /package/dist/{src/cli → cli}/commands/statusline-commands.js +0 -0
  745. /package/dist/{src/cli → cli}/commands/sub-agent-dispatch-guard.d.ts +0 -0
  746. /package/dist/{src/cli → cli}/commands/sub-agent-dispatch-guard.js +0 -0
  747. /package/dist/{src/cli → cli}/commands/sub-agent-shared.js +0 -0
  748. /package/dist/{src/cli → cli}/commands/test-commands.d.ts +0 -0
  749. /package/dist/{src/cli → cli}/commands/test-commands.js +0 -0
  750. /package/dist/{src/cli → cli}/commands/understand-commands.d.ts +0 -0
  751. /package/dist/{src/cli → cli}/commands/worker-commands.d.ts +0 -0
  752. /package/dist/{src/cli → cli}/commands/worker-commands.js +0 -0
  753. /package/dist/{src/cli → cli}/commands/workflow-commands.d.ts +0 -0
  754. /package/dist/{src/cli → cli}/commands/workflow-plan-commands.d.ts +0 -0
  755. /package/dist/{src/cli → cli}/commands/workflow-plan-commands.js +0 -0
  756. /package/dist/{src/cli → cli}/commands/workspace/clean-command.d.ts +0 -0
  757. /package/dist/{src/cli → cli}/commands/workspace/clean-command.js +0 -0
  758. /package/dist/{src/cli → cli}/commands/workspace/helpers.d.ts +0 -0
  759. /package/dist/{src/cli → cli}/commands/workspace/helpers.js +0 -0
  760. /package/dist/{src/cli → cli}/commands/workspace/migrate-command.d.ts +0 -0
  761. /package/dist/{src/cli → cli}/commands/workspace/migrate-command.js +0 -0
  762. /package/dist/{src/cli → cli}/commands/workspace/reconcile-command.d.ts +0 -0
  763. /package/dist/{src/cli → cli}/commands/workspace/reconcile-command.js +0 -0
  764. /package/dist/{src/cli → cli}/commands/workspace-commands.d.ts +0 -0
  765. /package/dist/{src/cli → cli}/commands/workspace-commands.js +0 -0
  766. /package/dist/{src/cli → cli}/index.d.ts +0 -0
  767. /package/dist/{src/cli → cli}/index.js +0 -0
  768. /package/dist/{src/cli → cli}/program.d.ts +0 -0
  769. /package/dist/{src/hooks → hooks}/pre-tool-use-sub-agent.d.ts +0 -0
  770. /package/dist/{src/hooks → hooks}/pre-tool-use-sub-agent.js +0 -0
  771. /package/dist/{src/lib → lib}/render/message-renderer.d.ts +0 -0
  772. /package/dist/{src/lib → lib}/render/message-renderer.js +0 -0
  773. /package/dist/{src/services → services}/agent/ecc-agent-service.d.ts +0 -0
  774. /package/dist/{src/services → services}/agent/ecc-agent-service.js +0 -0
  775. /package/dist/{src/services → services}/artifacts/artifact-lint-service.d.ts +0 -0
  776. /package/dist/{src/services → services}/artifacts/artifact-lint-service.js +0 -0
  777. /package/dist/{src/services → services}/artifacts/artifact-prerequisites.d.ts +0 -0
  778. /package/dist/{src/services → services}/artifacts/artifact-prerequisites.js +0 -0
  779. /package/dist/{src/services → services}/artifacts/artifact-service.d.ts +0 -0
  780. /package/dist/{src/services → services}/artifacts/artifact-service.js +0 -0
  781. /package/dist/{src/services → services}/artifacts/artifact-templates.d.ts +0 -0
  782. /package/dist/{src/services → services}/artifacts/artifact-templates.js +0 -0
  783. /package/dist/{src/services → services}/artifacts/repair-cycle-service.d.ts +0 -0
  784. /package/dist/{src/services → services}/artifacts/request-artifact-service.d.ts +0 -0
  785. /package/dist/{src/services → services}/artifacts/request-artifact-service.js +0 -0
  786. /package/dist/{src/services → services}/artifacts/request-artifact-state-helpers.d.ts +0 -0
  787. /package/dist/{src/services → services}/artifacts/request-artifact-state-helpers.js +0 -0
  788. /package/dist/{src/services → services}/artifacts/workspace-service.d.ts +0 -0
  789. /package/dist/{src/services → services}/artifacts/workspace-service.js +0 -0
  790. /package/dist/{src/services → services}/audit/artifact-writer.d.ts +0 -0
  791. /package/dist/{src/services → services}/audit/artifact-writer.js +0 -0
  792. /package/dist/{src/services → services}/audit/audit-goal-service.d.ts +0 -0
  793. /package/dist/{src/services → services}/audit/audit-goal-service.js +0 -0
  794. /package/dist/{src/services → services}/audit/audit-goal-types.d.ts +0 -0
  795. /package/dist/{src/services → services}/audit/audit-goal-types.js +0 -0
  796. /package/dist/{src/services → services}/audit/backing-detector.d.ts +0 -0
  797. /package/dist/{src/services → services}/audit/backing-detector.js +0 -0
  798. /package/dist/{src/services → services}/audit/classifier.d.ts +0 -0
  799. /package/dist/{src/services → services}/audit/classifier.js +0 -0
  800. /package/dist/{src/services → services}/audit/decision-writer.d.ts +0 -0
  801. /package/dist/{src/services → services}/audit/decision-writer.js +0 -0
  802. /package/dist/{src/services → services}/audit/enforcers/design-draft-confirm.d.ts +0 -0
  803. /package/dist/{src/services → services}/audit/enforcers/design-draft-confirm.js +0 -0
  804. /package/dist/{src/services → services}/audit/enforcers/lint-audit-regression.d.ts +0 -0
  805. /package/dist/{src/services → services}/audit/enforcers/lint-audit-regression.js +0 -0
  806. /package/dist/{src/services → services}/audit/enforcers/lint-catalog-governance.d.ts +0 -0
  807. /package/dist/{src/services → services}/audit/enforcers/lint-catalog-governance.js +0 -0
  808. /package/dist/{src/services → services}/audit/enforcers/lint-cli-back.d.ts +0 -0
  809. /package/dist/{src/services → services}/audit/enforcers/lint-cli-back.js +0 -0
  810. /package/dist/{src/services → services}/audit/enforcers/lint-output-style.d.ts +0 -0
  811. /package/dist/{src/services → services}/audit/enforcers/lint-output-style.js +0 -0
  812. /package/dist/{src/services → services}/audit/enforcers/lint-reference-integrity.d.ts +0 -0
  813. /package/dist/{src/services → services}/audit/enforcers/lint-reference-integrity.js +0 -0
  814. /package/dist/{src/services → services}/audit/enforcers/lint-reference-shape.d.ts +0 -0
  815. /package/dist/{src/services → services}/audit/enforcers/lint-reference-shape.js +0 -0
  816. /package/dist/{src/services → services}/audit/enforcers/lint-style.d.ts +0 -0
  817. /package/dist/{src/services → services}/audit/enforcers/lint-style.js +0 -0
  818. /package/dist/{src/services → services}/audit/enforcers/lint-workflow-shape.d.ts +0 -0
  819. /package/dist/{src/services → services}/audit/enforcers/lint-workflow-shape.js +0 -0
  820. /package/dist/{src/services → services}/audit/enforcers/login-gate.d.ts +0 -0
  821. /package/dist/{src/services → services}/audit/enforcers/login-gate.js +0 -0
  822. /package/dist/{src/services → services}/audit/enforcers/mock-placement.d.ts +0 -0
  823. /package/dist/{src/services → services}/audit/enforcers/mock-placement.js +0 -0
  824. /package/dist/{src/services → services}/audit/enforcers/no-root-pollution.d.ts +0 -0
  825. /package/dist/{src/services → services}/audit/enforcers/no-root-pollution.js +0 -0
  826. /package/dist/{src/services → services}/audit/enforcers/pre-rd-scan.d.ts +0 -0
  827. /package/dist/{src/services → services}/audit/enforcers/pre-rd-scan.js +0 -0
  828. /package/dist/{src/services → services}/audit/enforcers/prototype-fidelity.d.ts +0 -0
  829. /package/dist/{src/services → services}/audit/enforcers/prototype-fidelity.js +0 -0
  830. /package/dist/{src/services → services}/audit/enforcers/resume-detection.d.ts +0 -0
  831. /package/dist/{src/services → services}/audit/enforcers/resume-detection.js +0 -0
  832. /package/dist/{src/services → services}/audit/enforcers/sub-agent-sid.d.ts +0 -0
  833. /package/dist/{src/services → services}/audit/enforcers/sub-agent-sid.js +0 -0
  834. /package/dist/{src/services → services}/audit/prose-ratio-calculator.d.ts +0 -0
  835. /package/dist/{src/services → services}/audit/prose-ratio-calculator.js +0 -0
  836. /package/dist/{src/services → services}/audit/red-line-catalog-p2-a.d.ts +0 -0
  837. /package/dist/{src/services → services}/audit/red-line-catalog-p2-a.js +0 -0
  838. /package/dist/{src/services → services}/audit/red-line-catalog-p2-b.d.ts +0 -0
  839. /package/dist/{src/services → services}/audit/red-line-catalog-p2-b.js +0 -0
  840. /package/dist/{src/services → services}/audit/red-lines-service.d.ts +0 -0
  841. /package/dist/{src/services → services}/audit/red-lines-service.js +0 -0
  842. /package/dist/{src/services → services}/audit/scanners/openspec-scanner.d.ts +0 -0
  843. /package/dist/{src/services → services}/audit/scanners/openspec-scanner.js +0 -0
  844. /package/dist/{src/services → services}/audit/scanners/rules-tree-scanner.d.ts +0 -0
  845. /package/dist/{src/services → services}/audit/scanners/rules-tree-scanner.js +0 -0
  846. /package/dist/{src/services → services}/audit/scanners/skills-tree-scanner.d.ts +0 -0
  847. /package/dist/{src/services → services}/audit/static-service.d.ts +0 -0
  848. /package/dist/{src/services → services}/audit/static-service.js +0 -0
  849. /package/dist/{src/services → services}/audit/types.js +0 -0
  850. /package/dist/{src/services → services}/audit-independent/perf-audit-service.d.ts +0 -0
  851. /package/dist/{src/services → services}/audit-independent/perf-audit-service.js +0 -0
  852. /package/dist/{src/services → services}/audit-independent/security-audit-service.d.ts +0 -0
  853. /package/dist/{src/services → services}/audit-independent/security-audit-service.js +0 -0
  854. /package/dist/{src/services → services}/classify/classify-service.d.ts +0 -0
  855. /package/dist/{src/services → services}/classify/classify-service.js +0 -0
  856. /package/dist/{src/services → services}/classify/classify-types.d.ts +0 -0
  857. /package/dist/{src/services → services}/classify/classify-types.js +0 -0
  858. /package/dist/{src/services/solo → services/code}/batch-heartbeat-poller.d.ts +0 -0
  859. /package/dist/{src/services/solo → services/code}/batch-heartbeat-poller.js +0 -0
  860. /package/dist/{src/services/solo → services/code}/status-line-renderer.js +0 -0
  861. /package/dist/{src/services → services}/code-review/ecc-bridge.d.ts +0 -0
  862. /package/dist/{src/services → services}/code-review/ecc-bridge.js +0 -0
  863. /package/dist/{src/services → services}/code-review/ocr-service.d.ts +0 -0
  864. /package/dist/{src/services → services}/code-review/ocr-service.js +0 -0
  865. /package/dist/{src/services → services}/codegraph/codegraph-process-runner.d.ts +0 -0
  866. /package/dist/{src/services → services}/codegraph/codegraph-process-runner.js +0 -0
  867. /package/dist/{src/services → services}/codegraph/codegraph-service.d.ts +0 -0
  868. /package/dist/{src/services → services}/codegraph/codegraph-service.js +0 -0
  869. /package/dist/{src/services → services}/compact/decision-tables.d.ts +0 -0
  870. /package/dist/{src/services → services}/compact/decision-tables.js +0 -0
  871. /package/dist/{src/services → services}/compact/request-transition-hook.d.ts +0 -0
  872. /package/dist/{src/services → services}/compact/request-transition-hook.js +0 -0
  873. /package/dist/{src/services → services}/compact/suggest-service.d.ts +0 -0
  874. /package/dist/{src/services → services}/compact/suggest-service.js +0 -0
  875. /package/dist/{src/services → services}/complexity/complexity-estimator.d.ts +0 -0
  876. /package/dist/{src/services → services}/complexity/complexity-estimator.js +0 -0
  877. /package/dist/{src/services → services}/config/config-migration.d.ts +0 -0
  878. /package/dist/{src/services → services}/config/config-migration.js +0 -0
  879. /package/dist/{src/services → services}/config/config-restore.d.ts +0 -0
  880. /package/dist/{src/services → services}/config/config-restore.js +0 -0
  881. /package/dist/{src/services → services}/config/config-rollback.d.ts +0 -0
  882. /package/dist/{src/services → services}/config/config-rollback.js +0 -0
  883. /package/dist/{src/services → services}/config/config-safety.d.ts +0 -0
  884. /package/dist/{src/services → services}/config/config-safety.js +0 -0
  885. /package/dist/{src/services → services}/config/config-service.d.ts +0 -0
  886. /package/dist/{src/services → services}/config/config-service.js +0 -0
  887. /package/dist/{src/services → services}/config/config-types.d.ts +0 -0
  888. /package/dist/{src/services → services}/config/config-types.js +0 -0
  889. /package/dist/{src/services → services}/config/provider-service.d.ts +0 -0
  890. /package/dist/{src/services → services}/config/provider-service.js +0 -0
  891. /package/dist/{src/services → services}/config/proxy-service.d.ts +0 -0
  892. /package/dist/{src/services → services}/config/proxy-service.js +0 -0
  893. /package/dist/{src/services → services}/config/sidecar-store.d.ts +0 -0
  894. /package/dist/{src/services → services}/config/sidecar-store.js +0 -0
  895. /package/dist/{src/services → services}/config/workspace-state-service.d.ts +0 -0
  896. /package/dist/{src/services → services}/config/workspace-state-service.js +0 -0
  897. /package/dist/{src/services → services}/context/artifact-meta.d.ts +0 -0
  898. /package/dist/{src/services → services}/context/artifact-meta.js +0 -0
  899. /package/dist/{src/services → services}/context/auto-compact-reader.d.ts +0 -0
  900. /package/dist/{src/services → services}/context/auto-compact-reader.js +0 -0
  901. /package/dist/{src/services → services}/context/auto-compact-types.js +0 -0
  902. /package/dist/{src/services → services}/context/collector.d.ts +0 -0
  903. /package/dist/{src/services → services}/context/collector.js +0 -0
  904. /package/dist/{src/services → services}/context/context-builder.d.ts +0 -0
  905. /package/dist/{src/services → services}/context/context-builder.js +0 -0
  906. /package/dist/{src/services → services}/context/context-guard.d.ts +0 -0
  907. /package/dist/{src/services → services}/context/context-guard.js +0 -0
  908. /package/dist/{src/services → services}/context/context-schema.js +0 -0
  909. /package/dist/{src/services → services}/context/dispatch-context-guard.d.ts +0 -0
  910. /package/dist/{src/services → services}/context/dispatch-context-guard.js +0 -0
  911. /package/dist/{src/services → services}/context/doc-retriever.d.ts +0 -0
  912. /package/dist/{src/services → services}/context/doc-retriever.js +0 -0
  913. /package/dist/{src/services → services}/context/headroom-client.d.ts +0 -0
  914. /package/dist/{src/services → services}/context/headroom-client.js +0 -0
  915. /package/dist/{src/services → services}/context/headroom-fetcher.d.ts +0 -0
  916. /package/dist/{src/services → services}/context/headroom-fetcher.js +0 -0
  917. /package/dist/{src/services → services}/context/headroom-prefs.d.ts +0 -0
  918. /package/dist/{src/services → services}/context/headroom-prefs.js +0 -0
  919. /package/dist/{src/services → services}/context/index.d.ts +0 -0
  920. /package/dist/{src/services → services}/context/index.js +0 -0
  921. /package/dist/{src/services → services}/context/main-session-monitor.d.ts +0 -0
  922. /package/dist/{src/services → services}/context/main-session-monitor.js +0 -0
  923. /package/dist/{src/services → services}/context/renderer.d.ts +0 -0
  924. /package/dist/{src/services → services}/context/renderer.js +0 -0
  925. /package/dist/{src/services → services}/context/shared-channel.d.ts +0 -0
  926. /package/dist/{src/services → services}/context/shared-channel.js +0 -0
  927. /package/dist/{src/services → services}/context/threshold.d.ts +0 -0
  928. /package/dist/{src/services → services}/context/threshold.js +0 -0
  929. /package/dist/{src/services → services}/context/tokenizer.d.ts +0 -0
  930. /package/dist/{src/services → services}/context/tokenizer.js +0 -0
  931. /package/dist/{src/services → services}/context/types.d.ts +0 -0
  932. /package/dist/{src/services → services}/context/types.js +0 -0
  933. /package/dist/{src/services → services}/dashboard/project-dashboard-service.d.ts +0 -0
  934. /package/dist/{src/services → services}/dashboard/project-dashboard-service.js +0 -0
  935. /package/dist/{src/services → services}/dispatch/batch-counter.d.ts +0 -0
  936. /package/dist/{src/services → services}/dispatch/contract-store.d.ts +0 -0
  937. /package/dist/{src/services → services}/dispatch/contract-store.js +0 -0
  938. /package/dist/{src/services → services}/dispatch/dispatch-record-writer.d.ts +0 -0
  939. /package/dist/{src/services → services}/dispatch/dispatch-record-writer.js +0 -0
  940. /package/dist/{src/services → services}/dispatch/heartbeat-truncator.d.ts +0 -0
  941. /package/dist/{src/services → services}/dispatch/heartbeat-truncator.js +0 -0
  942. /package/dist/{src/services → services}/dispatch/leak-detector.d.ts +0 -0
  943. /package/dist/{src/services → services}/dispatch/slice-dag.js +0 -0
  944. /package/dist/{src/services → services}/dispatch/sub-agent-dispatcher.d.ts +0 -0
  945. /package/dist/{src/services → services}/dispatch/sub-agent-dispatcher.js +0 -0
  946. /package/dist/{src/services → services}/doc/doc-generator.d.ts +0 -0
  947. /package/dist/{src/services → services}/doc/doc-generator.js +0 -0
  948. /package/dist/{src/services → services}/doctor/doctor-service.d.ts +0 -0
  949. /package/dist/{src/services → services}/feedback/feedback-promotion-service.d.ts +0 -0
  950. /package/dist/{src/services → services}/filesystem/file-lock.d.ts +0 -0
  951. /package/dist/{src/services → services}/final-review/final-review-service.d.ts +0 -0
  952. /package/dist/{src/services → services}/final-review/final-review-service.js +0 -0
  953. /package/dist/{src/services → services}/final-review/final-review-types.d.ts +0 -0
  954. /package/dist/{src/services → services}/final-review/final-review-types.js +0 -0
  955. /package/dist/{src/services → services}/fixture/fixture-capture-service.d.ts +0 -0
  956. /package/dist/{src/services → services}/fixture/fixture-capture-service.js +0 -0
  957. /package/dist/{src/services → services}/fixture/fixture-sanitize-service.d.ts +0 -0
  958. /package/dist/{src/services → services}/fixture/fixture-sanitize-service.js +0 -0
  959. /package/dist/{src/services → services}/fixture/index.d.ts +0 -0
  960. /package/dist/{src/services → services}/fixture/index.js +0 -0
  961. /package/dist/{src/services → services}/fork/fork-sync-state.d.ts +0 -0
  962. /package/dist/{src/services → services}/fork/fork-sync-state.js +0 -0
  963. /package/dist/{src/services → services}/fuzzy-matching/fuzzy-match-service.d.ts +0 -0
  964. /package/dist/{src/services → services}/fuzzy-matching/fuzzy-match-service.js +0 -0
  965. /package/dist/{src/services → services}/fuzzy-matching/fzf-pick-service.d.ts +0 -0
  966. /package/dist/{src/services → services}/fuzzy-matching/fzf-pick-service.js +0 -0
  967. /package/dist/{src/services → services}/fuzzy-matching/types.d.ts +0 -0
  968. /package/dist/{src/services → services}/fuzzy-matching/types.js +0 -0
  969. /package/dist/{src/services → services}/handoff/handoff-parser.d.ts +0 -0
  970. /package/dist/{src/services → services}/handoff/handoff-parser.js +0 -0
  971. /package/dist/{src/services → services}/handoff/handoff-types.d.ts +0 -0
  972. /package/dist/{src/services → services}/handoff/handoff-types.js +0 -0
  973. /package/dist/{src/services → services}/handoff/handoff-writer.d.ts +0 -0
  974. /package/dist/{src/services → services}/handoff/handoff-writer.js +0 -0
  975. /package/dist/{src/services → services}/hooks/auto-compact-hook-install.d.ts +0 -0
  976. /package/dist/{src/services → services}/hooks/auto-compact-hook-install.js +0 -0
  977. /package/dist/{src/services → services}/hooks/output.d.ts +0 -0
  978. /package/dist/{src/services → services}/hooks/output.js +0 -0
  979. /package/dist/{src/services → services}/hooks/presence-marker-detector.d.ts +0 -0
  980. /package/dist/{src/services → services}/hooks/presence-marker-detector.js +0 -0
  981. /package/dist/{src/services → services}/ide/adapters/claude-code-adapter.d.ts +0 -0
  982. /package/dist/{src/services → services}/ide/adapters/claude-code-adapter.js +0 -0
  983. /package/dist/{src/services → services}/ide/adapters/codex-adapter.d.ts +0 -0
  984. /package/dist/{src/services → services}/ide/adapters/codex-adapter.js +0 -0
  985. /package/dist/{src/services → services}/ide/adapters/cursor-adapter.d.ts +0 -0
  986. /package/dist/{src/services → services}/ide/adapters/cursor-adapter.js +0 -0
  987. /package/dist/{src/services → services}/ide/adapters/hermes-adapter.d.ts +0 -0
  988. /package/dist/{src/services → services}/ide/adapters/hermes-adapter.js +0 -0
  989. /package/dist/{src/services → services}/ide/adapters/openclaw-adapter.d.ts +0 -0
  990. /package/dist/{src/services → services}/ide/adapters/openclaw-adapter.js +0 -0
  991. /package/dist/{src/services → services}/ide/adapters/trae-adapter.d.ts +0 -0
  992. /package/dist/{src/services → services}/ide/adapters/trae-adapter.js +0 -0
  993. /package/dist/{src/services → services}/ide/hook-protocol.d.ts +0 -0
  994. /package/dist/{src/services → services}/ide/hook-protocol.js +0 -0
  995. /package/dist/{src/services → services}/ide/hook-translator.d.ts +0 -0
  996. /package/dist/{src/services → services}/ide/hook-translator.js +0 -0
  997. /package/dist/{src/services → services}/ide/ide-detector.d.ts +0 -0
  998. /package/dist/{src/services → services}/ide/ide-detector.js +0 -0
  999. /package/dist/{src/services → services}/ide/ide-registry.d.ts +0 -0
  1000. /package/dist/{src/services → services}/ide/ide-types.js +0 -0
  1001. /package/dist/{src/services → services}/ide/resource-profile.d.ts +0 -0
  1002. /package/dist/{src/services → services}/ide/resource-profile.js +0 -0
  1003. /package/dist/{src/services → services}/ide/shared/atomic-json.d.ts +0 -0
  1004. /package/dist/{src/services → services}/ide/shared/atomic-json.js +0 -0
  1005. /package/dist/{src/services → services}/ide/shared/safe-path.d.ts +0 -0
  1006. /package/dist/{src/services → services}/ide/shared/safe-path.js +0 -0
  1007. /package/dist/{src/services → services}/impact/impact-scan-service.d.ts +0 -0
  1008. /package/dist/{src/services → services}/impact/impact-scan-service.js +0 -0
  1009. /package/dist/{src/services → services}/job/job-event-emitter.d.ts +0 -0
  1010. /package/dist/{src/services → services}/job/job-event-emitter.js +0 -0
  1011. /package/dist/{src/services → services}/job/job-orchestrator.d.ts +0 -0
  1012. /package/dist/{src/services → services}/job/job-orchestrator.js +0 -0
  1013. /package/dist/{src/services → services}/job/job-resource-snapshot.d.ts +0 -0
  1014. /package/dist/{src/services → services}/job/job-rotation.d.ts +0 -0
  1015. /package/dist/{src/services → services}/job/job-rotation.js +0 -0
  1016. /package/dist/{src/services → services}/job/job-state-store.d.ts +0 -0
  1017. /package/dist/{src/services → services}/job/job-state-store.js +0 -0
  1018. /package/dist/{src/services → services}/job/job-types.d.ts +0 -0
  1019. /package/dist/{src/services → services}/job/job-types.js +0 -0
  1020. /package/dist/{src/services → services}/job/subagent-job-wrapper.d.ts +0 -0
  1021. /package/dist/{src/services → services}/job/subagent-job-wrapper.js +0 -0
  1022. /package/dist/{src/services → services}/legacy/legacy-detector.d.ts +0 -0
  1023. /package/dist/{src/services → services}/legacy/legacy-detector.js +0 -0
  1024. /package/dist/{src/services → services}/log/log-commands-service.d.ts +0 -0
  1025. /package/dist/{src/services → services}/log/log-commands-service.js +0 -0
  1026. /package/dist/{src/services → services}/log/logger.d.ts +0 -0
  1027. /package/dist/{src/services → services}/log/logger.js +0 -0
  1028. /package/dist/{src/services → services}/log/redact.d.ts +0 -0
  1029. /package/dist/{src/services → services}/log/redact.js +0 -0
  1030. /package/dist/{src/services → services}/log/retention.d.ts +0 -0
  1031. /package/dist/{src/services → services}/log/retention.js +0 -0
  1032. /package/dist/{src/services → services}/loop/evaluator-dispatcher.d.ts +0 -0
  1033. /package/dist/{src/services → services}/loop/evaluator-dispatcher.js +0 -0
  1034. /package/dist/{src/services → services}/loop/monotonic-guard.d.ts +0 -0
  1035. /package/dist/{src/services → services}/loop/monotonic-guard.js +0 -0
  1036. /package/dist/{src/services → services}/loop/monotonic-runner.d.ts +0 -0
  1037. /package/dist/{src/services → services}/loop/monotonic-runner.js +0 -0
  1038. /package/dist/{src/services → services}/loop/run-driver.d.ts +0 -0
  1039. /package/dist/{src/services → services}/loop/run-driver.js +0 -0
  1040. /package/dist/{src/services → services}/loop/spec-service.d.ts +0 -0
  1041. /package/dist/{src/services → services}/loop/spec-service.js +0 -0
  1042. /package/dist/{src/services → services}/memory/llm-reranker.d.ts +0 -0
  1043. /package/dist/{src/services → services}/memory/llm-reranker.js +0 -0
  1044. /package/dist/{src/services → services}/memory/memory-search-service.d.ts +0 -0
  1045. /package/dist/{src/services → services}/memory/memory-search-service.js +0 -0
  1046. /package/dist/{src/services → services}/memory/project-memory-service.d.ts +0 -0
  1047. /package/dist/{src/services → services}/migration/v2-10-to-v2-11-service.d.ts +0 -0
  1048. /package/dist/{src/services → services}/migration/v2-10-to-v2-11-service.js +0 -0
  1049. /package/dist/{src/services → services}/migration/v2-10-to-v2-11-types.d.ts +0 -0
  1050. /package/dist/{src/services → services}/migration/v2-10-to-v2-11-types.js +0 -0
  1051. /package/dist/{src/services → services}/mode/bypass-tracker.d.ts +0 -0
  1052. /package/dist/{src/services → services}/mode/bypass-tracker.js +0 -0
  1053. /package/dist/{src/services → services}/mode/mode-enforcement.d.ts +0 -0
  1054. /package/dist/{src/services → services}/mode/mode-enforcement.js +0 -0
  1055. /package/dist/{src/services → services}/mut/assert-scanner.d.ts +0 -0
  1056. /package/dist/{src/services → services}/mut/assert-scanner.js +0 -0
  1057. /package/dist/{src/services → services}/mut/index.d.ts +0 -0
  1058. /package/dist/{src/services → services}/mut/index.js +0 -0
  1059. /package/dist/{src/services → services}/mut/mut-runner.d.ts +0 -0
  1060. /package/dist/{src/services → services}/mut/mut-runner.js +0 -0
  1061. /package/dist/{src/services → services}/mut/production-stryker.d.ts +0 -0
  1062. /package/dist/{src/services → services}/mut/production-stryker.js +0 -0
  1063. /package/dist/{src/services → services}/mut/report-builder.d.ts +0 -0
  1064. /package/dist/{src/services → services}/mut/report-builder.js +0 -0
  1065. /package/dist/{src/services → services}/mut/report-loader.d.ts +0 -0
  1066. /package/dist/{src/services → services}/mut/report-loader.js +0 -0
  1067. /package/dist/{src/services → services}/mut/thresholds.d.ts +0 -0
  1068. /package/dist/{src/services → services}/mut/thresholds.js +0 -0
  1069. /package/dist/{src/services → services}/mut/types.d.ts +0 -0
  1070. /package/dist/{src/services → services}/mut/types.js +0 -0
  1071. /package/dist/{src/services → services}/observability/jsonl-store.d.ts +0 -0
  1072. /package/dist/{src/services → services}/observability/jsonl-store.js +0 -0
  1073. /package/dist/{src/services → services}/observability/observability-service.d.ts +0 -0
  1074. /package/dist/{src/services → services}/observability/observability-service.js +0 -0
  1075. /package/dist/{src/services → services}/observability/report-formatter.d.ts +0 -0
  1076. /package/dist/{src/services → services}/observability/report-formatter.js +0 -0
  1077. /package/dist/{src/services → services}/openspec/openspec-archive-service.d.ts +0 -0
  1078. /package/dist/{src/services → services}/openspec/openspec-archive-service.js +0 -0
  1079. /package/dist/{src/services → services}/openspec/openspec-bridge-service.d.ts +0 -0
  1080. /package/dist/{src/services → services}/openspec/openspec-bridge-service.js +0 -0
  1081. /package/dist/{src/services → services}/openspec/openspec-init-service.d.ts +0 -0
  1082. /package/dist/{src/services → services}/openspec/openspec-init-service.js +0 -0
  1083. /package/dist/{src/services → services}/openspec/openspec-propose-from-doctor-service.d.ts +0 -0
  1084. /package/dist/{src/services → services}/openspec/openspec-propose-from-doctor-service.js +0 -0
  1085. /package/dist/{src/services → services}/openspec/openspec-render-service.d.ts +0 -0
  1086. /package/dist/{src/services → services}/openspec/openspec-render-service.js +0 -0
  1087. /package/dist/{src/services → services}/openspec/openspec-scan-service.d.ts +0 -0
  1088. /package/dist/{src/services → services}/openspec/openspec-scan-service.js +0 -0
  1089. /package/dist/{src/services → services}/openspec/openspec-types.d.ts +0 -0
  1090. /package/dist/{src/services → services}/openspec/openspec-types.js +0 -0
  1091. /package/dist/{src/services → services}/openspec/openspec-validate-service.d.ts +0 -0
  1092. /package/dist/{src/services → services}/openspec/openspec-validate-service.js +0 -0
  1093. /package/dist/{src/services/recommendations/recommendation-types.js → services/polyrepo/polyrepo-types.js} +0 -0
  1094. /package/dist/{src/services → services}/prd/handoff-auto-regen.d.ts +0 -0
  1095. /package/dist/{src/services → services}/prd/handoff-auto-regen.js +0 -0
  1096. /package/dist/{src/services → services}/prd/handoff-service.d.ts +0 -0
  1097. /package/dist/{src/services → services}/prd/handoff-service.js +0 -0
  1098. /package/dist/{src/services → services}/prd/prd-blocks-checker.d.ts +0 -0
  1099. /package/dist/{src/services → services}/prd/prd-blocks-checker.js +0 -0
  1100. /package/dist/{src/services → services}/prd/project-scan-reader.d.ts +0 -0
  1101. /package/dist/{src/services → services}/prd/project-scan-reader.js +0 -0
  1102. /package/dist/{src/services → services}/prd/project-scan-sediment.d.ts +0 -0
  1103. /package/dist/{src/services → services}/prd/project-scan-sediment.js +0 -0
  1104. /package/dist/{src/services → services}/prd/project-scan-types.d.ts +0 -0
  1105. /package/dist/{src/services → services}/prd/project-scan-types.js +0 -0
  1106. /package/dist/{src/services → services}/preferences/preferences-service.js +0 -0
  1107. /package/dist/{src/services → services}/preferences/preferences-types.js +0 -0
  1108. /package/dist/{src/services → services}/profiles/profile-service.d.ts +0 -0
  1109. /package/dist/{src/services → services}/profiles/profile-service.js +0 -0
  1110. /package/dist/{src/services → services}/providers/minimax-provider-service.d.ts +0 -0
  1111. /package/dist/{src/services → services}/providers/minimax-provider-service.js +0 -0
  1112. /package/dist/{src/services → services}/proxy/proxy-service.d.ts +0 -0
  1113. /package/dist/{src/services → services}/proxy/proxy-service.js +0 -0
  1114. /package/dist/{src/services → services}/qa/browser-event-logger.d.ts +0 -0
  1115. /package/dist/{src/services → services}/qa/browser-event-logger.js +0 -0
  1116. /package/dist/{src/services → services}/qa/browser-restart-detector.d.ts +0 -0
  1117. /package/dist/{src/services → services}/qa/browser-restart-detector.js +0 -0
  1118. /package/dist/{src/services → services}/qa/browser-reuse-hint.d.ts +0 -0
  1119. /package/dist/{src/services → services}/qa/browser-reuse-hint.js +0 -0
  1120. /package/dist/{src/services → services}/qa/browser-wrapper-service.d.ts +0 -0
  1121. /package/dist/{src/services → services}/qa/browser-wrapper-service.js +0 -0
  1122. /package/dist/{src/services → services}/qa/qa-business-review-state.d.ts +0 -0
  1123. /package/dist/{src/services → services}/qa/qa-business-review-state.js +0 -0
  1124. /package/dist/{src/services → services}/rd/ast-gate.d.ts +0 -0
  1125. /package/dist/{src/services → services}/rd/ast-gate.js +0 -0
  1126. /package/dist/{src/services → services}/rd/impl.d.ts +0 -0
  1127. /package/dist/{src/services → services}/rd/impl.js +0 -0
  1128. /package/dist/{src/services → services}/rd/rd-service.d.ts +0 -0
  1129. /package/dist/{src/services → services}/rd/reviewer-dispatch-policy.d.ts +0 -0
  1130. /package/dist/{src/services → services}/rd/reviewer-dispatch-policy.js +0 -0
  1131. /package/dist/{src/services → services}/rd/strategic-stage.d.ts +0 -0
  1132. /package/dist/{src/services → services}/rd/strategic-stage.js +0 -0
  1133. /package/dist/{src/services → services}/rd/strategy.d.ts +0 -0
  1134. /package/dist/{src/services → services}/rd/strategy.js +0 -0
  1135. /package/dist/{src/services → services}/rd/tactical-stage.d.ts +0 -0
  1136. /package/dist/{src/services → services}/rd/tactical-stage.js +0 -0
  1137. /package/dist/{src/services → services}/rd/types.js +0 -0
  1138. /package/dist/{src/services → services}/recommendations/capability-availability.d.ts +0 -0
  1139. /package/dist/{src/services → services}/recommendations/capability-availability.js +0 -0
  1140. /package/dist/{src/services → services}/recommendations/capability-map-service.d.ts +0 -0
  1141. /package/dist/{src/services → services}/recommendations/capability-map-service.js +0 -0
  1142. /package/dist/{src/services → services}/recommendations/capability-seed-items.d.ts +0 -0
  1143. /package/dist/{src/services → services}/recommendations/capability-seed-mappings.d.ts +0 -0
  1144. /package/dist/{src/services → services}/recommendations/capability-seed-sources.d.ts +0 -0
  1145. /package/dist/{src/services → services}/recommendations/capability-seed-sources.js +0 -0
  1146. /package/dist/{src/services → services}/recommendations/recommendation-service.d.ts +0 -0
  1147. /package/dist/{src/services → services}/recommendations/recommendation-types.d.ts +0 -0
  1148. /package/dist/{src/services/scan/scan-types.js → services/recommendations/recommendation-types.js} +0 -0
  1149. /package/dist/{src/services → services}/recommendations/seed-capability-catalog.d.ts +0 -0
  1150. /package/dist/{src/services → services}/recommendations/seed-capability-catalog.js +0 -0
  1151. /package/dist/{src/services → services}/refactor/refactor-service.js +0 -0
  1152. /package/dist/{src/services → services}/release/release-state.d.ts +0 -0
  1153. /package/dist/{src/services → services}/release/release-state.js +0 -0
  1154. /package/dist/{src/services → services}/retrospective/retrospective-index.d.ts +0 -0
  1155. /package/dist/{src/services → services}/retrospective/retrospective-index.js +0 -0
  1156. /package/dist/{src/services → services}/retrospective/retrospective-search-service.d.ts +0 -0
  1157. /package/dist/{src/services → services}/retrospective/retrospective-search-service.js +0 -0
  1158. /package/dist/{src/services → services}/retrospective/retrospective-show.d.ts +0 -0
  1159. /package/dist/{src/services → services}/retrospective/retrospective-show.js +0 -0
  1160. /package/dist/{src/services → services}/reviewer/model-family.d.ts +0 -0
  1161. /package/dist/{src/services → services}/reviewer/model-family.js +0 -0
  1162. /package/dist/{src/services → services}/reviewer/providers/anthropic.d.ts +0 -0
  1163. /package/dist/{src/services → services}/reviewer/providers/anthropic.js +0 -0
  1164. /package/dist/{src/services → services}/reviewer/providers/ollama.d.ts +0 -0
  1165. /package/dist/{src/services → services}/reviewer/providers/ollama.js +0 -0
  1166. /package/dist/{src/services → services}/reviewer/providers/openai.d.ts +0 -0
  1167. /package/dist/{src/services → services}/reviewer/providers/openai.js +0 -0
  1168. /package/dist/{src/services → services}/reviewer/reviewer-config.d.ts +0 -0
  1169. /package/dist/{src/services → services}/reviewer/reviewer-config.js +0 -0
  1170. /package/dist/{src/services → services}/reviewer/reviewer-service.d.ts +0 -0
  1171. /package/dist/{src/services → services}/reviewer/reviewer-service.js +0 -0
  1172. /package/dist/{src/services → services}/reviewer/selection-strategies.d.ts +0 -0
  1173. /package/dist/{src/services → services}/reviewer/selection-strategies.js +0 -0
  1174. /package/dist/{src/services → services}/role/role-registry.d.ts +0 -0
  1175. /package/dist/{src/services → services}/role/role-registry.js +0 -0
  1176. /package/dist/{src/services/understand/hybrid-types.js → services/runtime/vendor-adapter.js} +0 -0
  1177. /package/dist/{src/services → services}/sc/index.d.ts +0 -0
  1178. /package/dist/{src/services → services}/sc/index.js +0 -0
  1179. /package/dist/{src/services → services}/sc/sc-service.d.ts +0 -0
  1180. /package/dist/{src/services → services}/scan/acceptance-coverage-service.d.ts +0 -0
  1181. /package/dist/{src/services → services}/scan/acceptance-coverage-service.js +0 -0
  1182. /package/dist/{src/services → services}/scan/api-surface-service.d.ts +0 -0
  1183. /package/dist/{src/services → services}/scan/api-surface-service.js +0 -0
  1184. /package/dist/{src/services → services}/scan/archetype-service.d.ts +0 -0
  1185. /package/dist/{src/services → services}/scan/diff-scope-service.d.ts +0 -0
  1186. /package/dist/{src/services → services}/scan/diff-scope-service.js +0 -0
  1187. /package/dist/{src/services → services}/scan/existing-system-service.d.ts +0 -0
  1188. /package/dist/{src/services → services}/scan/existing-system-service.js +0 -0
  1189. /package/dist/{src/services → services}/scan/file-size-scan.d.ts +0 -0
  1190. /package/dist/{src/services → services}/scan/file-size-scan.js +0 -0
  1191. /package/dist/{src/services → services}/scan/karpathy-service.d.ts +0 -0
  1192. /package/dist/{src/services → services}/scan/karpathy-service.js +0 -0
  1193. /package/dist/{src/services → services}/scan/libraries-service.d.ts +0 -0
  1194. /package/dist/{src/services → services}/scan/libraries-service.js +0 -0
  1195. /package/dist/{src/services → services}/scan/libraries-types.d.ts +0 -0
  1196. /package/dist/{src/services → services}/scan/libraries-types.js +0 -0
  1197. /package/dist/{src/services → services}/scan/orphan-service.d.ts +0 -0
  1198. /package/dist/{src/services → services}/scan/orphan-service.js +0 -0
  1199. /package/dist/{src/services/understand/understand-types.js → services/scan/scan-types.js} +0 -0
  1200. /package/dist/{src/services → services}/scan/type-sanity-service.d.ts +0 -0
  1201. /package/dist/{src/services → services}/scan/type-sanity-service.js +0 -0
  1202. /package/dist/{src/services → services}/security/safe-settings-path.d.ts +0 -0
  1203. /package/dist/{src/services → services}/security/safe-settings-path.js +0 -0
  1204. /package/dist/{src/services → services}/session/binding-status-service.d.ts +0 -0
  1205. /package/dist/{src/services → services}/session/binding-status-service.js +0 -0
  1206. /package/dist/{src/services → services}/session/caller-binding-service.d.ts +0 -0
  1207. /package/dist/{src/services → services}/session/caller-binding-service.js +0 -0
  1208. /package/dist/{src/services → services}/session/caller-id-types.js +0 -0
  1209. /package/dist/{src/services → services}/session/getSessionDir.d.ts +0 -0
  1210. /package/dist/{src/services → services}/session/getSessionDir.js +0 -0
  1211. /package/dist/{src/services → services}/session/index.d.ts +0 -0
  1212. /package/dist/{src/services → services}/session/index.js +0 -0
  1213. /package/dist/{src/services → services}/session/platform-fallbacks.d.ts +0 -0
  1214. /package/dist/{src/services → services}/session/platform-fallbacks.js +0 -0
  1215. /package/dist/{src/services → services}/session/resolve-caller-id.d.ts +0 -0
  1216. /package/dist/{src/services → services}/session/resolve-caller-id.js +0 -0
  1217. /package/dist/{src/services → services}/session/session-binding-bridge.d.ts +0 -0
  1218. /package/dist/{src/services → services}/session/session-binding-bridge.js +0 -0
  1219. /package/dist/{src/services → services}/session/session-checkpoint-service.d.ts +0 -0
  1220. /package/dist/{src/services → services}/session/session-checkpoint-service.js +0 -0
  1221. /package/dist/{src/services → services}/session/session-resume-service.d.ts +0 -0
  1222. /package/dist/{src/services → services}/session/session-resume-service.js +0 -0
  1223. /package/dist/{src/services → services}/signal/cancel-handler.d.ts +0 -0
  1224. /package/dist/{src/services → services}/skill/resume-detector.d.ts +0 -0
  1225. /package/dist/{src/services → services}/skills/hooks-settings-service.d.ts +0 -0
  1226. /package/dist/{src/services → services}/skills/hooks-settings-service.js +0 -0
  1227. /package/dist/{src/services → services}/skills/skill-conformance-service.d.ts +0 -0
  1228. /package/dist/{src/services → services}/skills/skill-registry.d.ts +0 -0
  1229. /package/dist/{src/services → services}/skills/skill-runbook-service.d.ts +0 -0
  1230. /package/dist/{src/services → services}/skills/skill-statusline-renderer.d.ts +0 -0
  1231. /package/dist/{src/services → services}/skills/skill-statusline-renderer.js +0 -0
  1232. /package/dist/{src/services → services}/skills/skill-statusline-service.d.ts +0 -0
  1233. /package/dist/{src/services → services}/skills/skill-statusline-service.js +0 -0
  1234. /package/dist/{src/services → services}/skills/statusline-settings-service.d.ts +0 -0
  1235. /package/dist/{src/services → services}/skills/statusline-settings-service.js +0 -0
  1236. /package/dist/{src/services → services}/skills/sync-service.d.ts +0 -0
  1237. /package/dist/{src/services → services}/skills/sync-service.js +0 -0
  1238. /package/dist/{src/services → services}/slice/calibration-store.d.ts +0 -0
  1239. /package/dist/{src/services → services}/slice/calibration-store.js +0 -0
  1240. /package/dist/{src/services → services}/slice/cross-pass-edge-merger.d.ts +0 -0
  1241. /package/dist/{src/services → services}/slice/cross-pass-edge-merger.js +0 -0
  1242. /package/dist/{src/services → services}/slice/granularity-decider.d.ts +0 -0
  1243. /package/dist/{src/services → services}/slice/granularity-decider.js +0 -0
  1244. /package/dist/{src/services → services}/slice/llm-arbitrator.d.ts +0 -0
  1245. /package/dist/{src/services → services}/slice/llm-arbitrator.js +0 -0
  1246. /package/dist/{src/services → services}/slice/multi-pass-orchestrator.d.ts +0 -0
  1247. /package/dist/{src/services → services}/slice/multi-pass-orchestrator.js +0 -0
  1248. /package/dist/{src/services → services}/slice/schema-router.d.ts +0 -0
  1249. /package/dist/{src/services → services}/slice/schema-router.js +0 -0
  1250. /package/dist/{src/services → services}/slice/slice-archive-service.d.ts +0 -0
  1251. /package/dist/{src/services → services}/slice/slice-archive-service.js +0 -0
  1252. /package/dist/{src/services → services}/slice/slice-benchmark-service.d.ts +0 -0
  1253. /package/dist/{src/services → services}/slice/slice-benchmark-service.js +0 -0
  1254. /package/dist/{src/services → services}/slice/slice-check-service.d.ts +0 -0
  1255. /package/dist/{src/services → services}/slice/slice-decompose-runners.d.ts +0 -0
  1256. /package/dist/{src/services → services}/slice/slice-decompose-runners.js +0 -0
  1257. /package/dist/{src/services → services}/slice/slice-decompose-service.d.ts +0 -0
  1258. /package/dist/{src/services → services}/slice/slice-decompose-service.js +0 -0
  1259. /package/dist/{src/services → services}/slice/slice-integration.d.ts +0 -0
  1260. /package/dist/{src/services → services}/slice/slice-integration.js +0 -0
  1261. /package/dist/{src/services → services}/slice/slice-pick-service.d.ts +0 -0
  1262. /package/dist/{src/services → services}/slice/slice-pick-service.js +0 -0
  1263. /package/dist/{src/services → services}/slice/slice-review-state.d.ts +0 -0
  1264. /package/dist/{src/services → services}/slice/slice-review-state.js +0 -0
  1265. /package/dist/{src/services → services}/slice/slice-topology-types.d.ts +0 -0
  1266. /package/dist/{src/services → services}/slice/slice-topology-types.js +0 -0
  1267. /package/dist/{src/services → services}/smoke/smoke-paths-state.d.ts +0 -0
  1268. /package/dist/{src/services → services}/smoke/smoke-paths-state.js +0 -0
  1269. /package/dist/{src/services → services}/sop/gate-enforce-service.d.ts +0 -0
  1270. /package/dist/{src/services → services}/sop/gate-enforce-service.js +0 -0
  1271. /package/dist/{src/services → services}/sop/sop-advance-service.d.ts +0 -0
  1272. /package/dist/{src/services → services}/sop/sop-advance-service.js +0 -0
  1273. /package/dist/{src/services → services}/sop/sop-check-service.d.ts +0 -0
  1274. /package/dist/{src/services → services}/sop/sop-check-service.js +0 -0
  1275. /package/dist/{src/services → services}/sop/sop-paths.d.ts +0 -0
  1276. /package/dist/{src/services → services}/sop/sop-paths.js +0 -0
  1277. /package/dist/{src/services → services}/sop/sop-registry-service.d.ts +0 -0
  1278. /package/dist/{src/services → services}/sop/sop-registry-service.js +0 -0
  1279. /package/dist/{src/services → services}/sop/sop-service.d.ts +0 -0
  1280. /package/dist/{src/services → services}/sop/sop-service.js +0 -0
  1281. /package/dist/{src/services → services}/sop/sop-types.d.ts +0 -0
  1282. /package/dist/{src/services → services}/sop/sop-types.js +0 -0
  1283. /package/dist/{src/services → services}/standards/ide-aware-standards-service.d.ts +0 -0
  1284. /package/dist/{src/services → services}/standards/migrate-claude-rules-service.d.ts +0 -0
  1285. /package/dist/{src/services → services}/standards/migrate-service.d.ts +0 -0
  1286. /package/dist/{src/services → services}/standards/migrate-service.js +0 -0
  1287. /package/dist/{src/services → services}/standards/project-context.d.ts +0 -0
  1288. /package/dist/{src/services → services}/standards/project-context.js +0 -0
  1289. /package/dist/{src/services → services}/tech/tech-service.d.ts +0 -0
  1290. /package/dist/{src/services → services}/tech/tech-service.js +0 -0
  1291. /package/dist/{src/services → services}/test-cache/test-cache-service.d.ts +0 -0
  1292. /package/dist/{src/services → services}/test-cache/test-cache-service.js +0 -0
  1293. /package/dist/{src/services → services}/understand/hybrid-types.d.ts +0 -0
  1294. /package/dist/{src/services → services}/understand/understand-hybrid-service.d.ts +0 -0
  1295. /package/dist/{src/services → services}/understand/understand-hybrid-service.js +0 -0
  1296. /package/dist/{src/services → services}/understand/understand-scan-service.d.ts +0 -0
  1297. /package/dist/{src/services → services}/understand/understand-scan-service.js +0 -0
  1298. /package/dist/{src/services → services}/upgrade/1x-detector-service.d.ts +0 -0
  1299. /package/dist/{src/services → services}/upgrade/gitignore-migrate-service.d.ts +0 -0
  1300. /package/dist/{src/services → services}/upgrade/gitignore-migrate-service.js +0 -0
  1301. /package/dist/{src/services → services}/verdict/envelopes.d.ts +0 -0
  1302. /package/dist/{src/services → services}/verdict/envelopes.js +0 -0
  1303. /package/dist/{src/services → services}/verdict/verdict-aggregator.js +0 -0
  1304. /package/dist/{src/services → services}/workflow/artifact-paths.d.ts +0 -0
  1305. /package/dist/{src/services → services}/workflow/artifact-paths.js +0 -0
  1306. /package/dist/{src/services → services}/workflow/autonomous-resume-writer.d.ts +0 -0
  1307. /package/dist/{src/services → services}/workflow/autonomous-resume-writer.js +0 -0
  1308. /package/dist/{src/services → services}/workflow/plan-reader.d.ts +0 -0
  1309. /package/dist/{src/services → services}/workflow/plan-reader.js +0 -0
  1310. /package/dist/{src/services → services}/workflow/plan-refresher.d.ts +0 -0
  1311. /package/dist/{src/services → services}/workflow/plan-refresher.js +0 -0
  1312. /package/dist/{src/services → services}/workflow/plan-trigger-detector.d.ts +0 -0
  1313. /package/dist/{src/services → services}/workflow/plan-trigger-detector.js +0 -0
  1314. /package/dist/{src/services → services}/workflow/workflow-autonomous-resume-helpers.d.ts +0 -0
  1315. /package/dist/{src/services → services}/workflow/workflow-autonomous-resume-helpers.js +0 -0
  1316. /package/dist/{src/services → services}/workflow/workflow-loader.d.ts +0 -0
  1317. /package/dist/{src/services → services}/workflow/workflow-loader.js +0 -0
  1318. /package/dist/{src/services → services}/workflow/workflow-skip-service.d.ts +0 -0
  1319. /package/dist/{src/services → services}/workflow/workflow-skip-service.js +0 -0
  1320. /package/dist/{src/services → services}/workflow/workflow-spec.d.ts +0 -0
  1321. /package/dist/{src/services → services}/workflow/workflow-spec.js +0 -0
  1322. /package/dist/{src/services → services}/workflow/workflow-state-store.d.ts +0 -0
  1323. /package/dist/{src/services → services}/workflow/workflow-state-store.js +0 -0
  1324. /package/dist/{src/services → services}/workspace/migrate-1-4-1-service.d.ts +0 -0
  1325. /package/dist/{src/services → services}/workspace/migrate-1-4-1-service.js +0 -0
  1326. /package/dist/{src/services → services}/workspace/migrate-service.d.ts +0 -0
  1327. /package/dist/{src/services → services}/workspace/migrate-service.js +0 -0
  1328. /package/dist/{src/services → services}/workspace/migrate-types.d.ts +0 -0
  1329. /package/dist/{src/services → services}/workspace/migrate-types.js +0 -0
  1330. /package/dist/{src/services → services}/workspace/reconcile-service.d.ts +0 -0
  1331. /package/dist/{src/services → services}/workspace/reconcile-service.js +0 -0
  1332. /package/dist/{src/services → services}/workspace/reconcile-types.d.ts +0 -0
  1333. /package/dist/{src/services → services}/workspace/reconcile-types.js +0 -0
  1334. /package/dist/{src/services → services}/workspace/sid-naming-guard.d.ts +0 -0
  1335. /package/dist/{src/services → services}/workspace/sid-naming-guard.js +0 -0
  1336. /package/dist/{src/services → services}/workspace/workspace-clean-service.d.ts +0 -0
  1337. /package/dist/{src/services → services}/workspace/workspace-clean-service.js +0 -0
  1338. /package/dist/{src/services → services}/workspace/workspace-state-service.d.ts +0 -0
  1339. /package/dist/{src/services → services}/workspace/workspace-state-service.js +0 -0
  1340. /package/dist/{src/shared → shared}/format-md-compact.d.ts +0 -0
  1341. /package/dist/{src/shared → shared}/format-md-compact.js +0 -0
  1342. /package/dist/{src/shared → shared}/frontmatter.d.ts +0 -0
  1343. /package/dist/{src/shared → shared}/frontmatter.js +0 -0
  1344. /package/dist/{src/shared → shared}/fs-utils.d.ts +0 -0
  1345. /package/dist/{src/shared → shared}/fs-utils.js +0 -0
  1346. /package/dist/{src/shared → shared}/fs.d.ts +0 -0
  1347. /package/dist/{src/shared → shared}/fs.js +0 -0
  1348. /package/dist/{src/shared → shared}/incrementing-number.d.ts +0 -0
  1349. /package/dist/{src/shared → shared}/incrementing-number.js +0 -0
  1350. /package/dist/{src/shared → shared}/json-schema-mini.d.ts +0 -0
  1351. /package/dist/{src/shared → shared}/json-schema-mini.js +0 -0
  1352. /package/dist/{src/shared → shared}/path-safety.d.ts +0 -0
  1353. /package/dist/{src/shared → shared}/path-safety.js +0 -0
  1354. /package/dist/{src/shared → shared}/path-utils.d.ts +0 -0
  1355. /package/dist/{src/shared → shared}/path-utils.js +0 -0
  1356. /package/dist/{src/shared → shared}/planner-response.d.ts +0 -0
  1357. /package/dist/{src/shared → shared}/planner-response.js +0 -0
  1358. /package/dist/{src/shared → shared}/platform.d.ts +0 -0
  1359. /package/dist/{src/shared → shared}/platform.js +0 -0
  1360. /package/dist/{src/shared → shared}/process.d.ts +0 -0
  1361. /package/dist/{src/shared → shared}/process.js +0 -0
  1362. /package/dist/{src/shared → shared}/result.d.ts +0 -0
  1363. /package/dist/{src/shared → shared}/result.js +0 -0
  1364. /package/dist/{src/shared → shared}/stale-policy.d.ts +0 -0
  1365. /package/dist/{src/shared → shared}/stale-policy.js +0 -0
  1366. /package/skills/{peaks-perf-audit → bee/peaks-perf-audit}/SKILL.md +0 -0
  1367. /package/skills/{peaks-perf-audit → bee/peaks-perf-audit}/references/audit-protocol.md +0 -0
  1368. /package/skills/{peaks-prd → bee/peaks-prd}/references/artifact-contracts.md +0 -0
  1369. /package/skills/{peaks-prd → bee/peaks-prd}/references/artifact-per-request.md +0 -0
  1370. /package/skills/{peaks-prd → bee/peaks-prd}/references/command-migration.md +0 -0
  1371. /package/skills/{peaks-prd → bee/peaks-prd}/references/prd-for-multi-pass.md +0 -0
  1372. /package/skills/{peaks-qa → bee/peaks-qa}/references/artifact-contracts.md +0 -0
  1373. /package/skills/{peaks-qa → bee/peaks-qa}/references/codegraph-regression-focus.md +0 -0
  1374. /package/skills/{peaks-qa → bee/peaks-qa}/references/command-migration.md +0 -0
  1375. /package/skills/{peaks-qa → bee/peaks-qa}/references/openspec-validation-gate.md +0 -0
  1376. /package/skills/{peaks-qa → bee/peaks-qa}/references/qa-compact-handoff.md +0 -0
  1377. /package/skills/{peaks-qa → bee/peaks-qa}/references/qa-context-governance.md +0 -0
  1378. /package/skills/{peaks-qa → bee/peaks-qa}/references/qa-gstack-integration.md +0 -0
  1379. /package/skills/{peaks-qa → bee/peaks-qa}/references/qa-local-artifacts.md +0 -0
  1380. /package/skills/{peaks-qa → bee/peaks-qa}/references/qa-matt-pocock-integration.md +0 -0
  1381. /package/skills/{peaks-qa → bee/peaks-qa}/references/qa-perf-test-plan.md +0 -0
  1382. /package/skills/{peaks-qa → bee/peaks-qa}/references/qa-refactor-role.md +0 -0
  1383. /package/skills/{peaks-qa → bee/peaks-qa}/references/qa-runbook.md +0 -0
  1384. /package/skills/{peaks-qa → bee/peaks-qa}/references/qa-security-test-plan.md +0 -0
  1385. /package/skills/{peaks-qa → bee/peaks-qa}/references/qa-skill-presence.md +0 -0
  1386. /package/skills/{peaks-qa → bee/peaks-qa}/references/qa-standards-preflight.md +0 -0
  1387. /package/skills/{peaks-qa → bee/peaks-qa}/references/qa-transition-gates.md +0 -0
  1388. /package/skills/{peaks-qa → bee/peaks-qa}/references/reading-handoff-frontmatter.md +0 -0
  1389. /package/skills/{peaks-qa → bee/peaks-qa}/references/regression-gates.md +0 -0
  1390. /package/skills/{peaks-qa → bee/peaks-qa}/references/requirement-boundary-recheck.md +0 -0
  1391. /package/skills/{peaks-qa → bee/peaks-qa}/references/test-case-generation.md +0 -0
  1392. /package/skills/{peaks-qa → bee/peaks-qa}/references/test-report-output.md +0 -0
  1393. /package/skills/{peaks-rd → bee/peaks-rd}/references/artifact-and-standards-output.md +0 -0
  1394. /package/skills/{peaks-rd → bee/peaks-rd}/references/artifact-contracts.md +0 -0
  1395. /package/skills/{peaks-rd → bee/peaks-rd}/references/artifact-per-request.md +0 -0
  1396. /package/skills/{peaks-rd → bee/peaks-rd}/references/browser-action-wrapper.md +0 -0
  1397. /package/skills/{peaks-rd → bee/peaks-rd}/references/code-reviewer-4dim-hint.md +0 -0
  1398. /package/skills/{peaks-rd → bee/peaks-rd}/references/codegraph-project-analysis.md +0 -0
  1399. /package/skills/{peaks-rd → bee/peaks-rd}/references/command-migration.md +0 -0
  1400. /package/skills/{peaks-rd → bee/peaks-rd}/references/compact-handoff.md +0 -0
  1401. /package/skills/{peaks-rd → bee/peaks-rd}/references/external-references.md +0 -0
  1402. /package/skills/{peaks-rd → bee/peaks-rd}/references/frontend-project-generation.md +0 -0
  1403. /package/skills/{peaks-rd → bee/peaks-rd}/references/karpathy-reviewer-prompt.md +0 -0
  1404. /package/skills/{peaks-rd → bee/peaks-rd}/references/mandatory-perf-baseline.md +0 -0
  1405. /package/skills/{peaks-rd → bee/peaks-rd}/references/matt-pocock-integration.md +0 -0
  1406. /package/skills/{peaks-rd → bee/peaks-rd}/references/ocr-integration.md +0 -0
  1407. /package/skills/{peaks-rd → bee/peaks-rd}/references/openspec-cli.md +0 -0
  1408. /package/skills/{peaks-rd → bee/peaks-rd}/references/rd-context-governance.md +0 -0
  1409. /package/skills/{peaks-rd → bee/peaks-rd}/references/rd-gstack-integration.md +0 -0
  1410. /package/skills/{peaks-rd → bee/peaks-rd}/references/rd-standards-preflight.md +0 -0
  1411. /package/skills/{peaks-rd → bee/peaks-rd}/references/reading-v2-slice-results.md +0 -0
  1412. /package/skills/{peaks-rd → bee/peaks-rd}/references/refactor-workflow.md +0 -0
  1413. /package/skills/{peaks-rd → bee/peaks-rd}/references/v2-12-fanout-collapse.md +0 -0
  1414. /package/skills/{peaks-reviewer → bee/peaks-reviewer}/references/reviewer-prompt.md +0 -0
  1415. /package/skills/{peaks-reviewer → bee/peaks-reviewer}/references/reviewer-schema.md +0 -0
  1416. /package/skills/{peaks-sc → bee/peaks-sc}/references/artifact-contracts.md +0 -0
  1417. /package/skills/{peaks-sc → bee/peaks-sc}/references/artifact-retention.md +0 -0
  1418. /package/skills/{peaks-sc → bee/peaks-sc}/references/command-migration.md +0 -0
  1419. /package/skills/{peaks-sc → bee/peaks-sc}/references/openspec-commit-boundaries.md +0 -0
  1420. /package/skills/{peaks-security-audit → bee/peaks-security-audit}/SKILL.md +0 -0
  1421. /package/skills/{peaks-security-audit → bee/peaks-security-audit}/references/audit-protocol.md +0 -0
  1422. /package/skills/{peaks-txt → bee/peaks-txt}/references/artifact-contracts.md +0 -0
  1423. /package/skills/{peaks-txt → bee/peaks-txt}/references/command-migration.md +0 -0
  1424. /package/skills/{peaks-txt → bee/peaks-txt}/references/context-capsule.md +0 -0
  1425. /package/skills/{peaks-ui → bee/peaks-ui}/references/artifact-contracts.md +0 -0
  1426. /package/skills/{peaks-ui → bee/peaks-ui}/references/artifact-per-request.md +0 -0
  1427. /package/skills/{peaks-ui → bee/peaks-ui}/references/command-migration.md +0 -0
  1428. /package/skills/{peaks-ui → bee/peaks-ui}/references/workflow.md +0 -0
  1429. /package/skills/{peaks-solo → peaks-code}/references/checkpoint-resume.md +0 -0
  1430. /package/skills/{peaks-solo → peaks-code}/references/cross-date-session-check.md +0 -0
  1431. /package/skills/{peaks-solo → peaks-code}/references/envelope-contract.md +0 -0
  1432. /package/skills/{peaks-solo → peaks-code}/references/existing-system-extraction.md +0 -0
  1433. /package/skills/{peaks-solo → peaks-code}/references/gstack-integration.md +0 -0
  1434. /package/skills/{peaks-solo → peaks-code}/references/headroom-integration.md +0 -0
  1435. /package/skills/{peaks-solo → peaks-code}/references/playwright-mcp-multi-terminal.md +0 -0
  1436. /package/skills/{peaks-solo → peaks-code}/references/project-memory-loading.md +0 -0
@@ -0,0 +1,70 @@
1
+ /**
2
+ * v3.1.2 — On-disk slice progress mirror.
3
+ *
4
+ * After each `peaks job checkpoint --state done`, the orchestrator writes
5
+ * `.peaks/_runtime/<sessionId>/job/<jid>/progress.json` so the next LLM
6
+ * turn (after compact or resume) can read it before any Bash call lands.
7
+ *
8
+ * Shape (schemaVersion 1):
9
+ * {
10
+ * jobId, done, total, currentSlice, lastCommitSha, updatedAt
11
+ * }
12
+ *
13
+ * The `peaks code gate-step-08` hook reads this file in its case-1 path
14
+ * (job-shape.json says isJob=true) and surfaces `Next: slice #N+1 of M
15
+ * (<currentSlice>)` to stdout. The LLM cannot "wake up cold" — the
16
+ * next-slice context is mechanically injected on every Bash call.
17
+ *
18
+ * Karpathy §2 (Simplicity First): ~50 lines, single-purpose writer +
19
+ * reader. Schema is zod-validated on read so a stale on-disk copy
20
+ * from an earlier peaks-loop release fails loud (no silent fallback).
21
+ */
22
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
23
+ import { join } from 'node:path';
24
+ import { z } from 'zod';
25
+ export const JOB_PROGRESS_SCHEMA_VERSION = 1;
26
+ export const JobProgressSchema = z.object({
27
+ schemaVersion: z.literal(JOB_PROGRESS_SCHEMA_VERSION),
28
+ jobId: z.string(),
29
+ done: z.number().int().nonnegative(),
30
+ total: z.number().int().positive(),
31
+ currentSlice: z.string(),
32
+ lastCommitSha: z.string().nullable(),
33
+ updatedAt: z.string().datetime()
34
+ });
35
+ export function writeJobProgress(projectRoot, sessionId, input) {
36
+ const dir = join(projectRoot, '.peaks', '_runtime', sessionId, 'job', input.jobId);
37
+ mkdirSync(dir, { recursive: true });
38
+ const record = {
39
+ schemaVersion: JOB_PROGRESS_SCHEMA_VERSION,
40
+ jobId: input.jobId,
41
+ done: input.done,
42
+ total: input.total,
43
+ currentSlice: input.currentSlice,
44
+ lastCommitSha: input.lastCommitSha,
45
+ updatedAt: input.updatedAt ?? new Date().toISOString()
46
+ };
47
+ const path = join(dir, 'progress.json');
48
+ writeFileSync(path, JSON.stringify(record, null, 2) + '\n', 'utf8');
49
+ return record;
50
+ }
51
+ export function readJobProgress(projectRoot, sessionId, jobId) {
52
+ const path = join(projectRoot, '.peaks', '_runtime', sessionId, 'job', jobId, 'progress.json');
53
+ if (!existsSync(path)) {
54
+ throw new Error(`JobProgressStore: no progress for ${jobId} at ${path}`);
55
+ }
56
+ const raw = readFileSync(path, 'utf8');
57
+ return JobProgressSchema.parse(JSON.parse(raw));
58
+ }
59
+ export function tryReadJobProgress(projectRoot, sessionId, jobId) {
60
+ const path = join(projectRoot, '.peaks', '_runtime', sessionId, 'job', jobId, 'progress.json');
61
+ if (!existsSync(path))
62
+ return null;
63
+ try {
64
+ const raw = readFileSync(path, 'utf8');
65
+ return JobProgressSchema.parse(JSON.parse(raw));
66
+ }
67
+ catch { // TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
68
+ return null;
69
+ }
70
+ }
@@ -0,0 +1,75 @@
1
+ import os from 'node:os';
2
+ import { readdirSync, statSync } from 'node:fs';
3
+ import { join } from 'node:path';
4
+ /**
5
+ * Collects a coarse-grained snapshot of host + project resources.
6
+ * Numeric ranges are clamped to zod's domain — out-of-range values are clamped, not thrown,
7
+ * so callers can decide what to do.
8
+ */
9
+ export function collectResourceSnapshot(jobDir) {
10
+ const cpus = os.cpus();
11
+ const loadAvg = (os.loadavg()[0] ?? 0) / (cpus.length || 1);
12
+ const cpuPercent = Math.max(0, Math.min(100, loadAvg * 100));
13
+ const totalMemMb = os.totalmem() / 1024 / 1024;
14
+ const freeMemMb = os.freemem() / 1024 / 1024;
15
+ const usedMemMb = Math.max(0, totalMemMb - freeMemMb);
16
+ const memMb = Math.round(usedMemMb);
17
+ const diskMb = dirSizeMb(jobDir);
18
+ // contextRatio is best-effort: pull from the same env-var the v2.13.0 auto-compact uses.
19
+ const envVal = process.env.CLAUDE_CONTEXT_USAGE_PERCENT;
20
+ const contextRatio = envVal ? Math.max(0, Math.min(1, Number(envVal) / 100)) : 0;
21
+ return {
22
+ capturedAt: new Date().toISOString(),
23
+ cpuPercent,
24
+ memMb,
25
+ diskMb,
26
+ contextRatio,
27
+ };
28
+ }
29
+ // Non-enumerable internal attachment for test-time access via
30
+ // `collectResourceSnapshot.dirSizeMb`. NOT a public export — keeps
31
+ // the prod module surface clean per PRD while still allowing
32
+ // targeted AC-1/AC-2/AC-3 unit tests to drive `dirSizeMb` directly.
33
+ Object.defineProperty(collectResourceSnapshot, 'dirSizeMb', {
34
+ value: dirSizeMb,
35
+ enumerable: false,
36
+ writable: false,
37
+ configurable: false,
38
+ });
39
+ /**
40
+ * Best-effort, non-recursive size of one directory level, in rounded megabytes.
41
+ *
42
+ * - Missing directory → 0.
43
+ * - Per-entry stat failures (race with deletion, EBUSY on Windows) → silently skipped.
44
+ * - When `opts.maxEntries` > 0 and the directory has more entries than the cap,
45
+ * the returned value is a partial sum (a lower bound), and no further `stat`
46
+ * calls are issued past the cap. Callers must treat the value as a lower bound.
47
+ * - `opts.maxEntries` defaults to 0 (unbounded, legacy behaviour).
48
+ *
49
+ * NOTE: when maxEntries > 0 and the directory contains more entries than the
50
+ * cap, this is a partial sum. Callers must treat the value as a lower bound.
51
+ */
52
+ function dirSizeMb(dir, opts) {
53
+ const cap = opts?.maxEntries ?? 0;
54
+ let total = 0;
55
+ let index = 0;
56
+ try {
57
+ for (const name of readdirSync(dir)) {
58
+ if (cap > 0 && index >= cap)
59
+ break;
60
+ try {
61
+ total += statSync(join(dir, name)).size;
62
+ }
63
+ catch (e) {
64
+ // best-effort: missing entries (race with deletion) are silently skipped
65
+ void e;
66
+ }
67
+ index++;
68
+ }
69
+ }
70
+ catch (e) {
71
+ // best-effort: missing dir is treated as 0 bytes
72
+ void e;
73
+ }
74
+ return Math.round(total / 1024 / 1024);
75
+ }
@@ -0,0 +1,107 @@
1
+ import type Database from "better-sqlite3";
2
+ import { ZodError } from "zod";
3
+ import { type LoopBeeRelation, type LoopBeeRelationInput, type LoopBeeRelationRole } from "./loop-bee-relation-types.js";
4
+ /**
5
+ * Domain error thrown by LoopBeeRelationService when an invariant is
6
+ * violated. The error code is machine-readable; the message is
7
+ * NL-friendly. The CLI layer (M5) maps these into user-facing prompts.
8
+ */
9
+ export type LoopBeeRelationIntegrityErrorCode = "LOOP_RETIRED" | "DUP_RELATION" | "TWO_MAIN_BEES" | "FK_LOOP_NOT_FOUND" | "FK_BEE_NOT_FOUND";
10
+ export declare class LoopBeeRelationIntegrityError extends Error {
11
+ readonly code: LoopBeeRelationIntegrityErrorCode;
12
+ readonly findings: ReadonlyArray<{
13
+ path: string;
14
+ message: string;
15
+ }>;
16
+ constructor(code: LoopBeeRelationIntegrityErrorCode, message: string, findings?: ReadonlyArray<{
17
+ path: string;
18
+ message: string;
19
+ }>);
20
+ }
21
+ /**
22
+ * LoopBeeRelationService — thin service over the loop_bee_relation
23
+ * store. M2 keeps the surface narrow: create / listByLoop / listByBee /
24
+ * updateRole / remove. Promotion, evaluation, and crystallization
25
+ * flows land in later slices.
26
+ *
27
+ * Integrity rules enforced here (spec §4.6 + RL-3):
28
+ *
29
+ * 1. The referenced loop_release row must exist (FK to loop_release.id).
30
+ * — enforced at DB level (FK constraint).
31
+ * — surfaced as FK_LOOP_NOT_FOUND for friendlier errors.
32
+ *
33
+ * 2. The referenced bee_release row must exist (FK to bee_release.id).
34
+ * — enforced at DB level (FK constraint).
35
+ * — surfaced as FK_BEE_NOT_FOUND for friendlier errors.
36
+ *
37
+ * 3. Cannot relate a bee to a retired loop.
38
+ * — enforced in service by checking loop_release.lifecycle_status.
39
+ * — Throws LoopBeeRelationIntegrityError(LOOP_RETIRED).
40
+ *
41
+ * 4. A loop cannot have two `main` bees.
42
+ * — enforced at DB level via partial unique index.
43
+ * — surfaced as TWO_MAIN_BEES for friendlier errors.
44
+ *
45
+ * 5. (loop_release_id, bee_release_id) must be unique per row.
46
+ * — enforced at DB level (UNIQUE).
47
+ * — surfaced as DUP_RELATION for friendlier errors.
48
+ *
49
+ * The constructor takes an open better-sqlite3 database (the existing
50
+ * `peaks state` boundary) so callers do not have to thread a path
51
+ * through this layer; this matches the LoopReleaseService pattern.
52
+ *
53
+ * All write paths re-validate the input via the Zod schema, mirroring
54
+ * the boundary-check discipline used elsewhere.
55
+ */
56
+ export declare class LoopBeeRelationService {
57
+ private readonly db;
58
+ constructor(db: Database.Database);
59
+ /**
60
+ * Persist a new LoopBeeRelation row.
61
+ *
62
+ * Throws:
63
+ * - ZodError if the input fails schema validation.
64
+ * - LoopBeeRelationIntegrityError(LOOP_RETIRED) if the loop's
65
+ * lifecycle_status is "retired".
66
+ * - LoopBeeRelationIntegrityError(FK_LOOP_NOT_FOUND) if the loop
67
+ * row does not exist.
68
+ * - LoopBeeRelationIntegrityError(FK_BEE_NOT_FOUND) if the bee
69
+ * row does not exist.
70
+ * - LoopBeeRelationIntegrityError(DUP_RELATION) if a relation
71
+ * for the same (loop, bee) already exists.
72
+ * - LoopBeeRelationIntegrityError(TWO_MAIN_BEES) if a `main` row
73
+ * already exists for the loop.
74
+ */
75
+ create(input: LoopBeeRelationInput): LoopBeeRelation;
76
+ /** Read a LoopBeeRelation row by id; returns undefined if absent. */
77
+ read(id: number): LoopBeeRelation | undefined;
78
+ /**
79
+ * List relations for a given loop. Filter by `role` when supplied.
80
+ */
81
+ listByLoop(opts: {
82
+ loop_release_id: string;
83
+ role?: LoopBeeRelationRole;
84
+ }): LoopBeeRelation[];
85
+ /**
86
+ * List relations for a given bee. Filter by `role` when supplied.
87
+ */
88
+ listByBee(opts: {
89
+ bee_release_id: number;
90
+ role?: LoopBeeRelationRole;
91
+ }): LoopBeeRelation[];
92
+ /**
93
+ * Update the role of an existing relation. The storage-level partial
94
+ * unique index on `main` re-asserts "at most one main per loop" if
95
+ * the new role is `main`. Returns the updated row or undefined if
96
+ * the id is absent.
97
+ */
98
+ updateRole(id: number, newRole: LoopBeeRelationRole): LoopBeeRelation | undefined;
99
+ /** Remove a relation by id. Returns true if a row was deleted. */
100
+ remove(id: number): boolean;
101
+ }
102
+ /**
103
+ * Convenience: re-export the Zod error class guard so callers can do
104
+ * `if (err instanceof ZodError)`. Avoids forcing every caller to import
105
+ * zod directly.
106
+ */
107
+ export declare function isZodError(err: unknown): err is ZodError;
@@ -0,0 +1,211 @@
1
+ import { ZodError } from "zod";
2
+ import { LoopBeeRelationSchema, } from "./loop-bee-relation-types.js";
3
+ import { ensureLoopBeeRelationTable, insertLoopBeeRelation, listLoopBeeRelationsByLoop, listLoopBeeRelationsByBee, updateLoopBeeRelationRole, removeLoopBeeRelation, getLoopBeeRelation, } from "./loop-bee-relation-store.js";
4
+ export class LoopBeeRelationIntegrityError extends Error {
5
+ code;
6
+ findings;
7
+ constructor(code, message, findings = []) {
8
+ super(message);
9
+ this.name = "LoopBeeRelationIntegrityError";
10
+ this.code = code;
11
+ this.findings = findings;
12
+ }
13
+ }
14
+ /**
15
+ * LoopBeeRelationService — thin service over the loop_bee_relation
16
+ * store. M2 keeps the surface narrow: create / listByLoop / listByBee /
17
+ * updateRole / remove. Promotion, evaluation, and crystallization
18
+ * flows land in later slices.
19
+ *
20
+ * Integrity rules enforced here (spec §4.6 + RL-3):
21
+ *
22
+ * 1. The referenced loop_release row must exist (FK to loop_release.id).
23
+ * — enforced at DB level (FK constraint).
24
+ * — surfaced as FK_LOOP_NOT_FOUND for friendlier errors.
25
+ *
26
+ * 2. The referenced bee_release row must exist (FK to bee_release.id).
27
+ * — enforced at DB level (FK constraint).
28
+ * — surfaced as FK_BEE_NOT_FOUND for friendlier errors.
29
+ *
30
+ * 3. Cannot relate a bee to a retired loop.
31
+ * — enforced in service by checking loop_release.lifecycle_status.
32
+ * — Throws LoopBeeRelationIntegrityError(LOOP_RETIRED).
33
+ *
34
+ * 4. A loop cannot have two `main` bees.
35
+ * — enforced at DB level via partial unique index.
36
+ * — surfaced as TWO_MAIN_BEES for friendlier errors.
37
+ *
38
+ * 5. (loop_release_id, bee_release_id) must be unique per row.
39
+ * — enforced at DB level (UNIQUE).
40
+ * — surfaced as DUP_RELATION for friendlier errors.
41
+ *
42
+ * The constructor takes an open better-sqlite3 database (the existing
43
+ * `peaks state` boundary) so callers do not have to thread a path
44
+ * through this layer; this matches the LoopReleaseService pattern.
45
+ *
46
+ * All write paths re-validate the input via the Zod schema, mirroring
47
+ * the boundary-check discipline used elsewhere.
48
+ */
49
+ export class LoopBeeRelationService {
50
+ db;
51
+ constructor(db) {
52
+ this.db = db;
53
+ // Idempotent — safe to call on every constructor invocation; the
54
+ // openStateDb pipeline already applied the SQL migration, but a
55
+ // caller-built DB (e.g. tests) needs this.
56
+ ensureLoopBeeRelationTable(this.db);
57
+ }
58
+ /**
59
+ * Persist a new LoopBeeRelation row.
60
+ *
61
+ * Throws:
62
+ * - ZodError if the input fails schema validation.
63
+ * - LoopBeeRelationIntegrityError(LOOP_RETIRED) if the loop's
64
+ * lifecycle_status is "retired".
65
+ * - LoopBeeRelationIntegrityError(FK_LOOP_NOT_FOUND) if the loop
66
+ * row does not exist.
67
+ * - LoopBeeRelationIntegrityError(FK_BEE_NOT_FOUND) if the bee
68
+ * row does not exist.
69
+ * - LoopBeeRelationIntegrityError(DUP_RELATION) if a relation
70
+ * for the same (loop, bee) already exists.
71
+ * - LoopBeeRelationIntegrityError(TWO_MAIN_BEES) if a `main` row
72
+ * already exists for the loop.
73
+ */
74
+ create(input) {
75
+ const parsed = LoopBeeRelationSchema.omit({
76
+ id: true,
77
+ created_at: true,
78
+ }).parse(input);
79
+ // (a) Verify the loop_release row exists and is not retired.
80
+ const loopRow = this.db
81
+ .prepare("SELECT lifecycle_status FROM loop_release WHERE id = ?")
82
+ .get(parsed.loop_release_id);
83
+ if (!loopRow) {
84
+ throw new LoopBeeRelationIntegrityError("FK_LOOP_NOT_FOUND", `loop_release row '${parsed.loop_release_id}' does not exist`, [{ path: "loop_release_id", message: "loop_release row not found" }]);
85
+ }
86
+ if (loopRow.lifecycle_status === "retired") {
87
+ throw new LoopBeeRelationIntegrityError("LOOP_RETIRED", `cannot relate bee to retired loop '${parsed.loop_release_id}'`, [
88
+ {
89
+ path: "loop_release_id",
90
+ message: "loop_release.lifecycle_status is 'retired'; retirement severs new relations",
91
+ },
92
+ ]);
93
+ }
94
+ // (b) Verify the bee_release row exists.
95
+ const beeRow = this.db
96
+ .prepare("SELECT id FROM bee_release WHERE id = ?")
97
+ .get(parsed.bee_release_id);
98
+ if (!beeRow) {
99
+ throw new LoopBeeRelationIntegrityError("FK_BEE_NOT_FOUND", `bee_release row ${parsed.bee_release_id} does not exist`, [
100
+ {
101
+ path: "bee_release_id",
102
+ message: "bee_release row not found",
103
+ },
104
+ ]);
105
+ }
106
+ // (c) Insert; the storage-layer partial unique index will raise
107
+ // SQLITE_CONSTRAINT if (a) another `main` row exists for this
108
+ // loop, or (b) the same (loop, bee) pair already exists. Map those
109
+ // to friendly error codes.
110
+ try {
111
+ return insertLoopBeeRelation(this.db, parsed);
112
+ }
113
+ catch (err) {
114
+ const code = typeof err === "object" && err !== null && "code" in err
115
+ ? err.code
116
+ : undefined;
117
+ // Partial unique index on (loop_release_id) WHERE role='main'.
118
+ // better-sqlite3 surfaces this as SQLITE_CONSTRAINT_UNIQUE with
119
+ // a message naming only `loop_bee_relation.loop_release_id`
120
+ // (the column the partial index covers), NOT the index name.
121
+ // It is distinguished from the (loop_release_id, bee_release_id)
122
+ // composite UNIQUE violation by the absence of bee_release_id
123
+ // in the message.
124
+ if (code === "SQLITE_CONSTRAINT_UNIQUE") {
125
+ const msg = err instanceof Error ? err.message : String(err);
126
+ if (msg.includes("loop_bee_relation.bee_release_id")) {
127
+ // Composite UNIQUE(loop_release_id, bee_release_id).
128
+ throw new LoopBeeRelationIntegrityError("DUP_RELATION", `relation between loop '${parsed.loop_release_id}' and bee ${parsed.bee_release_id} already exists`, [
129
+ {
130
+ path: "loop_release_id,bee_release_id",
131
+ message: "duplicate relation",
132
+ },
133
+ ]);
134
+ }
135
+ // Otherwise: partial unique index on (loop_release_id) WHERE role='main'.
136
+ throw new LoopBeeRelationIntegrityError("TWO_MAIN_BEES", `loop '${parsed.loop_release_id}' already has a main bee`, [
137
+ {
138
+ path: "role",
139
+ message: "at most one main bee per loop; promote / retire the existing main first",
140
+ },
141
+ ]);
142
+ }
143
+ // FK violations from better-sqlite3 (foreign_keys = ON).
144
+ if (code === "SQLITE_CONSTRAINT_FOREIGNKEY") {
145
+ // Distinguish by re-checking which row is missing; the friendly
146
+ // pre-check above should have caught these, but defense in depth.
147
+ const loopStill = this.db
148
+ .prepare("SELECT 1 FROM loop_release WHERE id = ?")
149
+ .get(parsed.loop_release_id);
150
+ if (!loopStill) {
151
+ throw new LoopBeeRelationIntegrityError("FK_LOOP_NOT_FOUND", `loop_release row '${parsed.loop_release_id}' does not exist`, [{ path: "loop_release_id", message: "FK violation" }]);
152
+ }
153
+ throw new LoopBeeRelationIntegrityError("FK_BEE_NOT_FOUND", `bee_release row ${parsed.bee_release_id} does not exist`, [{ path: "bee_release_id", message: "FK violation" }]);
154
+ }
155
+ // Re-throw unexpected errors unchanged.
156
+ throw err;
157
+ }
158
+ }
159
+ /** Read a LoopBeeRelation row by id; returns undefined if absent. */
160
+ read(id) {
161
+ return getLoopBeeRelation(this.db, id);
162
+ }
163
+ /**
164
+ * List relations for a given loop. Filter by `role` when supplied.
165
+ */
166
+ listByLoop(opts) {
167
+ return listLoopBeeRelationsByLoop(this.db, opts.loop_release_id, opts.role);
168
+ }
169
+ /**
170
+ * List relations for a given bee. Filter by `role` when supplied.
171
+ */
172
+ listByBee(opts) {
173
+ return listLoopBeeRelationsByBee(this.db, opts.bee_release_id, opts.role);
174
+ }
175
+ /**
176
+ * Update the role of an existing relation. The storage-level partial
177
+ * unique index on `main` re-asserts "at most one main per loop" if
178
+ * the new role is `main`. Returns the updated row or undefined if
179
+ * the id is absent.
180
+ */
181
+ updateRole(id, newRole) {
182
+ // The TS type already enforces the four-value union. Try update;
183
+ // if partial unique index trips, raise friendly error.
184
+ try {
185
+ return updateLoopBeeRelationRole(this.db, id, newRole);
186
+ }
187
+ catch (err) {
188
+ const code = typeof err === "object" && err !== null && "code" in err
189
+ ? err.code
190
+ : undefined;
191
+ if (code === "SQLITE_CONSTRAINT_UNIQUE") {
192
+ const existing = getLoopBeeRelation(this.db, id);
193
+ const loopId = existing?.loop_release_id ?? "<unknown>";
194
+ throw new LoopBeeRelationIntegrityError("TWO_MAIN_BEES", `loop '${loopId}' already has a main bee`, [{ path: "role", message: "at most one main bee per loop" }]);
195
+ }
196
+ throw err;
197
+ }
198
+ }
199
+ /** Remove a relation by id. Returns true if a row was deleted. */
200
+ remove(id) {
201
+ return removeLoopBeeRelation(this.db, id);
202
+ }
203
+ }
204
+ /**
205
+ * Convenience: re-export the Zod error class guard so callers can do
206
+ * `if (err instanceof ZodError)`. Avoids forcing every caller to import
207
+ * zod directly.
208
+ */
209
+ export function isZodError(err) {
210
+ return err instanceof ZodError;
211
+ }
@@ -0,0 +1,53 @@
1
+ import type Database from "better-sqlite3";
2
+ import type { LoopBeeRelation, LoopBeeRelationRole } from "./loop-bee-relation-types.js";
3
+ /**
4
+ * Low-level SQLite access for the `loop_bee_relation` table. The
5
+ * migration is registered with the existing `openStateDb()` pipeline
6
+ * via `src/services/skillhub/migrations/003-loop-bee-relation.sql`
7
+ * (it applies every `*.sql` file in lexicographic order). The function
8
+ * `ensureLoopBeeRelationTable` below is a belt-and-suspenders re-applier
9
+ * for callers that pass a database they built themselves (e.g. tests).
10
+ *
11
+ * Defense in depth:
12
+ * - FK constraints enforce loop_release and bee_release referential
13
+ * integrity (better-sqlite3 + foreign_keys = ON).
14
+ * - Partial unique index `WHERE role = 'main'` enforces "at most one
15
+ * main bee per loop" at the storage layer (the service layer adds
16
+ * a friendlier error path on top).
17
+ * - UNIQUE (loop_release_id, bee_release_id) prevents accidental
18
+ * duplicate relations between the same loop and same bee release.
19
+ * - The migration does NOT touch any 4.x `bee_release` column (AC-3).
20
+ * - Lifecycle_status check on loop_release is NOT a DB-level constraint
21
+ * (the retirement rule is enforced in the service layer — see
22
+ * `LoopBeeRelationService.create`) so the DB stays decoupled from
23
+ * cross-table policies that need richer error reporting.
24
+ */
25
+ /**
26
+ * Re-apply the loop_bee_relation table migration against an already-open
27
+ * database. Used by tests that build their own DB without the
28
+ * openStateDb pipeline. Idempotent.
29
+ */
30
+ export declare function ensureLoopBeeRelationTable(db: Database.Database): void;
31
+ /**
32
+ * Insert a LoopBeeRelation row. The row's `schema_version` is taken from
33
+ * the input (must equal `peaks.loop-bee-relation/1`); `id` and
34
+ * `created_at` are stamped here, so callers cannot backdate a row.
35
+ *
36
+ * Idempotent in the UNIQUE sense — re-inserting the same
37
+ * (loop_release_id, bee_release_id) pair throws a UNIQUE-constraint
38
+ * error; inserting two `main` rows for the same loop throws a partial
39
+ * unique index error.
40
+ *
41
+ * Returns the persisted row (with `id` filled in).
42
+ */
43
+ export declare function insertLoopBeeRelation(db: Database.Database, row: Omit<LoopBeeRelation, "id" | "created_at">): LoopBeeRelation;
44
+ /** Read a single LoopBeeRelation row by id; returns undefined if absent. */
45
+ export declare function getLoopBeeRelation(db: Database.Database, id: number): LoopBeeRelation | undefined;
46
+ /** List LoopBeeRelation rows for a given loop_release_id (optionally filtered by role). */
47
+ export declare function listLoopBeeRelationsByLoop(db: Database.Database, loop_release_id: string, role?: LoopBeeRelationRole): LoopBeeRelation[];
48
+ /** List LoopBeeRelation rows for a given bee_release_id (optionally filtered by role). */
49
+ export declare function listLoopBeeRelationsByBee(db: Database.Database, bee_release_id: number, role?: LoopBeeRelationRole): LoopBeeRelation[];
50
+ /** Update the role of an existing relation. Returns the new row, or undefined if absent. */
51
+ export declare function updateLoopBeeRelationRole(db: Database.Database, id: number, newRole: LoopBeeRelationRole): LoopBeeRelation | undefined;
52
+ /** Remove a LoopBeeRelation row by id. Returns true if a row was deleted. */
53
+ export declare function removeLoopBeeRelation(db: Database.Database, id: number): boolean;
@@ -0,0 +1,130 @@
1
+ /**
2
+ * Low-level SQLite access for the `loop_bee_relation` table. The
3
+ * migration is registered with the existing `openStateDb()` pipeline
4
+ * via `src/services/skillhub/migrations/003-loop-bee-relation.sql`
5
+ * (it applies every `*.sql` file in lexicographic order). The function
6
+ * `ensureLoopBeeRelationTable` below is a belt-and-suspenders re-applier
7
+ * for callers that pass a database they built themselves (e.g. tests).
8
+ *
9
+ * Defense in depth:
10
+ * - FK constraints enforce loop_release and bee_release referential
11
+ * integrity (better-sqlite3 + foreign_keys = ON).
12
+ * - Partial unique index `WHERE role = 'main'` enforces "at most one
13
+ * main bee per loop" at the storage layer (the service layer adds
14
+ * a friendlier error path on top).
15
+ * - UNIQUE (loop_release_id, bee_release_id) prevents accidental
16
+ * duplicate relations between the same loop and same bee release.
17
+ * - The migration does NOT touch any 4.x `bee_release` column (AC-3).
18
+ * - Lifecycle_status check on loop_release is NOT a DB-level constraint
19
+ * (the retirement rule is enforced in the service layer — see
20
+ * `LoopBeeRelationService.create`) so the DB stays decoupled from
21
+ * cross-table policies that need richer error reporting.
22
+ */
23
+ /**
24
+ * Re-apply the loop_bee_relation table migration against an already-open
25
+ * database. Used by tests that build their own DB without the
26
+ * openStateDb pipeline. Idempotent.
27
+ */
28
+ export function ensureLoopBeeRelationTable(db) {
29
+ db.exec(`
30
+ CREATE TABLE IF NOT EXISTS loop_bee_relation (
31
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
32
+ loop_release_id TEXT NOT NULL REFERENCES loop_release(id) ON DELETE CASCADE,
33
+ bee_release_id INTEGER NOT NULL REFERENCES bee_release(id) ON DELETE CASCADE,
34
+ role TEXT NOT NULL CHECK (role IN ('main','supporting','candidate','retired')),
35
+ reason TEXT NOT NULL,
36
+ schema_version TEXT NOT NULL CHECK (schema_version = 'peaks.loop-bee-relation/1'),
37
+ created_at TEXT NOT NULL,
38
+ UNIQUE(loop_release_id, bee_release_id)
39
+ );
40
+ CREATE INDEX IF NOT EXISTS idx_loop_bee_relation_loop_id ON loop_bee_relation(loop_release_id);
41
+ CREATE INDEX IF NOT EXISTS idx_loop_bee_relation_bee_id ON loop_bee_relation(bee_release_id);
42
+ CREATE INDEX IF NOT EXISTS idx_loop_bee_relation_loop_role ON loop_bee_relation(loop_release_id, role);
43
+ -- Partial unique index: at most one main bee per loop. SQLite supports
44
+ -- partial indexes; this is the storage-level enforcement of the
45
+ -- "exactly one main" invariant. Multiple supporting / candidate /
46
+ -- retired rows per loop remain allowed.
47
+ CREATE UNIQUE INDEX IF NOT EXISTS idx_loop_bee_relation_one_main_per_loop
48
+ ON loop_bee_relation(loop_release_id) WHERE role = 'main';
49
+ `);
50
+ }
51
+ function rowToLoopBeeRelation(row) {
52
+ return {
53
+ id: row.id,
54
+ loop_release_id: row.loop_release_id,
55
+ bee_release_id: row.bee_release_id,
56
+ role: row.role,
57
+ reason: row.reason,
58
+ schema_version: row.schema_version,
59
+ created_at: row.created_at,
60
+ };
61
+ }
62
+ /**
63
+ * Insert a LoopBeeRelation row. The row's `schema_version` is taken from
64
+ * the input (must equal `peaks.loop-bee-relation/1`); `id` and
65
+ * `created_at` are stamped here, so callers cannot backdate a row.
66
+ *
67
+ * Idempotent in the UNIQUE sense — re-inserting the same
68
+ * (loop_release_id, bee_release_id) pair throws a UNIQUE-constraint
69
+ * error; inserting two `main` rows for the same loop throws a partial
70
+ * unique index error.
71
+ *
72
+ * Returns the persisted row (with `id` filled in).
73
+ */
74
+ export function insertLoopBeeRelation(db, row) {
75
+ const createdAt = new Date().toISOString();
76
+ const stmt = db.prepare(`INSERT INTO loop_bee_relation (
77
+ loop_release_id, bee_release_id, role, reason, schema_version, created_at
78
+ ) VALUES (?, ?, ?, ?, ?, ?)`);
79
+ const info = stmt.run(row.loop_release_id, row.bee_release_id, row.role, row.reason, row.schema_version, createdAt);
80
+ return {
81
+ id: Number(info.lastInsertRowid),
82
+ loop_release_id: row.loop_release_id,
83
+ bee_release_id: row.bee_release_id,
84
+ role: row.role,
85
+ reason: row.reason,
86
+ schema_version: row.schema_version,
87
+ created_at: createdAt,
88
+ };
89
+ }
90
+ /** Read a single LoopBeeRelation row by id; returns undefined if absent. */
91
+ export function getLoopBeeRelation(db, id) {
92
+ const row = db
93
+ .prepare("SELECT * FROM loop_bee_relation WHERE id = ?")
94
+ .get(id);
95
+ if (!row)
96
+ return undefined;
97
+ return rowToLoopBeeRelation(row);
98
+ }
99
+ /** List LoopBeeRelation rows for a given loop_release_id (optionally filtered by role). */
100
+ export function listLoopBeeRelationsByLoop(db, loop_release_id, role) {
101
+ const sql = role === undefined
102
+ ? "SELECT * FROM loop_bee_relation WHERE loop_release_id = ? ORDER BY id ASC"
103
+ : "SELECT * FROM loop_bee_relation WHERE loop_release_id = ? AND role = ? ORDER BY id ASC";
104
+ const params = role === undefined ? [loop_release_id] : [loop_release_id, role];
105
+ const rows = db.prepare(sql).all(...params);
106
+ return rows.map(rowToLoopBeeRelation);
107
+ }
108
+ /** List LoopBeeRelation rows for a given bee_release_id (optionally filtered by role). */
109
+ export function listLoopBeeRelationsByBee(db, bee_release_id, role) {
110
+ const sql = role === undefined
111
+ ? "SELECT * FROM loop_bee_relation WHERE bee_release_id = ? ORDER BY id ASC"
112
+ : "SELECT * FROM loop_bee_relation WHERE bee_release_id = ? AND role = ? ORDER BY id ASC";
113
+ const params = role === undefined ? [bee_release_id] : [bee_release_id, role];
114
+ const rows = db.prepare(sql).all(...params);
115
+ return rows.map(rowToLoopBeeRelation);
116
+ }
117
+ /** Update the role of an existing relation. Returns the new row, or undefined if absent. */
118
+ export function updateLoopBeeRelationRole(db, id, newRole) {
119
+ const stmt = db.prepare("UPDATE loop_bee_relation SET role = ? WHERE id = ?");
120
+ const info = stmt.run(newRole, id);
121
+ if (info.changes === 0)
122
+ return undefined;
123
+ return getLoopBeeRelation(db, id);
124
+ }
125
+ /** Remove a LoopBeeRelation row by id. Returns true if a row was deleted. */
126
+ export function removeLoopBeeRelation(db, id) {
127
+ const stmt = db.prepare("DELETE FROM loop_bee_relation WHERE id = ?");
128
+ const info = stmt.run(id);
129
+ return info.changes > 0;
130
+ }