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
@@ -1,40 +1,101 @@
1
- # peaks-loop video demo
1
+ # peaks-loop video demo (v5)
2
2
 
3
- Remotion-based 30-second brand walk-through for peaks-loop 4.0. Mirrors `README.md`.
3
+ Remotion-based ~27-second brand walk-through for peaks-loop 4.x. Mirrors the multi-domain + slash-command narrative of the top-level README.
4
4
 
5
5
  ## Composition
6
6
 
7
7
  - Two compositions, one per locale:
8
- - `peaks-loop-demo` — 30 seconds @ 30fps (900 frames), 1920×1080 — Chinese primary.
9
- - `peaks-loop-demo-en` — same frame budget, English primary.
10
- - Scene timeline (frozen in `src/Root.tsx`):
11
- - 0–90 — **TitleScene** (`peaks-loop`, no ·, no emoji)
12
- - 90–240 — **PhilosophyScene** — 5 hero philosophy items, bilingual
13
- - 240–540 — **DemoScene × 3** — `写长任务代码` / `修 bug 当天发` / `接一个长跑的需求`
14
- - 540–780 — **SedimentScene** — 3-beat `NL → MANIFEST → BEE`
15
- - 780–900 — **ClosingScene** — `npm i -g peaks-loop` + repo-name vs skill-name arc + 5,439 tests stats
8
+ - `peaks-loop-demo` — Chinese primary
9
+ - `peaks-loop-demo-en` — English primary
10
+ - Same frame budget for both; dimensions 1920×1080 @ 30fps.
11
+ - Scene timeline (frozen in `src/Root.tsx`, v5 narrative):
12
+
13
+ | # | Scene | Slug | Frames |
14
+ | --- | --- | --- | --- |
15
+ | 1 | `IntroScene` | intro | 80 |
16
+ | 2 | `RecordingScene` | install | 100 |
17
+ | 3 | `RecordingScene` | first-slash | 100 |
18
+ | 4 | `RecordingScene` | domains | 100 |
19
+ | 5 | `RecordingScene` | sediment | 100 |
20
+ | 6 | `CreditScene` | credit | 130 |
21
+ | 7 | `ClosingScene` | closing | 110 |
22
+
23
+ Plus 12-frame overlap transitions between every scene.
16
24
 
17
25
  ## Visual style
18
26
 
19
- - Background: `#0f172a` (slate-900) via `bg-brand-bg`
20
- - Primary text: `#f8fafc` (slate-50) via `text-brand-fg`
21
- - Accent: `#6366f1` (indigo-500) via `text-brand-accent`
22
- - Stable badge: `#22c55e` (green-500)
23
- - Mono font for kickers / install chip / chat bubbles; sans font for headlines
27
+ - Background: `#0f172a` (slate-900) via `bg-brand-bg` + `BrandBackground` (drifting indigo halo + diagonal sweep line + bottom green glow).
28
+ - Accent: `#6366f1` (indigo-500) · Stable: `#22c55e` (green-500) · Warn: `#f59e0b` (amber-500).
29
+ - Typography: `font-mono` for kickers, captions, IDE/terminal HUD; `font-sans` for headlines.
30
+ - Three caption styles (`CaptionOverlay`):
31
+ - **subtitle** — black semi-transparent bar at the bottom.
32
+ - **callout** — indigo gradient emphasis box, slides in from the left.
33
+ - **annotation** — amber speech-bubble, drops in from the top-right.
24
34
 
25
- ## Public preview files (tracked)
35
+ ## Scene components
26
36
 
27
- The READMEs embed `<video>` tags that point at:
37
+ ```
38
+ src/scenes/
39
+ ├── IntroScene.tsx — hero title + tagline (kicker / brand / tagline)
40
+ ├── RecordingScene.tsx — the workhorse: 4 instances, each plays an HUD + captions + cursor
41
+ ├── HudWindow.tsx — stylised terminal/IDE panel that types out lines one at a time
42
+ ├── CaptionOverlay.tsx — 3-style caption layer (subtitle / callout / annotation)
43
+ ├── CursorHighlight.tsx — macOS-style cursor with smooth waypoint interpolation + click ripple
44
+ ├── BrandBackground.tsx — shared brand background (halo + sweep + bottom glow)
45
+ ├── CreditScene.tsx — tribute + recommended stack
46
+ └── ClosingScene.tsx — install chip + 5,439 tests stats
47
+ ```
48
+
49
+ ## Copy registry
28
50
 
29
- - `preview/peaks-loop-demo.mp4` (zh, 4.9 MB)
30
- - `preview/peaks-loop-demo-en.mp4` (en, 5.0 MB)
51
+ All on-screen text lives in `src/copy.ts`. Both locales are strict: no hardcoded
52
+ CN/EN inline in scene components. The `recordings[]` array holds 4 scene slugs
53
+ (install / first-slash / domains / sediment), each with its own captions,
54
+ cursor choreography, and HUD payload.
31
55
 
32
- These are produced by the render command below and committed to git so a clone (and the GitHub rendering) sees the same path. The shell snippet under **Render** keeps `preview/` in sync after a fresh build.
56
+ ## v5 recording pipeline (Playwright + Remotion)
33
57
 
34
- ## Render
58
+ The `RecordingScene` slots are designed to host **real recorded footage**
59
+ when you have a Chromium-equipped machine. The HUD window is the stand-in
60
+ for that footage until the recording pass runs.
61
+
62
+ ### 1. Install the recording side
35
63
 
