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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1086) hide show
  1. package/CHANGELOG.md +135 -0
  2. package/README-en.md +178 -67
  3. package/README.md +178 -57
  4. package/bin/peaks.js +1 -1
  5. package/dist/cli/commands/_cli-error-envelope.d.ts +19 -0
  6. package/dist/cli/commands/_cli-error-envelope.js +50 -0
  7. package/dist/{src/cli → cli}/commands/core/skill-command.js +6 -3
  8. package/dist/{src/cli → cli}/commands/project-commands.js +9 -4
  9. package/dist/{src/cli → cli}/commands/runtime-commands.js +1 -1
  10. package/dist/{src/cli → cli}/commands/workflow-commands.js +13 -4
  11. package/dist/{src/cli → cli}/commands/workspace/init-command.d.ts +18 -0
  12. package/dist/{src/cli → cli}/commands/workspace/init-command.js +71 -2
  13. package/dist/{src/services → services}/config/model-routing.d.ts +9 -0
  14. package/dist/{src/services → services}/config/model-routing.js +14 -2
  15. package/dist/{src/services → services}/filesystem/file-lock.js +35 -12
  16. package/dist/{src/services → services}/ide/adapters/zcode-adapter.js +1 -1
  17. package/dist/{src/services → services}/ide/current-model-detector.js +1 -1
  18. package/dist/services/memory/project-context-service.d.ts +21 -0
  19. package/dist/{src/services → services}/memory/project-context-service.js +15 -2
  20. package/dist/{src/services → services}/polyrepo/polyrepo-dispatcher.js +1 -1
  21. package/dist/services/prd/project-scan-bootstrap-service.d.ts +52 -0
  22. package/dist/services/prd/project-scan-bootstrap-service.js +445 -0
  23. package/dist/{src/services → services}/scan/archetype-service.js +14 -2
  24. package/dist/{src/services → services}/scan/scan-types.d.ts +1 -1
  25. package/dist/{src/services → services}/standards/ide-aware-standards-service.js +3 -1
  26. package/dist/{src/services → services}/standards/migrate-claude-rules-service.js +24 -3
  27. package/dist/{src/services → services}/standards/missing-standards-detector.d.ts +11 -9
  28. package/dist/{src/services → services}/standards/missing-standards-detector.js +20 -13
  29. package/dist/{src/services → services}/standards/project-standards-service.js +130 -11
  30. package/dist/services/workspace/templates/project-scan/audit-output-schema.md +100 -0
  31. package/dist/services/workspace/templates/project-scan/business-knowledge.md +44 -0
  32. package/dist/services/workspace/templates/project-scan/index.d.ts +34 -0
  33. package/dist/services/workspace/templates/project-scan/index.js +60 -0
  34. package/dist/services/workspace/templates/project-scan/perf-template.md +109 -0
  35. package/dist/services/workspace/templates/project-scan/security-template.md +99 -0
  36. package/dist/shared/version.d.ts +1 -0
  37. package/dist/shared/version.js +1 -0
  38. package/examples/video-demo/README.md +108 -23
  39. package/examples/video-demo/preview/peaks-loop-demo-en.mp4 +0 -0
  40. package/examples/video-demo/preview/peaks-loop-demo.mp4 +0 -0
  41. package/package.json +23 -9
  42. package/scripts/copy-templates.mjs +64 -0
  43. package/skills/bee/peaks-rd/SKILL.md +1 -1
  44. package/skills/bee/peaks-rd/references/library-version-awareness.md +2 -2
  45. package/skills/bee/peaks-rd/references/mock-data-placement.md +1 -1
  46. package/skills/bee/peaks-rd/references/rd-runbook.md +2 -2
  47. package/skills/bee/peaks-rd/references/rd-transition-gates.md +2 -2
  48. package/skills/bee/peaks-rd/references/writing-handoff-frontmatter.md +1 -1
  49. package/skills/bee/peaks-ui/SKILL.md +2 -2
  50. package/skills/peaks-code/SKILL.md +18 -49
  51. package/skills/peaks-code/references/project-scan-checklist.md +3 -1
  52. package/skills/peaks-code/references/runbook.md +2 -2
  53. package/skills/peaks-code/references/standards-preflight.md +1 -1
  54. package/skills/peaks-code/references/step-11-memory-sediment.md +56 -0
  55. package/skills/peaks-code/references/swarm-dispatch-contract.md +1 -1
  56. package/skills/peaks-code/references/workflow-gates-and-types.md +3 -3
  57. package/dist/src/services/memory/project-context-service.d.ts +0 -11
  58. package/dist/src/shared/version.d.ts +0 -1
  59. package/dist/src/shared/version.js +0 -1
  60. package/dist/{src/cli → cli}/cli-helpers.d.ts +0 -0
  61. package/dist/{src/cli → cli}/cli-helpers.js +0 -0
  62. package/dist/{src/cli → cli}/commands/adapter-commands-s2a.d.ts +0 -0
  63. package/dist/{src/cli → cli}/commands/adapter-commands-s2a.js +0 -0
  64. package/dist/{src/cli → cli}/commands/adapter-commands.d.ts +0 -0
  65. package/dist/{src/cli → cli}/commands/adapter-commands.js +0 -0
  66. package/dist/{src/cli → cli}/commands/agent-commands.d.ts +0 -0
  67. package/dist/{src/cli → cli}/commands/agent-commands.js +0 -0
  68. package/dist/{src/cli → cli}/commands/asset-commands.d.ts +0 -0
  69. package/dist/{src/cli → cli}/commands/asset-commands.js +0 -0
  70. package/dist/{src/cli → cli}/commands/audit-commands.d.ts +0 -0
  71. package/dist/{src/cli → cli}/commands/audit-commands.js +0 -0
  72. package/dist/{src/cli → cli}/commands/bee-commands.d.ts +0 -0
  73. package/dist/{src/cli → cli}/commands/bee-commands.js +0 -0
  74. package/dist/{src/cli → cli}/commands/capability-commands.d.ts +0 -0
  75. package/dist/{src/cli → cli}/commands/capability-commands.js +0 -0
  76. package/dist/{src/cli → cli}/commands/capability-worker-config-sc-commands.d.ts +0 -0
  77. package/dist/{src/cli → cli}/commands/capability-worker-config-sc-commands.js +0 -0
  78. package/dist/{src/cli → cli}/commands/classify-classify-commands.d.ts +0 -0
  79. package/dist/{src/cli → cli}/commands/classify-classify-commands.js +0 -0
  80. package/dist/{src/cli → cli}/commands/code-commands.d.ts +0 -0
  81. package/dist/{src/cli → cli}/commands/code-commands.js +0 -0
  82. package/dist/{src/cli → cli}/commands/code-review-commands.d.ts +0 -0
  83. package/dist/{src/cli → cli}/commands/code-review-commands.js +0 -0
  84. package/dist/{src/cli → cli}/commands/codegraph-commands.d.ts +0 -0
  85. package/dist/{src/cli → cli}/commands/codegraph-commands.js +0 -0
  86. package/dist/{src/cli → cli}/commands/compact-command.d.ts +0 -0
  87. package/dist/{src/cli → cli}/commands/compact-command.js +0 -0
  88. package/dist/{src/cli → cli}/commands/complexity-commands.d.ts +0 -0
  89. package/dist/{src/cli → cli}/commands/complexity-commands.js +0 -0
  90. package/dist/{src/cli → cli}/commands/config-commands.d.ts +0 -0
  91. package/dist/{src/cli → cli}/commands/config-commands.js +0 -0
  92. package/dist/{src/cli → cli}/commands/context-builder-commands.d.ts +0 -0
  93. package/dist/{src/cli → cli}/commands/context-builder-commands.js +0 -0
  94. package/dist/{src/cli → cli}/commands/context-commands.d.ts +0 -0
  95. package/dist/{src/cli → cli}/commands/context-commands.js +0 -0
  96. package/dist/{src/cli → cli}/commands/contract-commands.d.ts +0 -0
  97. package/dist/{src/cli → cli}/commands/contract-commands.js +0 -0
  98. package/dist/{src/cli → cli}/commands/core/artifacts-command.d.ts +0 -0
  99. package/dist/{src/cli → cli}/commands/core/artifacts-command.js +0 -0
  100. package/dist/{src/cli → cli}/commands/core/binding-commands.d.ts +0 -0
  101. package/dist/{src/cli → cli}/commands/core/binding-commands.js +0 -0
  102. package/dist/{src/cli → cli}/commands/core/doctor-command.d.ts +0 -0
  103. package/dist/{src/cli → cli}/commands/core/doctor-command.js +0 -0
  104. package/dist/{src/cli → cli}/commands/core/memory-command.d.ts +0 -0
  105. package/dist/{src/cli → cli}/commands/core/memory-command.js +0 -0
  106. package/dist/{src/cli → cli}/commands/core/profile-command.d.ts +0 -0
  107. package/dist/{src/cli → cli}/commands/core/profile-command.js +0 -0
  108. package/dist/{src/cli → cli}/commands/core/proxy-command.d.ts +0 -0
  109. package/dist/{src/cli → cli}/commands/core/proxy-command.js +0 -0
  110. package/dist/{src/cli → cli}/commands/core/session-command.d.ts +0 -0
  111. package/dist/{src/cli → cli}/commands/core/session-command.js +0 -0
  112. package/dist/{src/cli → cli}/commands/core/skill-command.d.ts +0 -0
  113. package/dist/{src/cli → cli}/commands/core/standards-command.d.ts +0 -0
  114. package/dist/{src/cli → cli}/commands/core/standards-command.js +0 -0
  115. package/dist/{src/cli → cli}/commands/core-artifact-commands.d.ts +0 -0
  116. package/dist/{src/cli → cli}/commands/core-artifact-commands.js +0 -0
  117. package/dist/{src/cli → cli}/commands/dispatch-commands.d.ts +0 -0
  118. package/dist/{src/cli → cli}/commands/dispatch-commands.js +0 -0
  119. package/dist/{src/cli → cli}/commands/dispatch-from-dag.d.ts +0 -0
  120. package/dist/{src/cli → cli}/commands/dispatch-from-dag.js +0 -0
  121. package/dist/{src/cli → cli}/commands/doc-commands.d.ts +0 -0
  122. package/dist/{src/cli → cli}/commands/doc-commands.js +0 -0
  123. package/dist/{src/cli → cli}/commands/evolution-commands.d.ts +0 -0
  124. package/dist/{src/cli → cli}/commands/evolution-commands.js +0 -0
  125. package/dist/{src/cli → cli}/commands/feedback-commands.d.ts +0 -0
  126. package/dist/{src/cli → cli}/commands/feedback-commands.js +0 -0
  127. package/dist/{src/cli → cli}/commands/final-review-commands.d.ts +0 -0
  128. package/dist/{src/cli → cli}/commands/final-review-commands.js +0 -0
  129. package/dist/{src/cli → cli}/commands/fixture-commands.d.ts +0 -0
  130. package/dist/{src/cli → cli}/commands/fixture-commands.js +0 -0
  131. package/dist/{src/cli → cli}/commands/fork-commands.d.ts +0 -0
  132. package/dist/{src/cli → cli}/commands/fork-commands.js +0 -0
  133. package/dist/{src/cli → cli}/commands/gate-commands.d.ts +0 -0
  134. package/dist/{src/cli → cli}/commands/gate-commands.js +0 -0
  135. package/dist/{src/cli → cli}/commands/heartbeat-commands.d.ts +0 -0
  136. package/dist/{src/cli → cli}/commands/heartbeat-commands.js +0 -0
  137. package/dist/{src/cli → cli}/commands/hook-handle.d.ts +0 -0
  138. package/dist/{src/cli → cli}/commands/hook-handle.js +0 -0
  139. package/dist/{src/cli → cli}/commands/hooks-commands.d.ts +0 -0
  140. package/dist/{src/cli → cli}/commands/hooks-commands.js +0 -0
  141. package/dist/{src/cli → cli}/commands/ide-commands.d.ts +0 -0
  142. package/dist/{src/cli → cli}/commands/ide-commands.js +0 -0
  143. package/dist/{src/cli → cli}/commands/impact-commands.d.ts +0 -0
  144. package/dist/{src/cli → cli}/commands/impact-commands.js +0 -0
  145. package/dist/{src/cli → cli}/commands/job-commands.d.ts +0 -0
  146. package/dist/{src/cli → cli}/commands/job-commands.js +0 -0
  147. package/dist/{src/cli → cli}/commands/legacy-commands.d.ts +0 -0
  148. package/dist/{src/cli → cli}/commands/legacy-commands.js +0 -0
  149. package/dist/{src/cli → cli}/commands/log-commands.d.ts +0 -0
  150. package/dist/{src/cli → cli}/commands/log-commands.js +0 -0
  151. package/dist/{src/cli → cli}/commands/loop-commands.d.ts +0 -0
  152. package/dist/{src/cli → cli}/commands/loop-commands.js +0 -0
  153. package/dist/{src/cli → cli}/commands/loop-eval-commands.d.ts +0 -0
  154. package/dist/{src/cli → cli}/commands/loop-eval-commands.js +0 -0
  155. package/dist/{src/cli → cli}/commands/memory-commands.d.ts +0 -0
  156. package/dist/{src/cli → cli}/commands/memory-commands.js +0 -0
  157. package/dist/{src/cli → cli}/commands/migrate-1-4-1-command.d.ts +0 -0
  158. package/dist/{src/cli → cli}/commands/migrate-1-4-1-command.js +0 -0
  159. package/dist/{src/cli → cli}/commands/migrate-v2-10-to-v2-11-command.d.ts +0 -0
  160. package/dist/{src/cli → cli}/commands/migrate-v2-10-to-v2-11-command.js +0 -0
  161. package/dist/{src/cli → cli}/commands/mut-commands.d.ts +0 -0
  162. package/dist/{src/cli → cli}/commands/mut-commands.js +0 -0
  163. package/dist/{src/cli → cli}/commands/observability-commands.d.ts +0 -0
  164. package/dist/{src/cli → cli}/commands/observability-commands.js +0 -0
  165. package/dist/{src/cli → cli}/commands/openspec-commands.d.ts +0 -0
  166. package/dist/{src/cli → cli}/commands/openspec-commands.js +0 -0
  167. package/dist/{src/cli → cli}/commands/perf-audit-commands.d.ts +0 -0
  168. package/dist/{src/cli → cli}/commands/perf-audit-commands.js +0 -0
  169. package/dist/{src/cli → cli}/commands/perf-commands.d.ts +0 -0
  170. package/dist/{src/cli → cli}/commands/perf-commands.js +0 -0
  171. package/dist/{src/cli → cli}/commands/playwright-commands.d.ts +0 -0
  172. package/dist/{src/cli → cli}/commands/playwright-commands.js +0 -0
  173. package/dist/{src/cli → cli}/commands/polyrepo-commands.d.ts +0 -0
  174. package/dist/{src/cli → cli}/commands/polyrepo-commands.js +0 -0
  175. package/dist/{src/cli → cli}/commands/prd-blocks-commands.d.ts +0 -0
  176. package/dist/{src/cli → cli}/commands/prd-blocks-commands.js +0 -0
  177. package/dist/{src/cli → cli}/commands/prd-commands.d.ts +0 -0
  178. package/dist/{src/cli → cli}/commands/prd-commands.js +0 -0
  179. package/dist/{src/cli → cli}/commands/preferences-commands.d.ts +0 -0
  180. package/dist/{src/cli → cli}/commands/preferences-commands.js +0 -0
  181. package/dist/{src/cli → cli}/commands/project-commands.d.ts +0 -0
  182. package/dist/{src/cli → cli}/commands/qa-business-review-commands.d.ts +0 -0
  183. package/dist/{src/cli → cli}/commands/qa-business-review-commands.js +0 -0
  184. package/dist/{src/cli → cli}/commands/qa-commands.d.ts +0 -0
  185. package/dist/{src/cli → cli}/commands/qa-commands.js +0 -0
  186. package/dist/{src/cli → cli}/commands/release-commands.d.ts +0 -0
  187. package/dist/{src/cli → cli}/commands/release-commands.js +0 -0
  188. package/dist/{src/cli → cli}/commands/request-commands.d.ts +0 -0
  189. package/dist/{src/cli → cli}/commands/request-commands.js +0 -0
  190. package/dist/{src/cli → cli}/commands/retrospective-commands.d.ts +0 -0
  191. package/dist/{src/cli → cli}/commands/retrospective-commands.js +0 -0
  192. package/dist/{src/cli → cli}/commands/reviewer-commands.d.ts +0 -0
  193. package/dist/{src/cli → cli}/commands/reviewer-commands.js +0 -0
  194. package/dist/{src/cli → cli}/commands/role-commands.d.ts +0 -0
  195. package/dist/{src/cli → cli}/commands/role-commands.js +0 -0
  196. package/dist/{src/cli → cli}/commands/runtime-commands.d.ts +0 -0
  197. package/dist/{src/cli → cli}/commands/sc-commands.d.ts +0 -0
  198. package/dist/{src/cli → cli}/commands/sc-commands.js +0 -0
  199. package/dist/{src/cli → cli}/commands/scan-commands.d.ts +0 -0
  200. package/dist/{src/cli → cli}/commands/scan-commands.js +0 -0
  201. package/dist/{src/cli → cli}/commands/security-audit-commands.d.ts +0 -0
  202. package/dist/{src/cli → cli}/commands/security-audit-commands.js +0 -0
  203. package/dist/{src/cli → cli}/commands/sediment-commands.d.ts +0 -0
  204. package/dist/{src/cli → cli}/commands/sediment-commands.js +0 -0
  205. package/dist/{src/cli → cli}/commands/session-auto-compact-hook-command.d.ts +0 -0
  206. package/dist/{src/cli → cli}/commands/session-auto-compact-hook-command.js +0 -0
  207. package/dist/{src/cli → cli}/commands/session-checkpoint-command.d.ts +0 -0
  208. package/dist/{src/cli → cli}/commands/session-checkpoint-command.js +0 -0
  209. package/dist/{src/cli → cli}/commands/session-migrate-skill-name.d.ts +0 -0
  210. package/dist/{src/cli → cli}/commands/session-migrate-skill-name.js +0 -0
  211. package/dist/{src/cli → cli}/commands/session-resume-command.d.ts +0 -0
  212. package/dist/{src/cli → cli}/commands/session-resume-command.js +0 -0
  213. package/dist/{src/cli → cli}/commands/share-commands.d.ts +0 -0
  214. package/dist/{src/cli → cli}/commands/share-commands.js +0 -0
  215. package/dist/{src/cli → cli}/commands/skill-conformance-commands.d.ts +0 -0
  216. package/dist/{src/cli → cli}/commands/skill-conformance-commands.js +0 -0
  217. package/dist/{src/cli → cli}/commands/skill-loop-engineering-readiness-commands.d.ts +0 -0
  218. package/dist/{src/cli → cli}/commands/skill-loop-engineering-readiness-commands.js +0 -0
  219. package/dist/{src/cli → cli}/commands/skill-search-commands.d.ts +0 -0
  220. package/dist/{src/cli → cli}/commands/skill-search-commands.js +0 -0
  221. package/dist/{src/cli → cli}/commands/skill-visibility.d.ts +0 -0
  222. package/dist/{src/cli → cli}/commands/skill-visibility.js +0 -0
  223. package/dist/{src/cli → cli}/commands/slice-commands.d.ts +0 -0
  224. package/dist/{src/cli → cli}/commands/slice-commands.js +0 -0
  225. package/dist/{src/cli → cli}/commands/slice-integrate-commands.d.ts +0 -0
  226. package/dist/{src/cli → cli}/commands/slice-integrate-commands.js +0 -0
  227. package/dist/{src/cli → cli}/commands/slice-review-commands.d.ts +0 -0
  228. package/dist/{src/cli → cli}/commands/slice-review-commands.js +0 -0
  229. package/dist/{src/cli → cli}/commands/smoke-commands.d.ts +0 -0
  230. package/dist/{src/cli → cli}/commands/smoke-commands.js +0 -0
  231. package/dist/{src/cli → cli}/commands/sop-commands.d.ts +0 -0
  232. package/dist/{src/cli → cli}/commands/sop-commands.js +0 -0
  233. package/dist/{src/cli → cli}/commands/statusline-commands.d.ts +0 -0
  234. package/dist/{src/cli → cli}/commands/statusline-commands.js +0 -0
  235. package/dist/{src/cli → cli}/commands/sub-agent-commands.d.ts +0 -0
  236. package/dist/{src/cli → cli}/commands/sub-agent-commands.js +0 -0
  237. package/dist/{src/cli → cli}/commands/sub-agent-dispatch-guard.d.ts +0 -0
  238. package/dist/{src/cli → cli}/commands/sub-agent-dispatch-guard.js +0 -0
  239. package/dist/{src/cli → cli}/commands/sub-agent-shared.d.ts +0 -0
  240. package/dist/{src/cli → cli}/commands/sub-agent-shared.js +0 -0
  241. package/dist/{src/cli → cli}/commands/test-commands.d.ts +0 -0
  242. package/dist/{src/cli → cli}/commands/test-commands.js +0 -0
  243. package/dist/{src/cli → cli}/commands/understand-commands.d.ts +0 -0
  244. package/dist/{src/cli → cli}/commands/understand-commands.js +0 -0
  245. package/dist/{src/cli → cli}/commands/upgrade-commands.d.ts +0 -0
  246. package/dist/{src/cli → cli}/commands/upgrade-commands.js +0 -0
  247. package/dist/{src/cli → cli}/commands/user-touchpoint-commands.d.ts +0 -0
  248. package/dist/{src/cli → cli}/commands/user-touchpoint-commands.js +0 -0
  249. package/dist/{src/cli → cli}/commands/verdict-aggregate-command.d.ts +0 -0
  250. package/dist/{src/cli → cli}/commands/verdict-aggregate-command.js +0 -0
  251. package/dist/{src/cli → cli}/commands/worker-commands.d.ts +0 -0
  252. package/dist/{src/cli → cli}/commands/worker-commands.js +0 -0
  253. package/dist/{src/cli → cli}/commands/workflow-commands.d.ts +0 -0
  254. package/dist/{src/cli → cli}/commands/workflow-plan-commands.d.ts +0 -0
  255. package/dist/{src/cli → cli}/commands/workflow-plan-commands.js +0 -0
  256. package/dist/{src/cli → cli}/commands/workspace/clean-command.d.ts +0 -0
  257. package/dist/{src/cli → cli}/commands/workspace/clean-command.js +0 -0
  258. package/dist/{src/cli → cli}/commands/workspace/helpers.d.ts +0 -0
  259. package/dist/{src/cli → cli}/commands/workspace/helpers.js +0 -0
  260. package/dist/{src/cli → cli}/commands/workspace/migrate-command.d.ts +0 -0
  261. package/dist/{src/cli → cli}/commands/workspace/migrate-command.js +0 -0
  262. package/dist/{src/cli → cli}/commands/workspace/reconcile-command.d.ts +0 -0
  263. package/dist/{src/cli → cli}/commands/workspace/reconcile-command.js +0 -0
  264. package/dist/{src/cli → cli}/commands/workspace-commands.d.ts +0 -0
  265. package/dist/{src/cli → cli}/commands/workspace-commands.js +0 -0
  266. package/dist/{src/cli → cli}/index.d.ts +0 -0
  267. package/dist/{src/cli → cli}/index.js +0 -0
  268. package/dist/{src/cli → cli}/program.d.ts +0 -0
  269. package/dist/{src/cli → cli}/program.js +0 -0
  270. package/dist/{src/hooks → hooks}/pre-tool-use-sub-agent.d.ts +0 -0
  271. package/dist/{src/hooks → hooks}/pre-tool-use-sub-agent.js +0 -0
  272. package/dist/{src/lib → lib}/render/message-renderer.d.ts +0 -0
  273. package/dist/{src/lib → lib}/render/message-renderer.js +0 -0
  274. package/dist/{src/services → services}/adapter/adapter-registry.d.ts +0 -0
  275. package/dist/{src/services → services}/adapter/adapter-registry.js +0 -0
  276. package/dist/{src/services → services}/adapter/adapter.d.ts +0 -0
  277. package/dist/{src/services → services}/adapter/adapter.js +0 -0
  278. package/dist/{src/services → services}/adapter/auto-adapter.d.ts +0 -0
  279. package/dist/{src/services → services}/adapter/auto-adapter.js +0 -0
  280. package/dist/{src/services → services}/adapter/claude-adapter.d.ts +0 -0
  281. package/dist/{src/services → services}/adapter/claude-adapter.js +0 -0
  282. package/dist/{src/services → services}/adapter/codex-adapter.d.ts +0 -0
  283. package/dist/{src/services → services}/adapter/codex-adapter.js +0 -0
  284. package/dist/{src/services → services}/adapter/copilot-adapter.d.ts +0 -0
  285. package/dist/{src/services → services}/adapter/copilot-adapter.js +0 -0
  286. package/dist/{src/services → services}/agent/ecc-agent-service.d.ts +0 -0
  287. package/dist/{src/services → services}/agent/ecc-agent-service.js +0 -0
  288. package/dist/{src/services → services}/artifacts/artifact-lint-service.d.ts +0 -0
  289. package/dist/{src/services → services}/artifacts/artifact-lint-service.js +0 -0
  290. package/dist/{src/services → services}/artifacts/artifact-prerequisites.d.ts +0 -0
  291. package/dist/{src/services → services}/artifacts/artifact-prerequisites.js +0 -0
  292. package/dist/{src/services → services}/artifacts/artifact-service.d.ts +0 -0
  293. package/dist/{src/services → services}/artifacts/artifact-service.js +0 -0
  294. package/dist/{src/services → services}/artifacts/artifact-templates.d.ts +0 -0
  295. package/dist/{src/services → services}/artifacts/artifact-templates.js +0 -0
  296. package/dist/{src/services → services}/artifacts/repair-cycle-service.d.ts +0 -0
  297. package/dist/{src/services → services}/artifacts/repair-cycle-service.js +0 -0
  298. package/dist/{src/services → services}/artifacts/request-artifact-service.d.ts +0 -0
  299. package/dist/{src/services → services}/artifacts/request-artifact-service.js +0 -0
  300. package/dist/{src/services → services}/artifacts/request-artifact-state-helpers.d.ts +0 -0
  301. package/dist/{src/services → services}/artifacts/request-artifact-state-helpers.js +0 -0
  302. package/dist/{src/services → services}/artifacts/workspace-service.d.ts +0 -0
  303. package/dist/{src/services → services}/artifacts/workspace-service.js +0 -0
  304. package/dist/{src/services → services}/audit/artifact-writer.d.ts +0 -0
  305. package/dist/{src/services → services}/audit/artifact-writer.js +0 -0
  306. package/dist/{src/services → services}/audit/audit-goal-service.d.ts +0 -0
  307. package/dist/{src/services → services}/audit/audit-goal-service.js +0 -0
  308. package/dist/{src/services → services}/audit/audit-goal-types.d.ts +0 -0
  309. package/dist/{src/services → services}/audit/audit-goal-types.js +0 -0
  310. package/dist/{src/services → services}/audit/backing-detector.d.ts +0 -0
  311. package/dist/{src/services → services}/audit/backing-detector.js +0 -0
  312. package/dist/{src/services → services}/audit/classifier.d.ts +0 -0
  313. package/dist/{src/services → services}/audit/classifier.js +0 -0
  314. package/dist/{src/services → services}/audit/decision-writer.d.ts +0 -0
  315. package/dist/{src/services → services}/audit/decision-writer.js +0 -0
  316. package/dist/{src/services → services}/audit/enforcers/active-skill-resolver.d.ts +0 -0
  317. package/dist/{src/services → services}/audit/enforcers/active-skill-resolver.js +0 -0
  318. package/dist/{src/services → services}/audit/enforcers/code-ban.d.ts +0 -0
  319. package/dist/{src/services → services}/audit/enforcers/code-ban.js +0 -0
  320. package/dist/{src/services → services}/audit/enforcers/design-draft-confirm.d.ts +0 -0
  321. package/dist/{src/services → services}/audit/enforcers/design-draft-confirm.js +0 -0
  322. package/dist/{src/services → services}/audit/enforcers/lint-audit-regression.d.ts +0 -0
  323. package/dist/{src/services → services}/audit/enforcers/lint-audit-regression.js +0 -0
  324. package/dist/{src/services → services}/audit/enforcers/lint-catalog-governance.d.ts +0 -0
  325. package/dist/{src/services → services}/audit/enforcers/lint-catalog-governance.js +0 -0
  326. package/dist/{src/services → services}/audit/enforcers/lint-cli-back.d.ts +0 -0
  327. package/dist/{src/services → services}/audit/enforcers/lint-cli-back.js +0 -0
  328. package/dist/{src/services → services}/audit/enforcers/lint-output-style.d.ts +0 -0
  329. package/dist/{src/services → services}/audit/enforcers/lint-output-style.js +0 -0
  330. package/dist/{src/services → services}/audit/enforcers/lint-reference-integrity.d.ts +0 -0
  331. package/dist/{src/services → services}/audit/enforcers/lint-reference-integrity.js +0 -0
  332. package/dist/{src/services → services}/audit/enforcers/lint-reference-shape.d.ts +0 -0
  333. package/dist/{src/services → services}/audit/enforcers/lint-reference-shape.js +0 -0
  334. package/dist/{src/services → services}/audit/enforcers/lint-style.d.ts +0 -0
  335. package/dist/{src/services → services}/audit/enforcers/lint-style.js +0 -0
  336. package/dist/{src/services → services}/audit/enforcers/lint-workflow-shape.d.ts +0 -0
  337. package/dist/{src/services → services}/audit/enforcers/lint-workflow-shape.js +0 -0
  338. package/dist/{src/services → services}/audit/enforcers/login-gate.d.ts +0 -0
  339. package/dist/{src/services → services}/audit/enforcers/login-gate.js +0 -0
  340. package/dist/{src/services → services}/audit/enforcers/mock-placement.d.ts +0 -0
  341. package/dist/{src/services → services}/audit/enforcers/mock-placement.js +0 -0
  342. package/dist/{src/services → services}/audit/enforcers/no-root-pollution.d.ts +0 -0
  343. package/dist/{src/services → services}/audit/enforcers/no-root-pollution.js +0 -0
  344. package/dist/{src/services → services}/audit/enforcers/pre-rd-scan.d.ts +0 -0
  345. package/dist/{src/services → services}/audit/enforcers/pre-rd-scan.js +0 -0
  346. package/dist/{src/services → services}/audit/enforcers/prototype-fidelity.d.ts +0 -0
  347. package/dist/{src/services → services}/audit/enforcers/prototype-fidelity.js +0 -0
  348. package/dist/{src/services → services}/audit/enforcers/resume-detection.d.ts +0 -0
  349. package/dist/{src/services → services}/audit/enforcers/resume-detection.js +0 -0
  350. package/dist/{src/services → services}/audit/enforcers/sub-agent-sid.d.ts +0 -0
  351. package/dist/{src/services → services}/audit/enforcers/sub-agent-sid.js +0 -0
  352. package/dist/{src/services → services}/audit/prose-ratio-calculator.d.ts +0 -0
  353. package/dist/{src/services → services}/audit/prose-ratio-calculator.js +0 -0
  354. package/dist/{src/services → services}/audit/red-line-catalog-p2-a.d.ts +0 -0
  355. package/dist/{src/services → services}/audit/red-line-catalog-p2-a.js +0 -0
  356. package/dist/{src/services → services}/audit/red-line-catalog-p2-b.d.ts +0 -0
  357. package/dist/{src/services → services}/audit/red-line-catalog-p2-b.js +0 -0
  358. package/dist/{src/services → services}/audit/red-line-catalog.d.ts +0 -0
  359. package/dist/{src/services → services}/audit/red-line-catalog.js +0 -0
  360. package/dist/{src/services → services}/audit/red-lines-service.d.ts +0 -0
  361. package/dist/{src/services → services}/audit/red-lines-service.js +0 -0
  362. package/dist/{src/services → services}/audit/scanners/openspec-scanner.d.ts +0 -0
  363. package/dist/{src/services → services}/audit/scanners/openspec-scanner.js +0 -0
  364. package/dist/{src/services → services}/audit/scanners/rules-tree-scanner.d.ts +0 -0
  365. package/dist/{src/services → services}/audit/scanners/rules-tree-scanner.js +0 -0
  366. package/dist/{src/services → services}/audit/scanners/skills-tree-scanner.d.ts +0 -0
  367. package/dist/{src/services → services}/audit/scanners/skills-tree-scanner.js +0 -0
  368. package/dist/{src/services → services}/audit/static-service.d.ts +0 -0
  369. package/dist/{src/services → services}/audit/static-service.js +0 -0
  370. package/dist/{src/services → services}/audit/types.d.ts +0 -0
  371. package/dist/{src/services → services}/audit/types.js +0 -0
  372. package/dist/{src/services → services}/audit-independent/perf-audit-service.d.ts +0 -0
  373. package/dist/{src/services → services}/audit-independent/perf-audit-service.js +0 -0
  374. package/dist/{src/services → services}/audit-independent/security-audit-service.d.ts +0 -0
  375. package/dist/{src/services → services}/audit-independent/security-audit-service.js +0 -0
  376. package/dist/{src/services → services}/classify/classify-service.d.ts +0 -0
  377. package/dist/{src/services → services}/classify/classify-service.js +0 -0
  378. package/dist/{src/services → services}/classify/classify-types.d.ts +0 -0
  379. package/dist/{src/services → services}/classify/classify-types.js +0 -0
  380. package/dist/{src/services → services}/code/auto-compact-orchestrator.d.ts +0 -0
  381. package/dist/{src/services → services}/code/auto-compact-orchestrator.js +0 -0
  382. package/dist/{src/services → services}/code/batch-heartbeat-poller.d.ts +0 -0
  383. package/dist/{src/services → services}/code/batch-heartbeat-poller.js +0 -0
  384. package/dist/{src/services → services}/code/dag-orchestrator.d.ts +0 -0
  385. package/dist/{src/services → services}/code/dag-orchestrator.js +0 -0
  386. package/dist/{src/services → services}/code/emit-handoff.d.ts +0 -0
  387. package/dist/{src/services → services}/code/emit-handoff.js +0 -0
  388. package/dist/{src/services → services}/code/job-shape-decision.d.ts +0 -0
  389. package/dist/{src/services → services}/code/job-shape-decision.js +0 -0
  390. package/dist/{src/services → services}/code/mode-gate.d.ts +0 -0
  391. package/dist/{src/services → services}/code/mode-gate.js +0 -0
  392. package/dist/{src/services → services}/code/post-compact-detector.d.ts +0 -0
  393. package/dist/{src/services → services}/code/post-compact-detector.js +0 -0
  394. package/dist/{src/services → services}/code/status-line-renderer.d.ts +0 -0
  395. package/dist/{src/services → services}/code/status-line-renderer.js +0 -0
  396. package/dist/{src/services → services}/code/step-08-gate.d.ts +0 -0
  397. package/dist/{src/services → services}/code/step-08-gate.js +0 -0
  398. package/dist/{src/services → services}/code/user-touchpoint-classifier.d.ts +0 -0
  399. package/dist/{src/services → services}/code/user-touchpoint-classifier.js +0 -0
  400. package/dist/{src/services → services}/code-review/ecc-bridge.d.ts +0 -0
  401. package/dist/{src/services → services}/code-review/ecc-bridge.js +0 -0
  402. package/dist/{src/services → services}/code-review/ocr-service.d.ts +0 -0
  403. package/dist/{src/services → services}/code-review/ocr-service.js +0 -0
  404. package/dist/{src/services → services}/codegraph/codegraph-process-runner.d.ts +0 -0
  405. package/dist/{src/services → services}/codegraph/codegraph-process-runner.js +0 -0
  406. package/dist/{src/services → services}/codegraph/codegraph-service.d.ts +0 -0
  407. package/dist/{src/services → services}/codegraph/codegraph-service.js +0 -0
  408. package/dist/{src/services → services}/compact/decision-tables.d.ts +0 -0
  409. package/dist/{src/services → services}/compact/decision-tables.js +0 -0
  410. package/dist/{src/services → services}/compact/request-transition-hook.d.ts +0 -0
  411. package/dist/{src/services → services}/compact/request-transition-hook.js +0 -0
  412. package/dist/{src/services → services}/compact/suggest-service.d.ts +0 -0
  413. package/dist/{src/services → services}/compact/suggest-service.js +0 -0
  414. package/dist/{src/services → services}/complexity/complexity-estimator.d.ts +0 -0
  415. package/dist/{src/services → services}/complexity/complexity-estimator.js +0 -0
  416. package/dist/{src/services → services}/config/config-migration.d.ts +0 -0
  417. package/dist/{src/services → services}/config/config-migration.js +0 -0
  418. package/dist/{src/services → services}/config/config-restore.d.ts +0 -0
  419. package/dist/{src/services → services}/config/config-restore.js +0 -0
  420. package/dist/{src/services → services}/config/config-rollback.d.ts +0 -0
  421. package/dist/{src/services → services}/config/config-rollback.js +0 -0
  422. package/dist/{src/services → services}/config/config-safety.d.ts +0 -0
  423. package/dist/{src/services → services}/config/config-safety.js +0 -0
  424. package/dist/{src/services → services}/config/config-service.d.ts +0 -0
  425. package/dist/{src/services → services}/config/config-service.js +0 -0
  426. package/dist/{src/services → services}/config/config-types.d.ts +0 -0
  427. package/dist/{src/services → services}/config/config-types.js +0 -0
  428. package/dist/{src/services → services}/config/provider-service.d.ts +0 -0
  429. package/dist/{src/services → services}/config/provider-service.js +0 -0
  430. package/dist/{src/services → services}/config/proxy-service.d.ts +0 -0
  431. package/dist/{src/services → services}/config/proxy-service.js +0 -0
  432. package/dist/{src/services → services}/config/sidecar-store.d.ts +0 -0
  433. package/dist/{src/services → services}/config/sidecar-store.js +0 -0
  434. package/dist/{src/services → services}/config/workspace-state-service.d.ts +0 -0
  435. package/dist/{src/services → services}/config/workspace-state-service.js +0 -0
  436. package/dist/{src/services → services}/context/artifact-meta.d.ts +0 -0
  437. package/dist/{src/services → services}/context/artifact-meta.js +0 -0
  438. package/dist/{src/services → services}/context/auto-compact-dispatcher.d.ts +0 -0
  439. package/dist/{src/services → services}/context/auto-compact-dispatcher.js +0 -0
  440. package/dist/{src/services → services}/context/auto-compact-reader.d.ts +0 -0
  441. package/dist/{src/services → services}/context/auto-compact-reader.js +0 -0
  442. package/dist/{src/services → services}/context/auto-compact-types.d.ts +0 -0
  443. package/dist/{src/services → services}/context/auto-compact-types.js +0 -0
  444. package/dist/{src/services → services}/context/collector.d.ts +0 -0
  445. package/dist/{src/services → services}/context/collector.js +0 -0
  446. package/dist/{src/services → services}/context/context-builder.d.ts +0 -0
  447. package/dist/{src/services → services}/context/context-builder.js +0 -0
  448. package/dist/{src/services → services}/context/context-guard.d.ts +0 -0
  449. package/dist/{src/services → services}/context/context-guard.js +0 -0
  450. package/dist/{src/services → services}/context/context-schema.d.ts +0 -0
  451. package/dist/{src/services → services}/context/context-schema.js +0 -0
  452. package/dist/{src/services → services}/context/dispatch-context-guard.d.ts +0 -0
  453. package/dist/{src/services → services}/context/dispatch-context-guard.js +0 -0
  454. package/dist/{src/services → services}/context/doc-retriever.d.ts +0 -0
  455. package/dist/{src/services → services}/context/doc-retriever.js +0 -0
  456. package/dist/{src/services → services}/context/headroom-client.d.ts +0 -0
  457. package/dist/{src/services → services}/context/headroom-client.js +0 -0
  458. package/dist/{src/services → services}/context/headroom-fetcher.d.ts +0 -0
  459. package/dist/{src/services → services}/context/headroom-fetcher.js +0 -0
  460. package/dist/{src/services → services}/context/headroom-prefs.d.ts +0 -0
  461. package/dist/{src/services → services}/context/headroom-prefs.js +0 -0
  462. package/dist/{src/services → services}/context/index.d.ts +0 -0
  463. package/dist/{src/services → services}/context/index.js +0 -0
  464. package/dist/{src/services → services}/context/main-session-monitor.d.ts +0 -0
  465. package/dist/{src/services → services}/context/main-session-monitor.js +0 -0
  466. package/dist/{src/services → services}/context/renderer.d.ts +0 -0
  467. package/dist/{src/services → services}/context/renderer.js +0 -0
  468. package/dist/{src/services → services}/context/shared-channel.d.ts +0 -0
  469. package/dist/{src/services → services}/context/shared-channel.js +0 -0
  470. package/dist/{src/services → services}/context/threshold.d.ts +0 -0
  471. package/dist/{src/services → services}/context/threshold.js +0 -0
  472. package/dist/{src/services → services}/context/tokenizer.d.ts +0 -0
  473. package/dist/{src/services → services}/context/tokenizer.js +0 -0
  474. package/dist/{src/services → services}/context/types.d.ts +0 -0
  475. package/dist/{src/services → services}/context/types.js +0 -0
  476. package/dist/{src/services → services}/crystallization/crystallization-service.d.ts +0 -0
  477. package/dist/{src/services → services}/crystallization/crystallization-service.js +0 -0
  478. package/dist/{src/services → services}/crystallization/crystallization-store.d.ts +0 -0
  479. package/dist/{src/services → services}/crystallization/crystallization-store.js +0 -0
  480. package/dist/{src/services → services}/crystallization/crystallization-types.d.ts +0 -0
  481. package/dist/{src/services → services}/crystallization/crystallization-types.js +0 -0
  482. package/dist/{src/services → services}/crystallization/evidence-brief-builder.d.ts +0 -0
  483. package/dist/{src/services → services}/crystallization/evidence-brief-builder.js +0 -0
  484. package/dist/{src/services → services}/dashboard/project-dashboard-service.d.ts +0 -0
  485. package/dist/{src/services → services}/dashboard/project-dashboard-service.js +0 -0
  486. package/dist/{src/services → services}/dispatch/batch-counter.d.ts +0 -0
  487. package/dist/{src/services → services}/dispatch/batch-counter.js +0 -0
  488. package/dist/{src/services → services}/dispatch/contract-store.d.ts +0 -0
  489. package/dist/{src/services → services}/dispatch/contract-store.js +0 -0
  490. package/dist/{src/services → services}/dispatch/dispatch-record-writer.d.ts +0 -0
  491. package/dist/{src/services → services}/dispatch/dispatch-record-writer.js +0 -0
  492. package/dist/{src/services → services}/dispatch/heartbeat-truncator.d.ts +0 -0
  493. package/dist/{src/services → services}/dispatch/heartbeat-truncator.js +0 -0
  494. package/dist/{src/services → services}/dispatch/leak-detector.d.ts +0 -0
  495. package/dist/{src/services → services}/dispatch/leak-detector.js +0 -0
  496. package/dist/{src/services → services}/dispatch/slice-dag.d.ts +0 -0
  497. package/dist/{src/services → services}/dispatch/slice-dag.js +0 -0
  498. package/dist/{src/services → services}/dispatch/sub-agent-dispatcher.d.ts +0 -0
  499. package/dist/{src/services → services}/dispatch/sub-agent-dispatcher.js +0 -0
  500. package/dist/{src/services → services}/dispatch/test-tool-detection.d.ts +0 -0
  501. package/dist/{src/services → services}/dispatch/test-tool-detection.js +0 -0
  502. package/dist/{src/services → services}/doc/doc-generator.d.ts +0 -0
  503. package/dist/{src/services → services}/doc/doc-generator.js +0 -0
  504. package/dist/{src/services → services}/doctor/doctor-service.d.ts +0 -0
  505. package/dist/{src/services → services}/doctor/doctor-service.js +0 -0
  506. package/dist/{src/services → services}/evolution/evolution-service.d.ts +0 -0
  507. package/dist/{src/services → services}/evolution/evolution-service.js +0 -0
  508. package/dist/{src/services → services}/evolution/evolution-store.d.ts +0 -0
  509. package/dist/{src/services → services}/evolution/evolution-store.js +0 -0
  510. package/dist/{src/services → services}/evolution/evolution-types.d.ts +0 -0
  511. package/dist/{src/services → services}/evolution/evolution-types.js +0 -0
  512. package/dist/{src/services → services}/evolution/independent-evaluator-runner.d.ts +0 -0
  513. package/dist/{src/services → services}/evolution/independent-evaluator-runner.js +0 -0
  514. package/dist/{src/services → services}/evolution/regression-skeptic-runner.d.ts +0 -0
  515. package/dist/{src/services → services}/evolution/regression-skeptic-runner.js +0 -0
  516. package/dist/{src/services → services}/feedback/feedback-promotion-service.d.ts +0 -0
  517. package/dist/{src/services → services}/feedback/feedback-promotion-service.js +0 -0
  518. package/dist/{src/services → services}/filesystem/file-lock.d.ts +0 -0
  519. package/dist/{src/services → services}/final-review/final-review-service.d.ts +0 -0
  520. package/dist/{src/services → services}/final-review/final-review-service.js +0 -0
  521. package/dist/{src/services → services}/final-review/final-review-types.d.ts +0 -0
  522. package/dist/{src/services → services}/final-review/final-review-types.js +0 -0
  523. package/dist/{src/services → services}/fixture/fixture-capture-service.d.ts +0 -0
  524. package/dist/{src/services → services}/fixture/fixture-capture-service.js +0 -0
  525. package/dist/{src/services → services}/fixture/fixture-sanitize-service.d.ts +0 -0
  526. package/dist/{src/services → services}/fixture/fixture-sanitize-service.js +0 -0
  527. package/dist/{src/services → services}/fixture/index.d.ts +0 -0
  528. package/dist/{src/services → services}/fixture/index.js +0 -0
  529. package/dist/{src/services → services}/fork/fork-sync-state.d.ts +0 -0
  530. package/dist/{src/services → services}/fork/fork-sync-state.js +0 -0
  531. package/dist/{src/services → services}/fuzzy-matching/fuzzy-match-service.d.ts +0 -0
  532. package/dist/{src/services → services}/fuzzy-matching/fuzzy-match-service.js +0 -0
  533. package/dist/{src/services → services}/fuzzy-matching/fzf-pick-service.d.ts +0 -0
  534. package/dist/{src/services → services}/fuzzy-matching/fzf-pick-service.js +0 -0
  535. package/dist/{src/services → services}/fuzzy-matching/types.d.ts +0 -0
  536. package/dist/{src/services → services}/fuzzy-matching/types.js +0 -0
  537. package/dist/{src/services → services}/handoff/handoff-parser.d.ts +0 -0
  538. package/dist/{src/services → services}/handoff/handoff-parser.js +0 -0
  539. package/dist/{src/services → services}/handoff/handoff-types.d.ts +0 -0
  540. package/dist/{src/services → services}/handoff/handoff-types.js +0 -0
  541. package/dist/{src/services → services}/handoff/handoff-writer.d.ts +0 -0
  542. package/dist/{src/services → services}/handoff/handoff-writer.js +0 -0
  543. package/dist/{src/services → services}/hooks/auto-compact-hook-install.d.ts +0 -0
  544. package/dist/{src/services → services}/hooks/auto-compact-hook-install.js +0 -0
  545. package/dist/{src/services → services}/hooks/output.d.ts +0 -0
  546. package/dist/{src/services → services}/hooks/output.js +0 -0
  547. package/dist/{src/services → services}/hooks/presence-marker-detector.d.ts +0 -0
  548. package/dist/{src/services → services}/hooks/presence-marker-detector.js +0 -0
  549. package/dist/{src/services → services}/ide/adapters/claude-code-adapter.d.ts +0 -0
  550. package/dist/{src/services → services}/ide/adapters/claude-code-adapter.js +0 -0
  551. package/dist/{src/services → services}/ide/adapters/codex-adapter.d.ts +0 -0
  552. package/dist/{src/services → services}/ide/adapters/codex-adapter.js +0 -0
  553. package/dist/{src/services → services}/ide/adapters/cursor-adapter.d.ts +0 -0
  554. package/dist/{src/services → services}/ide/adapters/cursor-adapter.js +0 -0
  555. package/dist/{src/services → services}/ide/adapters/hermes-adapter.d.ts +0 -0
  556. package/dist/{src/services → services}/ide/adapters/hermes-adapter.js +0 -0
  557. package/dist/{src/services → services}/ide/adapters/openclaw-adapter.d.ts +0 -0
  558. package/dist/{src/services → services}/ide/adapters/openclaw-adapter.js +0 -0
  559. package/dist/{src/services → services}/ide/adapters/trae-adapter.d.ts +0 -0
  560. package/dist/{src/services → services}/ide/adapters/trae-adapter.js +0 -0
  561. package/dist/{src/services → services}/ide/adapters/zcode-adapter.d.ts +0 -0
  562. package/dist/{src/services → services}/ide/current-model-detector.d.ts +0 -0
  563. package/dist/{src/services → services}/ide/hook-protocol.d.ts +0 -0
  564. package/dist/{src/services → services}/ide/hook-protocol.js +0 -0
  565. package/dist/{src/services → services}/ide/hook-translator.d.ts +0 -0
  566. package/dist/{src/services → services}/ide/hook-translator.js +0 -0
  567. package/dist/{src/services → services}/ide/ide-detector.d.ts +0 -0
  568. package/dist/{src/services → services}/ide/ide-detector.js +0 -0
  569. package/dist/{src/services → services}/ide/ide-registry.d.ts +0 -0
  570. package/dist/{src/services → services}/ide/ide-registry.js +0 -0
  571. package/dist/{src/services → services}/ide/ide-types.d.ts +0 -0
  572. package/dist/{src/services → services}/ide/ide-types.js +0 -0
  573. package/dist/{src/services → services}/ide/resource-profile.d.ts +0 -0
  574. package/dist/{src/services → services}/ide/resource-profile.js +0 -0
  575. package/dist/{src/services → services}/ide/shared/atomic-json.d.ts +0 -0
  576. package/dist/{src/services → services}/ide/shared/atomic-json.js +0 -0
  577. package/dist/{src/services → services}/ide/shared/safe-path.d.ts +0 -0
  578. package/dist/{src/services → services}/ide/shared/safe-path.js +0 -0
  579. package/dist/{src/services → services}/impact/impact-scan-service.d.ts +0 -0
  580. package/dist/{src/services → services}/impact/impact-scan-service.js +0 -0
  581. package/dist/{src/services → services}/job/job-event-emitter.d.ts +0 -0
  582. package/dist/{src/services → services}/job/job-event-emitter.js +0 -0
  583. package/dist/{src/services → services}/job/job-orchestrator.d.ts +0 -0
  584. package/dist/{src/services → services}/job/job-orchestrator.js +0 -0
  585. package/dist/{src/services → services}/job/job-progress-store.d.ts +0 -0
  586. package/dist/{src/services → services}/job/job-progress-store.js +0 -0
  587. package/dist/{src/services → services}/job/job-resource-snapshot.d.ts +0 -0
  588. package/dist/{src/services → services}/job/job-resource-snapshot.js +0 -0
  589. package/dist/{src/services → services}/job/job-rotation.d.ts +0 -0
  590. package/dist/{src/services → services}/job/job-rotation.js +0 -0
  591. package/dist/{src/services → services}/job/job-state-store.d.ts +0 -0
  592. package/dist/{src/services → services}/job/job-state-store.js +0 -0
  593. package/dist/{src/services → services}/job/job-types.d.ts +0 -0
  594. package/dist/{src/services → services}/job/job-types.js +0 -0
  595. package/dist/{src/services → services}/job/subagent-job-wrapper.d.ts +0 -0
  596. package/dist/{src/services → services}/job/subagent-job-wrapper.js +0 -0
  597. package/dist/{src/services → services}/legacy/legacy-detector.d.ts +0 -0
  598. package/dist/{src/services → services}/legacy/legacy-detector.js +0 -0
  599. package/dist/{src/services → services}/log/log-commands-service.d.ts +0 -0
  600. package/dist/{src/services → services}/log/log-commands-service.js +0 -0
  601. package/dist/{src/services → services}/log/logger.d.ts +0 -0
  602. package/dist/{src/services → services}/log/logger.js +0 -0
  603. package/dist/{src/services → services}/log/redact.d.ts +0 -0
  604. package/dist/{src/services → services}/log/redact.js +0 -0
  605. package/dist/{src/services → services}/log/retention.d.ts +0 -0
  606. package/dist/{src/services → services}/log/retention.js +0 -0
  607. package/dist/{src/services → services}/loop/evaluator-dispatcher.d.ts +0 -0
  608. package/dist/{src/services → services}/loop/evaluator-dispatcher.js +0 -0
  609. package/dist/{src/services → services}/loop/loop-bee-relation-service.d.ts +0 -0
  610. package/dist/{src/services → services}/loop/loop-bee-relation-service.js +0 -0
  611. package/dist/{src/services → services}/loop/loop-bee-relation-store.d.ts +0 -0
  612. package/dist/{src/services → services}/loop/loop-bee-relation-store.js +0 -0
  613. package/dist/{src/services → services}/loop/loop-bee-relation-types.d.ts +0 -0
  614. package/dist/{src/services → services}/loop/loop-bee-relation-types.js +0 -0
  615. package/dist/{src/services → services}/loop/loop-release-service.d.ts +0 -0
  616. package/dist/{src/services → services}/loop/loop-release-service.js +0 -0
  617. package/dist/{src/services → services}/loop/loop-release-store.d.ts +0 -0
  618. package/dist/{src/services → services}/loop/loop-release-store.js +0 -0
  619. package/dist/{src/services → services}/loop/loop-release-types.d.ts +0 -0
  620. package/dist/{src/services → services}/loop/loop-release-types.js +0 -0
  621. package/dist/{src/services → services}/loop/monotonic-guard.d.ts +0 -0
  622. package/dist/{src/services → services}/loop/monotonic-guard.js +0 -0
  623. package/dist/{src/services → services}/loop/monotonic-runner.d.ts +0 -0
  624. package/dist/{src/services → services}/loop/monotonic-runner.js +0 -0
  625. package/dist/{src/services → services}/loop/run-driver.d.ts +0 -0
  626. package/dist/{src/services → services}/loop/run-driver.js +0 -0
  627. package/dist/{src/services → services}/loop/spec-service.d.ts +0 -0
  628. package/dist/{src/services → services}/loop/spec-service.js +0 -0
  629. package/dist/{src/services → services}/memory/llm-reranker.d.ts +0 -0
  630. package/dist/{src/services → services}/memory/llm-reranker.js +0 -0
  631. package/dist/{src/services → services}/memory/memory-search-service.d.ts +0 -0
  632. package/dist/{src/services → services}/memory/memory-search-service.js +0 -0
  633. package/dist/{src/services → services}/memory/project-memory-service.d.ts +0 -0
  634. package/dist/{src/services → services}/memory/project-memory-service.js +0 -0
  635. package/dist/{src/services → services}/migrate-skill-name/migrate.d.ts +0 -0
  636. package/dist/{src/services → services}/migrate-skill-name/migrate.js +0 -0
  637. package/dist/{src/services → services}/migrate-skill-name/schema.d.ts +0 -0
  638. package/dist/{src/services → services}/migrate-skill-name/schema.js +0 -0
  639. package/dist/{src/services → services}/migration/v2-10-to-v2-11-service.d.ts +0 -0
  640. package/dist/{src/services → services}/migration/v2-10-to-v2-11-service.js +0 -0
  641. package/dist/{src/services → services}/migration/v2-10-to-v2-11-types.d.ts +0 -0
  642. package/dist/{src/services → services}/migration/v2-10-to-v2-11-types.js +0 -0
  643. package/dist/{src/services → services}/mode/bypass-tracker.d.ts +0 -0
  644. package/dist/{src/services → services}/mode/bypass-tracker.js +0 -0
  645. package/dist/{src/services → services}/mode/mode-enforcement.d.ts +0 -0
  646. package/dist/{src/services → services}/mode/mode-enforcement.js +0 -0
  647. package/dist/{src/services → services}/mut/assert-scanner.d.ts +0 -0
  648. package/dist/{src/services → services}/mut/assert-scanner.js +0 -0
  649. package/dist/{src/services → services}/mut/index.d.ts +0 -0
  650. package/dist/{src/services → services}/mut/index.js +0 -0
  651. package/dist/{src/services → services}/mut/mut-runner.d.ts +0 -0
  652. package/dist/{src/services → services}/mut/mut-runner.js +0 -0
  653. package/dist/{src/services → services}/mut/production-stryker.d.ts +0 -0
  654. package/dist/{src/services → services}/mut/production-stryker.js +0 -0
  655. package/dist/{src/services → services}/mut/report-builder.d.ts +0 -0
  656. package/dist/{src/services → services}/mut/report-builder.js +0 -0
  657. package/dist/{src/services → services}/mut/report-loader.d.ts +0 -0
  658. package/dist/{src/services → services}/mut/report-loader.js +0 -0
  659. package/dist/{src/services → services}/mut/thresholds.d.ts +0 -0
  660. package/dist/{src/services → services}/mut/thresholds.js +0 -0
  661. package/dist/{src/services → services}/mut/types.d.ts +0 -0
  662. package/dist/{src/services → services}/mut/types.js +0 -0
  663. package/dist/{src/services → services}/observability/aggregation.d.ts +0 -0
  664. package/dist/{src/services → services}/observability/aggregation.js +0 -0
  665. package/dist/{src/services → services}/observability/jsonl-store.d.ts +0 -0
  666. package/dist/{src/services → services}/observability/jsonl-store.js +0 -0
  667. package/dist/{src/services → services}/observability/observability-service.d.ts +0 -0
  668. package/dist/{src/services → services}/observability/observability-service.js +0 -0
  669. package/dist/{src/services → services}/observability/report-formatter.d.ts +0 -0
  670. package/dist/{src/services → services}/observability/report-formatter.js +0 -0
  671. package/dist/{src/services → services}/openspec/openspec-archive-service.d.ts +0 -0
  672. package/dist/{src/services → services}/openspec/openspec-archive-service.js +0 -0
  673. package/dist/{src/services → services}/openspec/openspec-bridge-service.d.ts +0 -0
  674. package/dist/{src/services → services}/openspec/openspec-bridge-service.js +0 -0
  675. package/dist/{src/services → services}/openspec/openspec-init-service.d.ts +0 -0
  676. package/dist/{src/services → services}/openspec/openspec-init-service.js +0 -0
  677. package/dist/{src/services → services}/openspec/openspec-propose-from-doctor-service.d.ts +0 -0
  678. package/dist/{src/services → services}/openspec/openspec-propose-from-doctor-service.js +0 -0
  679. package/dist/{src/services → services}/openspec/openspec-render-service.d.ts +0 -0
  680. package/dist/{src/services → services}/openspec/openspec-render-service.js +0 -0
  681. package/dist/{src/services → services}/openspec/openspec-scan-service.d.ts +0 -0
  682. package/dist/{src/services → services}/openspec/openspec-scan-service.js +0 -0
  683. package/dist/{src/services → services}/openspec/openspec-types.d.ts +0 -0
  684. package/dist/{src/services → services}/openspec/openspec-types.js +0 -0
  685. package/dist/{src/services → services}/openspec/openspec-validate-service.d.ts +0 -0
  686. package/dist/{src/services → services}/openspec/openspec-validate-service.js +0 -0
  687. package/dist/{src/services → services}/perf/perf-baseline-service.d.ts +0 -0
  688. package/dist/{src/services → services}/perf/perf-baseline-service.js +0 -0
  689. package/dist/{src/services → services}/polyrepo/polyrepo-dispatcher.d.ts +0 -0
  690. package/dist/{src/services → services}/polyrepo/polyrepo-scanner.d.ts +0 -0
  691. package/dist/{src/services → services}/polyrepo/polyrepo-scanner.js +0 -0
  692. package/dist/{src/services → services}/polyrepo/polyrepo-service.d.ts +0 -0
  693. package/dist/{src/services → services}/polyrepo/polyrepo-service.js +0 -0
  694. package/dist/{src/services → services}/polyrepo/polyrepo-types.d.ts +0 -0
  695. package/dist/{src/services → services}/polyrepo/polyrepo-types.js +0 -0
  696. package/dist/{src/services → services}/prd/handoff-auto-regen.d.ts +0 -0
  697. package/dist/{src/services → services}/prd/handoff-auto-regen.js +0 -0
  698. package/dist/{src/services → services}/prd/handoff-service.d.ts +0 -0
  699. package/dist/{src/services → services}/prd/handoff-service.js +0 -0
  700. package/dist/{src/services → services}/prd/handoff-types.d.ts +0 -0
  701. package/dist/{src/services → services}/prd/handoff-types.js +0 -0
  702. package/dist/{src/services → services}/prd/prd-blocks-checker.d.ts +0 -0
  703. package/dist/{src/services → services}/prd/prd-blocks-checker.js +0 -0
  704. package/dist/{src/services → services}/prd/project-scan-reader.d.ts +0 -0
  705. package/dist/{src/services → services}/prd/project-scan-reader.js +0 -0
  706. package/dist/{src/services → services}/prd/project-scan-sediment.d.ts +0 -0
  707. package/dist/{src/services → services}/prd/project-scan-sediment.js +0 -0
  708. package/dist/{src/services → services}/prd/project-scan-types.d.ts +0 -0
  709. package/dist/{src/services → services}/prd/project-scan-types.js +0 -0
  710. package/dist/{src/services → services}/preferences/preferences-service.d.ts +0 -0
  711. package/dist/{src/services → services}/preferences/preferences-service.js +0 -0
  712. package/dist/{src/services → services}/preferences/preferences-types.d.ts +0 -0
  713. package/dist/{src/services → services}/preferences/preferences-types.js +0 -0
  714. package/dist/{src/services → services}/profiles/profile-service.d.ts +0 -0
  715. package/dist/{src/services → services}/profiles/profile-service.js +0 -0
  716. package/dist/{src/services → services}/progress/progress-service.d.ts +0 -0
  717. package/dist/{src/services → services}/progress/progress-service.js +0 -0
  718. package/dist/{src/services → services}/providers/minimax-provider-service.d.ts +0 -0
  719. package/dist/{src/services → services}/providers/minimax-provider-service.js +0 -0
  720. package/dist/{src/services → services}/providers/minimax-worker-service.d.ts +0 -0
  721. package/dist/{src/services → services}/providers/minimax-worker-service.js +0 -0
  722. package/dist/{src/services → services}/proxy/proxy-service.d.ts +0 -0
  723. package/dist/{src/services → services}/proxy/proxy-service.js +0 -0
  724. package/dist/{src/services → services}/qa/browser-event-logger.d.ts +0 -0
  725. package/dist/{src/services → services}/qa/browser-event-logger.js +0 -0
  726. package/dist/{src/services → services}/qa/browser-restart-detector.d.ts +0 -0
  727. package/dist/{src/services → services}/qa/browser-restart-detector.js +0 -0
  728. package/dist/{src/services → services}/qa/browser-reuse-hint.d.ts +0 -0
  729. package/dist/{src/services → services}/qa/browser-reuse-hint.js +0 -0
  730. package/dist/{src/services → services}/qa/browser-wrapper-service.d.ts +0 -0
  731. package/dist/{src/services → services}/qa/browser-wrapper-service.js +0 -0
  732. package/dist/{src/services → services}/qa/qa-business-review-state.d.ts +0 -0
  733. package/dist/{src/services → services}/qa/qa-business-review-state.js +0 -0
  734. package/dist/{src/services → services}/rd/ast-gate.d.ts +0 -0
  735. package/dist/{src/services → services}/rd/ast-gate.js +0 -0
  736. package/dist/{src/services → services}/rd/impl.d.ts +0 -0
  737. package/dist/{src/services → services}/rd/impl.js +0 -0
  738. package/dist/{src/services → services}/rd/rd-service.d.ts +0 -0
  739. package/dist/{src/services → services}/rd/rd-service.js +0 -0
  740. package/dist/{src/services → services}/rd/reviewer-dispatch-policy.d.ts +0 -0
  741. package/dist/{src/services → services}/rd/reviewer-dispatch-policy.js +0 -0
  742. package/dist/{src/services → services}/rd/standards-diagnostic.d.ts +0 -0
  743. package/dist/{src/services → services}/rd/standards-diagnostic.js +0 -0
  744. package/dist/{src/services → services}/rd/strategic-stage.d.ts +0 -0
  745. package/dist/{src/services → services}/rd/strategic-stage.js +0 -0
  746. package/dist/{src/services → services}/rd/strategy.d.ts +0 -0
  747. package/dist/{src/services → services}/rd/strategy.js +0 -0
  748. package/dist/{src/services → services}/rd/tactical-stage.d.ts +0 -0
  749. package/dist/{src/services → services}/rd/tactical-stage.js +0 -0
  750. package/dist/{src/services → services}/rd/types.d.ts +18 -18
  751. /package/dist/{src/services → services}/rd/types.js +0 -0
  752. /package/dist/{src/services → services}/recommendations/capability-availability.d.ts +0 -0
  753. /package/dist/{src/services → services}/recommendations/capability-availability.js +0 -0
  754. /package/dist/{src/services → services}/recommendations/capability-map-service.d.ts +0 -0
  755. /package/dist/{src/services → services}/recommendations/capability-map-service.js +0 -0
  756. /package/dist/{src/services → services}/recommendations/capability-seed-items.d.ts +0 -0
  757. /package/dist/{src/services → services}/recommendations/capability-seed-items.js +0 -0
  758. /package/dist/{src/services → services}/recommendations/capability-seed-mappings.d.ts +0 -0
  759. /package/dist/{src/services → services}/recommendations/capability-seed-mappings.js +0 -0
  760. /package/dist/{src/services → services}/recommendations/capability-seed-sources.d.ts +0 -0
  761. /package/dist/{src/services → services}/recommendations/capability-seed-sources.js +0 -0
  762. /package/dist/{src/services → services}/recommendations/recommendation-service.d.ts +0 -0
  763. /package/dist/{src/services → services}/recommendations/recommendation-service.js +0 -0
  764. /package/dist/{src/services → services}/recommendations/recommendation-types.d.ts +0 -0
  765. /package/dist/{src/services → services}/recommendations/recommendation-types.js +0 -0
  766. /package/dist/{src/services → services}/recommendations/seed-capability-catalog.d.ts +0 -0
  767. /package/dist/{src/services → services}/recommendations/seed-capability-catalog.js +0 -0
  768. /package/dist/{src/services → services}/refactor/refactor-service.d.ts +0 -0
  769. /package/dist/{src/services → services}/refactor/refactor-service.js +0 -0
  770. /package/dist/{src/services → services}/release/release-state.d.ts +0 -0
  771. /package/dist/{src/services → services}/release/release-state.js +0 -0
  772. /package/dist/{src/services → services}/retrospective/retrospective-index.d.ts +0 -0
  773. /package/dist/{src/services → services}/retrospective/retrospective-index.js +0 -0
  774. /package/dist/{src/services → services}/retrospective/retrospective-search-service.d.ts +0 -0
  775. /package/dist/{src/services → services}/retrospective/retrospective-search-service.js +0 -0
  776. /package/dist/{src/services → services}/retrospective/retrospective-show.d.ts +0 -0
  777. /package/dist/{src/services → services}/retrospective/retrospective-show.js +0 -0
  778. /package/dist/{src/services → services}/reviewer/model-family.d.ts +0 -0
  779. /package/dist/{src/services → services}/reviewer/model-family.js +0 -0
  780. /package/dist/{src/services → services}/reviewer/providers/anthropic.d.ts +0 -0
  781. /package/dist/{src/services → services}/reviewer/providers/anthropic.js +0 -0
  782. /package/dist/{src/services → services}/reviewer/providers/ollama.d.ts +0 -0
  783. /package/dist/{src/services → services}/reviewer/providers/ollama.js +0 -0
  784. /package/dist/{src/services → services}/reviewer/providers/openai.d.ts +0 -0
  785. /package/dist/{src/services → services}/reviewer/providers/openai.js +0 -0
  786. /package/dist/{src/services → services}/reviewer/reviewer-config.d.ts +0 -0
  787. /package/dist/{src/services → services}/reviewer/reviewer-config.js +0 -0
  788. /package/dist/{src/services → services}/reviewer/reviewer-service.d.ts +0 -0
  789. /package/dist/{src/services → services}/reviewer/reviewer-service.js +0 -0
  790. /package/dist/{src/services → services}/reviewer/selection-strategies.d.ts +0 -0
  791. /package/dist/{src/services → services}/reviewer/selection-strategies.js +0 -0
  792. /package/dist/{src/services → services}/role/role-registry.d.ts +0 -0
  793. /package/dist/{src/services → services}/role/role-registry.js +0 -0
  794. /package/dist/{src/services → services}/runtime/runtime-detector.d.ts +0 -0
  795. /package/dist/{src/services → services}/runtime/runtime-detector.js +0 -0
  796. /package/dist/{src/services → services}/runtime/runtime-service.d.ts +0 -0
  797. /package/dist/{src/services → services}/runtime/runtime-service.js +0 -0
  798. /package/dist/{src/services → services}/runtime/vendor-adapter.d.ts +0 -0
  799. /package/dist/{src/services → services}/runtime/vendor-adapter.js +0 -0
  800. /package/dist/{src/services → services}/runtime/vendors/claude-code.d.ts +0 -0
  801. /package/dist/{src/services → services}/runtime/vendors/claude-code.js +0 -0
  802. /package/dist/{src/services → services}/runtime/vendors/codex.d.ts +0 -0
  803. /package/dist/{src/services → services}/runtime/vendors/codex.js +0 -0
  804. /package/dist/{src/services → services}/runtime/vendors/copilot.d.ts +0 -0
  805. /package/dist/{src/services → services}/runtime/vendors/copilot.js +0 -0
  806. /package/dist/{src/services → services}/sc/index.d.ts +0 -0
  807. /package/dist/{src/services → services}/sc/index.js +0 -0
  808. /package/dist/{src/services → services}/sc/sc-service.d.ts +0 -0
  809. /package/dist/{src/services → services}/sc/sc-service.js +0 -0
  810. /package/dist/{src/services → services}/scan/acceptance-coverage-service.d.ts +0 -0
  811. /package/dist/{src/services → services}/scan/acceptance-coverage-service.js +0 -0
  812. /package/dist/{src/services → services}/scan/api-surface-service.d.ts +0 -0
  813. /package/dist/{src/services → services}/scan/api-surface-service.js +0 -0
  814. /package/dist/{src/services → services}/scan/archetype-service.d.ts +0 -0
  815. /package/dist/{src/services → services}/scan/diff-scope-service.d.ts +0 -0
  816. /package/dist/{src/services → services}/scan/diff-scope-service.js +0 -0
  817. /package/dist/{src/services → services}/scan/existing-system-service.d.ts +0 -0
  818. /package/dist/{src/services → services}/scan/existing-system-service.js +0 -0
  819. /package/dist/{src/services → services}/scan/file-size-scan.d.ts +0 -0
  820. /package/dist/{src/services → services}/scan/file-size-scan.js +0 -0
  821. /package/dist/{src/services → services}/scan/karpathy-service.d.ts +0 -0
  822. /package/dist/{src/services → services}/scan/karpathy-service.js +0 -0
  823. /package/dist/{src/services → services}/scan/libraries-service.d.ts +0 -0
  824. /package/dist/{src/services → services}/scan/libraries-service.js +0 -0
  825. /package/dist/{src/services → services}/scan/libraries-types.d.ts +0 -0
  826. /package/dist/{src/services → services}/scan/libraries-types.js +0 -0
  827. /package/dist/{src/services → services}/scan/orphan-service.d.ts +0 -0
  828. /package/dist/{src/services → services}/scan/orphan-service.js +0 -0
  829. /package/dist/{src/services → services}/scan/scan-types.js +0 -0
  830. /package/dist/{src/services → services}/scan/type-sanity-service.d.ts +0 -0
  831. /package/dist/{src/services → services}/scan/type-sanity-service.js +0 -0
  832. /package/dist/{src/services → services}/security/safe-settings-path.d.ts +0 -0
  833. /package/dist/{src/services → services}/security/safe-settings-path.js +0 -0
  834. /package/dist/{src/services → services}/sediment/dispose-confirm.d.ts +0 -0
  835. /package/dist/{src/services → services}/sediment/dispose-confirm.js +0 -0
  836. /package/dist/{src/services → services}/sediment/json-schema.d.ts +0 -0
  837. /package/dist/{src/services → services}/sediment/json-schema.js +0 -0
  838. /package/dist/{src/services → services}/sediment/manifest-lint.d.ts +0 -0
  839. /package/dist/{src/services → services}/sediment/manifest-lint.js +0 -0
  840. /package/dist/{src/services → services}/sediment/pool-paths.d.ts +0 -0
  841. /package/dist/{src/services → services}/sediment/pool-paths.js +0 -0
  842. /package/dist/{src/services → services}/sediment/pool-read.d.ts +0 -0
  843. /package/dist/{src/services → services}/sediment/pool-read.js +0 -0
  844. /package/dist/{src/services → services}/sediment/pool-rebuild-index.d.ts +0 -0
  845. /package/dist/{src/services → services}/sediment/pool-rebuild-index.js +0 -0
  846. /package/dist/{src/services → services}/sediment/pool-write.d.ts +0 -0
  847. /package/dist/{src/services → services}/sediment/pool-write.js +0 -0
  848. /package/dist/{src/services → services}/sediment/promotion-gate.d.ts +0 -0
  849. /package/dist/{src/services → services}/sediment/promotion-gate.js +0 -0
  850. /package/dist/{src/services → services}/sediment/types.d.ts +0 -0
  851. /package/dist/{src/services → services}/sediment/types.js +0 -0
  852. /package/dist/{src/services → services}/session/binding-status-service.d.ts +0 -0
  853. /package/dist/{src/services → services}/session/binding-status-service.js +0 -0
  854. /package/dist/{src/services → services}/session/binding-store.d.ts +0 -0
  855. /package/dist/{src/services → services}/session/binding-store.js +0 -0
  856. /package/dist/{src/services → services}/session/caller-binding-service.d.ts +0 -0
  857. /package/dist/{src/services → services}/session/caller-binding-service.js +0 -0
  858. /package/dist/{src/services → services}/session/caller-id-types.d.ts +0 -0
  859. /package/dist/{src/services → services}/session/caller-id-types.js +0 -0
  860. /package/dist/{src/services → services}/session/getSessionDir.d.ts +0 -0
  861. /package/dist/{src/services → services}/session/getSessionDir.js +0 -0
  862. /package/dist/{src/services → services}/session/index.d.ts +0 -0
  863. /package/dist/{src/services → services}/session/index.js +0 -0
  864. /package/dist/{src/services → services}/session/platform-fallbacks.d.ts +0 -0
  865. /package/dist/{src/services → services}/session/platform-fallbacks.js +0 -0
  866. /package/dist/{src/services → services}/session/resolve-caller-id.d.ts +0 -0
  867. /package/dist/{src/services → services}/session/resolve-caller-id.js +0 -0
  868. /package/dist/{src/services → services}/session/session-binding-bridge.d.ts +0 -0
  869. /package/dist/{src/services → services}/session/session-binding-bridge.js +0 -0
  870. /package/dist/{src/services → services}/session/session-checkpoint-service.d.ts +0 -0
  871. /package/dist/{src/services → services}/session/session-checkpoint-service.js +0 -0
  872. /package/dist/{src/services → services}/session/session-manager.d.ts +0 -0
  873. /package/dist/{src/services → services}/session/session-manager.js +0 -0
  874. /package/dist/{src/services → services}/session/session-resume-service.d.ts +0 -0
  875. /package/dist/{src/services → services}/session/session-resume-service.js +0 -0
  876. /package/dist/{src/services → services}/share/bundle-reader.d.ts +0 -0
  877. /package/dist/{src/services → services}/share/bundle-reader.js +0 -0
  878. /package/dist/{src/services → services}/share/bundle-types.d.ts +0 -0
  879. /package/dist/{src/services → services}/share/bundle-types.js +0 -0
  880. /package/dist/{src/services → services}/share/bundle-writer.d.ts +0 -0
  881. /package/dist/{src/services → services}/share/bundle-writer.js +0 -0
  882. /package/dist/{src/services → services}/share/run-state-contract.d.ts +0 -0
  883. /package/dist/{src/services → services}/share/run-state-contract.js +0 -0
  884. /package/dist/{src/services → services}/signal/cancel-handler.d.ts +0 -0
  885. /package/dist/{src/services → services}/signal/cancel-handler.js +0 -0
  886. /package/dist/{src/services → services}/skill/resume-detector.d.ts +0 -0
  887. /package/dist/{src/services → services}/skill/resume-detector.js +0 -0
  888. /package/dist/{src/services → services}/skill/skill-scheduler.d.ts +0 -0
  889. /package/dist/{src/services → services}/skill/skill-scheduler.js +0 -0
  890. /package/dist/{src/services → services}/skill/skill-search-service.d.ts +0 -0
  891. /package/dist/{src/services → services}/skill/skill-search-service.js +0 -0
  892. /package/dist/{src/services → services}/skillhub/release-diff.d.ts +0 -0
  893. /package/dist/{src/services → services}/skillhub/release-diff.js +0 -0
  894. /package/dist/{src/services → services}/skillhub/release-export.d.ts +0 -0
  895. /package/dist/{src/services → services}/skillhub/release-export.js +0 -0
  896. /package/dist/{src/services → services}/skillhub/release-gc-blobs.d.ts +0 -0
  897. /package/dist/{src/services → services}/skillhub/release-gc-blobs.js +0 -0
  898. /package/dist/{src/services → services}/skillhub/release-import.d.ts +0 -0
  899. /package/dist/{src/services → services}/skillhub/release-import.js +0 -0
  900. /package/dist/{src/services → services}/skillhub/release-retain.d.ts +0 -0
  901. /package/dist/{src/services → services}/skillhub/release-retain.js +0 -0
  902. /package/dist/{src/services → services}/skillhub/sqlite-store.d.ts +0 -0
  903. /package/dist/{src/services → services}/skillhub/sqlite-store.js +0 -0
  904. /package/dist/{src/services → services}/skillhub/tar-runtime.d.ts +0 -0
  905. /package/dist/{src/services → services}/skillhub/tar-runtime.js +0 -0
  906. /package/dist/{src/services → services}/skillhub/types.d.ts +0 -0
  907. /package/dist/{src/services → services}/skillhub/types.js +0 -0
  908. /package/dist/{src/services → services}/skills/hooks-settings-service.d.ts +0 -0
  909. /package/dist/{src/services → services}/skills/hooks-settings-service.js +0 -0
  910. /package/dist/{src/services → services}/skills/skill-conformance-service.d.ts +0 -0
  911. /package/dist/{src/services → services}/skills/skill-conformance-service.js +0 -0
  912. /package/dist/{src/services → services}/skills/skill-presence-service.d.ts +0 -0
  913. /package/dist/{src/services → services}/skills/skill-presence-service.js +0 -0
  914. /package/dist/{src/services → services}/skills/skill-registry.d.ts +0 -0
  915. /package/dist/{src/services → services}/skills/skill-registry.js +0 -0
  916. /package/dist/{src/services → services}/skills/skill-runbook-service.d.ts +0 -0
  917. /package/dist/{src/services → services}/skills/skill-runbook-service.js +0 -0
  918. /package/dist/{src/services → services}/skills/skill-statusline-renderer.d.ts +0 -0
  919. /package/dist/{src/services → services}/skills/skill-statusline-renderer.js +0 -0
  920. /package/dist/{src/services → services}/skills/skill-statusline-service.d.ts +0 -0
  921. /package/dist/{src/services → services}/skills/skill-statusline-service.js +0 -0
  922. /package/dist/{src/services → services}/skills/statusline-settings-service.d.ts +0 -0
  923. /package/dist/{src/services → services}/skills/statusline-settings-service.js +0 -0
  924. /package/dist/{src/services → services}/skills/sync-service.d.ts +0 -0
  925. /package/dist/{src/services → services}/skills/sync-service.js +0 -0
  926. /package/dist/{src/services → services}/slice/calibration-store.d.ts +0 -0
  927. /package/dist/{src/services → services}/slice/calibration-store.js +0 -0
  928. /package/dist/{src/services → services}/slice/cross-pass-edge-merger.d.ts +0 -0
  929. /package/dist/{src/services → services}/slice/cross-pass-edge-merger.js +0 -0
  930. /package/dist/{src/services → services}/slice/granularity-decider.d.ts +0 -0
  931. /package/dist/{src/services → services}/slice/granularity-decider.js +0 -0
  932. /package/dist/{src/services → services}/slice/llm-arbitrator.d.ts +0 -0
  933. /package/dist/{src/services → services}/slice/llm-arbitrator.js +0 -0
  934. /package/dist/{src/services → services}/slice/multi-pass-orchestrator.d.ts +0 -0
  935. /package/dist/{src/services → services}/slice/multi-pass-orchestrator.js +0 -0
  936. /package/dist/{src/services → services}/slice/schema-router.d.ts +0 -0
  937. /package/dist/{src/services → services}/slice/schema-router.js +0 -0
  938. /package/dist/{src/services → services}/slice/slice-archive-service.d.ts +0 -0
  939. /package/dist/{src/services → services}/slice/slice-archive-service.js +0 -0
  940. /package/dist/{src/services → services}/slice/slice-benchmark-service.d.ts +0 -0
  941. /package/dist/{src/services → services}/slice/slice-benchmark-service.js +0 -0
  942. /package/dist/{src/services → services}/slice/slice-check-service.d.ts +0 -0
  943. /package/dist/{src/services → services}/slice/slice-check-service.js +0 -0
  944. /package/dist/{src/services → services}/slice/slice-check-types.d.ts +0 -0
  945. /package/dist/{src/services → services}/slice/slice-check-types.js +0 -0
  946. /package/dist/{src/services → services}/slice/slice-decompose-runners.d.ts +0 -0
  947. /package/dist/{src/services → services}/slice/slice-decompose-runners.js +0 -0
  948. /package/dist/{src/services → services}/slice/slice-decompose-service.d.ts +0 -0
  949. /package/dist/{src/services → services}/slice/slice-decompose-service.js +0 -0
  950. /package/dist/{src/services → services}/slice/slice-decompose-types.d.ts +0 -0
  951. /package/dist/{src/services → services}/slice/slice-decompose-types.js +0 -0
  952. /package/dist/{src/services → services}/slice/slice-integration.d.ts +0 -0
  953. /package/dist/{src/services → services}/slice/slice-integration.js +0 -0
  954. /package/dist/{src/services → services}/slice/slice-pick-service.d.ts +0 -0
  955. /package/dist/{src/services → services}/slice/slice-pick-service.js +0 -0
  956. /package/dist/{src/services → services}/slice/slice-review-state.d.ts +0 -0
  957. /package/dist/{src/services → services}/slice/slice-review-state.js +0 -0
  958. /package/dist/{src/services → services}/slice/slice-topology-types.d.ts +0 -0
  959. /package/dist/{src/services → services}/slice/slice-topology-types.js +0 -0
  960. /package/dist/{src/services → services}/smoke/smoke-paths-state.d.ts +0 -0
  961. /package/dist/{src/services → services}/smoke/smoke-paths-state.js +0 -0
  962. /package/dist/{src/services → services}/sop/gate-enforce-service.d.ts +0 -0
  963. /package/dist/{src/services → services}/sop/gate-enforce-service.js +0 -0
  964. /package/dist/{src/services → services}/sop/sop-advance-service.d.ts +0 -0
  965. /package/dist/{src/services → services}/sop/sop-advance-service.js +0 -0
  966. /package/dist/{src/services → services}/sop/sop-check-service.d.ts +0 -0
  967. /package/dist/{src/services → services}/sop/sop-check-service.js +0 -0
  968. /package/dist/{src/services → services}/sop/sop-paths.d.ts +0 -0
  969. /package/dist/{src/services → services}/sop/sop-paths.js +0 -0
  970. /package/dist/{src/services → services}/sop/sop-registry-service.d.ts +0 -0
  971. /package/dist/{src/services → services}/sop/sop-registry-service.js +0 -0
  972. /package/dist/{src/services → services}/sop/sop-service.d.ts +0 -0
  973. /package/dist/{src/services → services}/sop/sop-service.js +0 -0
  974. /package/dist/{src/services → services}/sop/sop-types.d.ts +0 -0
  975. /package/dist/{src/services → services}/sop/sop-types.js +0 -0
  976. /package/dist/{src/services → services}/standards/ide-aware-standards-service.d.ts +0 -0
  977. /package/dist/{src/services → services}/standards/loop-engineering-lint.d.ts +0 -0
  978. /package/dist/{src/services → services}/standards/loop-engineering-lint.js +0 -0
  979. /package/dist/{src/services → services}/standards/loop-engineering-readiness-lint.d.ts +0 -0
  980. /package/dist/{src/services → services}/standards/loop-engineering-readiness-lint.js +0 -0
  981. /package/dist/{src/services → services}/standards/migrate-claude-rules-service.d.ts +0 -0
  982. /package/dist/{src/services → services}/standards/migrate-service.d.ts +0 -0
  983. /package/dist/{src/services → services}/standards/migrate-service.js +0 -0
  984. /package/dist/{src/services → services}/standards/project-context.d.ts +0 -0
  985. /package/dist/{src/services → services}/standards/project-context.js +0 -0
  986. /package/dist/{src/services → services}/standards/project-standards-service.d.ts +0 -0
  987. /package/dist/{src/services → services}/tech/tech-service.d.ts +0 -0
  988. /package/dist/{src/services → services}/tech/tech-service.js +0 -0
  989. /package/dist/{src/services → services}/test-cache/test-cache-service.d.ts +0 -0
  990. /package/dist/{src/services → services}/test-cache/test-cache-service.js +0 -0
  991. /package/dist/{src/services → services}/understand/hybrid-types.d.ts +0 -0
  992. /package/dist/{src/services → services}/understand/hybrid-types.js +0 -0
  993. /package/dist/{src/services → services}/understand/understand-hybrid-service.d.ts +0 -0
  994. /package/dist/{src/services → services}/understand/understand-hybrid-service.js +0 -0
  995. /package/dist/{src/services → services}/understand/understand-scan-service.d.ts +0 -0
  996. /package/dist/{src/services → services}/understand/understand-scan-service.js +0 -0
  997. /package/dist/{src/services → services}/understand/understand-types.d.ts +0 -0
  998. /package/dist/{src/services → services}/understand/understand-types.js +0 -0
  999. /package/dist/{src/services → services}/upgrade/1x-detector-service.d.ts +0 -0
  1000. /package/dist/{src/services → services}/upgrade/1x-detector-service.js +0 -0
  1001. /package/dist/{src/services → services}/upgrade/gitignore-migrate-service.d.ts +0 -0
  1002. /package/dist/{src/services → services}/upgrade/gitignore-migrate-service.js +0 -0
  1003. /package/dist/{src/services → services}/upgrade/upgrade-service.d.ts +0 -0
  1004. /package/dist/{src/services → services}/upgrade/upgrade-service.js +0 -0
  1005. /package/dist/{src/services → services}/verdict/envelopes.d.ts +0 -0
  1006. /package/dist/{src/services → services}/verdict/envelopes.js +0 -0
  1007. /package/dist/{src/services → services}/verdict/verdict-aggregator.d.ts +0 -0
  1008. /package/dist/{src/services → services}/verdict/verdict-aggregator.js +0 -0
  1009. /package/dist/{src/services → services}/workflow/artifact-paths.d.ts +0 -0
  1010. /package/dist/{src/services → services}/workflow/artifact-paths.js +0 -0
  1011. /package/dist/{src/services → services}/workflow/autonomous-resume-writer.d.ts +0 -0
  1012. /package/dist/{src/services → services}/workflow/autonomous-resume-writer.js +0 -0
  1013. /package/dist/{src/services → services}/workflow/pipeline-verify-service.d.ts +0 -0
  1014. /package/dist/{src/services → services}/workflow/pipeline-verify-service.js +0 -0
  1015. /package/dist/{src/services → services}/workflow/plan-reader.d.ts +0 -0
  1016. /package/dist/{src/services → services}/workflow/plan-reader.js +0 -0
  1017. /package/dist/{src/services → services}/workflow/plan-refresher.d.ts +0 -0
  1018. /package/dist/{src/services → services}/workflow/plan-refresher.js +0 -0
  1019. /package/dist/{src/services → services}/workflow/plan-trigger-detector.d.ts +0 -0
  1020. /package/dist/{src/services → services}/workflow/plan-trigger-detector.js +0 -0
  1021. /package/dist/{src/services → services}/workflow/workflow-autonomous-resume-helpers.d.ts +0 -0
  1022. /package/dist/{src/services → services}/workflow/workflow-autonomous-resume-helpers.js +0 -0
  1023. /package/dist/{src/services → services}/workflow/workflow-autonomous-service.d.ts +0 -0
  1024. /package/dist/{src/services → services}/workflow/workflow-autonomous-service.js +0 -0
  1025. /package/dist/{src/services → services}/workflow/workflow-loader.d.ts +0 -0
  1026. /package/dist/{src/services → services}/workflow/workflow-loader.js +0 -0
  1027. /package/dist/{src/services → services}/workflow/workflow-router-service.d.ts +0 -0
  1028. /package/dist/{src/services → services}/workflow/workflow-router-service.js +0 -0
  1029. /package/dist/{src/services → services}/workflow/workflow-skip-service.d.ts +0 -0
  1030. /package/dist/{src/services → services}/workflow/workflow-skip-service.js +0 -0
  1031. /package/dist/{src/services → services}/workflow/workflow-spec.d.ts +0 -0
  1032. /package/dist/{src/services → services}/workflow/workflow-spec.js +0 -0
  1033. /package/dist/{src/services → services}/workflow/workflow-state-store.d.ts +0 -0
  1034. /package/dist/{src/services → services}/workflow/workflow-state-store.js +0 -0
  1035. /package/dist/{src/services → services}/workspace/claude-settings-template.d.ts +0 -0
  1036. /package/dist/{src/services → services}/workspace/claude-settings-template.js +0 -0
  1037. /package/dist/{src/services → services}/workspace/migrate-1-4-1-service.d.ts +0 -0
  1038. /package/dist/{src/services → services}/workspace/migrate-1-4-1-service.js +0 -0
  1039. /package/dist/{src/services → services}/workspace/migrate-service.d.ts +0 -0
  1040. /package/dist/{src/services → services}/workspace/migrate-service.js +0 -0
  1041. /package/dist/{src/services → services}/workspace/migrate-types.d.ts +0 -0
  1042. /package/dist/{src/services → services}/workspace/migrate-types.js +0 -0
  1043. /package/dist/{src/services → services}/workspace/reconcile-service.d.ts +0 -0
  1044. /package/dist/{src/services → services}/workspace/reconcile-service.js +0 -0
  1045. /package/dist/{src/services → services}/workspace/reconcile-types.d.ts +0 -0
  1046. /package/dist/{src/services → services}/workspace/reconcile-types.js +0 -0
  1047. /package/dist/{src/services → services}/workspace/sid-naming-guard.d.ts +0 -0
  1048. /package/dist/{src/services → services}/workspace/sid-naming-guard.js +0 -0
  1049. /package/dist/{src/services → services}/workspace/workspace-claude-settings-materializer.d.ts +0 -0
  1050. /package/dist/{src/services → services}/workspace/workspace-claude-settings-materializer.js +0 -0
  1051. /package/dist/{src/services → services}/workspace/workspace-clean-service.d.ts +0 -0
  1052. /package/dist/{src/services → services}/workspace/workspace-clean-service.js +0 -0
  1053. /package/dist/{src/services → services}/workspace/workspace-service.d.ts +0 -0
  1054. /package/dist/{src/services → services}/workspace/workspace-service.js +0 -0
  1055. /package/dist/{src/services → services}/workspace/workspace-state-service.d.ts +0 -0
  1056. /package/dist/{src/services → services}/workspace/workspace-state-service.js +0 -0
  1057. /package/dist/{src/shared → shared}/format-md-compact.d.ts +0 -0
  1058. /package/dist/{src/shared → shared}/format-md-compact.js +0 -0
  1059. /package/dist/{src/shared → shared}/frontmatter.d.ts +0 -0
  1060. /package/dist/{src/shared → shared}/frontmatter.js +0 -0
  1061. /package/dist/{src/shared → shared}/fs-utils.d.ts +0 -0
  1062. /package/dist/{src/shared → shared}/fs-utils.js +0 -0
  1063. /package/dist/{src/shared → shared}/fs.d.ts +0 -0
  1064. /package/dist/{src/shared → shared}/fs.js +0 -0
  1065. /package/dist/{src/shared → shared}/incrementing-number.d.ts +0 -0
  1066. /package/dist/{src/shared → shared}/incrementing-number.js +0 -0
  1067. /package/dist/{src/shared → shared}/json-schema-mini.d.ts +0 -0
  1068. /package/dist/{src/shared → shared}/json-schema-mini.js +0 -0
  1069. /package/dist/{src/shared → shared}/path-safety.d.ts +0 -0
  1070. /package/dist/{src/shared → shared}/path-safety.js +0 -0
  1071. /package/dist/{src/shared → shared}/path-utils.d.ts +0 -0
  1072. /package/dist/{src/shared → shared}/path-utils.js +0 -0
  1073. /package/dist/{src/shared → shared}/paths.d.ts +0 -0
  1074. /package/dist/{src/shared → shared}/paths.js +0 -0
  1075. /package/dist/{src/shared → shared}/planner-response.d.ts +0 -0
  1076. /package/dist/{src/shared → shared}/planner-response.js +0 -0
  1077. /package/dist/{src/shared → shared}/platform.d.ts +0 -0
  1078. /package/dist/{src/shared → shared}/platform.js +0 -0
  1079. /package/dist/{src/shared → shared}/process.d.ts +0 -0
  1080. /package/dist/{src/shared → shared}/process.js +0 -0
  1081. /package/dist/{src/shared → shared}/result.d.ts +0 -0
  1082. /package/dist/{src/shared → shared}/result.js +0 -0
  1083. /package/dist/{src/shared → shared}/stale-policy.d.ts +0 -0
  1084. /package/dist/{src/shared → shared}/stale-policy.js +0 -0
  1085. /package/dist/{src/skills → skills}/peaks-maker/index.d.ts +0 -0
  1086. /package/dist/{src/skills → skills}/peaks-maker/index.js +0 -0
