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

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 (1072) hide show
  1. package/CHANGELOG.md +90 -0
  2. package/README-en.md +178 -67
  3. package/README.md +178 -57
  4. package/examples/video-demo/README.md +108 -23
  5. package/examples/video-demo/preview/peaks-loop-demo-en.mp4 +0 -0
  6. package/examples/video-demo/preview/peaks-loop-demo.mp4 +0 -0
  7. package/package.json +19 -6
  8. package/scripts/copy-templates.mjs +64 -0
  9. package/skills/bee/peaks-rd/SKILL.md +1 -1
  10. package/skills/bee/peaks-rd/references/library-version-awareness.md +2 -2
  11. package/skills/bee/peaks-rd/references/mock-data-placement.md +1 -1
  12. package/skills/bee/peaks-rd/references/rd-runbook.md +2 -2
  13. package/skills/bee/peaks-rd/references/rd-transition-gates.md +2 -2
  14. package/skills/bee/peaks-rd/references/writing-handoff-frontmatter.md +1 -1
  15. package/skills/bee/peaks-ui/SKILL.md +2 -2
  16. package/skills/peaks-code/SKILL.md +18 -49
  17. package/skills/peaks-code/references/project-scan-checklist.md +3 -1
  18. package/skills/peaks-code/references/runbook.md +2 -2
  19. package/skills/peaks-code/references/standards-preflight.md +1 -1
  20. package/skills/peaks-code/references/step-11-memory-sediment.md +56 -0
  21. package/skills/peaks-code/references/swarm-dispatch-contract.md +1 -1
  22. package/skills/peaks-code/references/workflow-gates-and-types.md +3 -3
  23. package/dist/src/cli/cli-helpers.d.ts +0 -43
  24. package/dist/src/cli/cli-helpers.js +0 -86
  25. package/dist/src/cli/commands/adapter-commands-s2a.d.ts +0 -34
  26. package/dist/src/cli/commands/adapter-commands-s2a.js +0 -92
  27. package/dist/src/cli/commands/adapter-commands.d.ts +0 -30
  28. package/dist/src/cli/commands/adapter-commands.js +0 -35
  29. package/dist/src/cli/commands/agent-commands.d.ts +0 -20
  30. package/dist/src/cli/commands/agent-commands.js +0 -48
  31. package/dist/src/cli/commands/asset-commands.d.ts +0 -45
  32. package/dist/src/cli/commands/asset-commands.js +0 -404
  33. package/dist/src/cli/commands/audit-commands.d.ts +0 -28
  34. package/dist/src/cli/commands/audit-commands.js +0 -437
  35. package/dist/src/cli/commands/bee-commands.d.ts +0 -26
  36. package/dist/src/cli/commands/bee-commands.js +0 -169
  37. package/dist/src/cli/commands/capability-commands.d.ts +0 -16
  38. package/dist/src/cli/commands/capability-commands.js +0 -45
  39. package/dist/src/cli/commands/capability-worker-config-sc-commands.d.ts +0 -3
  40. package/dist/src/cli/commands/capability-worker-config-sc-commands.js +0 -10
  41. package/dist/src/cli/commands/classify-classify-commands.d.ts +0 -19
  42. package/dist/src/cli/commands/classify-classify-commands.js +0 -151
  43. package/dist/src/cli/commands/code-commands.d.ts +0 -80
  44. package/dist/src/cli/commands/code-commands.js +0 -798
  45. package/dist/src/cli/commands/code-review-commands.d.ts +0 -34
  46. package/dist/src/cli/commands/code-review-commands.js +0 -83
  47. package/dist/src/cli/commands/codegraph-commands.d.ts +0 -3
  48. package/dist/src/cli/commands/codegraph-commands.js +0 -99
  49. package/dist/src/cli/commands/compact-command.d.ts +0 -21
  50. package/dist/src/cli/commands/compact-command.js +0 -252
  51. package/dist/src/cli/commands/complexity-commands.d.ts +0 -9
  52. package/dist/src/cli/commands/complexity-commands.js +0 -34
  53. package/dist/src/cli/commands/config-commands.d.ts +0 -3
  54. package/dist/src/cli/commands/config-commands.js +0 -220
  55. package/dist/src/cli/commands/context-builder-commands.d.ts +0 -11
  56. package/dist/src/cli/commands/context-builder-commands.js +0 -85
  57. package/dist/src/cli/commands/context-commands.d.ts +0 -21
  58. package/dist/src/cli/commands/context-commands.js +0 -254
  59. package/dist/src/cli/commands/contract-commands.d.ts +0 -26
  60. package/dist/src/cli/commands/contract-commands.js +0 -114
  61. package/dist/src/cli/commands/core/artifacts-command.d.ts +0 -3
  62. package/dist/src/cli/commands/core/artifacts-command.js +0 -62
  63. package/dist/src/cli/commands/core/binding-commands.d.ts +0 -3
  64. package/dist/src/cli/commands/core/binding-commands.js +0 -58
  65. package/dist/src/cli/commands/core/doctor-command.d.ts +0 -11
  66. package/dist/src/cli/commands/core/doctor-command.js +0 -204
  67. package/dist/src/cli/commands/core/memory-command.d.ts +0 -3
  68. package/dist/src/cli/commands/core/memory-command.js +0 -98
  69. package/dist/src/cli/commands/core/profile-command.d.ts +0 -3
  70. package/dist/src/cli/commands/core/profile-command.js +0 -9
  71. package/dist/src/cli/commands/core/proxy-command.d.ts +0 -3
  72. package/dist/src/cli/commands/core/proxy-command.js +0 -26
  73. package/dist/src/cli/commands/core/session-command.d.ts +0 -3
  74. package/dist/src/cli/commands/core/session-command.js +0 -241
  75. package/dist/src/cli/commands/core/skill-command.d.ts +0 -3
  76. package/dist/src/cli/commands/core/skill-command.js +0 -297
  77. package/dist/src/cli/commands/core/standards-command.d.ts +0 -3
  78. package/dist/src/cli/commands/core/standards-command.js +0 -95
  79. package/dist/src/cli/commands/core-artifact-commands.d.ts +0 -15
  80. package/dist/src/cli/commands/core-artifact-commands.js +0 -31
  81. package/dist/src/cli/commands/dispatch-commands.d.ts +0 -10
  82. package/dist/src/cli/commands/dispatch-commands.js +0 -351
  83. package/dist/src/cli/commands/dispatch-from-dag.d.ts +0 -3
  84. package/dist/src/cli/commands/dispatch-from-dag.js +0 -251
  85. package/dist/src/cli/commands/doc-commands.d.ts +0 -11
  86. package/dist/src/cli/commands/doc-commands.js +0 -65
  87. package/dist/src/cli/commands/evolution-commands.d.ts +0 -27
  88. package/dist/src/cli/commands/evolution-commands.js +0 -393
  89. package/dist/src/cli/commands/feedback-commands.d.ts +0 -18
  90. package/dist/src/cli/commands/feedback-commands.js +0 -145
  91. package/dist/src/cli/commands/final-review-commands.d.ts +0 -31
  92. package/dist/src/cli/commands/final-review-commands.js +0 -161
  93. package/dist/src/cli/commands/fixture-commands.d.ts +0 -32
  94. package/dist/src/cli/commands/fixture-commands.js +0 -91
  95. package/dist/src/cli/commands/fork-commands.d.ts +0 -16
  96. package/dist/src/cli/commands/fork-commands.js +0 -163
  97. package/dist/src/cli/commands/gate-commands.d.ts +0 -3
  98. package/dist/src/cli/commands/gate-commands.js +0 -117
  99. package/dist/src/cli/commands/heartbeat-commands.d.ts +0 -3
  100. package/dist/src/cli/commands/heartbeat-commands.js +0 -135
  101. package/dist/src/cli/commands/hook-handle.d.ts +0 -17
  102. package/dist/src/cli/commands/hook-handle.js +0 -157
  103. package/dist/src/cli/commands/hooks-commands.d.ts +0 -3
  104. package/dist/src/cli/commands/hooks-commands.js +0 -156
  105. package/dist/src/cli/commands/ide-commands.d.ts +0 -25
  106. package/dist/src/cli/commands/ide-commands.js +0 -42
  107. package/dist/src/cli/commands/impact-commands.d.ts +0 -15
  108. package/dist/src/cli/commands/impact-commands.js +0 -62
  109. package/dist/src/cli/commands/job-commands.d.ts +0 -3
  110. package/dist/src/cli/commands/job-commands.js +0 -289
  111. package/dist/src/cli/commands/legacy-commands.d.ts +0 -11
  112. package/dist/src/cli/commands/legacy-commands.js +0 -32
  113. package/dist/src/cli/commands/log-commands.d.ts +0 -17
  114. package/dist/src/cli/commands/log-commands.js +0 -64
  115. package/dist/src/cli/commands/loop-commands.d.ts +0 -27
  116. package/dist/src/cli/commands/loop-commands.js +0 -262
  117. package/dist/src/cli/commands/loop-eval-commands.d.ts +0 -20
  118. package/dist/src/cli/commands/loop-eval-commands.js +0 -526
  119. package/dist/src/cli/commands/memory-commands.d.ts +0 -23
  120. package/dist/src/cli/commands/memory-commands.js +0 -129
  121. package/dist/src/cli/commands/migrate-1-4-1-command.d.ts +0 -11
  122. package/dist/src/cli/commands/migrate-1-4-1-command.js +0 -34
  123. package/dist/src/cli/commands/migrate-v2-10-to-v2-11-command.d.ts +0 -20
  124. package/dist/src/cli/commands/migrate-v2-10-to-v2-11-command.js +0 -52
  125. package/dist/src/cli/commands/mut-commands.d.ts +0 -20
  126. package/dist/src/cli/commands/mut-commands.js +0 -239
  127. package/dist/src/cli/commands/observability-commands.d.ts +0 -22
  128. package/dist/src/cli/commands/observability-commands.js +0 -201
  129. package/dist/src/cli/commands/openspec-commands.d.ts +0 -3
  130. package/dist/src/cli/commands/openspec-commands.js +0 -237
  131. package/dist/src/cli/commands/perf-audit-commands.d.ts +0 -22
  132. package/dist/src/cli/commands/perf-audit-commands.js +0 -132
  133. package/dist/src/cli/commands/perf-commands.d.ts +0 -3
  134. package/dist/src/cli/commands/perf-commands.js +0 -41
  135. package/dist/src/cli/commands/playwright-commands.d.ts +0 -95
  136. package/dist/src/cli/commands/playwright-commands.js +0 -432
  137. package/dist/src/cli/commands/polyrepo-commands.d.ts +0 -37
  138. package/dist/src/cli/commands/polyrepo-commands.js +0 -155
  139. package/dist/src/cli/commands/prd-blocks-commands.d.ts +0 -18
  140. package/dist/src/cli/commands/prd-blocks-commands.js +0 -50
  141. package/dist/src/cli/commands/prd-commands.d.ts +0 -18
  142. package/dist/src/cli/commands/prd-commands.js +0 -141
  143. package/dist/src/cli/commands/preferences-commands.d.ts +0 -2
  144. package/dist/src/cli/commands/preferences-commands.js +0 -197
  145. package/dist/src/cli/commands/project-commands.d.ts +0 -3
  146. package/dist/src/cli/commands/project-commands.js +0 -248
  147. package/dist/src/cli/commands/qa-business-review-commands.d.ts +0 -17
  148. package/dist/src/cli/commands/qa-business-review-commands.js +0 -148
  149. package/dist/src/cli/commands/qa-commands.d.ts +0 -94
  150. package/dist/src/cli/commands/qa-commands.js +0 -271
  151. package/dist/src/cli/commands/release-commands.d.ts +0 -24
  152. package/dist/src/cli/commands/release-commands.js +0 -231
  153. package/dist/src/cli/commands/request-commands.d.ts +0 -3
  154. package/dist/src/cli/commands/request-commands.js +0 -548
  155. package/dist/src/cli/commands/retrospective-commands.d.ts +0 -12
  156. package/dist/src/cli/commands/retrospective-commands.js +0 -175
  157. package/dist/src/cli/commands/reviewer-commands.d.ts +0 -14
  158. package/dist/src/cli/commands/reviewer-commands.js +0 -64
  159. package/dist/src/cli/commands/role-commands.d.ts +0 -13
  160. package/dist/src/cli/commands/role-commands.js +0 -85
  161. package/dist/src/cli/commands/runtime-commands.d.ts +0 -52
  162. package/dist/src/cli/commands/runtime-commands.js +0 -150
  163. package/dist/src/cli/commands/sc-commands.d.ts +0 -3
  164. package/dist/src/cli/commands/sc-commands.js +0 -45
  165. package/dist/src/cli/commands/scan-commands.d.ts +0 -3
  166. package/dist/src/cli/commands/scan-commands.js +0 -445
  167. package/dist/src/cli/commands/security-audit-commands.d.ts +0 -23
  168. package/dist/src/cli/commands/security-audit-commands.js +0 -132
  169. package/dist/src/cli/commands/sediment-commands.d.ts +0 -80
  170. package/dist/src/cli/commands/sediment-commands.js +0 -649
  171. package/dist/src/cli/commands/session-auto-compact-hook-command.d.ts +0 -37
  172. package/dist/src/cli/commands/session-auto-compact-hook-command.js +0 -127
  173. package/dist/src/cli/commands/session-checkpoint-command.d.ts +0 -10
  174. package/dist/src/cli/commands/session-checkpoint-command.js +0 -100
  175. package/dist/src/cli/commands/session-migrate-skill-name.d.ts +0 -17
  176. package/dist/src/cli/commands/session-migrate-skill-name.js +0 -41
  177. package/dist/src/cli/commands/session-resume-command.d.ts +0 -11
  178. package/dist/src/cli/commands/session-resume-command.js +0 -83
  179. package/dist/src/cli/commands/share-commands.d.ts +0 -17
  180. package/dist/src/cli/commands/share-commands.js +0 -296
  181. package/dist/src/cli/commands/skill-conformance-commands.d.ts +0 -9
  182. package/dist/src/cli/commands/skill-conformance-commands.js +0 -39
  183. package/dist/src/cli/commands/skill-loop-engineering-readiness-commands.d.ts +0 -67
  184. package/dist/src/cli/commands/skill-loop-engineering-readiness-commands.js +0 -173
  185. package/dist/src/cli/commands/skill-search-commands.d.ts +0 -25
  186. package/dist/src/cli/commands/skill-search-commands.js +0 -68
  187. package/dist/src/cli/commands/skill-visibility.d.ts +0 -8
  188. package/dist/src/cli/commands/skill-visibility.js +0 -63
  189. package/dist/src/cli/commands/slice-commands.d.ts +0 -24
  190. package/dist/src/cli/commands/slice-commands.js +0 -492
  191. package/dist/src/cli/commands/slice-integrate-commands.d.ts +0 -11
  192. package/dist/src/cli/commands/slice-integrate-commands.js +0 -74
  193. package/dist/src/cli/commands/slice-review-commands.d.ts +0 -23
  194. package/dist/src/cli/commands/slice-review-commands.js +0 -162
  195. package/dist/src/cli/commands/smoke-commands.d.ts +0 -21
  196. package/dist/src/cli/commands/smoke-commands.js +0 -203
  197. package/dist/src/cli/commands/sop-commands.d.ts +0 -3
  198. package/dist/src/cli/commands/sop-commands.js +0 -215
  199. package/dist/src/cli/commands/statusline-commands.d.ts +0 -3
  200. package/dist/src/cli/commands/statusline-commands.js +0 -169
  201. package/dist/src/cli/commands/sub-agent-commands.d.ts +0 -22
  202. package/dist/src/cli/commands/sub-agent-commands.js +0 -19
  203. package/dist/src/cli/commands/sub-agent-dispatch-guard.d.ts +0 -55
  204. package/dist/src/cli/commands/sub-agent-dispatch-guard.js +0 -57
  205. package/dist/src/cli/commands/sub-agent-shared.d.ts +0 -99
  206. package/dist/src/cli/commands/sub-agent-shared.js +0 -67
  207. package/dist/src/cli/commands/test-commands.d.ts +0 -47
  208. package/dist/src/cli/commands/test-commands.js +0 -204
  209. package/dist/src/cli/commands/understand-commands.d.ts +0 -3
  210. package/dist/src/cli/commands/understand-commands.js +0 -148
  211. package/dist/src/cli/commands/upgrade-commands.d.ts +0 -23
  212. package/dist/src/cli/commands/upgrade-commands.js +0 -119
  213. package/dist/src/cli/commands/user-touchpoint-commands.d.ts +0 -18
  214. package/dist/src/cli/commands/user-touchpoint-commands.js +0 -78
  215. package/dist/src/cli/commands/verdict-aggregate-command.d.ts +0 -14
  216. package/dist/src/cli/commands/verdict-aggregate-command.js +0 -106
  217. package/dist/src/cli/commands/worker-commands.d.ts +0 -3
  218. package/dist/src/cli/commands/worker-commands.js +0 -52
  219. package/dist/src/cli/commands/workflow-commands.d.ts +0 -3
  220. package/dist/src/cli/commands/workflow-commands.js +0 -535
  221. package/dist/src/cli/commands/workflow-plan-commands.d.ts +0 -39
  222. package/dist/src/cli/commands/workflow-plan-commands.js +0 -163
  223. package/dist/src/cli/commands/workspace/clean-command.d.ts +0 -14
  224. package/dist/src/cli/commands/workspace/clean-command.js +0 -49
  225. package/dist/src/cli/commands/workspace/helpers.d.ts +0 -28
  226. package/dist/src/cli/commands/workspace/helpers.js +0 -87
  227. package/dist/src/cli/commands/workspace/init-command.d.ts +0 -121
  228. package/dist/src/cli/commands/workspace/init-command.js +0 -436
  229. package/dist/src/cli/commands/workspace/migrate-command.d.ts +0 -11
  230. package/dist/src/cli/commands/workspace/migrate-command.js +0 -91
  231. package/dist/src/cli/commands/workspace/reconcile-command.d.ts +0 -14
  232. package/dist/src/cli/commands/workspace/reconcile-command.js +0 -103
  233. package/dist/src/cli/commands/workspace-commands.d.ts +0 -18
  234. package/dist/src/cli/commands/workspace-commands.js +0 -50
  235. package/dist/src/cli/index.d.ts +0 -1
  236. package/dist/src/cli/index.js +0 -30
  237. package/dist/src/cli/program.d.ts +0 -5
  238. package/dist/src/cli/program.js +0 -408
  239. package/dist/src/hooks/pre-tool-use-sub-agent.d.ts +0 -28
  240. package/dist/src/hooks/pre-tool-use-sub-agent.js +0 -105
  241. package/dist/src/lib/render/message-renderer.d.ts +0 -20
  242. package/dist/src/lib/render/message-renderer.js +0 -80
  243. package/dist/src/services/adapter/adapter-registry.d.ts +0 -48
  244. package/dist/src/services/adapter/adapter-registry.js +0 -186
  245. package/dist/src/services/adapter/adapter.d.ts +0 -27
  246. package/dist/src/services/adapter/adapter.js +0 -5
  247. package/dist/src/services/adapter/auto-adapter.d.ts +0 -11
  248. package/dist/src/services/adapter/auto-adapter.js +0 -15
  249. package/dist/src/services/adapter/claude-adapter.d.ts +0 -14
  250. package/dist/src/services/adapter/claude-adapter.js +0 -40
  251. package/dist/src/services/adapter/codex-adapter.d.ts +0 -14
  252. package/dist/src/services/adapter/codex-adapter.js +0 -14
  253. package/dist/src/services/adapter/copilot-adapter.d.ts +0 -14
  254. package/dist/src/services/adapter/copilot-adapter.js +0 -14
  255. package/dist/src/services/agent/ecc-agent-service.d.ts +0 -47
  256. package/dist/src/services/agent/ecc-agent-service.js +0 -143
  257. package/dist/src/services/artifacts/artifact-lint-service.d.ts +0 -23
  258. package/dist/src/services/artifacts/artifact-lint-service.js +0 -99
  259. package/dist/src/services/artifacts/artifact-prerequisites.d.ts +0 -78
  260. package/dist/src/services/artifacts/artifact-prerequisites.js +0 -491
  261. package/dist/src/services/artifacts/artifact-service.d.ts +0 -43
  262. package/dist/src/services/artifacts/artifact-service.js +0 -98
  263. package/dist/src/services/artifacts/artifact-templates.d.ts +0 -30
  264. package/dist/src/services/artifacts/artifact-templates.js +0 -302
  265. package/dist/src/services/artifacts/repair-cycle-service.d.ts +0 -23
  266. package/dist/src/services/artifacts/repair-cycle-service.js +0 -52
  267. package/dist/src/services/artifacts/request-artifact-service.d.ts +0 -116
  268. package/dist/src/services/artifacts/request-artifact-service.js +0 -451
  269. package/dist/src/services/artifacts/request-artifact-state-helpers.d.ts +0 -51
  270. package/dist/src/services/artifacts/request-artifact-state-helpers.js +0 -114
  271. package/dist/src/services/artifacts/workspace-service.d.ts +0 -34
  272. package/dist/src/services/artifacts/workspace-service.js +0 -272
  273. package/dist/src/services/audit/artifact-writer.d.ts +0 -93
  274. package/dist/src/services/audit/artifact-writer.js +0 -303
  275. package/dist/src/services/audit/audit-goal-service.d.ts +0 -35
  276. package/dist/src/services/audit/audit-goal-service.js +0 -75
  277. package/dist/src/services/audit/audit-goal-types.d.ts +0 -40
  278. package/dist/src/services/audit/audit-goal-types.js +0 -15
  279. package/dist/src/services/audit/backing-detector.d.ts +0 -24
  280. package/dist/src/services/audit/backing-detector.js +0 -59
  281. package/dist/src/services/audit/classifier.d.ts +0 -38
  282. package/dist/src/services/audit/classifier.js +0 -134
  283. package/dist/src/services/audit/decision-writer.d.ts +0 -76
  284. package/dist/src/services/audit/decision-writer.js +0 -217
  285. package/dist/src/services/audit/enforcers/active-skill-resolver.d.ts +0 -29
  286. package/dist/src/services/audit/enforcers/active-skill-resolver.js +0 -71
  287. package/dist/src/services/audit/enforcers/code-ban.d.ts +0 -23
  288. package/dist/src/services/audit/enforcers/code-ban.js +0 -27
  289. package/dist/src/services/audit/enforcers/design-draft-confirm.d.ts +0 -24
  290. package/dist/src/services/audit/enforcers/design-draft-confirm.js +0 -58
  291. package/dist/src/services/audit/enforcers/lint-audit-regression.d.ts +0 -21
  292. package/dist/src/services/audit/enforcers/lint-audit-regression.js +0 -86
  293. package/dist/src/services/audit/enforcers/lint-catalog-governance.d.ts +0 -32
  294. package/dist/src/services/audit/enforcers/lint-catalog-governance.js +0 -48
  295. package/dist/src/services/audit/enforcers/lint-cli-back.d.ts +0 -16
  296. package/dist/src/services/audit/enforcers/lint-cli-back.js +0 -35
  297. package/dist/src/services/audit/enforcers/lint-output-style.d.ts +0 -11
  298. package/dist/src/services/audit/enforcers/lint-output-style.js +0 -94
  299. package/dist/src/services/audit/enforcers/lint-reference-integrity.d.ts +0 -6
  300. package/dist/src/services/audit/enforcers/lint-reference-integrity.js +0 -83
  301. package/dist/src/services/audit/enforcers/lint-reference-shape.d.ts +0 -30
  302. package/dist/src/services/audit/enforcers/lint-reference-shape.js +0 -272
  303. package/dist/src/services/audit/enforcers/lint-style.d.ts +0 -49
  304. package/dist/src/services/audit/enforcers/lint-style.js +0 -173
  305. package/dist/src/services/audit/enforcers/lint-workflow-shape.d.ts +0 -4
  306. package/dist/src/services/audit/enforcers/lint-workflow-shape.js +0 -100
  307. package/dist/src/services/audit/enforcers/login-gate.d.ts +0 -23
  308. package/dist/src/services/audit/enforcers/login-gate.js +0 -40
  309. package/dist/src/services/audit/enforcers/mock-placement.d.ts +0 -25
  310. package/dist/src/services/audit/enforcers/mock-placement.js +0 -48
  311. package/dist/src/services/audit/enforcers/no-root-pollution.d.ts +0 -21
  312. package/dist/src/services/audit/enforcers/no-root-pollution.js +0 -56
  313. package/dist/src/services/audit/enforcers/pre-rd-scan.d.ts +0 -22
  314. package/dist/src/services/audit/enforcers/pre-rd-scan.js +0 -23
  315. package/dist/src/services/audit/enforcers/prototype-fidelity.d.ts +0 -25
  316. package/dist/src/services/audit/enforcers/prototype-fidelity.js +0 -75
  317. package/dist/src/services/audit/enforcers/resume-detection.d.ts +0 -21
  318. package/dist/src/services/audit/enforcers/resume-detection.js +0 -52
  319. package/dist/src/services/audit/enforcers/sub-agent-sid.d.ts +0 -25
  320. package/dist/src/services/audit/enforcers/sub-agent-sid.js +0 -63
  321. package/dist/src/services/audit/prose-ratio-calculator.d.ts +0 -45
  322. package/dist/src/services/audit/prose-ratio-calculator.js +0 -52
  323. package/dist/src/services/audit/red-line-catalog-p2-a.d.ts +0 -21
  324. package/dist/src/services/audit/red-line-catalog-p2-a.js +0 -229
  325. package/dist/src/services/audit/red-line-catalog-p2-b.d.ts +0 -19
  326. package/dist/src/services/audit/red-line-catalog-p2-b.js +0 -225
  327. package/dist/src/services/audit/red-line-catalog.d.ts +0 -51
  328. package/dist/src/services/audit/red-line-catalog.js +0 -195
  329. package/dist/src/services/audit/red-lines-service.d.ts +0 -23
  330. package/dist/src/services/audit/red-lines-service.js +0 -464
  331. package/dist/src/services/audit/scanners/openspec-scanner.d.ts +0 -15
  332. package/dist/src/services/audit/scanners/openspec-scanner.js +0 -55
  333. package/dist/src/services/audit/scanners/rules-tree-scanner.d.ts +0 -16
  334. package/dist/src/services/audit/scanners/rules-tree-scanner.js +0 -56
  335. package/dist/src/services/audit/scanners/skills-tree-scanner.d.ts +0 -17
  336. package/dist/src/services/audit/scanners/skills-tree-scanner.js +0 -68
  337. package/dist/src/services/audit/static-service.d.ts +0 -60
  338. package/dist/src/services/audit/static-service.js +0 -130
  339. package/dist/src/services/audit/types.d.ts +0 -86
  340. package/dist/src/services/audit/types.js +0 -13
  341. package/dist/src/services/audit-independent/perf-audit-service.d.ts +0 -151
  342. package/dist/src/services/audit-independent/perf-audit-service.js +0 -316
  343. package/dist/src/services/audit-independent/security-audit-service.d.ts +0 -155
  344. package/dist/src/services/audit-independent/security-audit-service.js +0 -316
  345. package/dist/src/services/classify/classify-service.d.ts +0 -42
  346. package/dist/src/services/classify/classify-service.js +0 -122
  347. package/dist/src/services/classify/classify-types.d.ts +0 -79
  348. package/dist/src/services/classify/classify-types.js +0 -90
  349. package/dist/src/services/code/auto-compact-orchestrator.d.ts +0 -98
  350. package/dist/src/services/code/auto-compact-orchestrator.js +0 -343
  351. package/dist/src/services/code/batch-heartbeat-poller.d.ts +0 -51
  352. package/dist/src/services/code/batch-heartbeat-poller.js +0 -88
  353. package/dist/src/services/code/dag-orchestrator.d.ts +0 -128
  354. package/dist/src/services/code/dag-orchestrator.js +0 -304
  355. package/dist/src/services/code/emit-handoff.d.ts +0 -49
  356. package/dist/src/services/code/emit-handoff.js +0 -79
  357. package/dist/src/services/code/job-shape-decision.d.ts +0 -71
  358. package/dist/src/services/code/job-shape-decision.js +0 -151
  359. package/dist/src/services/code/mode-gate.d.ts +0 -163
  360. package/dist/src/services/code/mode-gate.js +0 -212
  361. package/dist/src/services/code/post-compact-detector.d.ts +0 -61
  362. package/dist/src/services/code/post-compact-detector.js +0 -240
  363. package/dist/src/services/code/status-line-renderer.d.ts +0 -34
  364. package/dist/src/services/code/status-line-renderer.js +0 -55
  365. package/dist/src/services/code/step-08-gate.d.ts +0 -90
  366. package/dist/src/services/code/step-08-gate.js +0 -136
  367. package/dist/src/services/code/user-touchpoint-classifier.d.ts +0 -44
  368. package/dist/src/services/code/user-touchpoint-classifier.js +0 -145
  369. package/dist/src/services/code-review/ecc-bridge.d.ts +0 -148
  370. package/dist/src/services/code-review/ecc-bridge.js +0 -242
  371. package/dist/src/services/code-review/ocr-service.d.ts +0 -129
  372. package/dist/src/services/code-review/ocr-service.js +0 -369
  373. package/dist/src/services/codegraph/codegraph-process-runner.d.ts +0 -2
  374. package/dist/src/services/codegraph/codegraph-process-runner.js +0 -93
  375. package/dist/src/services/codegraph/codegraph-service.d.ts +0 -43
  376. package/dist/src/services/codegraph/codegraph-service.js +0 -160
  377. package/dist/src/services/compact/decision-tables.d.ts +0 -66
  378. package/dist/src/services/compact/decision-tables.js +0 -127
  379. package/dist/src/services/compact/request-transition-hook.d.ts +0 -20
  380. package/dist/src/services/compact/request-transition-hook.js +0 -110
  381. package/dist/src/services/compact/suggest-service.d.ts +0 -74
  382. package/dist/src/services/compact/suggest-service.js +0 -203
  383. package/dist/src/services/complexity/complexity-estimator.d.ts +0 -34
  384. package/dist/src/services/complexity/complexity-estimator.js +0 -64
  385. package/dist/src/services/config/config-migration.d.ts +0 -45
  386. package/dist/src/services/config/config-migration.js +0 -154
  387. package/dist/src/services/config/config-restore.d.ts +0 -10
  388. package/dist/src/services/config/config-restore.js +0 -47
  389. package/dist/src/services/config/config-rollback.d.ts +0 -13
  390. package/dist/src/services/config/config-rollback.js +0 -26
  391. package/dist/src/services/config/config-safety.d.ts +0 -40
  392. package/dist/src/services/config/config-safety.js +0 -359
  393. package/dist/src/services/config/config-service.d.ts +0 -69
  394. package/dist/src/services/config/config-service.js +0 -814
  395. package/dist/src/services/config/config-types.d.ts +0 -119
  396. package/dist/src/services/config/config-types.js +0 -18
  397. package/dist/src/services/config/model-routing.d.ts +0 -57
  398. package/dist/src/services/config/model-routing.js +0 -93
  399. package/dist/src/services/config/provider-service.d.ts +0 -48
  400. package/dist/src/services/config/provider-service.js +0 -143
  401. package/dist/src/services/config/proxy-service.d.ts +0 -21
  402. package/dist/src/services/config/proxy-service.js +0 -44
  403. package/dist/src/services/config/sidecar-store.d.ts +0 -25
  404. package/dist/src/services/config/sidecar-store.js +0 -61
  405. package/dist/src/services/config/workspace-state-service.d.ts +0 -30
  406. package/dist/src/services/config/workspace-state-service.js +0 -142
  407. package/dist/src/services/context/artifact-meta.d.ts +0 -72
  408. package/dist/src/services/context/artifact-meta.js +0 -105
  409. package/dist/src/services/context/auto-compact-dispatcher.d.ts +0 -37
  410. package/dist/src/services/context/auto-compact-dispatcher.js +0 -240
  411. package/dist/src/services/context/auto-compact-reader.d.ts +0 -51
  412. package/dist/src/services/context/auto-compact-reader.js +0 -164
  413. package/dist/src/services/context/auto-compact-types.d.ts +0 -143
  414. package/dist/src/services/context/auto-compact-types.js +0 -36
  415. package/dist/src/services/context/collector.d.ts +0 -24
  416. package/dist/src/services/context/collector.js +0 -133
  417. package/dist/src/services/context/context-builder.d.ts +0 -30
  418. package/dist/src/services/context/context-builder.js +0 -78
  419. package/dist/src/services/context/context-guard.d.ts +0 -49
  420. package/dist/src/services/context/context-guard.js +0 -91
  421. package/dist/src/services/context/context-schema.d.ts +0 -415
  422. package/dist/src/services/context/context-schema.js +0 -73
  423. package/dist/src/services/context/dispatch-context-guard.d.ts +0 -27
  424. package/dist/src/services/context/dispatch-context-guard.js +0 -192
  425. package/dist/src/services/context/doc-retriever.d.ts +0 -26
  426. package/dist/src/services/context/doc-retriever.js +0 -51
  427. package/dist/src/services/context/headroom-client.d.ts +0 -34
  428. package/dist/src/services/context/headroom-client.js +0 -117
  429. package/dist/src/services/context/headroom-fetcher.d.ts +0 -6
  430. package/dist/src/services/context/headroom-fetcher.js +0 -28
  431. package/dist/src/services/context/headroom-prefs.d.ts +0 -46
  432. package/dist/src/services/context/headroom-prefs.js +0 -34
  433. package/dist/src/services/context/index.d.ts +0 -7
  434. package/dist/src/services/context/index.js +0 -6
  435. package/dist/src/services/context/main-session-monitor.d.ts +0 -89
  436. package/dist/src/services/context/main-session-monitor.js +0 -142
  437. package/dist/src/services/context/renderer.d.ts +0 -20
  438. package/dist/src/services/context/renderer.js +0 -30
  439. package/dist/src/services/context/shared-channel.d.ts +0 -93
  440. package/dist/src/services/context/shared-channel.js +0 -308
  441. package/dist/src/services/context/threshold.d.ts +0 -35
  442. package/dist/src/services/context/threshold.js +0 -76
  443. package/dist/src/services/context/tokenizer.d.ts +0 -12
  444. package/dist/src/services/context/tokenizer.js +0 -43
  445. package/dist/src/services/context/types.d.ts +0 -93
  446. package/dist/src/services/context/types.js +0 -9
  447. package/dist/src/services/crystallization/crystallization-service.d.ts +0 -239
  448. package/dist/src/services/crystallization/crystallization-service.js +0 -397
  449. package/dist/src/services/crystallization/crystallization-store.d.ts +0 -75
  450. package/dist/src/services/crystallization/crystallization-store.js +0 -193
  451. package/dist/src/services/crystallization/crystallization-types.d.ts +0 -313
  452. package/dist/src/services/crystallization/crystallization-types.js +0 -299
  453. package/dist/src/services/crystallization/evidence-brief-builder.d.ts +0 -237
  454. package/dist/src/services/crystallization/evidence-brief-builder.js +0 -240
  455. package/dist/src/services/dashboard/project-dashboard-service.d.ts +0 -91
  456. package/dist/src/services/dashboard/project-dashboard-service.js +0 -147
  457. package/dist/src/services/dispatch/batch-counter.d.ts +0 -27
  458. package/dist/src/services/dispatch/batch-counter.js +0 -102
  459. package/dist/src/services/dispatch/contract-store.d.ts +0 -63
  460. package/dist/src/services/dispatch/contract-store.js +0 -157
  461. package/dist/src/services/dispatch/dispatch-record-writer.d.ts +0 -138
  462. package/dist/src/services/dispatch/dispatch-record-writer.js +0 -460
  463. package/dist/src/services/dispatch/heartbeat-truncator.d.ts +0 -26
  464. package/dist/src/services/dispatch/heartbeat-truncator.js +0 -13
  465. package/dist/src/services/dispatch/leak-detector.d.ts +0 -11
  466. package/dist/src/services/dispatch/leak-detector.js +0 -72
  467. package/dist/src/services/dispatch/slice-dag.d.ts +0 -81
  468. package/dist/src/services/dispatch/slice-dag.js +0 -238
  469. package/dist/src/services/dispatch/sub-agent-dispatcher.d.ts +0 -239
  470. package/dist/src/services/dispatch/sub-agent-dispatcher.js +0 -382
  471. package/dist/src/services/dispatch/test-tool-detection.d.ts +0 -36
  472. package/dist/src/services/dispatch/test-tool-detection.js +0 -46
  473. package/dist/src/services/doc/doc-generator.d.ts +0 -38
  474. package/dist/src/services/doc/doc-generator.js +0 -122
  475. package/dist/src/services/doctor/doctor-service.d.ts +0 -149
  476. package/dist/src/services/doctor/doctor-service.js +0 -929
  477. package/dist/src/services/evolution/evolution-service.d.ts +0 -137
  478. package/dist/src/services/evolution/evolution-service.js +0 -281
  479. package/dist/src/services/evolution/evolution-store.d.ts +0 -57
  480. package/dist/src/services/evolution/evolution-store.js +0 -232
  481. package/dist/src/services/evolution/evolution-types.d.ts +0 -706
  482. package/dist/src/services/evolution/evolution-types.js +0 -286
  483. package/dist/src/services/evolution/independent-evaluator-runner.d.ts +0 -90
  484. package/dist/src/services/evolution/independent-evaluator-runner.js +0 -106
  485. package/dist/src/services/evolution/regression-skeptic-runner.d.ts +0 -64
  486. package/dist/src/services/evolution/regression-skeptic-runner.js +0 -113
  487. package/dist/src/services/feedback/feedback-promotion-service.d.ts +0 -123
  488. package/dist/src/services/feedback/feedback-promotion-service.js +0 -300
  489. package/dist/src/services/filesystem/file-lock.d.ts +0 -11
  490. package/dist/src/services/filesystem/file-lock.js +0 -129
  491. package/dist/src/services/final-review/final-review-service.d.ts +0 -12
  492. package/dist/src/services/final-review/final-review-service.js +0 -52
  493. package/dist/src/services/final-review/final-review-types.d.ts +0 -42
  494. package/dist/src/services/final-review/final-review-types.js +0 -18
  495. package/dist/src/services/fixture/fixture-capture-service.d.ts +0 -87
  496. package/dist/src/services/fixture/fixture-capture-service.js +0 -317
  497. package/dist/src/services/fixture/fixture-sanitize-service.d.ts +0 -117
  498. package/dist/src/services/fixture/fixture-sanitize-service.js +0 -161
  499. package/dist/src/services/fixture/index.d.ts +0 -8
  500. package/dist/src/services/fixture/index.js +0 -8
  501. package/dist/src/services/fork/fork-sync-state.d.ts +0 -85
  502. package/dist/src/services/fork/fork-sync-state.js +0 -130
  503. package/dist/src/services/fuzzy-matching/fuzzy-match-service.d.ts +0 -15
  504. package/dist/src/services/fuzzy-matching/fuzzy-match-service.js +0 -56
  505. package/dist/src/services/fuzzy-matching/fzf-pick-service.d.ts +0 -68
  506. package/dist/src/services/fuzzy-matching/fzf-pick-service.js +0 -158
  507. package/dist/src/services/fuzzy-matching/types.d.ts +0 -20
  508. package/dist/src/services/fuzzy-matching/types.js +0 -1
  509. package/dist/src/services/handoff/handoff-parser.d.ts +0 -28
  510. package/dist/src/services/handoff/handoff-parser.js +0 -69
  511. package/dist/src/services/handoff/handoff-types.d.ts +0 -39
  512. package/dist/src/services/handoff/handoff-types.js +0 -19
  513. package/dist/src/services/handoff/handoff-writer.d.ts +0 -23
  514. package/dist/src/services/handoff/handoff-writer.js +0 -30
  515. package/dist/src/services/hooks/auto-compact-hook-install.d.ts +0 -104
  516. package/dist/src/services/hooks/auto-compact-hook-install.js +0 -157
  517. package/dist/src/services/hooks/output.d.ts +0 -92
  518. package/dist/src/services/hooks/output.js +0 -111
  519. package/dist/src/services/hooks/presence-marker-detector.d.ts +0 -16
  520. package/dist/src/services/hooks/presence-marker-detector.js +0 -105
  521. package/dist/src/services/ide/adapters/claude-code-adapter.d.ts +0 -18
  522. package/dist/src/services/ide/adapters/claude-code-adapter.js +0 -103
  523. package/dist/src/services/ide/adapters/codex-adapter.d.ts +0 -46
  524. package/dist/src/services/ide/adapters/codex-adapter.js +0 -97
  525. package/dist/src/services/ide/adapters/cursor-adapter.d.ts +0 -36
  526. package/dist/src/services/ide/adapters/cursor-adapter.js +0 -84
  527. package/dist/src/services/ide/adapters/hermes-adapter.d.ts +0 -21
  528. package/dist/src/services/ide/adapters/hermes-adapter.js +0 -51
  529. package/dist/src/services/ide/adapters/openclaw-adapter.d.ts +0 -14
  530. package/dist/src/services/ide/adapters/openclaw-adapter.js +0 -42
  531. package/dist/src/services/ide/adapters/trae-adapter.d.ts +0 -42
  532. package/dist/src/services/ide/adapters/trae-adapter.js +0 -83
  533. package/dist/src/services/ide/adapters/zcode-adapter.d.ts +0 -40
  534. package/dist/src/services/ide/adapters/zcode-adapter.js +0 -220
  535. package/dist/src/services/ide/current-model-detector.d.ts +0 -14
  536. package/dist/src/services/ide/current-model-detector.js +0 -60
  537. package/dist/src/services/ide/hook-protocol.d.ts +0 -47
  538. package/dist/src/services/ide/hook-protocol.js +0 -74
  539. package/dist/src/services/ide/hook-translator.d.ts +0 -72
  540. package/dist/src/services/ide/hook-translator.js +0 -128
  541. package/dist/src/services/ide/ide-detector.d.ts +0 -10
  542. package/dist/src/services/ide/ide-detector.js +0 -19
  543. package/dist/src/services/ide/ide-registry.d.ts +0 -14
  544. package/dist/src/services/ide/ide-registry.js +0 -63
  545. package/dist/src/services/ide/ide-types.d.ts +0 -253
  546. package/dist/src/services/ide/ide-types.js +0 -2
  547. package/dist/src/services/ide/resource-profile.d.ts +0 -52
  548. package/dist/src/services/ide/resource-profile.js +0 -33
  549. package/dist/src/services/ide/shared/atomic-json.d.ts +0 -15
  550. package/dist/src/services/ide/shared/atomic-json.js +0 -58
  551. package/dist/src/services/ide/shared/safe-path.d.ts +0 -11
  552. package/dist/src/services/ide/shared/safe-path.js +0 -29
  553. package/dist/src/services/impact/impact-scan-service.d.ts +0 -66
  554. package/dist/src/services/impact/impact-scan-service.js +0 -197
  555. package/dist/src/services/job/job-event-emitter.d.ts +0 -30
  556. package/dist/src/services/job/job-event-emitter.js +0 -5
  557. package/dist/src/services/job/job-orchestrator.d.ts +0 -50
  558. package/dist/src/services/job/job-orchestrator.js +0 -104
  559. package/dist/src/services/job/job-progress-store.d.ts +0 -60
  560. package/dist/src/services/job/job-progress-store.js +0 -70
  561. package/dist/src/services/job/job-resource-snapshot.d.ts +0 -7
  562. package/dist/src/services/job/job-resource-snapshot.js +0 -75
  563. package/dist/src/services/job/job-rotation.d.ts +0 -17
  564. package/dist/src/services/job/job-rotation.js +0 -30
  565. package/dist/src/services/job/job-state-store.d.ts +0 -24
  566. package/dist/src/services/job/job-state-store.js +0 -60
  567. package/dist/src/services/job/job-types.d.ts +0 -444
  568. package/dist/src/services/job/job-types.js +0 -87
  569. package/dist/src/services/job/subagent-job-wrapper.d.ts +0 -35
  570. package/dist/src/services/job/subagent-job-wrapper.js +0 -30
  571. package/dist/src/services/legacy/legacy-detector.d.ts +0 -34
  572. package/dist/src/services/legacy/legacy-detector.js +0 -111
  573. package/dist/src/services/log/log-commands-service.d.ts +0 -54
  574. package/dist/src/services/log/log-commands-service.js +0 -83
  575. package/dist/src/services/log/logger.d.ts +0 -103
  576. package/dist/src/services/log/logger.js +0 -224
  577. package/dist/src/services/log/redact.d.ts +0 -32
  578. package/dist/src/services/log/redact.js +0 -89
  579. package/dist/src/services/log/retention.d.ts +0 -34
  580. package/dist/src/services/log/retention.js +0 -78
  581. package/dist/src/services/loop/evaluator-dispatcher.d.ts +0 -50
  582. package/dist/src/services/loop/evaluator-dispatcher.js +0 -552
  583. package/dist/src/services/loop/loop-bee-relation-service.d.ts +0 -107
  584. package/dist/src/services/loop/loop-bee-relation-service.js +0 -211
  585. package/dist/src/services/loop/loop-bee-relation-store.d.ts +0 -53
  586. package/dist/src/services/loop/loop-bee-relation-store.js +0 -130
  587. package/dist/src/services/loop/loop-bee-relation-types.d.ts +0 -118
  588. package/dist/src/services/loop/loop-bee-relation-types.js +0 -114
  589. package/dist/src/services/loop/loop-release-service.d.ts +0 -46
  590. package/dist/src/services/loop/loop-release-service.js +0 -66
  591. package/dist/src/services/loop/loop-release-store.d.ts +0 -55
  592. package/dist/src/services/loop/loop-release-store.js +0 -134
  593. package/dist/src/services/loop/loop-release-types.d.ts +0 -250
  594. package/dist/src/services/loop/loop-release-types.js +0 -162
  595. package/dist/src/services/loop/monotonic-guard.d.ts +0 -80
  596. package/dist/src/services/loop/monotonic-guard.js +0 -232
  597. package/dist/src/services/loop/monotonic-runner.d.ts +0 -58
  598. package/dist/src/services/loop/monotonic-runner.js +0 -231
  599. package/dist/src/services/loop/run-driver.d.ts +0 -70
  600. package/dist/src/services/loop/run-driver.js +0 -400
  601. package/dist/src/services/loop/spec-service.d.ts +0 -90
  602. package/dist/src/services/loop/spec-service.js +0 -497
  603. package/dist/src/services/memory/llm-reranker.d.ts +0 -174
  604. package/dist/src/services/memory/llm-reranker.js +0 -284
  605. package/dist/src/services/memory/memory-search-service.d.ts +0 -93
  606. package/dist/src/services/memory/memory-search-service.js +0 -117
  607. package/dist/src/services/memory/project-context-service.d.ts +0 -11
  608. package/dist/src/services/memory/project-context-service.js +0 -148
  609. package/dist/src/services/memory/project-memory-service.d.ts +0 -167
  610. package/dist/src/services/memory/project-memory-service.js +0 -817
  611. package/dist/src/services/migrate-skill-name/migrate.d.ts +0 -17
  612. package/dist/src/services/migrate-skill-name/migrate.js +0 -152
  613. package/dist/src/services/migrate-skill-name/schema.d.ts +0 -42
  614. package/dist/src/services/migrate-skill-name/schema.js +0 -25
  615. package/dist/src/services/migration/v2-10-to-v2-11-service.d.ts +0 -44
  616. package/dist/src/services/migration/v2-10-to-v2-11-service.js +0 -190
  617. package/dist/src/services/migration/v2-10-to-v2-11-types.d.ts +0 -41
  618. package/dist/src/services/migration/v2-10-to-v2-11-types.js +0 -23
  619. package/dist/src/services/mode/bypass-tracker.d.ts +0 -4
  620. package/dist/src/services/mode/bypass-tracker.js +0 -31
  621. package/dist/src/services/mode/mode-enforcement.d.ts +0 -14
  622. package/dist/src/services/mode/mode-enforcement.js +0 -84
  623. package/dist/src/services/mut/assert-scanner.d.ts +0 -6
  624. package/dist/src/services/mut/assert-scanner.js +0 -116
  625. package/dist/src/services/mut/index.d.ts +0 -8
  626. package/dist/src/services/mut/index.js +0 -7
  627. package/dist/src/services/mut/mut-runner.d.ts +0 -39
  628. package/dist/src/services/mut/mut-runner.js +0 -29
  629. package/dist/src/services/mut/production-stryker.d.ts +0 -2
  630. package/dist/src/services/mut/production-stryker.js +0 -75
  631. package/dist/src/services/mut/report-builder.d.ts +0 -11
  632. package/dist/src/services/mut/report-builder.js +0 -110
  633. package/dist/src/services/mut/report-loader.d.ts +0 -31
  634. package/dist/src/services/mut/report-loader.js +0 -78
  635. package/dist/src/services/mut/thresholds.d.ts +0 -21
  636. package/dist/src/services/mut/thresholds.js +0 -22
  637. package/dist/src/services/mut/types.d.ts +0 -336
  638. package/dist/src/services/mut/types.js +0 -59
  639. package/dist/src/services/observability/aggregation.d.ts +0 -64
  640. package/dist/src/services/observability/aggregation.js +0 -217
  641. package/dist/src/services/observability/jsonl-store.d.ts +0 -59
  642. package/dist/src/services/observability/jsonl-store.js +0 -120
  643. package/dist/src/services/observability/observability-service.d.ts +0 -95
  644. package/dist/src/services/observability/observability-service.js +0 -119
  645. package/dist/src/services/observability/report-formatter.d.ts +0 -42
  646. package/dist/src/services/observability/report-formatter.js +0 -156
  647. package/dist/src/services/openspec/openspec-archive-service.d.ts +0 -12
  648. package/dist/src/services/openspec/openspec-archive-service.js +0 -28
  649. package/dist/src/services/openspec/openspec-bridge-service.d.ts +0 -16
  650. package/dist/src/services/openspec/openspec-bridge-service.js +0 -76
  651. package/dist/src/services/openspec/openspec-init-service.d.ts +0 -23
  652. package/dist/src/services/openspec/openspec-init-service.js +0 -122
  653. package/dist/src/services/openspec/openspec-propose-from-doctor-service.d.ts +0 -31
  654. package/dist/src/services/openspec/openspec-propose-from-doctor-service.js +0 -95
  655. package/dist/src/services/openspec/openspec-render-service.d.ts +0 -38
  656. package/dist/src/services/openspec/openspec-render-service.js +0 -130
  657. package/dist/src/services/openspec/openspec-scan-service.d.ts +0 -6
  658. package/dist/src/services/openspec/openspec-scan-service.js +0 -123
  659. package/dist/src/services/openspec/openspec-types.d.ts +0 -39
  660. package/dist/src/services/openspec/openspec-types.js +0 -1
  661. package/dist/src/services/openspec/openspec-validate-service.d.ts +0 -27
  662. package/dist/src/services/openspec/openspec-validate-service.js +0 -77
  663. package/dist/src/services/perf/perf-baseline-service.d.ts +0 -70
  664. package/dist/src/services/perf/perf-baseline-service.js +0 -214
  665. package/dist/src/services/polyrepo/polyrepo-dispatcher.d.ts +0 -34
  666. package/dist/src/services/polyrepo/polyrepo-dispatcher.js +0 -119
  667. package/dist/src/services/polyrepo/polyrepo-scanner.d.ts +0 -9
  668. package/dist/src/services/polyrepo/polyrepo-scanner.js +0 -94
  669. package/dist/src/services/polyrepo/polyrepo-service.d.ts +0 -34
  670. package/dist/src/services/polyrepo/polyrepo-service.js +0 -49
  671. package/dist/src/services/polyrepo/polyrepo-types.d.ts +0 -55
  672. package/dist/src/services/polyrepo/polyrepo-types.js +0 -1
  673. package/dist/src/services/prd/handoff-auto-regen.d.ts +0 -22
  674. package/dist/src/services/prd/handoff-auto-regen.js +0 -73
  675. package/dist/src/services/prd/handoff-service.d.ts +0 -54
  676. package/dist/src/services/prd/handoff-service.js +0 -142
  677. package/dist/src/services/prd/handoff-types.d.ts +0 -64
  678. package/dist/src/services/prd/handoff-types.js +0 -22
  679. package/dist/src/services/prd/prd-blocks-checker.d.ts +0 -51
  680. package/dist/src/services/prd/prd-blocks-checker.js +0 -130
  681. package/dist/src/services/prd/project-scan-reader.d.ts +0 -24
  682. package/dist/src/services/prd/project-scan-reader.js +0 -150
  683. package/dist/src/services/prd/project-scan-sediment.d.ts +0 -97
  684. package/dist/src/services/prd/project-scan-sediment.js +0 -445
  685. package/dist/src/services/prd/project-scan-types.d.ts +0 -66
  686. package/dist/src/services/prd/project-scan-types.js +0 -20
  687. package/dist/src/services/preferences/preferences-service.d.ts +0 -38
  688. package/dist/src/services/preferences/preferences-service.js +0 -198
  689. package/dist/src/services/preferences/preferences-types.d.ts +0 -148
  690. package/dist/src/services/preferences/preferences-types.js +0 -53
  691. package/dist/src/services/profiles/profile-service.d.ts +0 -6
  692. package/dist/src/services/profiles/profile-service.js +0 -19
  693. package/dist/src/services/progress/progress-service.d.ts +0 -125
  694. package/dist/src/services/progress/progress-service.js +0 -192
  695. package/dist/src/services/providers/minimax-provider-service.d.ts +0 -24
  696. package/dist/src/services/providers/minimax-provider-service.js +0 -143
  697. package/dist/src/services/providers/minimax-worker-service.d.ts +0 -21
  698. package/dist/src/services/providers/minimax-worker-service.js +0 -83
  699. package/dist/src/services/proxy/proxy-service.d.ts +0 -7
  700. package/dist/src/services/proxy/proxy-service.js +0 -31
  701. package/dist/src/services/qa/browser-event-logger.d.ts +0 -40
  702. package/dist/src/services/qa/browser-event-logger.js +0 -54
  703. package/dist/src/services/qa/browser-restart-detector.d.ts +0 -74
  704. package/dist/src/services/qa/browser-restart-detector.js +0 -138
  705. package/dist/src/services/qa/browser-reuse-hint.d.ts +0 -18
  706. package/dist/src/services/qa/browser-reuse-hint.js +0 -18
  707. package/dist/src/services/qa/browser-wrapper-service.d.ts +0 -37
  708. package/dist/src/services/qa/browser-wrapper-service.js +0 -88
  709. package/dist/src/services/qa/qa-business-review-state.d.ts +0 -47
  710. package/dist/src/services/qa/qa-business-review-state.js +0 -96
  711. package/dist/src/services/rd/ast-gate.d.ts +0 -19
  712. package/dist/src/services/rd/ast-gate.js +0 -71
  713. package/dist/src/services/rd/impl.d.ts +0 -9
  714. package/dist/src/services/rd/impl.js +0 -57
  715. package/dist/src/services/rd/rd-service.d.ts +0 -129
  716. package/dist/src/services/rd/rd-service.js +0 -441
  717. package/dist/src/services/rd/reviewer-dispatch-policy.d.ts +0 -122
  718. package/dist/src/services/rd/reviewer-dispatch-policy.js +0 -148
  719. package/dist/src/services/rd/standards-diagnostic.d.ts +0 -76
  720. package/dist/src/services/rd/standards-diagnostic.js +0 -166
  721. package/dist/src/services/rd/strategic-stage.d.ts +0 -4
  722. package/dist/src/services/rd/strategic-stage.js +0 -15
  723. package/dist/src/services/rd/strategy.d.ts +0 -13
  724. package/dist/src/services/rd/strategy.js +0 -60
  725. package/dist/src/services/rd/tactical-stage.d.ts +0 -33
  726. package/dist/src/services/rd/tactical-stage.js +0 -62
  727. package/dist/src/services/rd/types.d.ts +0 -252
  728. package/dist/src/services/rd/types.js +0 -47
  729. package/dist/src/services/recommendations/capability-availability.d.ts +0 -5
  730. package/dist/src/services/recommendations/capability-availability.js +0 -40
  731. package/dist/src/services/recommendations/capability-map-service.d.ts +0 -7
  732. package/dist/src/services/recommendations/capability-map-service.js +0 -131
  733. package/dist/src/services/recommendations/capability-seed-items.d.ts +0 -2
  734. package/dist/src/services/recommendations/capability-seed-items.js +0 -140
  735. package/dist/src/services/recommendations/capability-seed-mappings.d.ts +0 -2
  736. package/dist/src/services/recommendations/capability-seed-mappings.js +0 -54
  737. package/dist/src/services/recommendations/capability-seed-sources.d.ts +0 -2
  738. package/dist/src/services/recommendations/capability-seed-sources.js +0 -35
  739. package/dist/src/services/recommendations/recommendation-service.d.ts +0 -8
  740. package/dist/src/services/recommendations/recommendation-service.js +0 -106
  741. package/dist/src/services/recommendations/recommendation-types.d.ts +0 -129
  742. package/dist/src/services/recommendations/recommendation-types.js +0 -1
  743. package/dist/src/services/recommendations/seed-capability-catalog.d.ts +0 -3
  744. package/dist/src/services/recommendations/seed-capability-catalog.js +0 -3
  745. package/dist/src/services/refactor/refactor-service.d.ts +0 -9
  746. package/dist/src/services/refactor/refactor-service.js +0 -36
  747. package/dist/src/services/release/release-state.d.ts +0 -70
  748. package/dist/src/services/release/release-state.js +0 -140
  749. package/dist/src/services/retrospective/retrospective-index.d.ts +0 -37
  750. package/dist/src/services/retrospective/retrospective-index.js +0 -110
  751. package/dist/src/services/retrospective/retrospective-search-service.d.ts +0 -55
  752. package/dist/src/services/retrospective/retrospective-search-service.js +0 -107
  753. package/dist/src/services/retrospective/retrospective-show.d.ts +0 -40
  754. package/dist/src/services/retrospective/retrospective-show.js +0 -109
  755. package/dist/src/services/reviewer/model-family.d.ts +0 -18
  756. package/dist/src/services/reviewer/model-family.js +0 -70
  757. package/dist/src/services/reviewer/providers/anthropic.d.ts +0 -2
  758. package/dist/src/services/reviewer/providers/anthropic.js +0 -61
  759. package/dist/src/services/reviewer/providers/ollama.d.ts +0 -26
  760. package/dist/src/services/reviewer/providers/ollama.js +0 -38
  761. package/dist/src/services/reviewer/providers/openai.d.ts +0 -2
  762. package/dist/src/services/reviewer/providers/openai.js +0 -63
  763. package/dist/src/services/reviewer/reviewer-config.d.ts +0 -34
  764. package/dist/src/services/reviewer/reviewer-config.js +0 -100
  765. package/dist/src/services/reviewer/reviewer-service.d.ts +0 -56
  766. package/dist/src/services/reviewer/reviewer-service.js +0 -263
  767. package/dist/src/services/reviewer/selection-strategies.d.ts +0 -27
  768. package/dist/src/services/reviewer/selection-strategies.js +0 -53
  769. package/dist/src/services/role/role-registry.d.ts +0 -38
  770. package/dist/src/services/role/role-registry.js +0 -83
  771. package/dist/src/services/runtime/runtime-detector.d.ts +0 -15
  772. package/dist/src/services/runtime/runtime-detector.js +0 -62
  773. package/dist/src/services/runtime/runtime-service.d.ts +0 -59
  774. package/dist/src/services/runtime/runtime-service.js +0 -51
  775. package/dist/src/services/runtime/vendor-adapter.d.ts +0 -59
  776. package/dist/src/services/runtime/vendor-adapter.js +0 -1
  777. package/dist/src/services/runtime/vendors/claude-code.d.ts +0 -7
  778. package/dist/src/services/runtime/vendors/claude-code.js +0 -39
  779. package/dist/src/services/runtime/vendors/codex.d.ts +0 -7
  780. package/dist/src/services/runtime/vendors/codex.js +0 -43
  781. package/dist/src/services/runtime/vendors/copilot.d.ts +0 -7
  782. package/dist/src/services/runtime/vendors/copilot.js +0 -40
  783. package/dist/src/services/sc/index.d.ts +0 -1
  784. package/dist/src/services/sc/index.js +0 -1
  785. package/dist/src/services/sc/sc-service.d.ts +0 -131
  786. package/dist/src/services/sc/sc-service.js +0 -552
  787. package/dist/src/services/scan/acceptance-coverage-service.d.ts +0 -42
  788. package/dist/src/services/scan/acceptance-coverage-service.js +0 -140
  789. package/dist/src/services/scan/api-surface-service.d.ts +0 -69
  790. package/dist/src/services/scan/api-surface-service.js +0 -239
  791. package/dist/src/services/scan/archetype-service.d.ts +0 -5
  792. package/dist/src/services/scan/archetype-service.js +0 -242
  793. package/dist/src/services/scan/diff-scope-service.d.ts +0 -40
  794. package/dist/src/services/scan/diff-scope-service.js +0 -198
  795. package/dist/src/services/scan/existing-system-service.d.ts +0 -7
  796. package/dist/src/services/scan/existing-system-service.js +0 -300
  797. package/dist/src/services/scan/file-size-scan.d.ts +0 -23
  798. package/dist/src/services/scan/file-size-scan.js +0 -68
  799. package/dist/src/services/scan/karpathy-service.d.ts +0 -60
  800. package/dist/src/services/scan/karpathy-service.js +0 -228
  801. package/dist/src/services/scan/libraries-service.d.ts +0 -24
  802. package/dist/src/services/scan/libraries-service.js +0 -419
  803. package/dist/src/services/scan/libraries-types.d.ts +0 -59
  804. package/dist/src/services/scan/libraries-types.js +0 -9
  805. package/dist/src/services/scan/orphan-service.d.ts +0 -76
  806. package/dist/src/services/scan/orphan-service.js +0 -538
  807. package/dist/src/services/scan/scan-types.d.ts +0 -59
  808. package/dist/src/services/scan/scan-types.js +0 -1
  809. package/dist/src/services/scan/type-sanity-service.d.ts +0 -23
  810. package/dist/src/services/scan/type-sanity-service.js +0 -116
  811. package/dist/src/services/security/safe-settings-path.d.ts +0 -12
  812. package/dist/src/services/security/safe-settings-path.js +0 -104
  813. package/dist/src/services/sediment/dispose-confirm.d.ts +0 -9
  814. package/dist/src/services/sediment/dispose-confirm.js +0 -5
  815. package/dist/src/services/sediment/json-schema.d.ts +0 -247
  816. package/dist/src/services/sediment/json-schema.js +0 -26
  817. package/dist/src/services/sediment/manifest-lint.d.ts +0 -13
  818. package/dist/src/services/sediment/manifest-lint.js +0 -11
  819. package/dist/src/services/sediment/pool-paths.d.ts +0 -22
  820. package/dist/src/services/sediment/pool-paths.js +0 -25
  821. package/dist/src/services/sediment/pool-read.d.ts +0 -20
  822. package/dist/src/services/sediment/pool-read.js +0 -73
  823. package/dist/src/services/sediment/pool-rebuild-index.d.ts +0 -15
  824. package/dist/src/services/sediment/pool-rebuild-index.js +0 -28
  825. package/dist/src/services/sediment/pool-write.d.ts +0 -14
  826. package/dist/src/services/sediment/pool-write.js +0 -25
  827. package/dist/src/services/sediment/promotion-gate.d.ts +0 -12
  828. package/dist/src/services/sediment/promotion-gate.js +0 -20
  829. package/dist/src/services/sediment/types.d.ts +0 -52
  830. package/dist/src/services/sediment/types.js +0 -1
  831. package/dist/src/services/session/binding-status-service.d.ts +0 -56
  832. package/dist/src/services/session/binding-status-service.js +0 -106
  833. package/dist/src/services/session/binding-store.d.ts +0 -161
  834. package/dist/src/services/session/binding-store.js +0 -509
  835. package/dist/src/services/session/caller-binding-service.d.ts +0 -70
  836. package/dist/src/services/session/caller-binding-service.js +0 -148
  837. package/dist/src/services/session/caller-id-types.d.ts +0 -77
  838. package/dist/src/services/session/caller-id-types.js +0 -46
  839. package/dist/src/services/session/getSessionDir.d.ts +0 -1
  840. package/dist/src/services/session/getSessionDir.js +0 -27
  841. package/dist/src/services/session/index.d.ts +0 -6
  842. package/dist/src/services/session/index.js +0 -7
  843. package/dist/src/services/session/platform-fallbacks.d.ts +0 -31
  844. package/dist/src/services/session/platform-fallbacks.js +0 -35
  845. package/dist/src/services/session/resolve-caller-id.d.ts +0 -57
  846. package/dist/src/services/session/resolve-caller-id.js +0 -88
  847. package/dist/src/services/session/session-binding-bridge.d.ts +0 -76
  848. package/dist/src/services/session/session-binding-bridge.js +0 -247
  849. package/dist/src/services/session/session-checkpoint-service.d.ts +0 -57
  850. package/dist/src/services/session/session-checkpoint-service.js +0 -143
  851. package/dist/src/services/session/session-manager.d.ts +0 -168
  852. package/dist/src/services/session/session-manager.js +0 -502
  853. package/dist/src/services/session/session-resume-service.d.ts +0 -25
  854. package/dist/src/services/session/session-resume-service.js +0 -101
  855. package/dist/src/services/share/bundle-reader.d.ts +0 -100
  856. package/dist/src/services/share/bundle-reader.js +0 -434
  857. package/dist/src/services/share/bundle-types.d.ts +0 -392
  858. package/dist/src/services/share/bundle-types.js +0 -318
  859. package/dist/src/services/share/bundle-writer.d.ts +0 -97
  860. package/dist/src/services/share/bundle-writer.js +0 -429
  861. package/dist/src/services/share/run-state-contract.d.ts +0 -133
  862. package/dist/src/services/share/run-state-contract.js +0 -138
  863. package/dist/src/services/signal/cancel-handler.d.ts +0 -14
  864. package/dist/src/services/signal/cancel-handler.js +0 -76
  865. package/dist/src/services/skill/resume-detector.d.ts +0 -54
  866. package/dist/src/services/skill/resume-detector.js +0 -334
  867. package/dist/src/services/skill/skill-scheduler.d.ts +0 -40
  868. package/dist/src/services/skill/skill-scheduler.js +0 -53
  869. package/dist/src/services/skill/skill-search-service.d.ts +0 -88
  870. package/dist/src/services/skill/skill-search-service.js +0 -228
  871. package/dist/src/services/skillhub/release-diff.d.ts +0 -18
  872. package/dist/src/services/skillhub/release-diff.js +0 -38
  873. package/dist/src/services/skillhub/release-export.d.ts +0 -8
  874. package/dist/src/services/skillhub/release-export.js +0 -31
  875. package/dist/src/services/skillhub/release-gc-blobs.d.ts +0 -13
  876. package/dist/src/services/skillhub/release-gc-blobs.js +0 -32
  877. package/dist/src/services/skillhub/release-import.d.ts +0 -7
  878. package/dist/src/services/skillhub/release-import.js +0 -64
  879. package/dist/src/services/skillhub/release-retain.d.ts +0 -23
  880. package/dist/src/services/skillhub/release-retain.js +0 -94
  881. package/dist/src/services/skillhub/sqlite-store.d.ts +0 -22
  882. package/dist/src/services/skillhub/sqlite-store.js +0 -63
  883. package/dist/src/services/skillhub/tar-runtime.d.ts +0 -21
  884. package/dist/src/services/skillhub/tar-runtime.js +0 -91
  885. package/dist/src/services/skillhub/types.d.ts +0 -115
  886. package/dist/src/services/skillhub/types.js +0 -1
  887. package/dist/src/services/skills/hooks-settings-service.d.ts +0 -137
  888. package/dist/src/services/skills/hooks-settings-service.js +0 -396
  889. package/dist/src/services/skills/skill-conformance-service.d.ts +0 -40
  890. package/dist/src/services/skills/skill-conformance-service.js +0 -139
  891. package/dist/src/services/skills/skill-presence-service.d.ts +0 -158
  892. package/dist/src/services/skills/skill-presence-service.js +0 -474
  893. package/dist/src/services/skills/skill-registry.d.ts +0 -17
  894. package/dist/src/services/skills/skill-registry.js +0 -67
  895. package/dist/src/services/skills/skill-runbook-service.d.ts +0 -11
  896. package/dist/src/services/skills/skill-runbook-service.js +0 -128
  897. package/dist/src/services/skills/skill-statusline-renderer.d.ts +0 -6
  898. package/dist/src/services/skills/skill-statusline-renderer.js +0 -55
  899. package/dist/src/services/skills/skill-statusline-service.d.ts +0 -24
  900. package/dist/src/services/skills/skill-statusline-service.js +0 -110
  901. package/dist/src/services/skills/statusline-settings-service.d.ts +0 -59
  902. package/dist/src/services/skills/statusline-settings-service.js +0 -141
  903. package/dist/src/services/skills/sync-service.d.ts +0 -86
  904. package/dist/src/services/skills/sync-service.js +0 -271
  905. package/dist/src/services/slice/calibration-store.d.ts +0 -39
  906. package/dist/src/services/slice/calibration-store.js +0 -68
  907. package/dist/src/services/slice/cross-pass-edge-merger.d.ts +0 -53
  908. package/dist/src/services/slice/cross-pass-edge-merger.js +0 -246
  909. package/dist/src/services/slice/granularity-decider.d.ts +0 -37
  910. package/dist/src/services/slice/granularity-decider.js +0 -40
  911. package/dist/src/services/slice/llm-arbitrator.d.ts +0 -35
  912. package/dist/src/services/slice/llm-arbitrator.js +0 -63
  913. package/dist/src/services/slice/multi-pass-orchestrator.d.ts +0 -67
  914. package/dist/src/services/slice/multi-pass-orchestrator.js +0 -225
  915. package/dist/src/services/slice/schema-router.d.ts +0 -44
  916. package/dist/src/services/slice/schema-router.js +0 -61
  917. package/dist/src/services/slice/slice-archive-service.d.ts +0 -20
  918. package/dist/src/services/slice/slice-archive-service.js +0 -111
  919. package/dist/src/services/slice/slice-benchmark-service.d.ts +0 -19
  920. package/dist/src/services/slice/slice-benchmark-service.js +0 -60
  921. package/dist/src/services/slice/slice-check-service.d.ts +0 -2
  922. package/dist/src/services/slice/slice-check-service.js +0 -459
  923. package/dist/src/services/slice/slice-check-types.d.ts +0 -104
  924. package/dist/src/services/slice/slice-check-types.js +0 -28
  925. package/dist/src/services/slice/slice-decompose-runners.d.ts +0 -23
  926. package/dist/src/services/slice/slice-decompose-runners.js +0 -174
  927. package/dist/src/services/slice/slice-decompose-service.d.ts +0 -24
  928. package/dist/src/services/slice/slice-decompose-service.js +0 -532
  929. package/dist/src/services/slice/slice-decompose-types.d.ts +0 -263
  930. package/dist/src/services/slice/slice-decompose-types.js +0 -30
  931. package/dist/src/services/slice/slice-integration.d.ts +0 -43
  932. package/dist/src/services/slice/slice-integration.js +0 -106
  933. package/dist/src/services/slice/slice-pick-service.d.ts +0 -32
  934. package/dist/src/services/slice/slice-pick-service.js +0 -75
  935. package/dist/src/services/slice/slice-review-state.d.ts +0 -70
  936. package/dist/src/services/slice/slice-review-state.js +0 -109
  937. package/dist/src/services/slice/slice-topology-types.d.ts +0 -115
  938. package/dist/src/services/slice/slice-topology-types.js +0 -20
  939. package/dist/src/services/smoke/smoke-paths-state.d.ts +0 -73
  940. package/dist/src/services/smoke/smoke-paths-state.js +0 -117
  941. package/dist/src/services/sop/gate-enforce-service.d.ts +0 -33
  942. package/dist/src/services/sop/gate-enforce-service.js +0 -168
  943. package/dist/src/services/sop/sop-advance-service.d.ts +0 -74
  944. package/dist/src/services/sop/sop-advance-service.js +0 -115
  945. package/dist/src/services/sop/sop-check-service.d.ts +0 -45
  946. package/dist/src/services/sop/sop-check-service.js +0 -181
  947. package/dist/src/services/sop/sop-paths.d.ts +0 -62
  948. package/dist/src/services/sop/sop-paths.js +0 -92
  949. package/dist/src/services/sop/sop-registry-service.d.ts +0 -46
  950. package/dist/src/services/sop/sop-registry-service.js +0 -89
  951. package/dist/src/services/sop/sop-service.d.ts +0 -55
  952. package/dist/src/services/sop/sop-service.js +0 -222
  953. package/dist/src/services/sop/sop-types.d.ts +0 -95
  954. package/dist/src/services/sop/sop-types.js +0 -11
  955. package/dist/src/services/standards/ide-aware-standards-service.d.ts +0 -94
  956. package/dist/src/services/standards/ide-aware-standards-service.js +0 -89
  957. package/dist/src/services/standards/loop-engineering-lint.d.ts +0 -38
  958. package/dist/src/services/standards/loop-engineering-lint.js +0 -101
  959. package/dist/src/services/standards/loop-engineering-readiness-lint.d.ts +0 -111
  960. package/dist/src/services/standards/loop-engineering-readiness-lint.js +0 -248
  961. package/dist/src/services/standards/migrate-claude-rules-service.d.ts +0 -19
  962. package/dist/src/services/standards/migrate-claude-rules-service.js +0 -193
  963. package/dist/src/services/standards/migrate-service.d.ts +0 -63
  964. package/dist/src/services/standards/migrate-service.js +0 -193
  965. package/dist/src/services/standards/missing-standards-detector.d.ts +0 -79
  966. package/dist/src/services/standards/missing-standards-detector.js +0 -132
  967. package/dist/src/services/standards/project-context.d.ts +0 -24
  968. package/dist/src/services/standards/project-context.js +0 -314
  969. package/dist/src/services/standards/project-standards-service.d.ts +0 -114
  970. package/dist/src/services/standards/project-standards-service.js +0 -574
  971. package/dist/src/services/tech/tech-service.d.ts +0 -69
  972. package/dist/src/services/tech/tech-service.js +0 -299
  973. package/dist/src/services/test-cache/test-cache-service.d.ts +0 -70
  974. package/dist/src/services/test-cache/test-cache-service.js +0 -175
  975. package/dist/src/services/understand/hybrid-types.d.ts +0 -32
  976. package/dist/src/services/understand/hybrid-types.js +0 -1
  977. package/dist/src/services/understand/understand-hybrid-service.d.ts +0 -10
  978. package/dist/src/services/understand/understand-hybrid-service.js +0 -100
  979. package/dist/src/services/understand/understand-scan-service.d.ts +0 -28
  980. package/dist/src/services/understand/understand-scan-service.js +0 -170
  981. package/dist/src/services/understand/understand-types.d.ts +0 -50
  982. package/dist/src/services/understand/understand-types.js +0 -1
  983. package/dist/src/services/upgrade/1x-detector-service.d.ts +0 -7
  984. package/dist/src/services/upgrade/1x-detector-service.js +0 -94
  985. package/dist/src/services/upgrade/gitignore-migrate-service.d.ts +0 -56
  986. package/dist/src/services/upgrade/gitignore-migrate-service.js +0 -170
  987. package/dist/src/services/upgrade/upgrade-service.d.ts +0 -81
  988. package/dist/src/services/upgrade/upgrade-service.js +0 -403
  989. package/dist/src/services/verdict/envelopes.d.ts +0 -93
  990. package/dist/src/services/verdict/envelopes.js +0 -349
  991. package/dist/src/services/verdict/verdict-aggregator.d.ts +0 -94
  992. package/dist/src/services/verdict/verdict-aggregator.js +0 -112
  993. package/dist/src/services/workflow/artifact-paths.d.ts +0 -59
  994. package/dist/src/services/workflow/artifact-paths.js +0 -166
  995. package/dist/src/services/workflow/autonomous-resume-writer.d.ts +0 -16
  996. package/dist/src/services/workflow/autonomous-resume-writer.js +0 -170
  997. package/dist/src/services/workflow/pipeline-verify-service.d.ts +0 -90
  998. package/dist/src/services/workflow/pipeline-verify-service.js +0 -449
  999. package/dist/src/services/workflow/plan-reader.d.ts +0 -29
  1000. package/dist/src/services/workflow/plan-reader.js +0 -174
  1001. package/dist/src/services/workflow/plan-refresher.d.ts +0 -32
  1002. package/dist/src/services/workflow/plan-refresher.js +0 -353
  1003. package/dist/src/services/workflow/plan-trigger-detector.d.ts +0 -55
  1004. package/dist/src/services/workflow/plan-trigger-detector.js +0 -142
  1005. package/dist/src/services/workflow/workflow-autonomous-resume-helpers.d.ts +0 -19
  1006. package/dist/src/services/workflow/workflow-autonomous-resume-helpers.js +0 -300
  1007. package/dist/src/services/workflow/workflow-autonomous-service.d.ts +0 -100
  1008. package/dist/src/services/workflow/workflow-autonomous-service.js +0 -306
  1009. package/dist/src/services/workflow/workflow-loader.d.ts +0 -63
  1010. package/dist/src/services/workflow/workflow-loader.js +0 -168
  1011. package/dist/src/services/workflow/workflow-router-service.d.ts +0 -85
  1012. package/dist/src/services/workflow/workflow-router-service.js +0 -233
  1013. package/dist/src/services/workflow/workflow-skip-service.d.ts +0 -106
  1014. package/dist/src/services/workflow/workflow-skip-service.js +0 -209
  1015. package/dist/src/services/workflow/workflow-spec.d.ts +0 -116
  1016. package/dist/src/services/workflow/workflow-spec.js +0 -431
  1017. package/dist/src/services/workflow/workflow-state-store.d.ts +0 -27
  1018. package/dist/src/services/workflow/workflow-state-store.js +0 -95
  1019. package/dist/src/services/workspace/claude-settings-template.d.ts +0 -101
  1020. package/dist/src/services/workspace/claude-settings-template.js +0 -254
  1021. package/dist/src/services/workspace/migrate-1-4-1-service.d.ts +0 -44
  1022. package/dist/src/services/workspace/migrate-1-4-1-service.js +0 -195
  1023. package/dist/src/services/workspace/migrate-service.d.ts +0 -2
  1024. package/dist/src/services/workspace/migrate-service.js +0 -613
  1025. package/dist/src/services/workspace/migrate-types.d.ts +0 -127
  1026. package/dist/src/services/workspace/migrate-types.js +0 -21
  1027. package/dist/src/services/workspace/reconcile-service.d.ts +0 -188
  1028. package/dist/src/services/workspace/reconcile-service.js +0 -683
  1029. package/dist/src/services/workspace/reconcile-types.d.ts +0 -130
  1030. package/dist/src/services/workspace/reconcile-types.js +0 -13
  1031. package/dist/src/services/workspace/sid-naming-guard.d.ts +0 -17
  1032. package/dist/src/services/workspace/sid-naming-guard.js +0 -34
  1033. package/dist/src/services/workspace/workspace-claude-settings-materializer.d.ts +0 -45
  1034. package/dist/src/services/workspace/workspace-claude-settings-materializer.js +0 -194
  1035. package/dist/src/services/workspace/workspace-clean-service.d.ts +0 -28
  1036. package/dist/src/services/workspace/workspace-clean-service.js +0 -46
  1037. package/dist/src/services/workspace/workspace-service.d.ts +0 -177
  1038. package/dist/src/services/workspace/workspace-service.js +0 -432
  1039. package/dist/src/services/workspace/workspace-state-service.d.ts +0 -7
  1040. package/dist/src/services/workspace/workspace-state-service.js +0 -43
  1041. package/dist/src/shared/format-md-compact.d.ts +0 -32
  1042. package/dist/src/shared/format-md-compact.js +0 -297
  1043. package/dist/src/shared/frontmatter.d.ts +0 -6
  1044. package/dist/src/shared/frontmatter.js +0 -165
  1045. package/dist/src/shared/fs-utils.d.ts +0 -4
  1046. package/dist/src/shared/fs-utils.js +0 -16
  1047. package/dist/src/shared/fs.d.ts +0 -4
  1048. package/dist/src/shared/fs.js +0 -26
  1049. package/dist/src/shared/incrementing-number.d.ts +0 -23
  1050. package/dist/src/shared/incrementing-number.js +0 -68
  1051. package/dist/src/shared/json-schema-mini.d.ts +0 -10
  1052. package/dist/src/shared/json-schema-mini.js +0 -113
  1053. package/dist/src/shared/path-safety.d.ts +0 -21
  1054. package/dist/src/shared/path-safety.js +0 -54
  1055. package/dist/src/shared/path-utils.d.ts +0 -13
  1056. package/dist/src/shared/path-utils.js +0 -56
  1057. package/dist/src/shared/paths.d.ts +0 -6
  1058. package/dist/src/shared/paths.js +0 -50
  1059. package/dist/src/shared/planner-response.d.ts +0 -21
  1060. package/dist/src/shared/planner-response.js +0 -26
  1061. package/dist/src/shared/platform.d.ts +0 -6
  1062. package/dist/src/shared/platform.js +0 -11
  1063. package/dist/src/shared/process.d.ts +0 -5
  1064. package/dist/src/shared/process.js +0 -12
  1065. package/dist/src/shared/result.d.ts +0 -22
  1066. package/dist/src/shared/result.js +0 -46
  1067. package/dist/src/shared/stale-policy.d.ts +0 -67
  1068. package/dist/src/shared/stale-policy.js +0 -85
  1069. package/dist/src/shared/version.d.ts +0 -1
  1070. package/dist/src/shared/version.js +0 -1
  1071. package/dist/src/skills/peaks-maker/index.d.ts +0 -5
  1072. package/dist/src/skills/peaks-maker/index.js +0 -32