36
64
  ```bash
37
65
  cd examples/video-demo
66
+ pnpm add -D playwright
67
+ pnpm exec playwright install chromium
68
+ ```
69
+
70
+ ### 2. Author a scenario JSON
71
+
72
+ Write `recordings/<slug>.json` per scene using the
73
+ `web-demo-video_skills` schema (`goto` / `click` / `fill` / `wait` / `screenshot`).
74
+ For our 4 slugs, the natural targets are:
75
+
76
+ | slug | URL / action |
77
+ | --- | --- |
78
+ | `install` | terminal typing `npm i -g peaks-loop` |
79
+ | `first-slash` | Claude Code chat with `/peaks-code ...` |
80
+ | `domains` | same chat, scrolling through the 5 `/peaks-*` slash commands |
81
+ | `sediment` | same chat, completing a run + asking to sediment |
82
+
83
+ ### 3. Record per scene
84
+
85
+ ```bash
86
+ pnpm exec tsx scripts/record-scenes.ts
87
+ # outputs recordings/<slug>.webm + recordings/<slug>.cursor.json
88
+ ```
89
+
90
+ ### 4. Swap the HUD for the recorded clip
91
+
92
+ In `src/scenes/RecordingScene.tsx`, replace the `<HudWindow>` block with a
93
+ `<Video src={...}>` from the matching `recordings/<slug>.webm`. Drop the
94
+ `HudWindow` import when no scene needs it any more.
95
+
96
+ ### 5. Render
97
+
98
+ ```bash
38
99
  pnpm install
39
100
  npx remotion render peaks-loop-demo out/peaks-loop-demo.mp4
40
101
  npx remotion render peaks-loop-demo-en out/peaks-loop-demo-en.mp4
@@ -44,10 +105,10 @@ cp out/peaks-loop-demo.mp4 preview/peaks-loop-demo.mp4
44
105
  cp out/peaks-loop-demo-en.mp4 preview/peaks-loop-demo-en.mp4
45
106
  ```
46
107
 
47
- Fallback (no Chromium available):
108
+ Fallback (no Chromium available — renders the HUD stand-in only):
48
109
 
49
110
  ```bash
50
- npx remotion still peaks-loop-demo out/still.png --frame=120
111
+ npx remotion still peaks-loop-demo out/still.png --frame=400
51
112
  ```
52
113
 
53
114
  ## Preview during dev
@@ -55,3 +116,27 @@ npx remotion still peaks-loop-demo out/still.png --frame=120
55
116
  ```bash
56
117
  npx remotion studio # http://localhost:3000
57
118
  ```
119
+
120
+ ## Why this layout
121
+
122
+ The 4 recording slugs follow the **black-box mental model** the README now
123
+ uses: install → first slash command → tour the 5 domains → sediment. Each
124
+ scene is **self-contained** (own HUD payload, captions, cursor ticks),
125
+ so you can rearrange them, drop one, or A/B test a new one without
126
+ touching the others. The 12-frame overlap transitions cross-fade between
127
+ scenes so the result feels like one continuous take rather than a slide
128
+ deck.
129
+
130
+ ## Adding a new scene
131
+
132
+ 1. Add a new entry to `recordings` in `src/copy.ts` (both `zh` and `en`):
133
+ - `slug` (kebab-case, used for the corner chip + recording filename)
134
+ - `captions` (array of `{ text, style }` triples)
135
+ - `cursor` (array of waypoints; empty = no cursor overlay)
136
+ - `hud` (terminal / ide, with the lines you want typed out)
137
+ 2. Add an extra frame budget to `src/Root.tsx` if you want a longer hold.
138
+ 3. Typecheck: `pnpm exec tsc --noEmit`.
139
+ 4. Re-render.
140
+
141
+ If you have a recording, drop a `<Video>` into `RecordingScene.tsx` and
142
+ point it at the new `recordings/<slug>.webm`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "peaks-loop",
3
- "version": "4.0.0-beta.7",
3
+ "version": "4.0.0-beta.9",
4
4
  "description": "Loop Engineering CLI — workflow primitive / loop guards / evaluators / slice orchestration",
5
5
  "author": "SquabbyZ",
6
6
  "license": "MIT",
@@ -22,10 +22,12 @@
22
22
  },
23
23
  "files": [
24
24
  "bin/peaks.js",
25
- "dist/src/cli/index.js",
26
- "dist/src/**/*.js",
27
- "dist/src/**/*.d.ts",
25
+ "dist/cli/index.js",
26
+ "dist/**/*.js",
27
+ "dist/**/*.d.ts",
28
+ "dist/**/*.md",
28
29
  "scripts/clean-dist.mjs",
30
+ "scripts/copy-templates.mjs",
29
31
  "scripts/sync-version.mjs",
30
32
  "scripts/install-skills.mjs",
31
33
  "scripts/watch.mjs",
@@ -46,7 +48,7 @@
46
48
  "examples/video-demo/out/en-closing-960.png"
47
49
  ],
48
50
  "scripts": {
49
- "build": "node ./scripts/sync-version.mjs && node ./scripts/clean-dist.mjs && tsc -p tsconfig.json",
51
+ "build": "node ./scripts/sync-version.mjs && node ./scripts/clean-dist.mjs && tsc -p tsconfig.build.json && node ./scripts/copy-templates.mjs",
50
52
  "prepack": "npm run build",
51
53
  "prepublishOnly": "node scripts/prepublish-build.mjs",
52
54
  "prepublish": "node ./scripts/sync-version.mjs",
@@ -55,7 +57,18 @@
55
57
  "dev": "tsx src/cli/index.ts",
56
58
  "dev:watch": "node ./scripts/watch.mjs",
57
59
  "pretest": "node ./scripts/sync-version.mjs",
58
- "test": "node ./scripts/lint/silent-warning-detector.mjs && vitest run",
60
+ "test": "vitest run tests/unit/cli-program.core.test.ts tests/unit/cli-program.stateful.test.ts tests/unit/cli-program.workflow.test.ts tests/unit/cli-program.workflow-cli.test.ts tests/unit/cli-program.workspace.test.ts tests/unit/cli",
61
+ "test:full": "vitest run",
62
+ "test:fast": "vitest run --maxWorkers=8 -t \"^((?!@slow|@integration|@replay).)*$\" tests/unit",
63
+ "test:dev": "vitest run tests/unit",
64
+ "test:dev:cli": "vitest run tests/unit/cli-program.core.test.ts tests/unit/cli-program.stateful.test.ts tests/unit/cli-program.workflow.test.ts tests/unit/cli-program.workflow-cli.test.ts tests/unit/cli-program.workspace.test.ts tests/unit/cli",
65
+ "test:unit": "vitest run tests/unit",
66
+ "test:integration": "vitest run tests/integration",
67
+ "test:cli": "vitest run tests/unit/cli-program.core.test.ts tests/unit/cli-program.stateful.test.ts tests/unit/cli-program.workflow.test.ts tests/unit/cli-program.workflow-cli.test.ts tests/unit/cli-program.workspace.test.ts tests/unit/cli",
68
+ "test:workflow": "vitest run tests/unit/cli-program.workflow.test.ts tests/unit/cli-program.workflow-cli.test.ts tests/unit/workflow-autonomous-resume-validation.test.ts tests/unit/workflow-autonomous-service.test.ts tests/unit/workflow-router-service.test.ts tests/unit/skill-browser-workflow.test.ts tests/unit/services/workflow",
69
+ "test:audit:silent-warning": "node ./scripts/lint/silent-warning-detector.mjs",
70
+ "test:ci": "node ./scripts/sync-version.mjs && node ./scripts/lint/silent-warning-detector.mjs && vitest run --coverage",
71
+ "test:changed": "node scripts/test-changed.mjs",
59
72
  "lint:silent-warning": "node ./scripts/lint/silent-warning-detector.mjs",
60
73
  "test:race": "vitest run --no-file-parallelism tests/unit/g8-shared-channel.test.ts tests/unit/dispatch-record-writer.test.ts tests/unit/services/retrospective/heartbeat.test.ts tests/unit/cli/commands/share-commands.test.ts",
61
74
  "test:replay": "node scripts/fixture-capture-setup.mjs && vitest run tests/unit/replay tests/unit/fixture",
@@ -99,13 +112,14 @@
99
112
  "@jridgewell/trace-mapping": "^0.3.31",
100
113
  "@stryker-mutator/core": "^8.7.1",
101
114
  "@stryker-mutator/typescript-checker": "^8.7.1",
102
- "@stryker-mutator/vitest-runner": "^8.7.1",
115
+ "@stryker-mutator/vitest-runner": "^9.6.1",
103
116
  "@types/better-sqlite3": "^7.6.13",
104
117
  "@types/node": "^22.10.2",
105
- "@vitest/coverage-v8": "^2.1.8",
118
+ "@vitest/coverage-v8": "^4.1.10",
106
119
  "tsx": "^4.19.2",
107
120
  "typescript": "^5.7.2",
108
- "vitest": "^2.1.8",
121
+ "vite": "^6.0.0",
122
+ "vitest": "^4.1.0",
109
123
  "zod-to-json-schema": "^3.25.2"
110
124
  }