package/README.md CHANGED
@@ -1,106 +1,227 @@
1
- # Peaks Loop
1
+ <div align="center">
2
2
 
3
- [English](./README-en.md) | **简体中文**
3
+ # peaks-loop
4
4
 
5
- [![npm](https://img.shields.io/npm/v/peaks-loop?style=flat-square&logo=npm)](https://www.npmjs.com/package/peaks-loop)
6
- [![license](https://img.shields.io/badge/license-MIT-blue?style=flat-square)](./LICENSE)
7
- [![stars](https://img.shields.io/github/stars/SquabbyZ/peaks-loop?style=flat-square&logo=github)](https://github.com/SquabbyZ/peaks-loop/stargazers)
5
+ ### 你说话,它替你跑完一整条工程流水线 —— 不止写代码,跑两次就沉淀成本地战术。
6
+
7
+ [![npm](https://img.shields.io/npm/v/peaks-loop?style=for-the-badge&logo=npm&logoColor=white&color=cb3837)](https://www.npmjs.com/package/peaks-loop)
8
+ [![license](https://img.shields.io/badge/license-MIT-blue?style=for-the-badge)](./LICENSE)
9
+ [![node](https://img.shields.io/badge/node-%E2%89%A520-339933?style=for-the-badge&logo=node.js&logoColor=white)](https://www.npmjs.com/package/peaks-loop)
10
+ [![tests](https://img.shields.io/badge/tests-5%2C439%20passed-22c55e?style=for-the-badge&logo=vitest&logoColor=white)](#status)
11
+ [![stars](https://img.shields.io/github/stars/SquabbyZ/peaks-loop?style=for-the-badge&logo=github&logoColor=white)](https://github.com/SquabbyZ/peaks-loop/stargazers)
12
+
13
+ [English](./README-en.md) · **简体中文**
14
+
15
+ </div>
8
16
 
9
17
  <p align="center">
10
- <a href="https://raw.githubusercontent.com/SquabbyZ/peaks-loop/main/examples/video-demo/preview/peaks-loop-demo.mp4">
11
- <img src="https://raw.githubusercontent.com/SquabbyZ/peaks-loop/main/examples/video-demo/out/zh-closing-960.png" alt="peaks-loop demo (点击播放)" width="100%" style="border-radius: 12px; box-shadow: 0 12px 40px rgba(0,0,0,0.55);">
12
- </a>
18
+ <img
19
+ src="https://raw.githubusercontent.com/SquabbyZ/peaks-loop/main/examples/video-demo/preview/peaks-loop-demo.gif"
20
+ alt="peaks-loop 30 秒演示(前 18 秒 · install + 斜杠命令 + 5 域 + 沉淀成 bee)"
21
+ width="92%"
22
+ style="border-radius: 14px; box-shadow: 0 12px 40px rgba(0,0,0,0.55); display: block;"
23
+ />
13
24
  <br>
14
- <sub>👆 点击图片播放 60s 演示</sub>
25
+ <sub>👆 18s 循环 GIF(<a href="https://raw.githubusercontent.com/SquabbyZ/peaks-loop/main/examples/video-demo/preview/peaks-loop-demo.mp4">完整 30s mp4 下载</a> · 13MB · 480p)</sub>
15
26
  </p>
16
27
 
28
+ ---
29
+
17
30
  ## 它是什么
18
31
 
19
- ### loop engineering 的工程实现
32
+ peaks-loop 是一个 **Loop Engineering 结晶系统**,不是工作流工具 —— 你跑过的工作里,沉淀下来的不是「流程」,是一套**可被 karpathy 风格工程化、又被 darwin 风格独立验证**的 Loop Engineering 方法资产。**Loop engineering 结晶系统** 的工程实现见 [`docs/superpowers/specs/2026-07-07-peaks-loop-loop-engineering-crystallization-design.md`](./docs/superpowers/specs/2026-07-07-peaks-loop-loop-engineering-crystallization-design.md)。
20
33
 
21
- **peaks-loop 是你的 Loop Engineering 结晶系统 —— 不是工作流工具。** 它从真实完成的工作里把 loop engineering 资产结晶出来,只通过被验证的改进让它们进化。你只用自然语言和选择操作系统,所有结构化操作由 LLM 代办。
34
+ | 资产层 | 角色 | 一句话 |
35
+ | --- | --- | --- |
36
+ | **Loop Engineering 资产** | 方法系统,一等公民 | 回答「为什么有这条 loop、何时触发、怎样算成功、如何改进」 |
37
+ | **Bee 资产** | 可执行体,一等公民 | Loop Engineering 资产的可执行体,蜂群里的每只 bee |
38
+ | **Workflow Trace (执行轨迹)** | 证据,**不是**主资产 | 不可变的单次执行记录,供结晶与评估反查,不是用户对外的产品 |
39
+ | **Evolution Evaluation (反漂移)** | 反漂移闸门,强制项 | 每次改进都要有独立上下文的评估者 + 反方怀疑者,过了才留,不过就回滚 |
22
40
 
23
- 产品遵循四层资产模型与 karpathy × darwin 双层纪律,两者缺一不可:
41
+ - **工程化每条规则 = karpathy 风格 · 验证每次改进 = darwin 风格** —— 两条缺一不可。砍掉 karpathy,原则没人写清;砍掉 darwin,改得对不对没人验。这一对是 co-equal 的双层结构,不是先后两步。
42
+ - `/peaks-code` 是 **code-domain** 长任务 Loop Engineering 编排器,不是通用编排器;非代码域(`peaks-content` / `peaks-doctor` / `peaks-issue-fix-orchestrator` / `peaks-sop`)都是独立的 `peaks-*` 蜂,不是 `peaks-code` 的子类。
43
+ - 跑两次稳定就沉淀成本地战术(bee);跑翻车的会让你重定义。bee 跟着你的口味长。
24
44
 
25
- - **四层资产模型**:Loop Engineering 资产(方法体系,一等公民)+ Bee 资产(可执行体,一等公民)+ Workflow Trace(执行轨迹,只作证据,不作资产)+ Evolution Evaluation(反漂移闸门,变更必经)。
26
- - **karpathy × darwin 双层纪律**:karpathy 工程化每一条规则(failure modes + imperative→declarative rewrite + self-check + out-of-scope);darwin 校验每一次改进(单对象 + 单维度 + 独立上下文评估 + ratchet 防回退)。两层是平行的伙伴,谁都不是谁的子集 —— 详见 `.peaks/standards/loop-engineering-guidelines.md` 与上游参考 `multica-ai/andrej-karpathy-skills`、`alchaincyf/darwin-skill`。
27
- - **post-run crystallization**:`loop_release` 与 `bee_release` 只在一次真实任务跑完后才写入;pre-run 永远是 scratch。沉淀触发支持四种,user explicit 优先级最高。
28
- - **Human-NL-Choice-Only**:你只说话或选择,LLM 替你跑 CLI;禁止手写 JSON / manifest / form field。
45
+ ---
29
46
 
30
- ### peaks-code 是 code-domain 唯一的入口
47
+ ## 30 秒上手
31
48
 
32
- `peaks-code` 是 loop engineering 在 **代码域** 的长任务编排器,管 PRD、RD、QA、UI、SC、TXT 这一长串工序的主调度,也是你日常跟 peaks-loop 说话时最常打交道的那个角色。它**不是通用编排器** —— 研究 / 内容 / 产品等其他域各自是独立的 `peaks-*` 技能,复用同一份 Loop Engineering 准则。详见 Loop Engineering 设计 `docs/superpowers/specs/2026-07-07-peaks-loop-loop-engineering-crystallization-design.md` §0.4 + RL-8,以及 sediment 设计 `docs/superpowers/specs/2026-07-04-peaks-maker-dynamic-skill-sediment-design.md`。
49
+ ```bash
50
+ npm i -g peaks-loop
51
+ ```
33
52
 
34
- 召之即来,事完收队,**不跳步,不半截扔给你**。它不是新发明一个 AI CLI,而是架在你已有的 Claude Code / Codex / Copilot 之上,把它们都调成同一支团队,只对你这一个开发者的口味。
53
+ 装好之后,在你已经用的 **Claude Code** 或 **Z Code** 对话框里发一条**显式命令**(必须以斜杠开头,才会触发 peaks-loop):
35
54
 
36
- ### peaks-solo 是分诊员(新增,4.0.0-beta.5)
55
+ ```
56
+ /peaks-code 帮我熟悉下当前的项目
57
+ ```
37
58
 
38
- 如果**你不知道该用哪个 peaks-* 技能**,直接用 `/peaks-solo` 描述你的诉求就行。它会替你分诊:有合适的 leaf 就透明转交,没合适的就自己规划 + 跑(deep-search / WebSearch / Bash / Edit markdown),跑完回头问你要不要沉淀。`/peaks-code` / `/peaks-content` / `/peaks-doctor` 等老入口照常可用,**0 breaking**。
59
+ 剩下的就交给 peaks-loop —— 它会按这条命令的语义判断该走哪一域,用对应的编排器拆工序,一道门一道门跑,**坏在哪道停在哪道**,中间不会扔半截给你。
39
60
 
40
- **每一步都有强退出条件**:审计不通过就停,QA 没过就停,任何一道门失败 = 全流程停。你不必追着它催、也不必替它补,它跑完一道再交你拍板,拍完再走下一道。
61
+ 其他常用的显式命令:
41
62
 
42
- #### 门禁不是装饰 —— 5439 tests passed · 19 skipped · 0 failed
63
+ ```
64
+ /peaks-content 帮我把今天这篇推文写完发出
65
+ /peaks-doctor 帮我体检一下这个仓库
66
+ /peaks-issue-fix-orchestrator 帮我把 upstream 的 30 个 open issue 修一批
67
+ /peaks-sop 帮我把团队的发布流程沉淀成 SOP
68
+ /peaks-solo 这套打法以后还会用,沉淀成本地战术
69
+ /peaks-solo 按上次那样再跑一次
70
+ ```
43
71
 
44
- 每一行代码都过自己的门:测试套件 5,420 个用例真挡得住事,不是装饰。门禁不是写给用户看的,是写给自己看的。
72
+ <sub>📦 其他 AI 编程工具适配中,欢迎共建 → [GitHub Issues](https://github.com/SquabbyZ/peaks-loop/issues) 提适配请求 / PR。</sub>
45
73
 
46
- #### 做这个项目的只有一个人,工程师口味:
74
+ 不需要记 CLI、不需要写 manifest、不需要切到第二个终端。**斜杠命令一发,后面的活它替你跑完。**
47
75
 
48
- - **极客精神。**
49
- - **你跟 AI 之间只该用自然语言讲话,没有 CLI 表面给你。**
50
- - **单测覆盖率和门禁审计真挡得住事,不是装饰。**
51
- - **严于律己,宽以待人 —— 自己写的代码过自己的门,使用者随便怎么说都能跑通。**
52
- - **AI 使用水平的下限平权:你不需要懂 prompt engineering,就跟说话一样用。**
76
+ ---
53
77
 
54
- 这套项目级硬规则也写进了 `~/.peaks/memory/`,不是口号,是被工具链守住的红线。
78
+ ## 它能为你做什么
55
79
 
56
- ## 装了你有什么战术角色
80
+ 代码、内容、项目健康、issue 修复、自定义工作流 —— **4.x 已经覆盖五条域**,每条域都有专门编排器,按"门禁不通过就停"的纪律一条一条跑。
57
81
 
58
- 先给你上的是 `peaks-code`,主官。它是 peaks-loop 默认入口,管 PRD、RD、QA、UI、SC、TXT 这一长串工序的主调度,也是你日常跟 peaks-loop 说话时最常打交道的那个角色。
82
+ | 域 | 你发这条命令 | 它会做什么 |
83
+ | --- | --- | --- |
84
+ | 💻 **代码域 (code-domain) only** | `/peaks-code 帮我实现这个功能` | PRD → RD → 实现 → QA → UI → 切片,跑完交你拍板 |
85
+ | 💻 **代码域 (code-domain) only** | `/peaks-code 这个 bug 帮我修一下` | 复现 → 改 → review → 测试,同日 ship |
86
+ | 📝 **内容** | `/peaks-content 帮我把这篇推文写出来再发` | 草稿 → 编辑 → 调性检查 → 发布 → 归档,中间不跳步 |
87
+ | 🩺 **项目健康** | `/peaks-doctor 帮我体检一下这个仓库` | 红线审计 + L3 doctor 检查 + 转 OpenSpec,坏在哪道停在哪道 |
88
+ | 🐛 **批量修 issue** | `/peaks-issue-fix-orchestrator 帮我把 upstream 的 30 个 open issue 修一批` | 调研 → 分类 → 参考 PR → 逐个修复 + commit + PR 草稿 |
89
+ | 📋 **自定义工作流** | `/peaks-sop 帮我把团队的发布流程沉淀成 SOP` | 自然语言描述 → 自动生成 + 校验 + 注册成可执行的 SOP |
90
+ | 🔁 **跑过一次再来** | `/peaks-solo 按上次那样再跑一次` | 调出你已经沉淀好的战术,自动复跑 |
91
+ | 🆕 **接手陌生仓库** | `/peaks-code 这是新仓库,先带我过一遍` | 摸清结构、识别风险点、给一个上手顺序 |
92
+ | 🧠 **沉淀自己的打法** | `/peaks-solo 这套打法以后还会用,沉淀一下` | 变成你本地常驻的战术,下次说"跑那只"就行 |
59
93
 
60
- 它能做的:
61
- - 写长任务代码(端到端需求 → PRD → 实现 → QA),一道门一道门跑,坏在哪道停在哪道
62
- - 修 bug 当天发,改完顺手过审 + 测试,不是改完就完
63
- - 帮你做 / 接 / 拆长跑的需求,把一个模糊需求一路剥到能落地的实现
94
+ 每一条路,**一条斜杠命令**就能开跑。
64
95
 
65
- 它一句话能扛完的活,你都不必开第二个终端。它对测试覆盖率、审计门、卡点阻断一视同仁:跑不到位的活不交付,跑歪的活直接退回重跑。
96
+ ---
66
97
 
67
- 它既是装好就立刻能用的那个入口,也是后面要长出来的内建角色的调度口;它内部有一套连续审计、QA 闸口、review 验收,默认打开,你想关哪一道才需要单独说。
98
+ ## 为什么大家会选它
68
99
 
69
- 其他内置 loop engineering,敬请期待。
100
+ - **自然语言即界面** —— 你不学 CLI、不背命令。**用一条斜杠命令(比如 `/peaks-code xxx`)** 显式触发到对应编排器,后面说什么都行。LLM 替你跟 peaks-loop 跑命令。
101
+ - **门禁真挡事,不是装饰** —— 5,439 个测试用例、QA 闸口、review 验收默认全开。**审计不通过就停,QA 没过就停**。
102
+ - **跑过的事会变成本地战术(bee)** —— 沉淀下来的 loop engineering 落到你本地的 `~/.peaks/` 池子里,跑两次稳定就自动晋升;跑翻车的会让你重新定义。**下次说"跑那只"整套流程自动就位**,你那几只战术会跟着你的口味长。
103
+ - **搭在你已经用的工具上** —— 不是新发明一个 AI CLI,而是架在 **Claude Code** 和 **Z Code** 之上。不抢你的 shell、不抢你的 prompt、不抢你的 IDE。其他工具适配中,欢迎共建。
104
+ - **你拍板,它执行** —— 影响资产的决策都给你选;其余的它自己跑。**0 学习成本,1 分钟上手。**
70
105
 
71
- ## 你也能沉淀自己的 loop engineering
106
+ ---
72
107
 
73
- 跑过一次还想跑,说一句话让它永久驻场。
108
+ ## 装上以后的几道闸门
74
109
 
75
- 你沉淀的是 loop engineering(战术套路),不是简单的 skill(动作招式)。下次说"跑那只",整套流程自动就位。
110
+ | 闸门 | 默认状态 | 用来挡什么 |
111
+ | --- | --- | --- |
112
+ | 单元测试 / 集成测试 | ✅ 开 | 代码层面的回归 |
113
+ | 代码审计 (lint / prose / type) | ✅ 开 | 写法与意图漂移 |
114
+ | 安全扫描 | ✅ 开 | 凭据、SSRF、注入、危险 IO |
115
+ | QA 复核 | ✅ 开 | 任务级闸门,坏在哪道停在哪道 |
116
+ | review 验收 | ✅ 开 | 改完不立刻出门,review 通过才出门 |
76
117
 
77
- 它落到你本地的一个池子里,只对你生效。命名、复用、迭代都是你说了算:跑过两遍稳定的会被抬高,跑翻车的会让你重新定。决策影响资产的,你拍板。
118
+ **所有闸门默认开,你想关哪一道才需要单独说。**
78
119
 
79
- 这套机制关键不是"工具给你造了多少只 bee",而是你那几只 bee 一直在跟着你的口味长 —— 你提一句,它长一点。
120
+ ---
80
121
 
81
- ## 上号
122
+ ## 当前状态 · 4.x 正式版
82
123
 
83
- ```bash
84
- npm i -g peaks-loop
85
- ```
124
+ | | |
125
+ | --- | --- |
126
+ | **最新版本** | [`4.0.0-beta.7`](https://github.com/SquabbyZ/peaks-loop/releases) — 4.x 正式版筹备中 |
127
+ | **覆盖域** | 代码(`peaks-code`) · 内容(`peaks-content`) · 项目健康(`peaks-doctor`) · 批量修 issue(`peaks-issue-fix-orchestrator`) · 自定义 SOP(`peaks-sop`) · 通用原语(`peaks-solo` 分诊 / `peaks-resume` 续 / `peaks-status` 看 / `peaks-test` 测) |
128
+ | **沉淀池** | `~/.peaks/` 本地池 · 跑两次自动晋升成 bee · 跑翻车让你重定义 · bee 跟着你的口味长 |
129
+ | **测试套件** | 5,439 passed · 19 skipped · 0 failed |
130
+ | **适配 IDE** | ✅ Claude Code · ✅ Z Code · 🚧 Codex / Cursor / Trae / Tongyi Lingma / Hermes / OpenClaw / Qoder(适配中,欢迎共建) |
131
+ | **依赖运行时** | Node ≥ 20 |
132
+ | **License** | MIT |
86
133
 
87
- 装完一句话接活。
134
+ ---
88
135
 
89
- ## 顺便说一句
136
+ ## 强烈推荐 · 四个项目组合起来用
90
137
 
91
- 这个仓库以前叫 [`peaks-cli`](https://github.com/SquabbyZ/peaks-cli),现在叫 `peaks-loop`。
138
+ > **0 学习成本。** 这是组合起来用最大的好处 —— 不只是效果俱佳,更是因为这四个项目的**接口对齐到了"自然语言"**,你只需要说一句话,谁替你跑命令、按什么闸门、按什么战术手册,完全不用你记。
92
139
 
93
- 里面的技能从 `peaks-code`(单角色)演化到 `peaks-code`(带门禁的代码域).两边都还在,只是分工不同:`peaks-code` 如今是给单任务跑流程用的那个老入口,`peaks-code` 接管了端到端的主路径。
140
+ <p align="center">
141
+ <a href="https://github.com/affaan-m/ECC">
142
+ <img src="https://img.shields.io/badge/ECC-affaan--m-6366f1?style=for-the-badge&logo=github&logoColor=white" alt="affaan-m/ECC" />
143
+ </a>
144
+ &nbsp;
145
+ <a href="https://github.com/Egonex-AI/Understand-Anything">
146
+ <img src="https://img.shields.io/badge/Understand--Anything-Egonex--AI-22c55e?style=for-the-badge&logo=github&logoColor=white" alt="Egonex-AI/Understand-Anything" />
147
+ </a>
148
+ &nbsp;
149
+ <a href="https://github.com/obra/superpowers">
150
+ <img src="https://img.shields.io/badge/superpowers-obra-f59e0b?style=for-the-badge&logo=github&logoColor=white" alt="obra/superpowers" />
151
+ </a>
152
+ </p>
94
153
 
95
- 事情一直没换过:你说话,它替你排工程门禁,坏哪道停哪道,你来拍板。
154
+ | 角色 | 项目 | 一句话 |
155
+ | --- | --- | --- |
156
+ | **结晶与门禁** | [**peaks-loop**](https://github.com/SquabbyZ/peaks-loop) ← 你在这里 | loop engineering 结晶系统,装上就有 PRD/RD/QA/UI/SC/TXT 一整条工程链 + 沉淀 |
157
+ | **战术手册** | [affaan-m/ECC](https://github.com/affaan-m/ECC) | everything-claude-code:Claude Code 上能拿到的最好用的战术、技能、SOP 集合 |
158
+ | **代码理解** | [Egonex-AI/Understand-Anything](https://github.com/Egonex-AI/Understand-Anything) | 任意仓库,一句话读懂 —— 让 LLM 真正"理解"项目,而不是猜 |
159
+ | **流程与纪律** | [obra/superpowers](https://github.com/obra/superpowers) | brainstorming / TDD / debugging / code-review 等流程纪律,每条都自带硬退出条件 |
96
160
 
97
- 你只需要把这一个仓库装好,后面每次跑新需求,都有现成的战术角色等你点。
161
+ **用起来就一句话**:把上面三个仓库都 clone 到本地,peaks-loop 装上,剩下的交给 LLM —— 它会按需取用、按纪律守门、按战术落地、按需求沉淀。
162
+
163
+ ### 致敬
164
+
165
+ peaks-loop 的两条工程脊柱直接来自这两个项目:
166
+
167
+ - [multica-ai/andrej-karpathy-skills](https://github.com/multica-ai/andrej-karpathy-skills) — 把"工程化每一条规则"刻进我们的方法层。
168
+ - [alchaincyf/darwin-skill](https://github.com/alchaincyf/darwin-skill) — 把"演化校验每一次改进"刻进我们的反漂移闸门。
169
+
170
+ ---
171
+
172
+ ## FAQ
173
+
174
+ <details>
175
+ <summary><b>它跟 Claude Code / Z Code 是什么关系?</b></summary>
176
+
177
+ 它是**搭在上面**,不是替换。peaks-loop 不抢你的 shell、不抢你的 prompt、不抢你的 IDE。它在 Claude Code / Z Code 这两个一等公民适配里跑,你照常用。**其他 AI 编程工具适配中,欢迎共建** → [GitHub Issues](https://github.com/SquabbyZ/peaks-loop/issues)。
178
+
179
+ </details>
180
+
181
+ <details>
182
+ <summary><b>我需要记 CLI 命令吗?</b></summary>
183
+
184
+ 不需要。你只用自然语言或选选项,LLM 替你跑命令。**所有 CLI 命令对外隐藏,对 LLM 开放**。
185
+
186
+ </details>
187
+
188
+ <details>
189
+ <summary><b>沉淀下来的战术会一直留在本地吗?</b></summary>
190
+
191
+ 会。沉淀落在你本地的池子里,只对你生效。命名、复用、迭代都是你说了算;跑翻车的会让你重新定义。
192
+
193
+ </details>
194
+
195
+ <details>
196
+ <summary><b>它会自己改我的代码吗?</b></summary>
197
+
198
+ 改,但过门禁。**审计不通过 = 不出门**,**QA 没过 = 不出门**,**review 不通过 = 不出门**。它替你跑,但每道门都给你审。
199
+
200
+ </details>
201
+
202
+ <details>
203
+ <summary><b>跟 3.x 比,4.x 有什么不同?</b></summary>
204
+
205
+ **最大的不同:从"代码专用"扩成"多域编排系统"。** 4.x 不再只是写代码 —— 新增了 `peaks-content`(内容生产)、`peaks-doctor`(项目健康)、`peaks-issue-fix-orchestrator`(批量修 issue)、`peaks-sop`(自定义 SOP)四条域编排链,加上 `peaks-solo` 分诊员按你说话自动判断该走哪一域。再加 9 个 IDE 适配、结晶系统重命名、post-run crystallization 机制、5,439 tests 通过。完整变更 → [`CHANGELOG.md`](./CHANGELOG.md)。
206
+
207
+ </details>
98
208
 
99
209
  ---
100
210
 
101
- MIT License · Made by [SquabbyZ](https://github.com/SquabbyZ)
211
+ ## 链接
102
212
 
103
213
  - 全部技能清单 → [`skills/`](./skills/)
104
- - 设计文档 → [`docs/`](./docs/)
105
214
  - 更新日志 → [`CHANGELOG.md`](./CHANGELOG.md)
106
215
  - 提问 → [GitHub Issues](https://github.com/SquabbyZ/peaks-loop/issues)
216
+ - 致敬: [multica-ai/andrej-karpathy-skills](https://github.com/multica-ai/andrej-karpathy-skills) · [alchaincyf/darwin-skill](https://github.com/alchaincyf/darwin-skill)
217
+ - 组合推荐: [affaan-m/ECC](https://github.com/affaan-m/ECC) · [Egonex-AI/Understand-Anything](https://github.com/Egonex-AI/Understand-Anything) · [obra/superpowers](https://github.com/obra/superpowers)
218
+ - 沉淀设计 → [`docs/superpowers/specs/2026-07-04-peaks-maker-dynamic-skill-sediment-design.md`](./docs/superpowers/specs/2026-07-04-peaks-maker-dynamic-skill-sediment-design.md)
219
+ - Loop Engineering 结晶设计 → [`docs/superpowers/specs/2026-07-07-peaks-loop-loop-engineering-crystallization-design.md`](./docs/superpowers/specs/2026-07-07-peaks-loop-loop-engineering-crystallization-design.md)
220
+
221
+ ---
222
+
223
+ <div align="center">
224
+
225
+ MIT License · Made by [SquabbyZ](https://github.com/SquabbyZ) · 中文版 · [English version](./README-en.md)
226
+
227
+ </div>
package/bin/peaks.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import '../dist/src/cli/index.js';
2
+ import '../dist/cli/index.js';
@@ -0,0 +1,19 @@
1
+ export type EnvelopeMapping = {
2
+ code: 'INVALID_GOAL';
3
+ nextActions: readonly string[];
4
+ } | {
5
+ code: 'INVALID_PROVIDERS';
6
+ nextActions: readonly string[];
7
+ } | {
8
+ code: 'INTERNAL_ERROR';
9
+ nextActions: readonly string[];
10
+ };
11
+ /**
12
+ * Map a thrown error into an envelope code + nextActions hint. Pure
13
+ * function — no IO, no state. Safe to call from any CLI handler.
14
+ *
15
+ * @param error - any value that may have been thrown (we only inspect
16
+ * `.message` for goal-validation; everything else is
17
+ * routed by class).
18
+ */
19
+ export declare function mapServiceError(error: unknown): EnvelopeMapping;
@@ -0,0 +1,50 @@
1
+ // Slice 015 — single source of truth for translating a thrown error from
2
+ // the service layer (createRdSwarmPlan, createTechPlan, etc.) into a CLI
3
+ // envelope code + user-facing nextActions.
4
+ //
5
+ // Lives under src/cli/commands/ (private to the CLI surface; underscore
6
+ // prefix marks it as not-an-exported-CLI-subcommand per the project
7
+ // convention). Used by every CLI handler that wraps a service call in a
8
+ // try/catch — currently the four catches in workflow-commands.ts.
9
+ //
10
+ // Pre-slice behavior: all four catches emitted a fixed `INVALID_GOAL`
11
+ // envelope code, regardless of the actual error class. Provider-config
12
+ // failures (`ProviderNotConfiguredError`) were silently re-labelled as
13
+ // "invalid goal", hiding real config issues behind a misleading hint.
14
+ //
15
+ // Post-slice behavior: the helper routes errors into one of three envelope
16
+ // codes based on the runtime error class/message. The CLI catch sites
17
+ // become data-only — they call the helper, then format the envelope.
18
+ import { ProviderNotConfiguredError } from '../../services/config/model-routing.js';
19
+ // Slice 015 risk A: goal-validation uses a substring match on the error
20
+ // message thrown by `validatePlanningInput`. If validatePlanningInput's
21
+ // message wording changes in a future slice, this branch silently
22
+ // degrades into INTERNAL_ERROR. Mitigated by the helper's unit test
23
+ // pinning the literal substring.
24
+ // Slice 015 — match the goal-validation throw message. The current
25
+ // `validatePlanningInput` literal is `"Goal must be non-empty"` (capital
26
+ // G, "non-empty" with hyphen). The regex tolerates common wording
27
+ // variations (`must be non-empty`, `must not be empty`, case-insensitive)
28
+ // so a future message tweak still routes correctly; the unit test below
29
+ // pins the *current* literal substring so any wording change fails loudly.
30
+ const GOAL_VALIDATION_MESSAGE_RE = /goal.{0,4}(must be non-empty|must not be empty)/i;
31
+ /**
32
+ * Map a thrown error into an envelope code + nextActions hint. Pure
33
+ * function — no IO, no state. Safe to call from any CLI handler.
34
+ *
35
+ * @param error - any value that may have been thrown (we only inspect
36
+ * `.message` for goal-validation; everything else is
37
+ * routed by class).
38
+ */
39
+ export function mapServiceError(error) {
40
+ if (error instanceof ProviderNotConfiguredError) {
41
+ return {
42
+ code: 'INVALID_PROVIDERS',
43
+ nextActions: ['Configure provider model: peaks config provider <id> set --model <id>'],
44
+ };
45
+ }
46
+ if (error instanceof Error && GOAL_VALIDATION_MESSAGE_RE.test(error.message)) {
47
+ return { code: 'INVALID_GOAL', nextActions: ['Use a non-empty goal'] };
48
+ }
49
+ return { code: 'INTERNAL_ERROR', nextActions: ['See errorId for trace'] };
50
+ }
@@ -198,12 +198,15 @@ export function registerSkillCommand(program, io) {
198
198
  addJsonOption(skill
199
199
  .command('presence:clear')
200
200
  .description('Clear the active Peaks skill presence indicator and update project context')
201
- .option('--project <path>', 'project root path (auto-detected from cwd when omitted)')).action((options) => {
201
+ .option('--project <path>', 'project root path (auto-detected from cwd when omitted)')).action(async (options) => {
202
202
  const projectRoot = options.project ?? findProjectRoot(process.cwd()) ?? process.cwd();
203
203
  const removed = clearSkillPresence(options.project);
204
- // Auto-update project context so future sessions have up-to-date history
204
+ // Auto-update project context so future sessions have up-to-date history.
205
+ // Slice 2026-07-15-project-scan-bootstrap: generateProjectContext now also
206
+ // bootstraps `.peaks/project-scan/` (idempotent). Await the async
207
+ // signature; failure is still non-fatal so we don't block the clear.
205
208
  try {
206
- generateProjectContext(projectRoot);
209
+ await generateProjectContext(projectRoot);
207
210
  }
208
211
  catch { // TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
209
212
  // non-fatal: context update failure should not block presence clear
@@ -50,9 +50,9 @@ export function registerProjectCommands(program, io) {
50
50
  });
51
51
  addJsonOption(project
52
52
  .command('context')
53
- .description('Generate or read persistent project context for cross-session Peaks understanding')
53
+ .description('Generate or read persistent project context for cross-session Peaks understanding. Generates BOTH `.peaks/PROJECT.md` (session history) AND `.peaks/project-scan/project-scan.md` (tech stack + archetypes) — see `peaks workspace init` for the full 5-template boot (G4b/AC9).')
54
54
  .requiredOption('--project <path>', 'target project root')
55
- .option('--read', 'read existing PROJECT.md without regenerating')).action((options) => {
55
+ .option('--read', 'read existing PROJECT.md without regenerating')).action(async (options) => {
56
56
  try {
57
57
  if (options.read) {
58
58
  const content = readProjectContext(options.project);
@@ -63,11 +63,16 @@ export function registerProjectCommands(program, io) {
63
63
  printResult(io, ok('project.context', { exists: true, path: `${options.project}/.peaks/PROJECT.md`, content }), options.json);
64
64
  return;
65
65
  }
66
- const result = generateProjectContext(options.project);
66
+ const result = await generateProjectContext(options.project);
67
67
  printResult(io, ok('project.context', {
68
68
  path: result.path,
69
69
  sessionCount: result.sessionCount,
70
- content: result.content
70
+ content: result.content,
71
+ // Slice 2026-07-15-project-scan-bootstrap (G1 + G2): the
72
+ // context command also bootstraps the project-scan tree.
73
+ // The envelope surfaces write counts + duration so the LLM
74
+ // (and the user) see what landed.
75
+ projectScan: result.projectScan
71
76
  }), options.json);
72
77
  }
73
78
  catch (error) {
@@ -93,7 +93,7 @@ async function runCompact(projectRoot, viaId, force, io, asJson) {
93
93
  try {
94
94
  registry.load(registryFile);
95
95
  }
96
- catch {
96
+ catch { // TODO(g2): vendor-neutrality — corrupt adapter registry must NOT block peaks runtime
97
97
  // Treat corrupt registry as empty — vendor-neutrality: a corrupt
98
98
  // .peaks/runtime/adapters.json must NOT block peaks runtime.
99
99
  // We still try the built-in path below.
@@ -15,6 +15,11 @@ import { verifyPipeline } from '../../services/workflow/pipeline-verify-service.
15
15
  import { applySkip, detectCallerKind } from '../../services/workflow/workflow-skip-service.js';
16
16
  import { fail, ok } from '../../shared/result.js';
17
17
  import { addJsonOption, failUnsupportedNonDryRun, getErrorMessage, isRecommendationWorkflow, printResult } from '../cli-helpers.js';
18
+ // Slice 015 — typed error → envelope code routing. Used by the four
19
+ // catch sites below (tech.plan / workflow.route / workflow.autonomous /
20
+ // swarm.plan) so provider-config errors surface as `INVALID_PROVIDERS`
21
+ // instead of being silently re-labelled `INVALID_GOAL`.
22
+ import { mapServiceError } from './_cli-error-envelope.js';
18
23
  // Plan 1 / Task 9 — auto-build peaks-context before peaks-rd runs.
19
24
  import { buildContext } from '../../services/context/context-builder.js';
20
25
  // Plan 1 / Task 10 — production fetcher (replaces mockFetcher).
@@ -125,7 +130,8 @@ function runTechPlan(io, options) {
125
130
  printResult(io, ok('tech.plan', plan), options.json);
126
131
  }
127
132
  catch (error) {
128
- printResult(io, fail('tech.plan', 'INVALID_GOAL', getErrorMessage(error), {}, ['Use a non-empty goal']), options.json);
133
+ const mapping = mapServiceError(error);
134
+ printResult(io, fail('tech.plan', mapping.code, getErrorMessage(error), {}, [...mapping.nextActions]), options.json);
129
135
  process.exitCode = 1;
130
136
  }
131
137
  }
@@ -171,7 +177,8 @@ function runWorkflowRoute(io, options) {
171
177
  printResult(io, ok('workflow.route', plan), options.json);
172
178
  }
173
179
  catch (error) {
174
- printResult(io, fail('workflow.route', 'INVALID_GOAL', getErrorMessage(error), {}, ['Use a non-empty goal']), options.json);
180
+ const mapping = mapServiceError(error);
181
+ printResult(io, fail('workflow.route', mapping.code, getErrorMessage(error), {}, [...mapping.nextActions]), options.json);
175
182
  process.exitCode = 1;
176
183
  }
177
184
  }
@@ -207,7 +214,8 @@ function runAutonomousWorkflow(io, options) {
207
214
  printResult(io, ok('workflow.autonomous', plan), options.json);
208
215
  }
209
216
  catch (error) {
210
- printResult(io, fail('workflow.autonomous', 'INVALID_GOAL', getErrorMessage(error), {}, ['Use a non-empty goal']), options.json);
217
+ const mapping = mapServiceError(error);
218
+ printResult(io, fail('workflow.autonomous', mapping.code, getErrorMessage(error), {}, [...mapping.nextActions]), options.json);
211
219
  process.exitCode = 1;
212
220
  }
213
221
  }
@@ -252,7 +260,8 @@ async function runSwarmPlan(io, options) {
252
260
  printResult(io, ok('swarm.plan', plan), options.json);
253
261
  }
254
262
  catch (error) {
255
- printResult(io, fail('swarm.plan', 'INVALID_GOAL', getErrorMessage(error), {}, ['Use a non-empty goal']), options.json);
263
+ const mapping = mapServiceError(error);
264
+ printResult(io, fail('swarm.plan', mapping.code, getErrorMessage(error), {}, [...mapping.nextActions]), options.json);
256
265
  process.exitCode = 1;
257
266
  }
258
267
  }
@@ -56,6 +56,24 @@ export type WorkspaceInitOptions = {
56
56
  * `executeProjectStandardsInit({ projectRoot, apply: true })`.
57
57
  */
58
58
  initStandards?: boolean;
59
+ /**
60
+ * Slice 2026-07-15-project-scan-bootstrap (G2 / G4b / AC9 / AC10):
61
+ * commander-style `--no-project-scan-bootstrap` opt-out. Default
62
+ * (no flag) leaves this `undefined` (treated as `true`). Pass the
63
+ * flag to set `options.projectScanBootstrap === false`, which the
64
+ * caller reads as `=== false` to skip the bootstrap call.
65
+ */
66
+ projectScanBootstrap?: boolean;
67
+ /**
68
+ * Slice 2026-07-15-project-scan-bootstrap (G2 / G4b / AC10):
69
+ * `--force-project-scan-templates` flag. Default (no flag)
70
+ * leaves this `undefined`. Pass the flag to set
71
+ * `options.forceProjectScanTemplates === true`, which forces the
72
+ * bootstrap service to overwrite the 4 bundled audit/business
73
+ * templates even when they already exist (sediment is preserved
74
+ * otherwise).
75
+ */
76
+ forceProjectScanTemplates?: boolean;
59
77
  };
60
78
  /**
61
79
  * Outcome of the first-time "install peaks hooks" decision attached to
@@ -28,6 +28,7 @@ import { clearStalePresenceOnRotation } from '../../../services/skills/skill-pre
28
28
  import { fail, ok } from '../../../shared/result.js';
29
29
  import { addJsonOption, getErrorMessage, printResult } from '../../cli-helpers.js';
30
30
  import { hasStandardsCheckedMarker, markStandardsChecked } from '../../../services/standards/missing-standards-detector.js';
31
+ import { bootstrapProjectScan } from '../../../services/prd/project-scan-bootstrap-service.js';
31
32
  import { readDecisionMarker, writeDecisionMarker, promptYesNo } from './helpers.js';
32
33
  export function registerWorkspaceInitCommand(workspace, io) {
33
34
  addJsonOption(workspace
@@ -44,7 +45,9 @@ export function registerWorkspaceInitCommand(workspace, io) {
44
45
  return value;
45
46
  })
46
47
  .option('--no-claude-hooks', 'do NOT materialize .claude/settings.local.json (slice 2.0.1-bug3 fact-forcing bypass). Default: hooks installed so tool calls inside .peaks/** are not blocked by the [Fact-Forcing Gate].')
47
- .option('--init-standards', 'slice 2026-06-16-peaks-code-auto-scaffold: when the consumer project\'s .claude/rules/ is missing or empty, auto-apply `peaks standards init --project <path> --apply` after emitting the diagnostic. Default: diagnostic only (no write).')).action(async (options) => {
48
+ .option('--init-standards', 'slice 2026-06-16-peaks-code-auto-scaffold: when the consumer project\'s .claude/rules/ is missing or empty, auto-apply `peaks standards init --project <path> --apply` after emitting the diagnostic. Default: diagnostic only (no write).')
49
+ .option('--no-project-scan-bootstrap', 'slice 2026-07-15-project-scan-bootstrap: skip the bootstrap of .peaks/project-scan/{project-scan.md + 4 audit/business templates} that runs after init succeeds. Default: bootstrap runs (idempotent: existing files are kept unless --force-project-scan-templates is also passed).')
50
+ .option('--force-project-scan-templates', 'slice 2026-07-15-project-scan-bootstrap (AC10): overwrite the 4 audit/business templates under .peaks/project-scan/ (business-knowledge.md, security-template.md, perf-template.md, audit-output-schema.md) even when they already exist. Default: skip existing files (sediment-preserved).', false)).action(async (options) => {
48
51
  try {
49
52
  // Resolve the session id. Two paths:
50
53
  // - explicit --session-id: use it as the requested binding target
@@ -116,6 +119,44 @@ export function registerWorkspaceInitCommand(workspace, io) {
116
119
  // also run `executeProjectStandardsInit({ apply: true })`.
117
120
  initStandards: options.initStandards === true
118
121
  });
122
+ // Slice 2026-07-15-project-scan-bootstrap (G2 / G4b / AC9):
123
+ // After the workspace dir is initialized, also bootstrap the
124
+ // `.peaks/project-scan/` artifact tree (project-scan.md + 4
125
+ // bundled audit/business templates). Idempotent — when the user
126
+ // re-runs `workspace init`, the existing files are kept (their
127
+ // sediment is user-authored). Pass `--no-project-scan-bootstrap`
128
+ // to skip, or `--force-project-scan-templates` to overwrite the
129
+ // 4 bundled templates anyway.
130
+ let projectScanEnvelope = null;
131
+ let projectScanError = null;
132
+ if (options.projectScanBootstrap === false) {
133
+ // Explicit opt-out. The envelope stays null; the JSON
134
+ // response carries `projectScan: { skipped: true, ... }` so
135
+ // callers can distinguish "skipped by flag" from "skipped by
136
+ // idempotency".
137
+ projectScanEnvelope = {
138
+ created: false,
139
+ skipped: true,
140
+ templatesBooted: 0,
141
+ templatesSkipped: 0,
142
+ projectScanPath: `${projectRoot}/.peaks/project-scan/project-scan.md`,
143
+ durationMs: 0
144
+ };
145
+ }
146
+ else {
147
+ try {
148
+ projectScanEnvelope = await bootstrapProjectScan({
149
+ projectRoot,
150
+ ...(options.forceProjectScanTemplates === true ? { forceTemplates: true } : {})
151
+ });
152
+ }
153
+ catch (error) {
154
+ // Don't fail init over a project-scan issue — the workspace
155
+ // is already initialized and the user has the JSON envelope.
156
+ // Surface the failure as a warning so the LLM can decide.
157
+ projectScanError = getErrorMessage(error);
158
+ }
159
+ }
119
160
  const nextActions = [];
120
161
  if (report.previousSessionId !== null && report.bound) {
121
162
  nextActions.push(`Replaced prior session binding "${report.previousSessionId}" with "${report.sessionId}".`);
@@ -208,6 +249,13 @@ export function registerWorkspaceInitCommand(workspace, io) {
208
249
  nextActions.push(`Wrote .peaks/.claude-settings-template.json (action: written) — ` +
209
250
  'the offline recovery anchor is now in place for future manual recoveries.');
210
251
  }
252
+ // Slice 2026-07-15-project-scan-bootstrap (G2): surface the
253
+ // bootstrap outcome. The envelope carries the write counts and
254
+ // duration so the LLM (and the human) see what landed. The
255
+ // nextAction only fires when the project-scan tree is fresh —
256
+ // idempotent re-runs are silent to keep the nextAction list
257
+ // scannable.
258
+ // (deferred until after warningsForEnvelope is declared below)
211
259
  // First-time hooks install decision. Sticky-marker at
212
260
  // .peaks/.peaks-init-hooks-decision.json records the user's answer
213
261
  // (or the auto-decision) so subsequent inits for new sessions in the
@@ -250,6 +298,20 @@ export function registerWorkspaceInitCommand(workspace, io) {
250
298
  `wrote ${report.standardsApplied.writtenFiles.length} file(s), ` +
251
299
  `kept ${report.standardsApplied.skippedFiles.length} existing file(s).`);
252
300
  }
301
+ // Slice 2026-07-15-project-scan-bootstrap (G2): surface the
302
+ // bootstrap outcome. The envelope carries the write counts and
303
+ // duration so the LLM (and the human) see what landed. The
304
+ // nextAction only fires when the project-scan tree is fresh —
305
+ // idempotent re-runs are silent to keep the nextAction list
306
+ // scannable.
307
+ if (projectScanError !== null) {
308
+ warningsForEnvelope.push(`project-scan bootstrap failed: ${projectScanError}`);
309
+ }
310
+ else if (projectScanEnvelope !== null && projectScanEnvelope.created) {
311
+ nextActions.push(`Bootstrapped .peaks/project-scan/ (project-scan.md + 4 audit/business templates) — ` +
312
+ `${projectScanEnvelope.templatesBooted} file(s) written, ${projectScanEnvelope.templatesSkipped} preserved. ` +
313
+ `Run \`peaks scan archetype --project ${projectRoot}\` and \`peaks scan libraries --project ${projectRoot}\` next to refresh the scan.`);
314
+ }
253
315
  // Write the once-per-session marker AFTER the envelope is built
254
316
  // (so subsequent inits skip the warning even on rapid back-to-back
255
317
  // calls).
@@ -269,7 +331,14 @@ export function registerWorkspaceInitCommand(workspace, io) {
269
331
  action: hooksOutcome.action,
270
332
  scope: hooksOutcome.scope,
271
333
  ...(hooksOutcome.reason !== undefined ? { reason: hooksOutcome.reason } : {})
272
- }
334
+ },
335
+ // Slice 2026-07-15-project-scan-bootstrap (G2): envelope
336
+ // for the .peaks/project-scan/ bootstrap. Always present
337
+ // (even when skipped / errored) so downstream readers can
338
+ // rely on the shape.
339
+ ...(projectScanEnvelope !== null
340
+ ? { projectScan: { ...projectScanEnvelope, ...(projectScanError !== null ? { error: projectScanError } : {}) } }
341
+ : {})
273
342
  }, warningsForEnvelope, nextActions), options.json);
274
343
  }
275
344
  catch (error) {