@@ -1,817 +0,0 @@
1
- import { closeSync, constants, copyFileSync, existsSync, lstatSync, mkdirSync, openSync, readdirSync, readFileSync, realpathSync, statSync, writeFileSync } from 'node:fs';
2
- import { dirname, basename, isAbsolute, join, relative, resolve } from 'node:path';
3
- import { isInsidePath, isWindowsAbsolutePath, normalizePath, resolveInputPath, stablePath, stableRealPath } from '../../shared/path-utils.js';
4
- import { containsSensitiveConfigValue, isSensitiveConfigPath } from '../config/config-service.js';
5
- import { getSessionDir } from '../session/getSessionDir.js';
6
- // Hot kinds: full body kept in index for always-available context
7
- const HOT_KINDS = new Set(['feedback', 'decision', 'rule', 'convention', 'module', 'lesson']);
8
- // ---------------------------------------------------------------------------
9
- // Internal helpers (kept from original, sorted by dependency order)
10
- // ---------------------------------------------------------------------------
11
- const START_MARKER = '<!-- peaks-memory:start -->';
12
- const END_MARKER = '<!-- peaks-memory:end -->';
13
- const VALID_MEMORY_KINDS = new Set(['project', 'rule', 'decision', 'reference', 'feedback', 'convention', 'module', 'lesson']);
14
- /** Exported for guard tests + tooling that needs to enumerate the valid
15
- * set without duplicating the literal. Single source of truth. */
16
- export const VALID_PROJECT_MEMORY_KINDS = Array.from(VALID_MEMORY_KINDS);
17
- // Length bounds for index entry descriptions. The numbers were chosen when
18
- // summarizeMemoryBody was first introduced; locking them in as named
19
- // constants is a doc-as-code move so the truncation rule is no longer
20
- // "magic". Bump MAX_DESCRIPTION_LENGTH deliberately if downstream UIs grow.
21
- const MIN_BODY_SENTENCE_LENGTH = 20; // skip fragments shorter than this when picking a leading sentence
22
- const MAX_DESCRIPTION_LENGTH = 120; // hard cap on description length in the memory index entry
23
- const ELLIPSIS_RESERVE = 3; // length of the trailing "..." when truncating with an ellipsis
24
- function normalizeRoot(path) {
25
- return resolveInputPath(path);
26
- }
27
- function normalizeRealRoot(path) {
28
- return stableRealPath(path);
29
- }
30
- function realPathOrThrow(path, errorMessage) {
31
- if (!existsSync(path)) {
32
- throw new Error(errorMessage);
33
- }
34
- const stats = lstatSync(path);
35
- if (stats.isSymbolicLink()) {
36
- throw new Error(errorMessage);
37
- }
38
- return realpathSync(path);
39
- }
40
- function resolveProjectPath(path, projectRoot) {
41
- if (isWindowsAbsolutePath(path))
42
- return normalizePath(path);
43
- if (isAbsolute(path))
44
- return resolve(path);
45
- const resolvedPath = join(projectRoot, path);
46
- return isWindowsAbsolutePath(projectRoot) ? normalizePath(resolvedPath) : resolve(resolvedPath);
47
- }
48
- function assertInsideProject(path, projectRoot) {
49
- const resolvedRoot = normalizeRoot(projectRoot);
50
- const resolvedPath = resolveProjectPath(path, resolvedRoot);
51
- const realProjectRoot = realPathOrThrow(resolvedRoot, 'Project root is not accessible');
52
- const realArtifactPath = realPathOrThrow(resolvedPath, 'Artifact path must stay inside the project root');
53
- if (!isInsidePath(realArtifactPath, realProjectRoot)) {
54
- throw new Error('Artifact path must stay inside the project root');
55
- }
56
- return resolvedPath;
57
- }
58
- function assertSafeProjectMemoryDir(projectRoot) {
59
- const resolvedRoot = normalizeRoot(projectRoot);
60
- const realRoot = normalizeRealRoot(projectRoot);
61
- const peaksDir = join(resolvedRoot, '.peaks');
62
- if (existsSync(peaksDir) && lstatSync(peaksDir).isSymbolicLink()) {
63
- throw new Error('Project memory directory must stay inside the project root');
64
- }
65
- const memoryDir = join(peaksDir, 'memory');
66
- if (existsSync(memoryDir)) {
67
- if (lstatSync(memoryDir).isSymbolicLink()) {
68
- throw new Error('Project memory directory must stay inside the project root');
69
- }
70
- const realMemoryDir = realpathSync(memoryDir);
71
- if (!isInsidePath(realMemoryDir, realRoot)) {
72
- throw new Error('Project memory directory must stay inside the project root');
73
- }
74
- return memoryDir;
75
- }
76
- return memoryDir;
77
- }
78
- function slugify(title) {
79
- const slug = title.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-+|-+$/g, '');
80
- return slug.length > 0 ? slug : 'project-memory';
81
- }
82
- function parseBlock(block, sourceArtifact) {
83
- const normalizedBlock = block.replace(/\r\n/g, '\n');
84
- const separatorIndex = normalizedBlock.indexOf('\n---\n');
85
- if (separatorIndex < 0)
86
- return null;
87
- const header = normalizedBlock.slice(0, separatorIndex).trim();
88
- const body = normalizedBlock.slice(separatorIndex + '\n---\n'.length).trim();
89
- const fields = new Map();
90
- for (const line of header.split('\n')) {
91
- const [key, ...valueParts] = line.split(':');
92
- const normalizedKey = key?.trim();
93
- const value = valueParts.join(':').trim();
94
- if (normalizedKey && value) {
95
- fields.set(normalizedKey, value);
96
- }
97
- }
98
- const title = fields.get('title')?.trim();
99
- const kind = fields.get('kind')?.trim();
100
- if (!title || !kind || !VALID_MEMORY_KINDS.has(kind) || body.length === 0)
101
- return null;
102
- return { title, kind, body, sourceArtifact };
103
- }
104
- function hasSensitiveMemoryContent(content) {
105
- return /(?:api[_-]?key|token|secret|password|credential|bearer)\s*[:=]/i.test(content)
106
- || /\bauthorization\s*:\s*bearer\s+\S+/i.test(content)
107
- || /\bbearer\s+[A-Za-z0-9._~+/=-]{12,}\b/i.test(content)
108
- || /\bsk-[A-Za-z0-9_-]{6,}\b/.test(content)
109
- || /\bgh[pousr]_[A-Za-z0-9_]{20,}\b/.test(content)
110
- || /\bgithub_pat_[A-Za-z0-9_]{20,}\b/.test(content)
111
- || /\bglpat-[A-Za-z0-9_-]{20,}\b/.test(content)
112
- || /\bAKIA[0-9A-Z]{16}\b/.test(content)
113
- || /-----BEGIN [A-Z ]*PRIVATE KEY-----/.test(content)
114
- || /\beyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\b/.test(content);
115
- }
116
- function assertSafeMemory(memory) {
117
- const content = `${memory.title}\n${memory.kind}\n${memory.body}`;
118
- const metadata = { title: memory.title, kind: memory.kind, body: memory.body };
119
- if (containsSensitiveConfigValue(metadata) || hasSensitiveMemoryContent(content)) {
120
- throw new Error('Refusing to store sensitive memory content');
121
- }
122
- if (isSensitiveConfigPath(memory.title)) {
123
- throw new Error('Refusing to store sensitive memory content');
124
- }
125
- }
126
- function assertSafeMemoryFileContent(content) {
127
- if (hasSensitiveMemoryContent(content)) {
128
- throw new Error('Refusing to back up sensitive memory content');
129
- }
130
- }
131
- function writeNewFile(path, content) {
132
- const fd = openSync(path, constants.O_WRONLY | constants.O_CREAT | constants.O_EXCL, 0o600);
133
- try {
134
- writeFileSync(fd, content, 'utf8');
135
- }
136
- finally {
137
- closeSync(fd);
138
- }
139
- }
140
- function renderMemoryFile(memory) {
141
- const name = slugify(memory.title);
142
- return [
143
- '---',
144
- `name: ${name}`,
145
- `description: ${memory.title}`,
146
- 'metadata:',
147
- ` type: ${memory.kind}`,
148
- ` sourceArtifact: ${memory.sourceArtifact}`,
149
- '---',
150
- '',
151
- memory.body,
152
- ''
153
- ].join('\n');
154
- }
155
- function parseStoredMemoryFile(content, filePath) {
156
- const normalized = content.replace(/\r\n/g, '\n');
157
- if (!normalized.startsWith('---\n'))
158
- return null;
159
- const endIndex = normalized.indexOf('\n---\n', 4);
160
- if (endIndex < 0)
161
- return null;
162
- const frontmatter = normalized.slice(4, endIndex);
163
- const body = normalized.slice(endIndex + '\n---\n'.length).trim();
164
- let name;
165
- let description;
166
- let kind;
167
- let sourceArtifact;
168
- for (const rawLine of frontmatter.split('\n')) {
169
- const line = rawLine.trim();
170
- if (line.startsWith('name:'))
171
- name = line.slice('name:'.length).trim();
172
- else if (line.startsWith('description:'))
173
- description = line.slice('description:'.length).trim();
174
- else if (line.startsWith('type:'))
175
- kind = line.slice('type:'.length).trim();
176
- else if (line.startsWith('sourceArtifact:'))
177
- sourceArtifact = line.slice('sourceArtifact:'.length).trim();
178
- }
179
- if (!name || !kind || !VALID_MEMORY_KINDS.has(kind) || body.length === 0)
180
- return null;
181
- return {
182
- name,
183
- title: description ?? name,
184
- kind: kind,
185
- sourceArtifact: sourceArtifact && sourceArtifact !== 'undefined' ? sourceArtifact : null,
186
- body,
187
- filePath
188
- };
189
- }
190
- function listMarkdownFiles(dirPath, options = {}) {
191
- if (!existsSync(dirPath))
192
- return [];
193
- const { maxDepth = Infinity, skipDotfiles = true } = options;
194
- const files = [];
195
- const stack = [{ path: dirPath, depth: 0 }];
196
- while (stack.length > 0) {
197
- const frame = stack.pop();
198
- if (frame.depth > maxDepth)
199
- continue;
200
- for (const entry of readdirSync(frame.path, { withFileTypes: true }).sort((left, right) => left.name.localeCompare(right.name))) {
201
- if (skipDotfiles && entry.name.startsWith('.'))
202
- continue;
203
- const entryPath = join(frame.path, entry.name);
204
- if (entry.isSymbolicLink()) {
205
- continue;
206
- }
207
- if (entry.isDirectory()) {
208
- stack.push({ path: entryPath, depth: frame.depth + 1 });
209
- continue;
210
- }
211
- if (entry.isFile() && entry.name.endsWith('.md')) {
212
- files.push(entryPath);
213
- }
214
- }
215
- }
216
- return files.sort((left, right) => left.localeCompare(right));
217
- }
218
- // ---------------------------------------------------------------------------
219
- // Description summarization (deterministic, no LLM call)
220
- // ---------------------------------------------------------------------------
221
- function summarizeMemoryBody(body) {
222
- const cleaned = body
223
- .replace(/^#{1,6}\s+/gm, '')
224
- .replace(/`{1,3}[^`]*`{1,3}/g, '')
225
- .replace(/^\s*[-*+]\s+/gm, '')
226
- .replace(/\n+/g, ' ')
227
- .trim();
228
- const sentences = cleaned.split(/(?<=[.!?])\s+/).filter((s) => s.length > MIN_BODY_SENTENCE_LENGTH && !/^\[.+\]$/.test(s));
229
- if (sentences.length === 0) {
230
- return cleaned.slice(0, MAX_DESCRIPTION_LENGTH) || 'Project memory';
231
- }
232
- const first = sentences[0];
233
- if (first.length <= MAX_DESCRIPTION_LENGTH) {
234
- return first;
235
- }
236
- return first.slice(0, MAX_DESCRIPTION_LENGTH - ELLIPSIS_RESERVE) + '...';
237
- }
238
- // ---------------------------------------------------------------------------
239
- // Session memory extraction (new extract path)
240
- // ---------------------------------------------------------------------------
241
- function assertSafeSessionDir(projectRoot, sessionId) {
242
- const normalizedRoot = normalizeRoot(projectRoot);
243
- const realRoot = normalizeRealRoot(projectRoot);
244
- const sessionDir = getSessionDir(normalizedRoot, sessionId);
245
- if (!existsSync(sessionDir)) {
246
- // Distinguish "not found" (caller will treat as no-op) from "escapes project
247
- // root" (caller must surface a hard error). We probe by checking whether the
248
- // joined path, after realpath, would still be inside the project root.
249
- if (isAbsolute(getSessionDir(normalizedRoot, sessionId))) {
250
- const realJoined = safeRealpath(getSessionDir(normalizedRoot, sessionId));
251
- if (realJoined && !isInsidePath(realJoined, realRoot)) {
252
- throw new Error('Session directory must stay inside the project root');
253
- }
254
- }
255
- throw new Error('SESSION_DIR_NOT_FOUND');
256
- }
257
- const stats = lstatSync(sessionDir);
258
- if (stats.isSymbolicLink()) {
259
- throw new Error('Session directory must stay inside the project root');
260
- }
261
- const realSessionDir = realpathSync(sessionDir);
262
- if (!isInsidePath(realSessionDir, realRoot)) {
263
- throw new Error('Session directory must stay inside the project root');
264
- }
265
- return sessionDir;
266
- }
267
- function safeRealpath(path) {
268
- try {
269
- return realpathSync(path);
270
- }
271
- catch { // TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
272
- return null;
273
- }
274
- }
275
- function readMemoryFileMtime(filePath) {
276
- try {
277
- return statSync(filePath).mtime.toISOString().slice(0, 10);
278
- }
279
- catch {
280
- return new Date().toISOString().slice(0, 10);
281
- }
282
- }
283
- function readStoredMemoryNames(memoryDir) {
284
- // Two source-of-truth fallbacks for the slug-collision check:
285
- // 1. Parse frontmatter (the canonical form rendered by
286
- // renderMemoryFile / written by both extract paths).
287
- // 2. Fall back to the bare filename stem, so user-dropped files
288
- // without frontmatter (e.g. hand-written memories, legacy
289
- // content) still count as a collision and are not overwritten
290
- // by an idempotent re-extract.
291
- const names = new Set();
292
- for (const filePath of listMarkdownFiles(memoryDir)) {
293
- const stem = basename(filePath, '.md');
294
- if (stem.length > 0 && stem !== 'index')
295
- names.add(stem);
296
- try {
297
- const parsed = parseStoredMemoryFile(readFileSync(filePath, 'utf8'), filePath);
298
- if (parsed)
299
- names.add(parsed.name);
300
- }
301
- catch { // TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
302
- // ignore unreadable files
303
- }
304
- }
305
- return names;
306
- }
307
- function generateMemoryIndexFile(projectRoot, memoryDir, indexPath) {
308
- const memories = readProjectMemories(projectRoot);
309
- const hot = {
310
- feedback: [], decision: [], rule: [], convention: [], module: [], lesson: []
311
- };
312
- const warm = {
313
- project: [], reference: []
314
- };
315
- for (const memory of memories.memories) {
316
- const entry = {
317
- name: memory.name,
318
- kind: memory.kind,
319
- description: memory.body ? summarizeMemoryBody(memory.body) : memory.title,
320
- sourcePath: memory.filePath,
321
- sourceArtifact: memory.sourceArtifact,
322
- updatedAt: readMemoryFileMtime(memory.filePath)
323
- };
324
- if (HOT_KINDS.has(memory.kind)) {
325
- hot[memory.kind].push(entry);
326
- }
327
- else {
328
- warm[memory.kind].push(entry);
329
- }
330
- }
331
- for (const kind of [...Object.keys(hot), ...Object.keys(warm)]) {
332
- const arr = hot[kind] ?? warm[kind];
333
- if (arr)
334
- arr.sort((a, b) => a.name.localeCompare(b.name));
335
- }
336
- const index = {
337
- version: 1,
338
- updatedAt: new Date().toISOString(),
339
- hot: hot,
340
- warm: warm
341
- };
342
- const fd = openSync(indexPath, constants.O_WRONLY | constants.O_CREAT | constants.O_TRUNC, 0o644);
343
- try {
344
- writeFileSync(fd, JSON.stringify(index, null, 2), 'utf8');
345
- }
346
- finally {
347
- closeSync(fd);
348
- }
349
- }
350
- function readExistingIndex(indexPath) {
351
- if (!existsSync(indexPath))
352
- return null;
353
- try {
354
- const raw = readFileSync(indexPath, 'utf8');
355
- const parsed = JSON.parse(raw);
356
- if (parsed.version === 1)
357
- return parsed;
358
- return null;
359
- }
360
- catch { // TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
361
- return null;
362
- }
363
- }
364
- // Decide whether readMemoryIndex should rebuild the on-disk index.json.
365
- // The rule is: rebuild iff index.json is missing OR any memory.md has an
366
- // mtime strictly greater than index.json's mtime. Any statSync failure
367
- // falls back to "rebuild" — a safe default that matches the prior
368
- // always-rebuild behaviour and avoids serving a stale index from a
369
- // partially-corrupt dir.
370
- function shouldRegenerateIndex(indexPath, memoryFiles) {
371
- let indexMtimeMs = 0;
372
- try {
373
- indexMtimeMs = statSync(indexPath).mtimeMs;
374
- }
375
- catch {
376
- return true; // no index → must regenerate
377
- }
378
- for (const memoryPath of memoryFiles) {
379
- try {
380
- const memoryMtimeMs = statSync(memoryPath).mtimeMs;
381
- if (memoryMtimeMs > indexMtimeMs)
382
- return true;
383
- }
384
- catch {
385
- return true; // unreadable file → safe default is regenerate
386
- }
387
- }
388
- return false;
389
- }
390
- export function readMemoryIndex(projectRoot) {
391
- const normalizedRoot = normalizeRoot(projectRoot);
392
- const memoryDir = assertSafeProjectMemoryDir(normalizedRoot);
393
- const indexPath = join(memoryDir, 'index.json');
394
- // Read-side bootstrap: if the memory dir is missing entirely, build it and
395
- // return whatever index is on disk (likely null on a fresh project). We
396
- // deliberately do NOT pre-write an empty index here: the mtime-based
397
- // regeneration guard below is the sole authority on whether index.json
398
- // gets materialised, and pre-writing an empty index would race the guard
399
- // (giving it a current-time mtime that defeats "memory older than index"
400
- // detection on the first read).
401
- if (!existsSync(memoryDir)) {
402
- ensureMemoryBootstrap(normalizedRoot);
403
- return readExistingIndex(indexPath);
404
- }
405
- const files = listMarkdownFiles(memoryDir);
406
- if (files.length > 0 && shouldRegenerateIndex(indexPath, files)) {
407
- try {
408
- generateMemoryIndexFile(normalizedRoot, memoryDir, indexPath);
409
- }
410
- catch { // TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
411
- // fall through to read existing
412
- }
413
- }
414
- return readExistingIndex(indexPath);
415
- }
416
- export function extractSessionMemories(options) {
417
- const projectRoot = normalizeRoot(options.projectRoot);
418
- const apply = options.apply ?? false;
419
- const primaryMemoryDir = assertSafeProjectMemoryDir(projectRoot);
420
- const memoryIndexPath = join(primaryMemoryDir, 'index.json');
421
- // Resolve sessionDir through realpath + inside-project guard so a hostile
422
- // sessionId (`..`, abs path, symlink chain) cannot walk the scanner outside
423
- // the project root. A sentinel "SESSION_DIR_NOT_FOUND" distinguishes a
424
- // benign miss from an escape attempt.
425
- let sessionDir;
426
- try {
427
- sessionDir = assertSafeSessionDir(projectRoot, options.sessionId);
428
- }
429
- catch (error) {
430
- if (error instanceof Error && error.message === 'SESSION_DIR_NOT_FOUND') {
431
- return {
432
- apply,
433
- projectRoot,
434
- sessionId: options.sessionId,
435
- primaryMemoryDir,
436
- memoryIndexPath,
437
- scannedFiles: 0,
438
- extractedCount: 0,
439
- writtenFiles: [],
440
- updatedIndex: false
441
- };
442
- }
443
- throw error;
444
- }
445
- const scannedFiles = listMarkdownFiles(sessionDir, { maxDepth: 6, skipDotfiles: true });
446
- const allExtracted = [];
447
- for (const filePath of scannedFiles) {
448
- try {
449
- const content = readFileSync(filePath, 'utf8');
450
- const relativePath = relative(projectRoot, filePath).replaceAll('\\', '/');
451
- const extracted = extractStableProjectMemories(content, relativePath);
452
- allExtracted.push(...extracted);
453
- }
454
- catch { // TODO(g2): legacy silent catch — grace: 1 minor release (v2.14.0)
455
- // skip unreadable files
456
- }
457
- }
458
- if (allExtracted.length === 0) {
459
- return {
460
- apply,
461
- projectRoot,
462
- sessionId: options.sessionId,
463
- primaryMemoryDir,
464
- memoryIndexPath,
465
- scannedFiles: scannedFiles.length,
466
- extractedCount: 0,
467
- writtenFiles: [],
468
- updatedIndex: false
469
- };
470
- }
471
- const slugCounts = new Map();
472
- for (const memory of allExtracted) {
473
- const slug = slugify(memory.title);
474
- slugCounts.set(slug, (slugCounts.get(slug) ?? 0) + 1);
475
- }
476
- const duplicateTitles = [...slugCounts.entries()].filter(([, count]) => count > 1).map(([slug]) => slug);
477
- if (duplicateTitles.length > 0) {
478
- throw new Error(`Duplicate memory titles are not allowed: ${duplicateTitles.join(', ')}`);
479
- }
480
- // Idempotency: pre-read existing memory names so a re-run of the same
481
- // session does not throw EEXIST. `writtenFiles` reports only the new
482
- // writes so callers can still tell what the run actually produced.
483
- const existingNames = apply ? readStoredMemoryNames(primaryMemoryDir) : new Set();
484
- const writtenFiles = [];
485
- if (apply) {
486
- mkdirSync(primaryMemoryDir, { recursive: true });
487
- for (const memory of allExtracted) {
488
- const slug = slugify(memory.title);
489
- if (existingNames.has(slug))
490
- continue;
491
- const targetPath = join(primaryMemoryDir, `${slug}.md`);
492
- const safePath = resolveInputPath(targetPath);
493
- const stableSafePath = stablePath(safePath);
494
- if (!isInsidePath(stableSafePath, stableRealPath(primaryMemoryDir))) {
495
- throw new Error('Project memory write target must stay inside the project memory directory');
496
- }
497
- writeNewFile(safePath, renderMemoryFile(memory));
498
- writtenFiles.push(safePath);
499
- }
500
- generateMemoryIndexFile(projectRoot, primaryMemoryDir, memoryIndexPath);
501
- }
502
- return {
503
- apply,
504
- projectRoot,
505
- sessionId: options.sessionId,
506
- primaryMemoryDir,
507
- memoryIndexPath,
508
- scannedFiles: scannedFiles.length,
509
- extractedCount: allExtracted.length,
510
- writtenFiles,
511
- updatedIndex: apply && writtenFiles.length > 0
512
- };
513
- }
514
- // ---------------------------------------------------------------------------
515
- // Old extract path (kept for core-artifact-commands.ts)
516
- // ---------------------------------------------------------------------------
517
- export function extractStableProjectMemories(content, sourceArtifact) {
518
- const memories = [];
519
- let searchStart = 0;
520
- while (searchStart < content.length) {
521
- const start = content.indexOf(START_MARKER, searchStart);
522
- if (start < 0)
523
- break;
524
- const bodyStart = start + START_MARKER.length;
525
- const end = content.indexOf(END_MARKER, bodyStart);
526
- if (end < 0)
527
- break;
528
- const memory = parseBlock(content.slice(bodyStart, end).trim(), sourceArtifact);
529
- if (memory) {
530
- assertSafeMemory(memory);
531
- memories.push(memory);
532
- }
533
- searchStart = end + END_MARKER.length;
534
- }
535
- return memories.sort((left, right) => slugify(left.title).localeCompare(slugify(right.title)));
536
- }
537
- function summarizeExtractResult(result) {
538
- return {
539
- apply: result.apply,
540
- projectRoot: result.projectRoot,
541
- primaryMemoryDir: result.primaryMemoryDir,
542
- backupPolicy: result.backupPolicy,
543
- extractedCount: result.extractedMemories.length,
544
- plannedWrites: result.plannedWrites.map((write) => ({
545
- filePath: write.filePath,
546
- title: write.memory.title,
547
- kind: write.memory.kind,
548
- sourceArtifact: write.memory.sourceArtifact
549
- })),
550
- writtenFiles: result.writtenFiles
551
- };
552
- }
553
- function summarizeBackupResult(result) {
554
- return {
555
- apply: result.apply,
556
- projectRoot: result.projectRoot,
557
- artifactWorkspacePath: result.artifactWorkspacePath,
558
- primaryMemoryDir: result.primaryMemoryDir,
559
- backupMemoryDir: result.backupMemoryDir,
560
- plannedCopies: result.plannedCopies,
561
- copiedFiles: result.copiedFiles
562
- };
563
- }
564
- export function createProjectMemoryExtractPlan(options) {
565
- const projectRoot = normalizeRoot(options.projectRoot);
566
- const primaryMemoryDir = assertSafeProjectMemoryDir(projectRoot);
567
- const extractedMemories = options.artifactPaths.flatMap((artifactPath) => {
568
- const safeArtifactPath = assertInsideProject(artifactPath, projectRoot);
569
- const relativeArtifactPath = relative(projectRoot, safeArtifactPath).replaceAll('\\', '/');
570
- return extractStableProjectMemories(readFileSync(safeArtifactPath, 'utf8'), relativeArtifactPath);
571
- }).sort((left, right) => slugify(left.title).localeCompare(slugify(right.title)));
572
- const slugCounts = new Map();
573
- for (const memory of extractedMemories) {
574
- const slug = slugify(memory.title);
575
- slugCounts.set(slug, (slugCounts.get(slug) ?? 0) + 1);
576
- }
577
- const duplicateTitles = [...slugCounts.entries()].filter(([, count]) => count > 1).map(([slug]) => slug);
578
- if (duplicateTitles.length > 0) {
579
- throw new Error(`Duplicate memory titles are not allowed: ${duplicateTitles.join(', ')}`);
580
- }
581
- const plannedWrites = extractedMemories.map((memory) => ({
582
- memory,
583
- filePath: join(primaryMemoryDir, `${slugify(memory.title)}.md`),
584
- content: renderMemoryFile(memory)
585
- }));
586
- return {
587
- apply: options.apply ?? false,
588
- projectRoot,
589
- primaryMemoryDir,
590
- backupPolicy: 'project-memory-primary-artifact-backup',
591
- extractedMemories,
592
- plannedWrites
593
- };
594
- }
595
- export function executeProjectMemoryExtract(options) {
596
- const plan = createProjectMemoryExtractPlan(options);
597
- const writtenFiles = [];
598
- if (plan.apply) {
599
- mkdirSync(plan.primaryMemoryDir, { recursive: true });
600
- const safeMemoryDir = assertSafeProjectMemoryDir(plan.projectRoot);
601
- // Idempotency: skip writes for memories whose slug already lives in
602
- // .peaks/memory/. Re-running `peaks memory extract --apply` on the
603
- // same handoff is a normal peaks-code / peaks-txt retry pattern (the
604
- // skill prompt may invoke extract more than once when a handoff is
605
- // edited and re-extracted). Without this, writeNewFile's O_EXCL
606
- // throws EEXIST and aborts the whole batch. Symmetric with
607
- // extractSessionMemories (line ~614) which does the same skip.
608
- const existingNames = readStoredMemoryNames(plan.primaryMemoryDir);
609
- for (const write of plan.plannedWrites) {
610
- const slug = slugify(write.memory.title);
611
- if (existingNames.has(slug))
612
- continue;
613
- const targetPath = resolveInputPath(write.filePath);
614
- const stableTargetPath = stablePath(targetPath);
615
- if (!isInsidePath(stableTargetPath, stableRealPath(safeMemoryDir))) {
616
- throw new Error('Project memory write target must stay inside the project memory directory');
617
- }
618
- writeNewFile(targetPath, write.content);
619
- writtenFiles.push(targetPath);
620
- }
621
- // After writing any markdown, regenerate the index so downstream
622
- // readers (peaks project memory-index, peaks-txt re-runs, the next
623
- // session's presence-set bootstrap) see the new memory. Without
624
- // this, `peaks memory extract --apply` would leave the index stale
625
- // and `readMemoryIndex` would either return the empty bootstrap or
626
- // — pre-bootstrap-fix — return null. Symmetric with
627
- // extractSessionMemories, which already regenerates the index on
628
- // apply (see line ~626). We regen whenever --apply is set, even
629
- // if every write was skipped by idempotency, so the index is
630
- // always rebuilt against the current .peaks/memory/ directory.
631
- const indexPath = join(plan.primaryMemoryDir, 'index.json');
632
- generateMemoryIndexFile(plan.projectRoot, plan.primaryMemoryDir, indexPath);
633
- }
634
- return { ...plan, writtenFiles };
635
- }
636
- export function createProjectMemoryBackupPlan(options) {
637
- const projectRoot = normalizeRoot(options.projectRoot);
638
- const artifactWorkspacePath = normalizeRoot(options.artifactWorkspacePath);
639
- if (isInsidePath(artifactWorkspacePath, projectRoot)) {
640
- throw new Error('Artifact workspace must be outside the project root');
641
- }
642
- const primaryMemoryDir = assertSafeProjectMemoryDir(projectRoot);
643
- const backupMemoryDir = join(artifactWorkspacePath, '.peaks', 'memory-backups', 'project-memory-primary');
644
- const plannedCopies = listMarkdownFiles(primaryMemoryDir).map((sourcePath) => {
645
- assertSafeMemoryFileContent(readFileSync(sourcePath, 'utf8'));
646
- const relativeMemoryPath = relative(primaryMemoryDir, sourcePath);
647
- return {
648
- sourcePath,
649
- targetPath: join(backupMemoryDir, relativeMemoryPath)
650
- };
651
- });
652
- return {
653
- apply: options.apply ?? false,
654
- projectRoot,
655
- artifactWorkspacePath,
656
- primaryMemoryDir,
657
- backupMemoryDir,
658
- plannedCopies
659
- };
660
- }
661
- export function executeProjectMemoryBackup(options) {
662
- const plan = createProjectMemoryBackupPlan(options);
663
- const copiedFiles = [];
664
- if (plan.apply) {
665
- const safeMemoryDir = assertSafeProjectMemoryDir(plan.projectRoot);
666
- mkdirSync(plan.backupMemoryDir, { recursive: true });
667
- for (const copy of plan.plannedCopies) {
668
- const sourcePath = realPathOrThrow(copy.sourcePath, 'Project memory source must stay inside the project memory directory');
669
- if (!isInsidePath(sourcePath, stableRealPath(safeMemoryDir))) {
670
- throw new Error('Project memory source must stay inside the project memory directory');
671
- }
672
- mkdirSync(dirname(copy.targetPath), { recursive: true });
673
- copyFileSync(sourcePath, copy.targetPath);
674
- copiedFiles.push(copy.targetPath);
675
- }
676
- }
677
- return { ...plan, copiedFiles };
678
- }
679
- export function summarizeProjectMemoryExtractResult(result) {
680
- return summarizeExtractResult(result);
681
- }
682
- export function summarizeProjectMemoryBackupResult(result) {
683
- return summarizeBackupResult(result);
684
- }
685
- function emptyByKind() {
686
- return {
687
- project: [],
688
- rule: [],
689
- decision: [],
690
- reference: [],
691
- feedback: [],
692
- convention: [],
693
- module: [],
694
- lesson: []
695
- };
696
- }
697
- function emptyIndex() {
698
- // Cast through unknown: we *intend* the two halves to together cover the
699
- // union `ProjectMemoryKind`, but TS does not know that. The `MemoryIndex`
700
- // type's `hot` / `warm` fields together cover the union; we split the
701
- // construction so the JSON output mirrors the hot/warm layout the reader
702
- // expects.
703
- return {
704
- version: 1,
705
- updatedAt: new Date().toISOString(),
706
- hot: {
707
- feedback: [],
708
- decision: [],
709
- rule: [],
710
- convention: [],
711
- module: [],
712
- lesson: []
713
- },
714
- warm: {
715
- project: [],
716
- reference: []
717
- }
718
- };
719
- }
720
- function renderEmptyIndex() {
721
- return JSON.stringify(emptyIndex(), null, 2) + '\n';
722
- }
723
- /**
724
- * Ensure `.peaks/memory/` and its `index.json` exist for a project, with
725
- * the same full-shape empty index the generator emits when there are zero
726
- * memories. Idempotent — safe to call on every skill activation.
727
- *
728
- * Why this exists: before this helper, `.peaks/memory/` was only created
729
- * by `extractSessionMemories` when at least one memory markdown was being
730
- * written, and `index.json` was only emitted by the generator when at
731
- * least one markdown was on disk. Stock projects therefore had no
732
- * `.peaks/memory/` directory and no index, even after `peaks project
733
- * memories` was read. Bootstrap closes that cold-start gap.
734
- *
735
- * This function is fail-open for the same reason the rest of the
736
- * presence layer is fail-open: a failure here must NOT block skill
737
- * activation. Any error is swallowed and surfaced only via the returned
738
- * boolean. Callers that need the truth should check the result.
739
- */
740
- export function ensureMemoryBootstrap(projectRoot) {
741
- try {
742
- const normalizedRoot = normalizeRoot(projectRoot);
743
- const memoryDir = assertSafeProjectMemoryDir(normalizedRoot);
744
- const indexPath = join(memoryDir, 'index.json');
745
- mkdirSync(memoryDir, { recursive: true });
746
- if (!existsSync(indexPath)) {
747
- writeFileSync(indexPath, renderEmptyIndex(), { mode: 0o644 });
748
- }
749
- return true;
750
- }
751
- catch {
752
- return false;
753
- }
754
- }
755
- export function readProjectMemories(projectRoot) {
756
- const normalizedRoot = normalizeRoot(projectRoot);
757
- const memoryDir = assertSafeProjectMemoryDir(normalizedRoot);
758
- // Read-side bootstrap: on a stock project the directory does not exist
759
- // yet. Reading must not return an error, but we also want the directory
760
- // to materialise (along with a full-shape empty index) so subsequent
761
- // `peaks project memories` invocations, `readMemoryIndex`, and any
762
- // extraction call find a stable target. The helper is fail-open.
763
- if (!existsSync(memoryDir)) {
764
- ensureMemoryBootstrap(normalizedRoot);
765
- }
766
- const memories = [];
767
- for (const filePath of listMarkdownFiles(memoryDir)) {
768
- const parsed = parseStoredMemoryFile(readFileSync(filePath, 'utf8'), filePath);
769
- if (parsed)
770
- memories.push(parsed);
771
- }
772
- memories.sort((left, right) => left.name.localeCompare(right.name));
773
- const byKind = emptyByKind();
774
- for (const memory of memories) {
775
- byKind[memory.kind].push(memory);
776
- }
777
- return {
778
- projectRoot: normalizedRoot,
779
- memoryDir,
780
- total: memories.length,
781
- byKind,
782
- memories
783
- };
784
- }
785
- /**
786
- * Read a single project memory's full body by name. Returns null when
787
- * the memory does not exist. The on-disk body is returned verbatim
788
- * (pretty). The CLI layer applies `formatMdCompact` when `format: 'compact'`
789
- * is requested. Slice 023 (R3).
790
- */
791
- export function readProjectMemoryBody(projectRoot, name) {
792
- const normalizedRoot = normalizeRoot(projectRoot);
793
- const memoryDir = assertSafeProjectMemoryDir(normalizedRoot);
794
- if (!existsSync(memoryDir)) {
795
- ensureMemoryBootstrap(normalizedRoot);
796
- }
797
- for (const filePath of listMarkdownFiles(memoryDir)) {
798
- if (basename(filePath, '.md') !== name)
799
- continue;
800
- const parsed = parseStoredMemoryFile(readFileSync(filePath, 'utf8'), filePath);
801
- if (parsed === null)
802
- continue;
803
- const updatedAt = readMemoryFileMtime(filePath);
804
- return {
805
- projectRoot: normalizedRoot,
806
- memoryDir,
807
- name: parsed.name,
808
- body: parsed.body,
809
- filePath,
810
- updatedAt,
811
- kind: parsed.kind,
812
- title: parsed.title,
813
- pretty: true
814
- };
815
- }
816
- return null;
817
- }