111
125
  }
@@ -0,0 +1,64 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * copy-templates.mjs — copy bundled non-JS template assets into dist/
4
+ * after `tsc` runs. Required by slice 2026-07-15-project-scan-bootstrap
5
+ * (PRD G4b / R1 / QA BLOCKER): `tsc` only emits .js / .d.ts, so the
6
+ * audit/business markdown templates at
7
+ * `src/services/workspace/templates/project-scan/*.md` are absent
8
+ * from `dist/`. Downstream `npm install peaks-loop` consumers would
9
+ * therefore only get the dynamically-generated `project-scan.md` and
10
+ * the 4 audit/business templates would silently be missing.
11
+ *
12
+ * Idempotent: safe to run multiple times. Run after `tsc` in `build`.
13
+ */
14
+ import { copyFileSync, mkdirSync, readdirSync, statSync } from 'node:fs';
15
+ import { dirname, join, resolve } from 'node:path';
16
+ import { fileURLToPath } from 'node:url';
17
+
18
+ const packageRoot = resolve(dirname(fileURLToPath(import.meta.url)), '..');
19
+
20
+ /**
21
+ * @param {string} srcDir absolute source directory
22
+ * @param {string} destDir absolute destination directory (created if absent)
23
+ * @param {readonly string[]} extensions file extensions to copy (lowercase, with leading dot)
24
+ */
25
+ function copyTree(srcDir, destDir, extensions) {
26
+ if (!statSync(srcDir, { throwIfNoEntry: false })) return;
27
+ mkdirSync(destDir, { recursive: true });
28
+ for (const entry of readdirSync(srcDir, { withFileTypes: true })) {
29
+ const srcPath = join(srcDir, entry.name);
30
+ const destPath = join(destDir, entry.name);
31
+ if (entry.isDirectory()) {
32
+ copyTree(srcPath, destPath, extensions);
33
+ continue;
34
+ }
35
+ if (!entry.isFile()) continue;
36
+ const ext = entry.name.toLowerCase().slice(entry.name.lastIndexOf('.'));
37
+ if (!extensions.includes(ext)) continue;
38
+ copyFileSync(srcPath, destPath);
39
+ }
40
+ }
41
+
42
+ const targets = [
43
+ {
44
+ src: join(packageRoot, 'src/services/workspace/templates/project-scan'),
45
+ dest: join(packageRoot, 'dist/services/workspace/templates/project-scan'),
46
+ extensions: ['.md']
47
+ }
48
+ ];
49
+
50
+ let totalCopied = 0;
51
+ for (const { src, dest, extensions } of targets) {
52
+ const before = statSync(dest, { throwIfNoEntry: false })
53
+ ? readdirSync(dest).length
54
+ : 0;
55
+ copyTree(src, dest, extensions);
56
+ const after = readdirSync(dest).length;
57
+ const added = after - before;
58
+ totalCopied += added;
59
+ process.stdout.write(
60
+ `copy-templates: ${src.replace(packageRoot + '/', '')} -> ${dest.replace(packageRoot + '/', '')} (+${added} files)\n`
61
+ );
62
+ }
63
+
64
+ process.stdout.write(`copy-templates: done (${totalCopied} files copied)\n`);
@@ -185,7 +185,7 @@ Peaks-Loop PRD/RD/QA gates remain authoritative: OpenSpec structures the durable
185
185
 
186
186
  ## Mock data placement rules (BLOCKING — framework-aware)
187
187
 
188
- When the project-scan in `.peaks/_runtime/<sessionId>/rd/project-scan.md` identifies a frontend framework, mock data MUST follow the framework's built-in mock mechanism. **Never write mock data inline in component files.**
188
+ When the project-scan in `.peaks/project-scan/project-scan.md` (project-level, git-tracked; slice 2026-07-15-project-scan-bootstrap) identifies a frontend framework, mock data MUST follow the framework's built-in mock mechanism. **Never write mock data inline in component files.**
189
189
 
190
190
  → see `references/mock-data-placement.md` for the framework-to-mock-directory mapping + hard rules + verification gate.
191
191
 
@@ -2,12 +2,12 @@
2
2
 
3
3
  > Body of `## Library version awareness (3rd-party breaking-change gate)`. After `peaks scan libraries` lands the dependency list under `## Library versions` in `rd/project-scan.md`, RD MUST cross-check the slice's diff against `schemas/library-breaking-changes.data.json` before writing any 3rd-party API call. Concretely:
4
4
 
5
- 1. **Read the project's `## Library versions` section** in `.peaks/_runtime/<sessionId>/rd/project-scan.md`. Identify the `name` + `major` of every dependency the slice imports from.
5
+ 1. **Read the project's `## Library versions` section** in `.peaks/project-scan/project-scan.md`. Identify the `name` + `major` of every dependency the slice imports from.
6
6
  2. **Open `schemas/library-breaking-changes.data.json`** (LLM reads via the `Read` tool). For each library where the installed `major` matches a `toMajor` in the table, load the corresponding `breakingChanges[]` list.
7
7
  3. **For each `import` statement in the slice's diff** (e.g. `import { Drawer } from 'antd'`), check whether the imported symbol or its prop signature matches any `breakingChanges[].api` entry for the library's installed major.
8
8
  4. **On a hit**:
9
9
  - **Warn the LLM in the slice's handoff**: in `.peaks/_runtime/<sessionId>/rd/requests/<rid>.md` under `## Implementation evidence`, append a one-line note per hit: `- [lib-version] <library> <installed version> imports <api>; breaking-change rule says use <replacement> instead.`
10
- - **Persist a `lesson` memory** at the END of `.peaks/_runtime/<sessionId>/rd/project-scan.md` (or the tech-doc, or the handoff — any of these is read by future RD runs):
10
+ - **Persist a `lesson` memory** at the END of `.peaks/project-scan/project-scan.md` (or the tech-doc, or the handoff — any of these is read by future RD runs):
11
11
  ```
12
12
  <!-- peaks-memory:start -->
13
13
  title: <library> <installed major> requires <api> → <replacement>
@@ -2,7 +2,7 @@
2
2
 
3
3
  > Body of `## Mock data placement rules` + `### Framework-to-mock-directory mapping` + `### Hard rules` + `### Verification gate`. **BLOCKING — framework-aware.**
4
4
 
5
- When the project-scan in `.peaks/_runtime/<sessionId>/rd/project-scan.md` identifies a frontend framework, mock data MUST follow the framework's built-in mock mechanism. **Never write mock data inline in component files.**
5
+ When the project-scan in `.peaks/project-scan/project-scan.md` identifies a frontend framework, mock data MUST follow the framework's built-in mock mechanism. **Never write mock data inline in component files.**
6
6
 
7
7
  ## Framework-to-mock-directory mapping
8
8
 
@@ -29,11 +29,11 @@ peaks codegraph context --project <repo> "<task>"
29
29
  peaks codegraph affected --project <repo> <changed-files...> --json
30
30
 
31
31
  # 4.1 read project-scan from Code's pre-RD scan — BLOCKING if missing
32
- # **STOP if .peaks/_runtime/<sessionId>/rd/project-scan.md does not exist.**
32
+ # **STOP if .peaks/project-scan/project-scan.md does not exist.**
33
33
  # **Do not write any code, do not plan any implementation, do not pass go.**
34
34
  # **Create the project-scan first, then proceed.**
35
35
  # NOTE: project-scan.md is a session-scoped singleton. Check if it already exists
36
- # before regenerating (e.g. via `ls .peaks/_runtime/<sessionId>/rd/project-scan.md`). If it exists
36
+ # before regenerating (e.g. via `ls .peaks/project-scan/project-scan.md`). If it exists
37
37
  # and is complete (has `## Archetype` and `## Project mode` sections), reuse it.
38
38
  # Required sections in project-scan:
39
39
  # - build tool and framework
@@ -19,8 +19,8 @@ You cannot declare a phase complete from memory. Each gate below is a `ls` or `g
19
19
 
20
20
  **Peaks-Loop Gate A — After project-scan read (before any implementation):**
21
21
  ```bash
22
- ls .peaks/_runtime/<sessionId>/rd/project-scan.md
23
- # Expected output: .peaks/_runtime/<sessionId>/rd/project-scan.md
22
+ ls .peaks/project-scan/project-scan.md
23
+ # Expected output: .peaks/project-scan/project-scan.md
24
24
  # "No such file" → STOP, create the project-scan first. Do not write code.
25
25
  ```
26
26
 
@@ -33,7 +33,7 @@ nextActions:
33
33
  - "peaks-qa reads this handoff and runs the regression matrix"
34
34
  - "If Gate C passes, transition to txt handoff"
35
35
  gateEvidence:
36
- projectScan: .peaks/_runtime/<sessionId>/rd/project-scan.md
36
+ projectScan: .peaks/project-scan/project-scan.md
37
37
  prdHandoff: .peaks/_runtime/<sessionId>/prd/handoff.md
38
38
  codeReview: .peaks/_runtime/<sessionId>/rd/code-review.md
39
39
  securityReview: .peaks/_runtime/<sessionId>/rd/security-review.md
@@ -138,7 +138,7 @@ peaks request show <request-id> --role prd --project <repo> --json # read link
138
138
  # browser-launch substitute (it cannot launch a browser of its own).
139
139
 
140
140
  # 3. read project-scan for component library and CSS framework context
141
- # check .peaks/_runtime/<session-id>/rd/project-scan.md (blocking if missing for existing projects)
141
+ # check .peaks/project-scan/project-scan.md (blocking if missing for existing projects)
142
142
  # NOTE: project-scan.md is a session-scoped singleton — check before regenerating. Reuse if complete.
143
143
 
144
144
  # 4. PROTOTYPE FIDELITY CHECK (MANDATORY before any design work):
@@ -319,7 +319,7 @@ Every UI invocation touching user-visible behavior MUST produce a design-draft a
319
319
  8. **Anti-template checklist** — which generic patterns were rejected.
320
320
 
321
321
  **Component library awareness rules:**
322
- - Read `.peaks/_runtime/<session-id>/rd/project-scan.md` before proposing UI changes.
322
+ - Read `.peaks/project-scan/project-scan.md` before proposing UI changes.
323
323
  - antd → `theme.token`, `className`/`styles` APIs; no TailwindCSS utilities on antd components.
324
324
  - MUI → `sx` prop, `styled()`, `theme`; no TailwindCSS utilities on MUI components.
325
325
  - shadcn/ui → TailwindCSS utility classes + existing shadcn variants (expected pattern).
@@ -68,7 +68,7 @@ After autonomous work (RD, QA, security, perf), invoke peaks-final-review for 4-
68
68
 
69
69
  ### Peaks-Loop Step N+2: Main-session context monitor (D6 + slice 2026-07-02)
70
70
 
71
- After every 4th tool call, probe via `peaks code context-now --project <repo> --json`. Thresholds: 50% / **0.85 pre-compact / 0.95 red-line** (v2.13.0). **In Job mode ≥ 0.85 is MANDATORY auto-compact** (not advisory): Code MUST call `peaks session auto-compact --execute --project <repo>` autonomously. Pass `--enforce-job-mode` to force the MANDATORY semantics in single-rid mode too (`job-shape.json` auto-enables it). **≥ 0.95** red line: next Bash/Task call fires `peaks session auto-compact-hook` (PreToolUse), in-band spawning `claude --compact`. **Karpathy §4 exception**: compact red line keeps runner alive → zero-intervention wins; LLM MUST NOT ask user to run `/compact`. Honor `--in-flight-batch` (D6.e).
71
+ After every 4th tool call, probe via `peaks code context-now --project <repo> --json`. Thresholds: 50% / **0.85 pre-compact / 0.95 red-line** (v2.13.0). **In Job mode ≥ 0.85 is MANDATORY auto-compact** (`peaks session auto-compact --execute`). Pass `--enforce-job-mode` for single-rid. **≥ 0.95** red line: next Bash/Task fires `peaks session auto-compact-hook`. **Karpathy §4 exception**: compact red line keeps runner alive — zero-intervention wins; LLM MUST NOT ask user to run `/compact`. Honor `--in-flight-batch` (D6.e).
72
72
 
73
73
  ### Peaks-Loop Step 0: Anchor the workflow (MANDATORY FIRST ACTIONS — no bail-out)
74
74
 
@@ -84,17 +84,11 @@ Run `peaks workspace init` + `peaks skill presence:set peaks-code` BEFORE any an
84
84
 
85
85
  ### Peaks-Loop Step 0.7: Detect unfinished work and offer resume (BLOCKING on first invocation per session)
86
86
 
87
- After Step 0, run the resume-detection probe; surface via `AskUserQuestion` if a slice is in flight.
88
-
89
- **v3.1.2 resume rule:** if `.peaks/_runtime/<sessionId>/job/<jid>/progress.json` exists, read it FIRST and surface `Next: slice #N of M (<currentSlice>)`. `peaks job progress --job-id <jid> [--allow-missing]` is the canonical reader; the same JSON is surfaced by `peaks code gate-step-08` on every Bash call.
90
-
91
- **v2.11.0 D7 override:** if user just `/compact`ed, run `peaks code post-compact-detect --project <repo> --json` FIRST; `shouldAutoResume: true` skips AskUserQuestion (D7.b). Log to `.peaks/_runtime/<sessionId>/txt/auto-decisions.md`.
92
-
93
- → see `references/resume-detection.md`.
87
+ After Step 0, run the resume-detection probe; surface via `AskUserQuestion` if a slice is in flight. **v3.1.2 resume rule:** if `.peaks/_runtime/<sessionId>/job/<jid>/progress.json` exists, read FIRST and surface `Next: slice #N of M`. **v2.11.0 D7 override:** if user just `/compact`ed, run `peaks code post-compact-detect --project <repo> --json` FIRST; `shouldAutoResume: true` skips AskUserQuestion. → `references/resume-detection.md`.
94
88
 
95
89
  ### Peaks-Loop Step 0.55: 1.x → 2.0 detection (BLOCKING on first invocation per session, when the project is not on a 2.0 layout)
96
90
 
97
- After Step 0.7 returns "fresh", run `peaks upgrade --detect-1x --project <root> --json`. If `isOneX: true`, surface `AskUserQuestion`. Persist to `.peaks/preferences.json`. → `references/step-0-55-1x-detection.md`.
91
+ After Step 0.7 returns "fresh", run `peaks upgrade --detect-1x --project <root> --json`. If `isOneX: true`, surface `AskUserQuestion`. → `references/step-0-55-1x-detection.md`.
98
92
 
99
93
  ### Peaks-Loop Step 0.8 — Job 启动 (BLOCKING on LLM judgement — v3.1.1 patch + v3.1.2 mechanical gates)
100
94
 
@@ -108,12 +102,7 @@ The CLI is a **recorder + gate** for job-shape (the LLM judges). LLM calls `peak
108
102
 
109
103
  **v3.1.2 mechanical gates** (recorder-only was bypassed twice):
110
104
 
111
- - **PreToolUse hook** — `peaks workspace init` installs the `Bash` matcher `peaks code gate-step-08 --project .`. Exits 0 when `job-shape.json` exists (also emits `Next: slice #N+1 of M` from `progress.json`); exits 2 BLOCKED when missing AND prompt matches a fail-closed backup regex; otherwise 0 (allow).
112
- - **Size-fear ban** — `peaks code emit-handoff` refuses a final handoff while `remaining > 0` under Job mode.
113
- - **Forced auto-compact** — `peaks code context-now --enforce-job-mode` (auto-enabled on `isJob=true`) returns `auto-compact-now` at ≥ 0.85; **In Job mode ≥ 0.85 is MANDATORY auto-compact** (not advisory).
114
- - **On-disk slice progress** — `peaks job checkpoint --state done` writes `progress.json`; `peaks job progress --job-id <jid> [--allow-missing]` is the canonical reader.
115
-
116
- Full mechanics (judgement criteria, hook table, backup-regex rationale, hook wiring) at `references/step-0-8-gate.md`.
105
+ PreToolUse hook on `peaks code gate-step-08`; size-fear ban on `peaks code emit-handoff`; forced auto-compact at ≥ 0.85 in Job mode; on-disk slice progress via `peaks job checkpoint` (canonical reader `peaks job progress --job-id <jid>`). Full mechanics (judgement criteria, hook table, backup-regex rationale, hook wiring) at `references/step-0-8-gate.md`.
117
106
 
118
107
  ### Peaks-Loop Step 0.81 — per-slice 收尾
119
108
 
@@ -121,11 +110,11 @@ After commit: `peaks job checkpoint --slice-id <rid> --state done --commit-sha $
121
110
 
122
111
  ### Peaks-Loop Step 0.85 — slice 阻塞处理
123
112
 
124
- Trigger: `repair-status` atCap=true, context-now red-line ≥5min, or `subagent-cleanup` fails twice. Action: `peaks job block --slice-id <rid> --reason "<reason>"` then STOP with TXT handoff.
113
+ Trigger: `repair-status` atCap=true, context-now red-line ≥5min, or `subagent-cleanup` fails twice. Action: `peaks job block --slice-id <rid> --reason "<reason>"` then STOP.
125
114
 
126
115
  ### Peaks-Loop Step 0.86 — main session rotation
127
116
 
128
- Active in rotating mode; fires every `rotateEvery` slices or on-demand via `peaks job rotate-now`. Sequence: cycle-summary → checkpoint rotate-marker → `peaks session rotate` → next turn resumes via `peaks session resume --job-id <jid>`.
117
+ Active in rotating mode; fires every `rotateEvery` slices or via `peaks job rotate-now`. Sequence: cycle-summary → checkpoint rotate-marker → `peaks session rotate` → resume via `peaks session resume --job-id <jid>`.
129
118
 
130
119
  ### Peaks-Loop Step 0.87 — sub-agent cleanup gate
131
120
 
@@ -147,9 +136,7 @@ Run `peaks project memories --project <repo> --json` to read decisions / convent
147
136
 
148
137
  ### Peaks-Loop Step 2.5: Set session title
149
138
 
150
- Extract a short title from the user's first request (8-20 Chinese chars or 4-10 English words). Run `peaks session title <sid> "<title>" --json`. Skip if a title is already set. → `references/skill-presence-and-title.md` (same file as Step 2).
151
-
152
- > **CLI reality check (D-002 sediment, 2026-07-09):** The session id is a **positional argument**, not a `--session-id` flag. Correct invocation is `peaks session title 2026-07-08-session-17918f "add-zcode-adapter — peaks-loop 第 9 IDE 接入" --json`. Passing `--session-id` will be rejected with `error: unknown option '--session-id'`.
139
+ Extract a short title from the user's first request (8-20 Chinese chars or 4-10 English words). Run `peaks session title <sessionId> "<title>" --json`. Skip if a title is already set. → `references/skill-presence-and-title.md` (same file as Step 2). D-002: sid is positional, NOT `--session-id` flag (rejected with `error: unknown option`).
153
140
 
154
141
  ## Sub-agent session sharing (MANDATORY — one conversation = one sid)
155
142
 
@@ -157,16 +144,16 @@ When peaks-code dispatches a sub-agent (peaks-rd, peaks-qa, peaks-ui, peaks-txt,
157
144
 
158
145
  ## Boundaries
159
146
 
160
- Peaks-Loop Code may: identify scenarios, recommend profiles, coordinate role skills through artifacts, coordinate project memory extraction, request user confirmation at risk/commit boundaries. Peaks-Loop Code must NOT silently install hooks / create agents / enable MCP / modify Claude settings / create GitHub repos / bypass role-skill artifacts. → `references/boundaries.md`.
147
+ Peaks-Loop Code may identify scenarios, recommend profiles, coordinate role skills via artifacts, coordinate project memory extraction, request user confirmation at risk/commit boundaries. MUST NOT silently install hooks / create agents / enable MCP / modify Claude settings / create GitHub repos / bypass role-skill artifacts. → `references/boundaries.md`.
161
148
 
162
149
  ## CLI Drift Index (sediment 2026-07-09)
163
150
 
164
- > **Reading guide:** This document was last verified against CLI surface in **peaks-loop 4.0.0-beta.6**. The CLI has drifted in 4 places since this SKILL.md was last fully aligned. Each drift below is annotated **inline at the relevant step** with a `> CLI reality check` blockquote. When you hit a `error: unknown option ...` error, **read the inline reality check first** before guessing.
151
+ > **Reading guide:** Verified against peaks-loop 4.0.0-beta.6. Each drift below is annotated inline at the relevant step with a `> CLI reality check`. On `error: unknown option ...`, **read the inline reality check first** before guessing.
165
152
 
166
153
  | Drift ID | Step | Symptom | Fix | Inline location |
167
154
  |---|---|---|---|---|
168
155
  | **D-001** | 0.8 | `peaks code detect-job --is-job ...` rejected with `error: unknown option '--is-job'` | Use `peaks job init --job-id <jid> --slice-list <list> --main-loop-strategy <single\|rotating>` | §Step 0.8 first paragraph |
169
- | **D-002** | 2.5 | `peaks session title --session-id <sid> ...` rejected with `error: unknown option '--session-id'` | sid is positional: `peaks session title <sid> "<title>" --json` | §Step 2.5 |
156
+ | **D-002** | 2.5 | `peaks session title --session-id <sid> ...` rejected with `error: unknown option '--session-id'` (this is the bare `<sid>` anti-pattern) | sid is positional: `peaks session title <sessionId> "<title>" --json` | §Step 2.5 |
170
157
  | **D-003** | 0.8 | `JOB_SHAPE_NOT_DECIDED` exception expected but never thrown | Current behavior is `peaks job status` reports `done: 0` passively — treat as recoverable miss, not hard error | §Step 0.8 third paragraph |
171
158
  | **D-010** | 11c | `peaks memory extract` returns `extractedCount: 0` despite `<!-- peaks-memory:start -->` existing | Block requires YAML frontmatter (`title:` + `kind:` + `---`) + closing `<!-- peaks-memory:end -->`. Bare `peaks-memory:start` is parsed silently but produces no writes | §Step 11c + 11d |
172
159
 
@@ -182,7 +169,9 @@ Step 0 creates the workspace; all intermediate artifacts land under `.peaks/_run
182
169
 
183
170
  ## Peaks-Loop Pre-RD project scan checklist (MANDATORY)
184
171
 
185
- Before handing off to `peaks-rd`, scan the project and record findings to `.peaks/_runtime/<sessionId>/rd/project-scan.md`. → `references/project-scan-checklist.md`.
172
+ Before handing off to `peaks-rd`, scan the project and record findings to `.peaks/project-scan/project-scan.md` (project-level, git-tracked; sibling of `.peaks/PROJECT.md`). Slice 2026-07-15-project-scan-bootstrap (G1 + G2): `peaks workspace init` and `peaks project context` both bootstrap this file automatically; only re-run the manual flow when the scan output is genuinely out of date. → `references/project-scan-checklist.md`.
173
+
174
+ > **Slice 2026-07-15-project-scan-bootstrap G4b / AC9:** after `peaks workspace init`, the consumer project's `.peaks/project-scan/` directory carries 5 files: `project-scan.md` (generated by the scan logic) + `business-knowledge.md` + `security-template.md` + `perf-template.md` + `audit-output-schema.md` (the 4 audit/business templates bundled at `src/services/workspace/templates/project-scan/*.md`, copied on init; idempotent — existing files preserved unless `--force-project-scan-templates`). RD / UI / TXT / QA read from this tree; nothing else.
186
175
 
187
176
  ## Peaks-Loop Frontend-only development mode
188
177
 
@@ -190,15 +179,13 @@ When the project has no live backend (no swagger.json, no API server), Code must
190
179
 
191
180
  ## Peaks-Loop Request type classification + Workflow order + Transition verification gates
192
181
 
193
- The contract for the 6-type classification table, the 11-step workflow order, and the 7 transition verification gates (A through G with their `ls` / `grep` shell snippets) lives in `references/workflow-gates-and-types.md`. The peaks-code narrative references those gate numbers (Gate A through Gate G) — keep both files in lockstep when adding or renaming a gate.
182
+ The 6-type table + 11-step order + 7 transition gates (A-G) live in `references/workflow-gates-and-types.md`. peaks-code narrative references Gate A-G — keep both files in lockstep.
194
183
 
195
184
  ## Peaks-Loop Default sub-agent fan-out (≥ 2 leaves/topological level → `--from-dag`)
196
185
 
197
186
  > **Slice 5:** when the slice DAG has ≥ 2 leaves at one topological level, dispatch via `peaks sub-agent dispatch --from-dag <dag-file>` (wall-time ≈ max, not sum).
198
187
 
199
- Write DAG → `.peaks/_runtime/<sessionId>/sc/slice-dag.json`, run `peaks sub-agent dispatch --from-dag <dag-file> --batch-id <id>` once; orchestrator emits N parallel `buildToolCall` (`dispatchCount === N`).
200
-
201
- > **2026-06-28 校准:** 主路径 = 唯一蜂群;config/docs/chore 跳过不打断。详见 `.peaks/memory/peaks-loop-24h-ai-programmer-positioning.md`。
188
+ Write DAG → `.peaks/_runtime/<sessionId>/sc/slice-dag.json`, run `peaks sub-agent dispatch --from-dag <dag-file> --batch-id <id>` once; orchestrator emits N parallel `buildToolCall` (`dispatchCount === N`). 主路径 = 唯一蜂群;config/docs/chore 跳过不打断。详见 `.peaks/memory/peaks-loop-24h-ai-programmer-positioning.md`。
202
189
 
203
190
  ### Hard constraint: fan-out is mandatory (slice 2026-06-24-audit-5th-p2)
204
191
 
@@ -242,25 +229,7 @@ After final validation, refresh project-local standards via `peaks standards ini
242
229
 
243
230
  ## Peaks-Loop Step 11: Memory sediment (BLOCKING on workflow complete)
244
231
 
245
- > **Hard rule.** Code MUST NOT declare a workflow complete until Step 11 has produced ≥ 1 file in `.peaks/memory/` (the durable, LLM-authored memory store) OR the user has explicitly approved a no-sediment outcome via AskUserQuestion. Applies to **all modes** including `assisted` and `strict` — `assisted` previously skipped Step 10 because there was no `[CONFIRM]` gate; Step 11 fixes that.
246
-
247
- ### Substeps (BLOCKING)
248
-
249
- **11a — Gate A (txt/ inventory):** `find .peaks/_runtime/<sessionId>/txt/ -type f -name '*.md' | head`. If **0 files** → STOP. Dispatch `peaks-txt` first to write `handoff.md`, then return to 11c.
250
-
251
- **11b — Gate B (memory block embed scan):** `grep -c 'peaks-memory:start' .peaks/_runtime/<sessionId>/txt/handoff.md || true`. If **0 AND this session surfaced a stable project fact** (decision / convention / approved refactor / hard rule), STOP and tell peaks-txt to embed at least one `<!-- peaks-memory:start -->` block first.
252
-
253
- **11c — Canonical extract** (the only CLI that writes `.peaks/memory/`): `peaks memory extract --project <repo> --artifact .peaks/_runtime/<sessionId>/txt/handoff.md --apply --json`. `--apply` is REQUIRED (without it the command only previews — no files land).
254
-
255
- > **CLI reality check (D-010 sediment, 2026-07-09):** The `<!-- peaks-memory:start -->` block must be followed immediately by a **YAML frontmatter** (`title: ...`, `kind: lesson | decision | convention`) and a `---` separator. Each block must close with `<!-- peaks-memory:end -->`. A bare `peaks-memory:start` without the YAML fields is parsed but produces no `plannedWrites` — the CLI silently returns `extractedCount: 0`. Full format reference: see any successful extract output (e.g. `.peaks/_runtime/2026-07-08-session-17918f/txt/handoff-003-add-zcode-adapter.md`).
256
-
257
- **11d — Gate C (zero-write outcome):** If `extractedCount === 0` after 11c, fire AskUserQuestion:
258
-
259
- > "本次 code 未沉淀任何 `.peaks/memory` 文件。可选: (a) 回去在 handoff.md 嵌入至少 1 个 `peaks-memory:start` block 后重试; (b) 显式接受 no-sediment 并记录为 lesson; (c) 取消完成。"
260
-
261
- > **D-010 fix root cause check:** When firing 11d, first inspect whether the block has the YAML frontmatter (`title:` + `kind:` + `---`). If the `<!-- peaks-memory:start -->` exists but no `title:` line follows, fix the block format and re-run 11c — don't ask the user yet. Default option = (a). Code MUST NOT silently accept (b) without user pick. Full bash + flow at `references/runbook.md` §Step 11.
262
-
263
- **Why this step exists:** audit 2026-07-03 confirmed 2 consecutive sessions produced zero `.peaks/memory/` files despite completing RD + QA + handoff artifacts; `assisted` mode silently skipped runbook Step 10 (no STOP condition). **Why `peaks memory extract` (not `peaks project memories:extract`):** the artifact-scoped extract is canonical; the batch-scoped sibling is for non-handoff flows. Always use `peaks memory extract --apply`.
232
+ > **Hard rule.** Code MUST NOT declare a workflow complete until Step 11 has produced ≥ 1 file in `.peaks/memory/` OR the user has explicitly approved a no-sediment outcome via AskUserQuestion. Canonical CLI: `peaks memory extract --project <repo> --artifact .peaks/_runtime/<sessionId>/txt/handoff.md --apply --json` (the artifact-scoped extract; the batch-scoped sibling `peaks project memories:extract` is for non-handoff flows only). Substeps 11a/11b/11c/11d (Gate A/B/C), D-010 fix root cause check → `references/step-11-memory-sediment.md` + `references/runbook.md` §Step 11.
264
233
 
265
234
  ## Peaks-Loop External references and lifecycle
266
235
 
@@ -274,9 +243,9 @@ After final validation, refresh project-local standards via `peaks standards ini
274
243
 
275
244
  Main LLM reducer sees metadata-only view (~200 chars/sub-agent); on-demand `Read` for full content. Threshold table: 50% soft warn, 75% `CONTEXT_NEAR_LIMIT`, 80% hard reject (CLI + hook double-guard). → `references/context-governance.md`.
276
245
 
277
- ## Sub-agent cross-batch signal — G8.4 share / shared-read / await (slice 2026-06-23-audit-3rd)
246
+ ## Sub-agent cross-batch signal — G8.4 share / shared-read / await
278
247
 
279
- Three CLI primitives let sibling sub-agents coordinate: `peaks sub-agent share / shared-read / await` (last-write-wins, ≤ 1KB warn / ≥ 64KB reject). Channel file gitignored under `.peaks/_sub_agents/<sessionId>/shared/`.
248
+ Three CLI primitives: `peaks sub-agent share / shared-read / await` (last-write-wins, ≤ 1KB warn / ≥ 64KB reject). Channel gitignored under `.peaks/_sub_agents/<sessionId>/shared/`.
280
249
 
281
250
  ## References
282
251
 
@@ -2,7 +2,9 @@
2
2
 
3
3
  > Extracted from `skills/peaks-code/SKILL.md` on 2026-06-09 (slice 019 — slim skill files to references) to keep SKILL.md under the 800-line cap from `common/coding-style.md`. The content below is the verbatim Pre-RD project scan checklist that was previously inline; nothing was paraphrased, just relocated.
4
4
 
5
- Before handing off to `peaks-rd`, scan the project and record findings to `.peaks/_runtime/<sessionId>/rd/project-scan.md`. RD and UI roles read this before starting work. **project-scan.md is a session-scoped singleton** — check if it already exists before regenerating (e.g. via `ls .peaks/_runtime/<sessionId>/rd/project-scan.md`). If it exists and is complete (has `## Archetype` and `## Project mode` sections), reuse it. Only regenerate if missing or incomplete.
5
+ Before handing off to `peaks-rd`, scan the project and record findings to `.peaks/project-scan/project-scan.md` (project-level, git-tracked; sibling of `.peaks/PROJECT.md`). RD and UI roles read this before starting work. **project-scan.md is a project-scoped singleton** — check if it already exists before regenerating (e.g. via `ls .peaks/project-scan/project-scan.md`). If it exists and is complete (has `## Archetype` and `## Project mode` sections), reuse it. Only regenerate if missing or incomplete.
6
+
7
+ > **Slice 2026-07-15-project-scan-bootstrap (G1 + G2 + G4b):** `peaks workspace init` and `peaks project context` now both bootstrap `.peaks/project-scan/project-scan.md` automatically. On a brand-new 0-1 project (no `package.json` or no source files) the file is seeded with `archetype: unknown` + `(empty)` placeholder rows. On an existing project it is filled from `peaks scan archetype` + `peaks scan libraries` output. Idempotent — re-running `workspace init` does NOT overwrite the existing file unless `--force` is passed.
6
8
 
7
9
  ### 0. Project archetype detection (MANDATORY — run FIRST, deterministic CLI)
8
10
 
@@ -26,8 +26,8 @@ peaks skill runbook peaks-code --json
26
26
  peaks workspace init --project <repo> --json
27
27
  peaks workspace reconcile --project <repo> --json
28
28
  peaks scan archetype --project <repo> --json
29
- # → copy archetype, frontendOnly, signals into .peaks/_runtime/<session-id>/rd/project-scan.md (Peaks-Loop Gate A)
30
- # → copy libraries[] into .peaks/_runtime/<session-id>/rd/project-scan.md under `## Library versions`
29
+ # → copy archetype, frontendOnly, signals into .peaks/project-scan/project-scan.md (Peaks-Loop Gate A; project-level, git-tracked — slice 2026-07-15-project-scan-bootstrap G1)
30
+ # → copy libraries[] into .peaks/project-scan/project-scan.md under `## Library versions`
31
31
  peaks scan libraries --project <repo> --json
32
32
  # → if archetype != greenfield AND archetype != unknown:
33
33
  peaks scan existing-system --project <repo> --json
@@ -7,7 +7,7 @@
7
7
 
8
8
  Use `standards init` for first-time creation and `standards update` for existing `CLAUDE.md` append/review behavior. In `full-auto` and `swarm` profiles, `--apply` runs automatically after `--dry-run` succeeds — these files live inside the target project, are required for downstream skill preflight, and producing them is part of finishing the workflow (Peaks-Loop Gate G enforces this). `assisted` and `strict` profiles pause for explicit user confirmation between dry-run and apply.
9
9
 
10
- **CRITICAL — Standards must reflect the project scan.** When generating or updating `CLAUDE.md`, the content must reference concrete findings from `.peaks/_runtime/<sessionId>/rd/project-scan.md`: the detected component library (e.g. "This project uses antd 5.x"), CSS solution (e.g. "Uses Less via Umi"), build tool, state management, and routing. Never emit a generic template that says "read .claude/rules/..." without naming the actual project stack. If the project-scan has not been run yet, run it before standards init/update.
10
+ **CRITICAL — Standards must reflect the project scan.** When generating or updating `CLAUDE.md`, the content must reference concrete findings from `.peaks/project-scan/project-scan.md`: the detected component library (e.g. "This project uses antd 5.x"), CSS solution (e.g. "Uses Less via Umi"), build tool, state management, and routing. Never emit a generic template that says "read .claude/rules/..." without naming the actual project stack. If the project-scan has not been run yet, run it before standards init/update.
11
11
 
12
12
  **Legacy projects additionally** — when archetype ∈ {legacy-frontend, legacy-fullstack, frontend-monorepo}, the `CLAUDE.md` Conventions section MUST extract concrete naming, directory, service-layer, and hooks conventions from `.peaks/_runtime/<sessionId>/system/existing-system.md` and record them as hard constraints for new code. It must also list the `## Legacy constraints` from `project-scan.md` (class components, moment, enzyme, etc.) and instruct that new code in the same module preserves those patterns unless PRD explicitly authorizes modernization. A `CLAUDE.md` for a legacy project that contains only generic rule pointers without naming the actual conventions is a blocking violation — regenerate it.
13
13