peaks-loop 4.1.0 → 4.1.2

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 (811) hide show
  1. package/CHANGELOG.md +75 -0
  2. package/README-en.md +4 -4
  3. package/README.md +25 -4
  4. package/bin/node-floor.mjs +59 -0
  5. package/bin/peaks.js +13 -0
  6. package/config/eslint/tsconfig.lint.json +2 -1
  7. package/dist/cli/cli-helpers.d.ts +0 -1
  8. package/dist/cli/cli-helpers.js +0 -1
  9. package/dist/cli/commands/_cli-error-envelope.js +0 -3
  10. package/dist/cli/commands/_register.js +2 -2
  11. package/dist/cli/commands/adapter-commands-s2a.d.ts +0 -1
  12. package/dist/cli/commands/adapter-commands.d.ts +0 -1
  13. package/dist/cli/commands/api-diff-commands.d.ts +0 -1
  14. package/dist/cli/commands/api-diff-commands.js +0 -1
  15. package/dist/cli/commands/audit-commands.js +21 -24
  16. package/dist/cli/commands/autonomous-swarm-commands.js +0 -1
  17. package/dist/cli/commands/bee-commands.d.ts +0 -2
  18. package/dist/cli/commands/bee-commands.js +0 -2
  19. package/dist/cli/commands/best-practice-scan-command.d.ts +0 -1
  20. package/dist/cli/commands/best-practice-scan-helpers.js +0 -1
  21. package/dist/cli/commands/changeset-commands.d.ts +0 -2
  22. package/dist/cli/commands/changeset-commands.js +0 -2
  23. package/dist/cli/commands/code-commands.d.ts +0 -3
  24. package/dist/cli/commands/code-commands.js +0 -3
  25. package/dist/cli/commands/code-gate-command.d.ts +0 -1
  26. package/dist/cli/commands/code-gate-command.js +0 -1
  27. package/dist/cli/commands/code-job-shape-commands-read-job-shape.d.ts +0 -1
  28. package/dist/cli/commands/code-job-shape-commands-read-job-shape.js +0 -1
  29. package/dist/cli/commands/code-job-shape-commands.d.ts +0 -2
  30. package/dist/cli/commands/code-job-shape-commands.js +0 -3
  31. package/dist/cli/commands/code-mode-gate-commands.d.ts +0 -2
  32. package/dist/cli/commands/code-mode-gate-commands.js +0 -3
  33. package/dist/cli/commands/code-mode-gate-should-pause-command.js +1 -5
  34. package/dist/cli/commands/code-mode-gate-should-pause-envelope.d.ts +0 -1
  35. package/dist/cli/commands/code-mode-gate-should-pause-envelope.js +0 -2
  36. package/dist/cli/commands/code-mode-status-command.d.ts +0 -1
  37. package/dist/cli/commands/code-mode-status-command.js +0 -1
  38. package/dist/cli/commands/code-orchestrator-can-do.d.ts +0 -1
  39. package/dist/cli/commands/code-orchestrator-can-do.js +0 -1
  40. package/dist/cli/commands/code-run-command.js +0 -1
  41. package/dist/cli/commands/code-runtime-commands.d.ts +0 -3
  42. package/dist/cli/commands/code-runtime-commands.js +0 -15
  43. package/dist/cli/commands/codegraph-command-runtime.d.ts +6 -0
  44. package/dist/cli/commands/codegraph-command-runtime.js +19 -7
  45. package/dist/cli/commands/codegraph-commands.js +20 -193
  46. package/dist/cli/commands/codegraph-init-command.d.ts +8 -0
  47. package/dist/cli/commands/codegraph-init-command.js +162 -0
  48. package/dist/cli/commands/codegraph-status-command.js +5 -6
  49. package/dist/cli/commands/comments-commands.d.ts +14 -0
  50. package/dist/cli/commands/comments-commands.js +96 -0
  51. package/dist/cli/commands/compact-command.d.ts +0 -1
  52. package/dist/cli/commands/compact-command.js +0 -4
  53. package/dist/cli/commands/container-commands.d.ts +0 -1
  54. package/dist/cli/commands/container-commands.js +0 -1
  55. package/dist/cli/commands/context-commands.d.ts +0 -1
  56. package/dist/cli/commands/context-commands.js +0 -1
  57. package/dist/cli/commands/core/doctor-command.d.ts +0 -1
  58. package/dist/cli/commands/core/doctor-command.js +0 -9
  59. package/dist/cli/commands/core/memory-command.js +10 -1
  60. package/dist/cli/commands/core/session-command.js +0 -14
  61. package/dist/cli/commands/core/skill-command.js +1 -10
  62. package/dist/cli/commands/core/standards-command.js +1 -1
  63. package/dist/cli/commands/core-artifact-commands.d.ts +0 -1
  64. package/dist/cli/commands/core-artifact-commands.js +0 -1
  65. package/dist/cli/commands/cron-commands-actions.d.ts +0 -1
  66. package/dist/cli/commands/cron-commands-actions.js +0 -2
  67. package/dist/cli/commands/cron-commands-schedule.d.ts +0 -3
  68. package/dist/cli/commands/cron-commands-schedule.js +0 -1
  69. package/dist/cli/commands/cron-commands.d.ts +0 -1
  70. package/dist/cli/commands/cron-commands.js +0 -2
  71. package/dist/cli/commands/cron-scheduler-commands.d.ts +0 -1
  72. package/dist/cli/commands/cron-scheduler-commands.js +0 -1
  73. package/dist/cli/commands/cron-scheduler-persist.d.ts +0 -5
  74. package/dist/cli/commands/cron-scheduler-persist.js +0 -5
  75. package/dist/cli/commands/dashboard-summary.d.ts +0 -1
  76. package/dist/cli/commands/dispatch-commands.d.ts +0 -1
  77. package/dist/cli/commands/dispatch-commands.js +10 -37
  78. package/dist/cli/commands/dispatch-from-dag.js +0 -4
  79. package/dist/cli/commands/doctor/invoke-from-code.js +0 -1
  80. package/dist/cli/commands/e2e-verify.d.ts +0 -1
  81. package/dist/cli/commands/ecc-commands.d.ts +16 -22
  82. package/dist/cli/commands/ecc-commands.js +38 -26
  83. package/dist/cli/commands/evolution-commands.d.ts +0 -1
  84. package/dist/cli/commands/evolution-commands.js +0 -1
  85. package/dist/cli/commands/feedback-commands.d.ts +0 -1
  86. package/dist/cli/commands/feedback-commands.js +0 -2
  87. package/dist/cli/commands/fixture-commands.d.ts +0 -2
  88. package/dist/cli/commands/fresh-context-commands.d.ts +0 -1
  89. package/dist/cli/commands/gate-commands-enforce.d.ts +0 -3
  90. package/dist/cli/commands/gate-commands-enforce.js +0 -4
  91. package/dist/cli/commands/gate-commands.js +0 -2
  92. package/dist/cli/commands/governance-classify-contract-commands.d.ts +0 -3
  93. package/dist/cli/commands/governance-classify-contract-commands.js +0 -4
  94. package/dist/cli/commands/heartbeat-commands-action.js +0 -6
  95. package/dist/cli/commands/heartbeat-commands-validation.d.ts +0 -2
  96. package/dist/cli/commands/heartbeat-commands-validation.js +0 -2
  97. package/dist/cli/commands/heartbeat-commands.d.ts +0 -1
  98. package/dist/cli/commands/heartbeat-commands.js +0 -1
  99. package/dist/cli/commands/hooks-commands.js +0 -11
  100. package/dist/cli/commands/ide-commands.d.ts +0 -1
  101. package/dist/cli/commands/job-add-slice-command.d.ts +0 -2
  102. package/dist/cli/commands/job-add-slice-command.js +0 -2
  103. package/dist/cli/commands/job-commands.js +0 -4
  104. package/dist/cli/commands/lease-metrics-commands.d.ts +0 -1
  105. package/dist/cli/commands/lease-metrics-commands.js +0 -1
  106. package/dist/cli/commands/lease-stats-commands.d.ts +0 -1
  107. package/dist/cli/commands/lease-stats-commands.js +0 -1
  108. package/dist/cli/commands/log-commands.d.ts +0 -2
  109. package/dist/cli/commands/log-commands.js +0 -3
  110. package/dist/cli/commands/loop-eval-commands.js +0 -3
  111. package/dist/cli/commands/memory-commands.d.ts +0 -1
  112. package/dist/cli/commands/memory-commands.js +0 -1
  113. package/dist/cli/commands/observability-commands.d.ts +0 -6
  114. package/dist/cli/commands/observability-commands.js +0 -6
  115. package/dist/cli/commands/outer-cache-commands.js +0 -2
  116. package/dist/cli/commands/playwright-commands.d.ts +0 -1
  117. package/dist/cli/commands/playwright-commands.js +0 -1
  118. package/dist/cli/commands/polyrepo-commands.d.ts +0 -1
  119. package/dist/cli/commands/prd-commands.d.ts +0 -1
  120. package/dist/cli/commands/prd-commands.js +8 -4
  121. package/dist/cli/commands/preferences-commands.js +0 -2
  122. package/dist/cli/commands/primer-command.d.ts +0 -1
  123. package/dist/cli/commands/primer-command.js +0 -1
  124. package/dist/cli/commands/project-commands.js +0 -1
  125. package/dist/cli/commands/qa-commands.d.ts +0 -1
  126. package/dist/cli/commands/qa-commands.js +0 -2
  127. package/dist/cli/commands/release-commands.js +0 -9
  128. package/dist/cli/commands/request-commands.d.ts +0 -1
  129. package/dist/cli/commands/request-commands.js +0 -10
  130. package/dist/cli/commands/request-format-helpers.d.ts +0 -1
  131. package/dist/cli/commands/request-format-helpers.js +0 -2
  132. package/dist/cli/commands/runtime-commands.d.ts +0 -1
  133. package/dist/cli/commands/sc-commands.js +0 -1
  134. package/dist/cli/commands/session-24h-mode.d.ts +0 -1
  135. package/dist/cli/commands/session-24h-mode.js +0 -2
  136. package/dist/cli/commands/session-checkpoint-command.d.ts +0 -1
  137. package/dist/cli/commands/session-checkpoint-command.js +0 -1
  138. package/dist/cli/commands/session-resume-command.d.ts +0 -1
  139. package/dist/cli/commands/session-resume-command.js +0 -1
  140. package/dist/cli/commands/shadcn-commands.js +0 -2
  141. package/dist/cli/commands/share-commands.d.ts +0 -3
  142. package/dist/cli/commands/share-commands.js +0 -13
  143. package/dist/cli/commands/skill-search-commands.d.ts +0 -2
  144. package/dist/cli/commands/slice-commands.js +0 -2
  145. package/dist/cli/commands/slice-integrate-commands.js +0 -1
  146. package/dist/cli/commands/spill-demo-command.d.ts +0 -1
  147. package/dist/cli/commands/statusline-commands.js +0 -4
  148. package/dist/cli/commands/sub-agent/detached.js +0 -2
  149. package/dist/cli/commands/sub-agent-commands.d.ts +0 -3
  150. package/dist/cli/commands/sub-agent-shared.d.ts +0 -8
  151. package/dist/cli/commands/sub-agent-shared.js +0 -5
  152. package/dist/cli/commands/sub-agent-shutdown-commands.d.ts +0 -1
  153. package/dist/cli/commands/tech-commands.d.ts +0 -4
  154. package/dist/cli/commands/tech-commands.js +0 -4
  155. package/dist/cli/commands/vendor-detect.d.ts +0 -3
  156. package/dist/cli/commands/vendor-detect.js +0 -2
  157. package/dist/cli/commands/verdict-aggregate-command.d.ts +0 -1
  158. package/dist/cli/commands/verdict-aggregate-command.js +0 -7
  159. package/dist/cli/commands/vm-commands.d.ts +0 -1
  160. package/dist/cli/commands/vm-commands.js +5 -29
  161. package/dist/cli/commands/vm-hypervisor-probe.d.ts +27 -0
  162. package/dist/cli/commands/vm-hypervisor-probe.js +78 -0
  163. package/dist/cli/commands/vm-status-command.d.ts +3 -0
  164. package/dist/cli/commands/vm-status-command.js +50 -0
  165. package/dist/cli/commands/wave-plan-commands.d.ts +0 -1
  166. package/dist/cli/commands/web-lifecycle-commands.d.ts +0 -1
  167. package/dist/cli/commands/workflow-commands.js +0 -14
  168. package/dist/cli/commands/workflow-plan-commands-actions.js +0 -2
  169. package/dist/cli/commands/workflow-plan-commands-session.js +0 -2
  170. package/dist/cli/commands/workflow-plan-commands.d.ts +0 -1
  171. package/dist/cli/commands/workspace/clean-command.d.ts +0 -1
  172. package/dist/cli/commands/workspace/clean-command.js +0 -1
  173. package/dist/cli/commands/workspace/helpers.d.ts +0 -1
  174. package/dist/cli/commands/workspace/helpers.js +0 -1
  175. package/dist/cli/commands/workspace/init-command.d.ts +0 -6
  176. package/dist/cli/commands/workspace/init-command.js +0 -17
  177. package/dist/cli/commands/workspace/migrate-command.d.ts +0 -2
  178. package/dist/cli/commands/workspace/migrate-command.js +0 -2
  179. package/dist/cli/commands/workspace/reconcile-command.d.ts +0 -2
  180. package/dist/cli/commands/workspace/reconcile-command.js +0 -3
  181. package/dist/cli/commands/workspace-commands.d.ts +0 -2
  182. package/dist/cli/commands/workspace-commands.js +0 -4
  183. package/dist/cli/commands/worktree-auth-commands.d.ts +0 -1
  184. package/dist/cli/commands/worktree-auth-commands.js +0 -1
  185. package/dist/cli/commands/worktree-auth-grant-command.d.ts +0 -1
  186. package/dist/cli/commands/worktree-auth-grant-command.js +0 -1
  187. package/dist/cli/commands/worktree-auth-manage-commands.d.ts +0 -1
  188. package/dist/cli/commands/worktree-auth-manage-commands.js +0 -1
  189. package/dist/cli/commands/worktree-lease-commands.js +0 -1
  190. package/dist/cli/program.js +4 -16
  191. package/dist/reporters/bdd-reporter.js +0 -1
  192. package/dist/services/24h-mode/auto-engage.d.ts +0 -1
  193. package/dist/services/24h-mode/auto-engage.js +0 -1
  194. package/dist/services/24h-mode/decider.d.ts +0 -3
  195. package/dist/services/24h-mode/decider.js +0 -3
  196. package/dist/services/24h-mode/index.d.ts +0 -2
  197. package/dist/services/24h-mode/index.js +0 -2
  198. package/dist/services/24h-mode/state.d.ts +0 -1
  199. package/dist/services/24h-mode/state.js +0 -1
  200. package/dist/services/24h-mode/store.d.ts +0 -1
  201. package/dist/services/24h-mode/store.js +0 -1
  202. package/dist/services/adapter/adapter-registry.js +0 -1
  203. package/dist/services/artifacts/artifact-prerequisites.d.ts +0 -5
  204. package/dist/services/artifacts/artifact-prerequisites.js +0 -19
  205. package/dist/services/artifacts/artifact-templates.d.ts +0 -1
  206. package/dist/services/artifacts/artifact-templates.js +0 -1
  207. package/dist/services/artifacts/request-artifact-service.d.ts +0 -5
  208. package/dist/services/artifacts/request-artifact-service.js +0 -12
  209. package/dist/services/artifacts/request-artifact-state-helpers.d.ts +0 -1
  210. package/dist/services/artifacts/request-artifact-state-helpers.js +0 -1
  211. package/dist/services/audit/artifact-writer.d.ts +0 -1
  212. package/dist/services/audit/artifact-writer.js +0 -1
  213. package/dist/services/audit/decision-writer.js +3 -1
  214. package/dist/services/audit/enforcer-liveness.js +0 -1
  215. package/dist/services/audit/enforcers/active-skill-resolver.d.ts +0 -2
  216. package/dist/services/audit/enforcers/active-skill-resolver.js +0 -2
  217. package/dist/services/audit/red-line-audit-input.d.ts +11 -0
  218. package/dist/services/audit/red-line-audit-input.js +103 -0
  219. package/dist/services/audit/red-line-catalog-p2-a-bee-runtime.d.ts +0 -1
  220. package/dist/services/audit/red-line-catalog-p2-a.js +0 -9
  221. package/dist/services/audit/types.d.ts +0 -2
  222. package/dist/services/audit/types.js +0 -2
  223. package/dist/services/audit-independent/perf-audit-service.d.ts +0 -2
  224. package/dist/services/audit-independent/security-audit-service.d.ts +0 -5
  225. package/dist/services/audit-independent/security-audit-service.js +0 -2
  226. package/dist/services/autonomous-swarm/autonomous-swarm-service.d.ts +0 -5
  227. package/dist/services/autonomous-swarm/autonomous-swarm-service.js +0 -5
  228. package/dist/services/best-practice/language-detector.js +0 -1
  229. package/dist/services/best-practice/output-formatter.d.ts +0 -1
  230. package/dist/services/best-practice/scan-orchestrator.d.ts +0 -1
  231. package/dist/services/capability-audit-service/types.d.ts +1 -3
  232. package/dist/services/capability-guard-runner/contracts/J08.js +2 -2
  233. package/dist/services/changeset/changeset-check-service.d.ts +0 -3
  234. package/dist/services/changeset/changeset-check-service.js +0 -3
  235. package/dist/services/classify/classify-service.d.ts +0 -1
  236. package/dist/services/classify/classify-service.js +0 -1
  237. package/dist/services/classify/classify-types.d.ts +0 -1
  238. package/dist/services/classify/classify-types.js +0 -1
  239. package/dist/services/code/auto-compact-lifecycle.d.ts +0 -11
  240. package/dist/services/code/auto-compact-lifecycle.js +0 -10
  241. package/dist/services/code/auto-compact-modes.d.ts +0 -3
  242. package/dist/services/code/auto-compact-modes.js +0 -3
  243. package/dist/services/code/auto-compact-orchestrator.d.ts +0 -9
  244. package/dist/services/code/auto-compact-orchestrator.js +0 -29
  245. package/dist/services/code/batch-heartbeat-poller.js +0 -1
  246. package/dist/services/code/compact-event-settle.js +0 -1
  247. package/dist/services/code/dag-orchestrator.d.ts +0 -1
  248. package/dist/services/code/dag-orchestrator.js +0 -1
  249. package/dist/services/code/mode-gate-types.d.ts +1 -3
  250. package/dist/services/code/mode-gate-types.js +0 -2
  251. package/dist/services/code/mode-gate.d.ts +0 -5
  252. package/dist/services/code/mode-gate.js +1 -14
  253. package/dist/services/code/orchestrator-can-do-advisories.d.ts +0 -2
  254. package/dist/services/code/orchestrator-can-do-advisories.js +0 -5
  255. package/dist/services/code/orchestrator-can-do.d.ts +0 -4
  256. package/dist/services/code/orchestrator-can-do.js +0 -3
  257. package/dist/services/code/status-line-renderer.js +0 -1
  258. package/dist/services/code/user-touchpoint-classifier.js +0 -7
  259. package/dist/services/code-review/ecc-bridge.d.ts +6 -7
  260. package/dist/services/codegraph/codegraph-autorefresh.js +6 -4
  261. package/dist/services/codegraph/codegraph-backend-advice.d.ts +26 -0
  262. package/dist/services/codegraph/codegraph-backend-advice.js +166 -0
  263. package/dist/services/codegraph/codegraph-config-repair-writer.d.ts +0 -24
  264. package/dist/services/codegraph/codegraph-config-repair-writer.js +32 -73
  265. package/dist/services/codegraph/codegraph-exclude-integrity.d.ts +14 -6
  266. package/dist/services/codegraph/codegraph-exclude-integrity.js +24 -14
  267. package/dist/services/codegraph/codegraph-exclude-reconciler.d.ts +9 -2
  268. package/dist/services/codegraph/codegraph-exclude-reconciler.js +87 -18
  269. package/dist/services/codegraph/codegraph-exclude-repair.d.ts +9 -61
  270. package/dist/services/codegraph/codegraph-exclude-repair.js +67 -139
  271. package/dist/services/codegraph/codegraph-foreign-removal.d.ts +21 -0
  272. package/dist/services/codegraph/codegraph-foreign-removal.js +77 -0
  273. package/dist/services/codegraph/codegraph-index-integrity.d.ts +12 -25
  274. package/dist/services/codegraph/codegraph-index-integrity.js +84 -23
  275. package/dist/services/codegraph/codegraph-preflight-service.js +15 -6
  276. package/dist/services/codegraph/codegraph-project-config.d.ts +35 -0
  277. package/dist/services/codegraph/codegraph-project-config.js +90 -0
  278. package/dist/services/codegraph/codegraph-service.d.ts +1 -2
  279. package/dist/services/codegraph/codegraph-service.js +11 -11
  280. package/dist/services/codegraph/codegraph-upstream-layout.d.ts +24 -0
  281. package/dist/services/codegraph/codegraph-upstream-layout.js +85 -0
  282. package/dist/services/comments/citation-rules.d.ts +154 -0
  283. package/dist/services/comments/citation-rules.js +241 -0
  284. package/dist/services/comments/comment-audit.d.ts +68 -0
  285. package/dist/services/comments/comment-audit.js +121 -0
  286. package/dist/services/comments/comment-citations.d.ts +66 -0
  287. package/dist/services/comments/comment-citations.js +184 -0
  288. package/dist/services/comments/comment-hygiene.d.ts +105 -0
  289. package/dist/services/comments/comment-hygiene.js +170 -0
  290. package/dist/services/comments/comment-prune.d.ts +88 -0
  291. package/dist/services/comments/comment-prune.js +196 -0
  292. package/dist/services/comments/comment-spans.d.ts +30 -0
  293. package/dist/services/comments/comment-spans.js +266 -0
  294. package/dist/services/comments/prune-apply.d.ts +82 -0
  295. package/dist/services/comments/prune-apply.js +217 -0
  296. package/dist/services/comments/repo-path-probe.d.ts +43 -0
  297. package/dist/services/comments/repo-path-probe.js +78 -0
  298. package/dist/services/compact/decision-tables.d.ts +0 -2
  299. package/dist/services/compact/decision-tables.js +0 -2
  300. package/dist/services/compact/request-transition-hook.js +0 -2
  301. package/dist/services/compact-history/compact-history-service.d.ts +0 -2
  302. package/dist/services/compact-history/compact-history-service.js +0 -1
  303. package/dist/services/compact-statusline/compact-lifecycle-store.js +0 -2
  304. package/dist/services/compact-statusline/compact-lifecycle-types.d.ts +0 -1
  305. package/dist/services/compact-statusline/compact-statusline-service.js +0 -4
  306. package/dist/services/config/config-rollback.js +0 -1
  307. package/dist/services/config/config-safety.d.ts +0 -1
  308. package/dist/services/config/config-safety.js +0 -1
  309. package/dist/services/config/config-service.d.ts +0 -1
  310. package/dist/services/config/config-service.js +0 -1
  311. package/dist/services/config/model-routing.d.ts +0 -3
  312. package/dist/services/config/model-routing.js +0 -5
  313. package/dist/services/container/container-lease.d.ts +0 -1
  314. package/dist/services/container/container-lease.js +0 -1
  315. package/dist/services/context/artifact-meta.js +0 -1
  316. package/dist/services/context/auto-compact-dispatcher-input.d.ts +0 -3
  317. package/dist/services/context/auto-compact-dispatcher.js +0 -14
  318. package/dist/services/context/auto-compact-reader-input.d.ts +0 -1
  319. package/dist/services/context/auto-compact-reader.d.ts +0 -2
  320. package/dist/services/context/auto-compact-reader.js +0 -7
  321. package/dist/services/context/auto-compact-types.d.ts +0 -11
  322. package/dist/services/context/auto-compact-types.js +0 -1
  323. package/dist/services/context/build-dispatch-system-prompt.d.ts +11 -29
  324. package/dist/services/context/build-dispatch-system-prompt.js +8 -27
  325. package/dist/services/context/codegraph-unavailable-block.d.ts +38 -0
  326. package/dist/services/context/codegraph-unavailable-block.js +77 -0
  327. package/dist/services/context/context-audit-hint.d.ts +0 -1
  328. package/dist/services/context/context-audit-hint.js +0 -1
  329. package/dist/services/context/context-audit.d.ts +0 -1
  330. package/dist/services/context/context-audit.js +0 -1
  331. package/dist/services/context/harness-window-config.d.ts +0 -4
  332. package/dist/services/context/harness-window-config.js +0 -4
  333. package/dist/services/context/main-session-monitor.d.ts +0 -2
  334. package/dist/services/context/main-session-monitor.js +0 -2
  335. package/dist/services/context/memory-index-reader.d.ts +0 -2
  336. package/dist/services/context/memory-index-reader.js +0 -1
  337. package/dist/services/context/memory-preflight-config.d.ts +0 -1
  338. package/dist/services/context/memory-preflight-service.d.ts +0 -1
  339. package/dist/services/context/memory-preflight-service.js +0 -3
  340. package/dist/services/context/memory-preflight-support.d.ts +0 -5
  341. package/dist/services/context/post-compact-reinjection.d.ts +0 -1
  342. package/dist/services/context/post-compact-reinjection.js +0 -1
  343. package/dist/services/context/summary-view.d.ts +0 -1
  344. package/dist/services/context/summary-view.js +0 -1
  345. package/dist/services/crystallization/crystallization-service.d.ts +5 -11
  346. package/dist/services/crystallization/crystallization-service.js +3 -11
  347. package/dist/services/crystallization/crystallization-store.d.ts +6 -6
  348. package/dist/services/dispatch/await-batch-helpers.js +0 -3
  349. package/dist/services/dispatch/await-batch.d.ts +0 -1
  350. package/dist/services/dispatch/await-batch.js +0 -4
  351. package/dist/services/dispatch/batch-counter.js +0 -1
  352. package/dist/services/dispatch/conflict-replay.d.ts +0 -1
  353. package/dist/services/dispatch/conflict-replay.js +0 -1
  354. package/dist/services/dispatch/contract-store.d.ts +0 -2
  355. package/dist/services/dispatch/contract-store.js +0 -2
  356. package/dist/services/dispatch/dispatch-record-input-types.d.ts +0 -2
  357. package/dist/services/dispatch/dispatch-record-types.d.ts +0 -10
  358. package/dist/services/dispatch/dispatch-record-upgrade-fields.js +0 -7
  359. package/dist/services/dispatch/dispatch-record-upgrade-guards.js +0 -2
  360. package/dist/services/dispatch/dispatch-record-writer.d.ts +0 -5
  361. package/dist/services/dispatch/dispatch-record-writer.js +0 -21
  362. package/dist/services/dispatch/dispatch-sub-agent.d.ts +0 -1
  363. package/dist/services/dispatch/dispatch-sub-agent.js +0 -1
  364. package/dist/services/dispatch/e2e-fixtures.js +0 -1
  365. package/dist/services/dispatch/file-overlap-wave-planner.d.ts +0 -1
  366. package/dist/services/dispatch/file-overlap-wave-planner.js +0 -1
  367. package/dist/services/dispatch/isolation-lease.d.ts +0 -2
  368. package/dist/services/dispatch/isolation-lease.js +0 -2
  369. package/dist/services/dispatch/service-shutdown.js +0 -1
  370. package/dist/services/dispatch/session-capsule.js +0 -1
  371. package/dist/services/dispatch/slice-dag-types.d.ts +0 -1
  372. package/dist/services/dispatch/slice-dag.js +0 -2
  373. package/dist/services/dispatch/stage-enum.d.ts +0 -1
  374. package/dist/services/dispatch/stage-enum.js +0 -1
  375. package/dist/services/dispatch/startup-timeout.d.ts +0 -1
  376. package/dist/services/dispatch/sub-agent-batch-await.js +0 -3
  377. package/dist/services/dispatch/sub-agent-dispatcher-types.d.ts +0 -1
  378. package/dist/services/dispatch/sub-agent-dispatcher.js +0 -2
  379. package/dist/services/dispatch/test-tool-detection.d.ts +0 -3
  380. package/dist/services/dispatch/test-tool-detection.js +0 -2
  381. package/dist/services/doctor/doctor-service/checks/codegraph-capability.js +19 -12
  382. package/dist/services/doctor/doctor-service/checks/codegraph-index-integrity.js +1 -2
  383. package/dist/services/doctor/doctor-service/checks/l3-memory-health.d.ts +0 -2
  384. package/dist/services/doctor/doctor-service/checks/l3-memory-health.js +0 -2
  385. package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.d.ts +0 -1
  386. package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.js +0 -1
  387. package/dist/services/doctor/doctor-service/checks/multi-binary-drift.d.ts +0 -1
  388. package/dist/services/doctor/doctor-service/checks/multi-binary-drift.js +0 -3
  389. package/dist/services/doctor/doctor-service/checks/workspace-layout.js +0 -2
  390. package/dist/services/doctor/doctor-service/index.d.ts +0 -1
  391. package/dist/services/doctor/doctor-service/index.js +0 -1
  392. package/dist/services/doctor/doctor-service/plugin-registry.d.ts +0 -2
  393. package/dist/services/doctor/doctor-service/plugin-registry.js +0 -2
  394. package/dist/services/doctor/doctor-service/probe-types.d.ts +0 -4
  395. package/dist/services/doctor/doctor-service/report/final-summary.d.ts +0 -1
  396. package/dist/services/doctor/doctor-service/report/final-summary.js +0 -1
  397. package/dist/services/doctor/doctor-service/types.d.ts +0 -5
  398. package/dist/services/doctor/doctor-service/types.js +0 -1
  399. package/dist/services/doctor/doctor-service.d.ts +0 -1
  400. package/dist/services/doctor/doctor-service.js +0 -2
  401. package/dist/services/env/shell-probe.js +0 -1
  402. package/dist/services/evidence/evidence-generator.js +0 -8
  403. package/dist/services/evolution/evolution-constraints.d.ts +0 -2
  404. package/dist/services/evolution/evolution-constraints.js +0 -2
  405. package/dist/services/evolution/evolution-service.d.ts +2 -12
  406. package/dist/services/evolution/evolution-service.js +0 -9
  407. package/dist/services/evolution/evolution-store.d.ts +6 -8
  408. package/dist/services/evolution/evolution-store.js +1 -3
  409. package/dist/services/evolution/evolution-types.d.ts +0 -2
  410. package/dist/services/evolution/evolution-types.js +0 -6
  411. package/dist/services/evolution/independent-evaluator-runner.d.ts +0 -3
  412. package/dist/services/evolution/independent-evaluator-runner.js +0 -1
  413. package/dist/services/evolution/regression-skeptic-runner.d.ts +0 -1
  414. package/dist/services/feedback/feedback-promotion-service.d.ts +0 -8
  415. package/dist/services/feedback/feedback-promotion-service.js +0 -10
  416. package/dist/services/feedback/promotion-artifact-evidence.d.ts +0 -1
  417. package/dist/services/feedback/promotion-artifact-evidence.js +0 -1
  418. package/dist/services/final-review/final-review-evidence-budget.d.ts +0 -3
  419. package/dist/services/final-review/final-review-evidence-budget.js +0 -5
  420. package/dist/services/final-review/final-review-evidence-sources.d.ts +0 -1
  421. package/dist/services/final-review/final-review-evidence-sources.js +0 -1
  422. package/dist/services/final-review/final-review-output-budget.d.ts +0 -1
  423. package/dist/services/final-review/final-review-output-budget.js +0 -3
  424. package/dist/services/final-review/final-review-service.d.ts +0 -1
  425. package/dist/services/final-review/final-review-service.js +0 -1
  426. package/dist/services/fixture/fixture-capture-service.js +0 -1
  427. package/dist/services/fixture/fixture-sanitize-service.d.ts +0 -3
  428. package/dist/services/fixture/fixture-sanitize-service.js +0 -3
  429. package/dist/services/fresh-context/config.js +0 -1
  430. package/dist/services/fresh-context/fresh-context-block.js +0 -1
  431. package/dist/services/fresh-context/trigger-scan.d.ts +0 -1
  432. package/dist/services/fresh-context/trigger-scan.js +0 -1
  433. package/dist/services/fuzzy-matching/fzf-pick-service.d.ts +0 -1
  434. package/dist/services/fuzzy-matching/fzf-pick-service.js +0 -1
  435. package/dist/services/handoff/handoff-parser.d.ts +0 -1
  436. package/dist/services/handoff/handoff-parser.js +0 -1
  437. package/dist/services/handoff/handoff-types.d.ts +0 -1
  438. package/dist/services/handoff/handoff-types.js +0 -1
  439. package/dist/services/handoff/handoff-writer.d.ts +0 -1
  440. package/dist/services/handoff/handoff-writer.js +0 -1
  441. package/dist/services/hooks/auto-compact-hook-install.d.ts +0 -1
  442. package/dist/services/hooks/auto-compact-hook-install.js +0 -1
  443. package/dist/services/hooks/output.d.ts +0 -1
  444. package/dist/services/hooks/output.js +0 -1
  445. package/dist/services/hooks/pre-tool-code-gate.d.ts +0 -1
  446. package/dist/services/hooks/pre-tool-code-gate.js +0 -1
  447. package/dist/services/hooks/presence-marker-detector.js +0 -1
  448. package/dist/services/hooks/worktree-authorization-gate.d.ts +0 -3
  449. package/dist/services/hooks/worktree-authorization-gate.js +0 -1
  450. package/dist/services/ide/adapters/claude-code-adapter.d.ts +0 -5
  451. package/dist/services/ide/adapters/claude-code-adapter.js +0 -11
  452. package/dist/services/ide/adapters/qoder-adapter.d.ts +0 -3
  453. package/dist/services/ide/adapters/qoder-adapter.js +0 -5
  454. package/dist/services/ide/adapters/tongyi-lingma-adapter.d.ts +0 -2
  455. package/dist/services/ide/adapters/tongyi-lingma-adapter.js +0 -2
  456. package/dist/services/ide/adapters/trae-adapter.d.ts +0 -3
  457. package/dist/services/ide/adapters/trae-adapter.js +3 -6
  458. package/dist/services/ide/adapters/zcode-adapter.js +0 -2
  459. package/dist/services/ide/current-model-detector.js +0 -1
  460. package/dist/services/ide/hook-protocol.d.ts +0 -2
  461. package/dist/services/ide/hook-protocol.js +0 -2
  462. package/dist/services/ide/ide-compact-types.d.ts +0 -7
  463. package/dist/services/ide/ide-types.d.ts +0 -12
  464. package/dist/services/ide/resource-profile.d.ts +0 -1
  465. package/dist/services/job/job-commit-verification.d.ts +0 -2
  466. package/dist/services/job/job-commit-verification.js +0 -2
  467. package/dist/services/job/job-orchestrator.d.ts +0 -1
  468. package/dist/services/job/job-orchestrator.js +0 -1
  469. package/dist/services/job/job-progress-store.d.ts +0 -2
  470. package/dist/services/job/job-progress-store.js +0 -3
  471. package/dist/services/job/job-types.js +0 -1
  472. package/dist/services/job-snapshot/snapshot.js +0 -1
  473. package/dist/services/karpathy-cost/karpathy-cost-check-service.js +0 -1
  474. package/dist/services/legacy/legacy-detector.js +0 -1
  475. package/dist/services/log/log-commands-service.d.ts +0 -2
  476. package/dist/services/log/log-commands-service.js +0 -2
  477. package/dist/services/log/logger.d.ts +0 -1
  478. package/dist/services/log/logger.js +0 -1
  479. package/dist/services/log/redact.d.ts +0 -1
  480. package/dist/services/log/redact.js +0 -1
  481. package/dist/services/log/retention.d.ts +0 -17
  482. package/dist/services/log/retention.js +0 -18
  483. package/dist/services/loop/loop-bee-relation-service.d.ts +3 -3
  484. package/dist/services/loop/loop-bee-relation-service.js +14 -13
  485. package/dist/services/loop/loop-bee-relation-store.d.ts +9 -10
  486. package/dist/services/loop/loop-bee-relation-store.js +1 -2
  487. package/dist/services/loop/loop-bee-relation-types.d.ts +1 -1
  488. package/dist/services/loop/loop-bee-relation-types.js +1 -1
  489. package/dist/services/loop/loop-release-service.d.ts +3 -3
  490. package/dist/services/loop/loop-release-service.js +1 -1
  491. package/dist/services/loop/loop-release-store.d.ts +6 -7
  492. package/dist/services/loop/loop-release-store.js +0 -1
  493. package/dist/services/loop/monotonic-guard.d.ts +0 -1
  494. package/dist/services/loop/monotonic-guard.js +0 -1
  495. package/dist/services/memory/memory-ingest-service.js +0 -1
  496. package/dist/services/memory/project-context-service.d.ts +0 -1
  497. package/dist/services/memory/project-context-service.js +0 -1
  498. package/dist/services/memory/project-memory-service/index/reindex.d.ts +0 -2
  499. package/dist/services/memory/project-memory-service/index/reindex.js +0 -1
  500. package/dist/services/memory/project-memory-service/index/search.d.ts +0 -1
  501. package/dist/services/memory/project-memory-service/index/search.js +0 -1
  502. package/dist/services/memory/project-memory-service/index.d.ts +1 -1
  503. package/dist/services/memory/project-memory-service/index.js +1 -1
  504. package/dist/services/memory/project-memory-service/memory-kinds.d.ts +0 -1
  505. package/dist/services/memory/project-memory-service/memory-kinds.js +0 -1
  506. package/dist/services/memory/project-memory-service/parsers/frontmatter.d.ts +0 -1
  507. package/dist/services/memory/project-memory-service/parsers/frontmatter.js +0 -1
  508. package/dist/services/memory/project-memory-service/store/atomic-write.d.ts +19 -7
  509. package/dist/services/memory/project-memory-service/store/atomic-write.js +120 -26
  510. package/dist/services/memory/project-memory-service.js +0 -1
  511. package/dist/services/mode/mode-enforcement.js +0 -1
  512. package/dist/services/mode/mode-status-service.d.ts +0 -2
  513. package/dist/services/mode/mode-status-service.js +0 -2
  514. package/dist/services/observability/aggregation.d.ts +0 -4
  515. package/dist/services/observability/aggregation.js +0 -6
  516. package/dist/services/observability/observability-schema.js +0 -1
  517. package/dist/services/observability/observability-service.d.ts +0 -5
  518. package/dist/services/observability/observability-service.js +0 -4
  519. package/dist/services/observability/report-formatter.d.ts +0 -2
  520. package/dist/services/observability/report-formatter.js +0 -2
  521. package/dist/services/openspec/artifact-boundary.d.ts +0 -4
  522. package/dist/services/openspec/artifact-boundary.js +0 -4
  523. package/dist/services/openspec/coverage-evidence-reader.d.ts +0 -1
  524. package/dist/services/openspec/coverage-evidence-reader.js +0 -1
  525. package/dist/services/polyrepo/polyrepo-dispatcher.js +0 -1
  526. package/dist/services/polyrepo/polyrepo-scanner.js +0 -1
  527. package/dist/services/polyrepo/polyrepo-service.js +0 -1
  528. package/dist/services/polyrepo/polyrepo-types.d.ts +0 -1
  529. package/dist/services/prd/best-practice-auto-trigger.d.ts +0 -2
  530. package/dist/services/prd/best-practice-auto-trigger.js +0 -2
  531. package/dist/services/prd/gate-evidence-derivation.d.ts +0 -4
  532. package/dist/services/prd/gate-evidence-derivation.js +0 -5
  533. package/dist/services/prd/handoff-auto-regen.js +0 -5
  534. package/dist/services/prd/handoff-frontmatter-shape.d.ts +0 -2
  535. package/dist/services/prd/handoff-frontmatter-shape.js +0 -2
  536. package/dist/services/prd/handoff-frontmatter.d.ts +0 -1
  537. package/dist/services/prd/handoff-frontmatter.js +61 -2
  538. package/dist/services/prd/handoff-gate-evidence.d.ts +0 -1
  539. package/dist/services/prd/handoff-gate-evidence.js +12 -12
  540. package/dist/services/prd/handoff-path-resolution.d.ts +0 -7
  541. package/dist/services/prd/handoff-path-resolution.js +0 -10
  542. package/dist/services/prd/handoff-service.d.ts +11 -3
  543. package/dist/services/prd/handoff-service.js +11 -3
  544. package/dist/services/prd/handoff-types.d.ts +33 -3
  545. package/dist/services/prd/handoff-types.js +0 -1
  546. package/dist/services/prd/project-scan-bootstrap-service.d.ts +0 -1
  547. package/dist/services/prd/project-scan-bootstrap-service.js +0 -4
  548. package/dist/services/prd/project-scan-types.d.ts +0 -1
  549. package/dist/services/prd/project-scan-types.js +0 -1
  550. package/dist/services/preferences/preferences-service.d.ts +0 -1
  551. package/dist/services/preferences/preferences-service.js +0 -5
  552. package/dist/services/preferences/preferences-types.d.ts +0 -14
  553. package/dist/services/preferences/preferences-types.js +0 -4
  554. package/dist/services/progress/progress-service.js +0 -1
  555. package/dist/services/qa/bdd-test-style-verifier.d.ts +0 -1
  556. package/dist/services/qa/bdd-test-style-verifier.js +0 -1
  557. package/dist/services/qa/browser-event-logger.d.ts +0 -1
  558. package/dist/services/qa/browser-event-logger.js +0 -1
  559. package/dist/services/qa/browser-restart-detector.d.ts +0 -1
  560. package/dist/services/qa/browser-restart-detector.js +0 -1
  561. package/dist/services/qa/browser-reuse-hint.d.ts +0 -1
  562. package/dist/services/qa/browser-reuse-hint.js +0 -1
  563. package/dist/services/qa/qa-business-review-state.js +0 -2
  564. package/dist/services/qa/screenshot-archive-service.d.ts +0 -1
  565. package/dist/services/qa/screenshot-archive-service.js +0 -1
  566. package/dist/services/rd/impl.js +0 -1
  567. package/dist/services/rd/rd-service.d.ts +0 -5
  568. package/dist/services/rd/rd-service.js +0 -5
  569. package/dist/services/rd/reviewer-dispatch-policy.d.ts +0 -4
  570. package/dist/services/rd/reviewer-dispatch-policy.js +0 -4
  571. package/dist/services/rd/standards-diagnostic.js +0 -1
  572. package/dist/services/rd/tactical-stage.js +0 -1
  573. package/dist/services/rd-swarm/rd-swarm-types.d.ts +0 -1
  574. package/dist/services/rd-swarm/rd-swarm-types.js +0 -1
  575. package/dist/services/recommendations/installed-capability-detector.d.ts +5 -6
  576. package/dist/services/recommendations/installed-capability-detector.js +11 -11
  577. package/dist/services/release/version-precheck-service.d.ts +0 -2
  578. package/dist/services/release/version-precheck-service.js +0 -3
  579. package/dist/services/retrospective/retrospective-index.d.ts +0 -1
  580. package/dist/services/retrospective/retrospective-index.js +0 -1
  581. package/dist/services/retrospective/retrospective-show.d.ts +0 -1
  582. package/dist/services/retrospective/retrospective-show.js +0 -1
  583. package/dist/services/reviewer/model-family.js +0 -1
  584. package/dist/services/reviewer/reviewer-config.js +0 -1
  585. package/dist/services/reviewer/reviewer-service.d.ts +0 -1
  586. package/dist/services/reviewer/reviewer-service.js +0 -3
  587. package/dist/services/reviewer/selection-strategies.js +0 -1
  588. package/dist/services/runtime/runtime-detector.js +0 -1
  589. package/dist/services/runtime/runtime-service.d.ts +0 -2
  590. package/dist/services/runtime/vendor-adapter.d.ts +0 -7
  591. package/dist/services/runtime/vendors/claude-code.js +0 -1
  592. package/dist/services/runtime/vendors/codex.js +0 -1
  593. package/dist/services/runtime/vendors/copilot.js +0 -1
  594. package/dist/services/sc/sc-service.js +0 -6
  595. package/dist/services/scan/acceptance-coverage-service.js +0 -2
  596. package/dist/services/scan/api-diff-recorded.d.ts +0 -1
  597. package/dist/services/scan/api-diff-recorded.js +0 -1
  598. package/dist/services/scan/api-diff-service.d.ts +0 -1
  599. package/dist/services/scan/api-diff-service.js +0 -1
  600. package/dist/services/scan/api-diff-types.d.ts +0 -1
  601. package/dist/services/scan/api-diff-types.js +0 -1
  602. package/dist/services/scan/archetype-detection.d.ts +37 -0
  603. package/dist/services/scan/archetype-detection.js +175 -2
  604. package/dist/services/scan/archetype-service.js +36 -23
  605. package/dist/services/scan/file-size-policy.d.ts +0 -1
  606. package/dist/services/scan/file-size-policy.js +0 -5
  607. package/dist/services/scan/file-size-scan.d.ts +0 -1
  608. package/dist/services/scan/scan-types.d.ts +9 -0
  609. package/dist/services/security/safe-settings-path.js +0 -1
  610. package/dist/services/session/binding-store.d.ts +0 -4
  611. package/dist/services/session/binding-store.js +0 -7
  612. package/dist/services/session/caller-binding-service.d.ts +0 -6
  613. package/dist/services/session/caller-binding-service.js +0 -4
  614. package/dist/services/session/caller-id-types.d.ts +0 -3
  615. package/dist/services/session/caller-id-types.js +0 -2
  616. package/dist/services/session/getSessionDir.js +0 -1
  617. package/dist/services/session/index.js +0 -1
  618. package/dist/services/session/platform-fallbacks.d.ts +0 -3
  619. package/dist/services/session/platform-fallbacks.js +0 -3
  620. package/dist/services/session/resolve-caller-id.d.ts +0 -2
  621. package/dist/services/session/resolve-caller-id.js +0 -2
  622. package/dist/services/session/session-binding-bridge.d.ts +0 -2
  623. package/dist/services/session/session-binding-bridge.js +0 -15
  624. package/dist/services/session/session-checkpoint-service.d.ts +0 -1
  625. package/dist/services/session/session-checkpoint-service.js +0 -1
  626. package/dist/services/session/session-manager.d.ts +0 -8
  627. package/dist/services/session/session-manager.js +0 -19
  628. package/dist/services/session/session-resume-service.d.ts +0 -1
  629. package/dist/services/session/session-resume-service.js +0 -1
  630. package/dist/services/share/bundle-reader.d.ts +2 -5
  631. package/dist/services/share/bundle-reader.js +6 -8
  632. package/dist/services/share/bundle-writer.d.ts +2 -2
  633. package/dist/services/skill/resume-detector.js +0 -3
  634. package/dist/services/skill/skill-scheduler.d.ts +0 -1
  635. package/dist/services/skill/skill-scheduler.js +0 -1
  636. package/dist/services/skill/skill-search-service.d.ts +0 -2
  637. package/dist/services/skill/skill-search-service.js +0 -2
  638. package/dist/services/skillhub/release-diff.d.ts +2 -2
  639. package/dist/services/skillhub/release-export.d.ts +2 -2
  640. package/dist/services/skillhub/release-gc-blobs.d.ts +2 -2
  641. package/dist/services/skillhub/release-import.d.ts +2 -2
  642. package/dist/services/skillhub/release-import.js +2 -1
  643. package/dist/services/skillhub/release-retain.d.ts +2 -2
  644. package/dist/services/skillhub/release-retain.js +2 -1
  645. package/dist/services/skillhub/sqlite-store.d.ts +3 -3
  646. package/dist/services/skillhub/sqlite-store.js +4 -5
  647. package/dist/services/skills/hooks-codegate-superpowers.d.ts +0 -3
  648. package/dist/services/skills/hooks-codegate-superpowers.js +0 -14
  649. package/dist/services/skills/hooks-settings-service.d.ts +0 -2
  650. package/dist/services/skills/hooks-settings-service.js +0 -6
  651. package/dist/services/skills/presence-lease-service.d.ts +0 -1
  652. package/dist/services/skills/presence-lease-service.js +0 -1
  653. package/dist/services/skills/session-start-hook-constants.d.ts +0 -4
  654. package/dist/services/skills/session-start-hook-constants.js +0 -4
  655. package/dist/services/skills/skill-presence-service.d.ts +0 -8
  656. package/dist/services/skills/skill-presence-service.js +0 -13
  657. package/dist/services/skills/skill-statusline-model.d.ts +0 -6
  658. package/dist/services/skills/skill-statusline-model.js +1 -4
  659. package/dist/services/skills/skill-statusline-renderer.d.ts +0 -1
  660. package/dist/services/skills/skill-statusline-renderer.js +0 -12
  661. package/dist/services/skills/skill-statusline-service.js +0 -6
  662. package/dist/services/skills/skill-statusline-sid-suffix.d.ts +0 -2
  663. package/dist/services/skills/skill-statusline-sid-suffix.js +0 -2
  664. package/dist/services/skills/statusline-palette.d.ts +0 -2
  665. package/dist/services/skills/statusline-palette.js +0 -3
  666. package/dist/services/slice/slice-archive-service.js +0 -1
  667. package/dist/services/slice/slice-benchmark-service.d.ts +0 -1
  668. package/dist/services/slice/slice-benchmark-service.js +0 -1
  669. package/dist/services/slice/slice-check-service.js +0 -6
  670. package/dist/services/slice/slice-check-types.d.ts +0 -1
  671. package/dist/services/slice/slice-pick-service.d.ts +0 -1
  672. package/dist/services/slice/slice-pick-service.js +0 -1
  673. package/dist/services/slice/slice-review-state.js +0 -2
  674. package/dist/services/sqlite/sqlite-driver.d.ts +118 -0
  675. package/dist/services/sqlite/sqlite-driver.js +159 -0
  676. package/dist/services/standards/ide-aware-standards-service.d.ts +0 -2
  677. package/dist/services/standards/ide-aware-standards-service.js +0 -1
  678. package/dist/services/standards/loop-engineering-readiness-lint.d.ts +0 -1
  679. package/dist/services/standards/loop-engineering-readiness-lint.js +0 -1
  680. package/dist/services/standards/migrate-claude-rules-service.js +0 -3
  681. package/dist/services/standards/migrate-service.d.ts +0 -1
  682. package/dist/services/standards/migrate-service.js +0 -1
  683. package/dist/services/standards/missing-standards-detector.d.ts +0 -2
  684. package/dist/services/standards/missing-standards-detector.js +0 -3
  685. package/dist/services/standards/project-standards-service.d.ts +0 -1
  686. package/dist/services/standards/project-standards-service.js +0 -1
  687. package/dist/services/standards/standards-render.d.ts +0 -1
  688. package/dist/services/standards/standards-render.js +0 -1
  689. package/dist/services/standards/ui-library-dispatch-block.d.ts +0 -1
  690. package/dist/services/standards/ui-library-dispatch-block.js +0 -1
  691. package/dist/services/tech/tech-change-id-service.d.ts +0 -7
  692. package/dist/services/tech/tech-change-id-service.js +0 -7
  693. package/dist/services/tech/tech-service.js +0 -5
  694. package/dist/services/verdict/envelope-parsers.d.ts +0 -2
  695. package/dist/services/verdict/envelope-parsers.js +0 -2
  696. package/dist/services/verdict/envelopes.d.ts +0 -1
  697. package/dist/services/vm/vm-lease.js +0 -1
  698. package/dist/services/web/aria-node.d.ts +0 -1
  699. package/dist/services/web/bounded-output.d.ts +0 -1
  700. package/dist/services/web/bounded-output.js +0 -1
  701. package/dist/services/web/browser-acquire.js +0 -1
  702. package/dist/services/web/browser-cache-probe.js +0 -1
  703. package/dist/services/web/browser-session-manager.js +0 -1
  704. package/dist/services/web/daemon-entry.js +0 -1
  705. package/dist/services/web/daemon-registry.js +0 -1
  706. package/dist/services/web/daemon-supervisor.d.ts +4 -3
  707. package/dist/services/web/daemon-supervisor.js +4 -4
  708. package/dist/services/web/playwright-loader.js +0 -1
  709. package/dist/services/web/playwright-types.d.ts +0 -1
  710. package/dist/services/web/snapshot-pruner.js +0 -1
  711. package/dist/services/web/untrusted-envelope.d.ts +0 -1
  712. package/dist/services/web/web-artifact-paths.js +0 -1
  713. package/dist/services/web/web-client.d.ts +0 -1
  714. package/dist/services/web/web-daemon-service.js +0 -1
  715. package/dist/services/web/web-fallback.d.ts +0 -1
  716. package/dist/services/web/web-fallback.js +0 -1
  717. package/dist/services/web/web-install-service.js +0 -1
  718. package/dist/services/web/web-login-profile.js +0 -1
  719. package/dist/services/web/web-protocol.d.ts +0 -1
  720. package/dist/services/web/web-protocol.js +0 -1
  721. package/dist/services/web/web-status-report.js +0 -1
  722. package/dist/services/workflow/artifact-paths.js +0 -3
  723. package/dist/services/workflow/autonomous-resume-writer.js +0 -2
  724. package/dist/services/workflow/pipeline-verify-gate-support.d.ts +0 -5
  725. package/dist/services/workflow/pipeline-verify-gate-support.js +0 -11
  726. package/dist/services/workflow/pipeline-verify-service.d.ts +0 -2
  727. package/dist/services/workflow/pipeline-verify-service.js +0 -15
  728. package/dist/services/workflow/pipeline-verify-types.d.ts +0 -10
  729. package/dist/services/workflow/pipeline-verify-types.js +0 -2
  730. package/dist/services/workflow/plan-reader.d.ts +0 -1
  731. package/dist/services/workflow/plan-reader.js +0 -5
  732. package/dist/services/workflow/plan-refresher.js +0 -2
  733. package/dist/services/workflow/plan-trigger-detector.d.ts +0 -2
  734. package/dist/services/workflow/plan-trigger-detector.js +0 -3
  735. package/dist/services/workflow/workflow-autonomous-resume-helpers.js +0 -5
  736. package/dist/services/workflow/workflow-autonomous-service.js +0 -2
  737. package/dist/services/workflow/workflow-autonomous-types.d.ts +0 -2
  738. package/dist/services/workflow/workflow-autonomous-types.js +0 -2
  739. package/dist/services/workflow/workflow-graph-types.d.ts +0 -1
  740. package/dist/services/workflow/workflow-graph-types.js +0 -1
  741. package/dist/services/workflow/workflow-router-service.js +0 -4
  742. package/dist/services/workflow/workflow-skip-service.d.ts +0 -1
  743. package/dist/services/workflow/workflow-skip-service.js +0 -1
  744. package/dist/services/workflow/workflow-spec-lint.d.ts +0 -2
  745. package/dist/services/workflow/workflow-spec-lint.js +0 -2
  746. package/dist/services/workflow/workflow-spec-types.d.ts +0 -1
  747. package/dist/services/workflow/workflow-spec-types.js +0 -1
  748. package/dist/services/workflow/workflow-spec-yaml.d.ts +0 -2
  749. package/dist/services/workflow/workflow-spec-yaml.js +0 -2
  750. package/dist/services/workflow/workflow-spec.js +0 -1
  751. package/dist/services/workflow/workflow-state-store.js +0 -1
  752. package/dist/services/workspace/claude-settings-template.d.ts +0 -4
  753. package/dist/services/workspace/claude-settings-template.js +0 -4
  754. package/dist/services/workspace/generated-artifacts-stamp.d.ts +2 -2
  755. package/dist/services/workspace/generated-artifacts-stamp.js +2 -2
  756. package/dist/services/workspace/migrate-1-4-1-service.d.ts +0 -1
  757. package/dist/services/workspace/migrate-1-4-1-service.js +0 -1
  758. package/dist/services/workspace/migrate-service.js +0 -8
  759. package/dist/services/workspace/migrate-types.d.ts +0 -4
  760. package/dist/services/workspace/migrate-types.js +0 -1
  761. package/dist/services/workspace/reconcile-migrate.d.ts +0 -3
  762. package/dist/services/workspace/reconcile-migrate.js +0 -5
  763. package/dist/services/workspace/reconcile-service.d.ts +0 -3
  764. package/dist/services/workspace/reconcile-service.js +0 -7
  765. package/dist/services/workspace/reconcile-types.d.ts +0 -5
  766. package/dist/services/workspace/sid-naming-guard.d.ts +0 -1
  767. package/dist/services/workspace/sid-naming-guard.js +0 -1
  768. package/dist/services/workspace/templates/project-scan/index.d.ts +0 -3
  769. package/dist/services/workspace/templates/project-scan/index.js +0 -3
  770. package/dist/services/workspace/workspace-claude-settings-materializer.d.ts +0 -1
  771. package/dist/services/workspace/workspace-claude-settings-materializer.js +0 -4
  772. package/dist/services/workspace/workspace-service.d.ts +0 -7
  773. package/dist/services/workspace/workspace-service.js +1 -17
  774. package/dist/services/worktree/playwright-profile.js +0 -1
  775. package/dist/services/worktree/worktree-lease-types.d.ts +0 -1
  776. package/dist/services/worktree/worktree-lease-types.js +0 -1
  777. package/dist/services/worktree/worktree-lease.d.ts +0 -2
  778. package/dist/services/worktree/worktree-lease.js +0 -2
  779. package/dist/shared/format-md-compact.d.ts +0 -2
  780. package/dist/shared/format-md-compact.js +0 -2
  781. package/dist/shared/incrementing-number.d.ts +0 -1
  782. package/dist/shared/incrementing-number.js +0 -1
  783. package/dist/shared/path-utils.d.ts +0 -1
  784. package/dist/shared/path-utils.js +0 -1
  785. package/dist/shared/runtime-root.d.ts +0 -1
  786. package/dist/shared/runtime-root.js +0 -1
  787. package/dist/shared/stale-policy.d.ts +0 -1
  788. package/dist/shared/stale-policy.js +0 -1
  789. package/package.json +12 -10
  790. package/scripts/canonical-store-link.mjs +296 -0
  791. package/scripts/canonical-store-prune.mjs +131 -0
  792. package/scripts/canonical-store.mjs +298 -0
  793. package/scripts/install-skills.mjs +175 -560
  794. package/skills/bee/peaks-qa/references/reading-handoff-frontmatter.md +3 -1
  795. package/skills/bee/peaks-rd/references/parallel-review-fanout.md +1 -1
  796. package/skills/bee/peaks-rd/references/rd-fanout-contracts.md +3 -2
  797. package/skills/bee/peaks-rd/references/writing-handoff-frontmatter.md +29 -7
  798. package/skills/peaks-audit/SKILL.md +3 -3
  799. package/skills/peaks-code/references/frontend-only-mode.md +2 -2
  800. package/skills/peaks-code/references/startup-sequence.md +0 -4
  801. package/dist/cli/commands/upgrade-commands.d.ts +0 -25
  802. package/dist/cli/commands/upgrade-commands.js +0 -154
  803. package/dist/services/codegraph/codegraph-include-reconciler.d.ts +0 -10
  804. package/dist/services/codegraph/codegraph-include-reconciler.js +0 -160
  805. package/dist/services/upgrade/1x-detector-service.d.ts +0 -7
  806. package/dist/services/upgrade/1x-detector-service.js +0 -96
  807. package/dist/services/upgrade/gitignore-migrate-service.d.ts +0 -56
  808. package/dist/services/upgrade/gitignore-migrate-service.js +0 -170
  809. package/dist/services/upgrade/upgrade-service.d.ts +0 -81
  810. package/dist/services/upgrade/upgrade-service.js +0 -428
  811. package/skills/peaks-code/references/step-0-55-1x-detection.md +0 -83
@@ -1,4 +1,4 @@
1
- import type Database from 'better-sqlite3';
1
+ import type { SqliteDatabase } from '../sqlite/sqlite-driver.js';
2
2
  import type { LoopBeeRelation, LoopBeeRelationRole } from './loop-bee-relation-types.js';
3
3
  /**
4
4
  * Low-level SQLite access for the `loop_bee_relation` table. The
@@ -10,13 +10,12 @@ import type { LoopBeeRelation, LoopBeeRelationRole } from './loop-bee-relation-t
10
10
  *
11
11
  * Defense in depth:
12
12
  * - FK constraints enforce loop_release and bee_release referential
13
- * integrity (better-sqlite3 + foreign_keys = ON).
13
+ * integrity (foreign_keys = ON, applied by `openStateDb`).
14
14
  * - Partial unique index `WHERE role = 'main'` enforces "at most one
15
15
  * main bee per loop" at the storage layer (the service layer adds
16
16
  * a friendlier error path on top).
17
17
  * - UNIQUE (loop_release_id, bee_release_id) prevents accidental
18
18
  * duplicate relations between the same loop and same bee release.
19
- * - The migration does NOT touch any 4.x `bee_release` column (AC-3).
20
19
  * - Lifecycle_status check on loop_release is NOT a DB-level constraint
21
20
  * (the retirement rule is enforced in the service layer — see
22
21
  * `LoopBeeRelationService.create`) so the DB stays decoupled from
@@ -27,7 +26,7 @@ import type { LoopBeeRelation, LoopBeeRelationRole } from './loop-bee-relation-t
27
26
  * database. Used by tests that build their own DB without the
28
27
  * openStateDb pipeline. Idempotent.
29
28
  */
30
- export declare function ensureLoopBeeRelationTable(db: Database.Database): void;
29
+ export declare function ensureLoopBeeRelationTable(db: SqliteDatabase): void;
31
30
  /**
32
31
  * Insert a LoopBeeRelation row. The row's `schema_version` is taken from
33
32
  * the input (must equal `peaks.loop-bee-relation/1`); `id` and
@@ -40,14 +39,14 @@ export declare function ensureLoopBeeRelationTable(db: Database.Database): void;
40
39
  *
41
40
  * Returns the persisted row (with `id` filled in).
42
41
  */
43
- export declare function insertLoopBeeRelation(db: Database.Database, row: Omit<LoopBeeRelation, 'id' | 'created_at'>): LoopBeeRelation;
42
+ export declare function insertLoopBeeRelation(db: SqliteDatabase, row: Omit<LoopBeeRelation, 'id' | 'created_at'>): LoopBeeRelation;
44
43
  /** Read a single LoopBeeRelation row by id; returns undefined if absent. */
45
- export declare function getLoopBeeRelation(db: Database.Database, id: number): LoopBeeRelation | undefined;
44
+ export declare function getLoopBeeRelation(db: SqliteDatabase, id: number): LoopBeeRelation | undefined;
46
45
  /** List LoopBeeRelation rows for a given loop_release_id (optionally filtered by role). */
47
- export declare function listLoopBeeRelationsByLoop(db: Database.Database, loop_release_id: string, role?: LoopBeeRelationRole): LoopBeeRelation[];
46
+ export declare function listLoopBeeRelationsByLoop(db: SqliteDatabase, loop_release_id: string, role?: LoopBeeRelationRole): LoopBeeRelation[];
48
47
  /** List LoopBeeRelation rows for a given bee_release_id (optionally filtered by role). */
49
- export declare function listLoopBeeRelationsByBee(db: Database.Database, bee_release_id: number, role?: LoopBeeRelationRole): LoopBeeRelation[];
48
+ export declare function listLoopBeeRelationsByBee(db: SqliteDatabase, bee_release_id: number, role?: LoopBeeRelationRole): LoopBeeRelation[];
50
49
  /** Update the role of an existing relation. Returns the new row, or undefined if absent. */
51
- export declare function updateLoopBeeRelationRole(db: Database.Database, id: number, newRole: LoopBeeRelationRole): LoopBeeRelation | undefined;
50
+ export declare function updateLoopBeeRelationRole(db: SqliteDatabase, id: number, newRole: LoopBeeRelationRole): LoopBeeRelation | undefined;
52
51
  /** Remove a LoopBeeRelation row by id. Returns true if a row was deleted. */
53
- export declare function removeLoopBeeRelation(db: Database.Database, id: number): boolean;
52
+ export declare function removeLoopBeeRelation(db: SqliteDatabase, id: number): boolean;
@@ -8,13 +8,12 @@
8
8
  *
9
9
  * Defense in depth:
10
10
  * - FK constraints enforce loop_release and bee_release referential
11
- * integrity (better-sqlite3 + foreign_keys = ON).
11
+ * integrity (foreign_keys = ON, applied by `openStateDb`).
12
12
  * - Partial unique index `WHERE role = 'main'` enforces "at most one
13
13
  * main bee per loop" at the storage layer (the service layer adds
14
14
  * a friendlier error path on top).
15
15
  * - UNIQUE (loop_release_id, bee_release_id) prevents accidental
16
16
  * duplicate relations between the same loop and same bee release.
17
- * - The migration does NOT touch any 4.x `bee_release` column (AC-3).
18
17
  * - Lifecycle_status check on loop_release is NOT a DB-level constraint
19
18
  * (the retirement rule is enforced in the service layer — see
20
19
  * `LoopBeeRelationService.create`) so the DB stays decoupled from
@@ -41,7 +41,7 @@ export declare const LOOP_BEE_RELATION_ROLES: readonly LoopBeeRelationRole[];
41
41
  * `loop_release_id` must match the same kebab-case pattern as
42
42
  * `LoopRelease.id` — this is a defensive duplicate of the FK target's
43
43
  * shape, but the authoritative check is the FK constraint at insert
44
- * time (better-sqlite3 with `foreign_keys = ON`).
44
+ * time (with `foreign_keys = ON`, which `openStateDb` applies).
45
45
  *
46
46
  * `bee_release_id` is a positive integer; matching the
47
47
  * `bee_release.id` autoincrement INTEGER PK.
@@ -40,7 +40,7 @@ export const LOOP_BEE_RELATION_ROLES = [
40
40
  * `loop_release_id` must match the same kebab-case pattern as
41
41
  * `LoopRelease.id` — this is a defensive duplicate of the FK target's
42
42
  * shape, but the authoritative check is the FK constraint at insert
43
- * time (better-sqlite3 with `foreign_keys = ON`).
43
+ * time (with `foreign_keys = ON`, which `openStateDb` applies).
44
44
  *
45
45
  * `bee_release_id` is a positive integer; matching the
46
46
  * `bee_release.id` autoincrement INTEGER PK.
@@ -1,4 +1,4 @@
1
- import type Database from 'better-sqlite3';
1
+ import type { SqliteDatabase } from '../sqlite/sqlite-driver.js';
2
2
  import { type LoopRelease, type LoopReleaseInput, type LoopReleaseLifecycleStatus } from './loop-release-types.js';
3
3
  /**
4
4
  * Thin service wrapper around the loop_release store. M1 keeps the
@@ -7,7 +7,7 @@ import { type LoopRelease, type LoopReleaseInput, type LoopReleaseLifecycleStatu
7
7
  * deliberately deferred to M2 / M4 / M5 — shipping them here would
8
8
  * lock in an interface that the ratchet has not yet ratified.
9
9
  *
10
- * The constructor takes an open better-sqlite3 database (the existing
10
+ * The constructor takes an open SQLite database (the existing
11
11
  * `peaks state` boundary) so callers do not have to thread a path
12
12
  * through this layer; this matches the `retainRelease` pattern in
13
13
  * `src/services/skillhub/release-retain.ts`.
@@ -18,7 +18,7 @@ import { type LoopRelease, type LoopReleaseInput, type LoopReleaseLifecycleStatu
18
18
  */
19
19
  export declare class LoopReleaseService {
20
20
  private readonly db;
21
- constructor(db: Database.Database);
21
+ constructor(db: SqliteDatabase);
22
22
  /**
23
23
  * Persist a new LoopRelease row. Re-validates the input via the
24
24
  * Zod schema; throws ZodError on failure.
@@ -7,7 +7,7 @@ import { ensureLoopReleaseTable, insertLoopRelease, getLoopRelease, listLoopRele
7
7
  * deliberately deferred to M2 / M4 / M5 — shipping them here would
8
8
  * lock in an interface that the ratchet has not yet ratified.
9
9
  *
10
- * The constructor takes an open better-sqlite3 database (the existing
10
+ * The constructor takes an open SQLite database (the existing
11
11
  * `peaks state` boundary) so callers do not have to thread a path
12
12
  * through this layer; this matches the `retainRelease` pattern in
13
13
  * `src/services/skillhub/release-retain.ts`.
@@ -1,4 +1,4 @@
1
- import type Database from 'better-sqlite3';
1
+ import type { SqliteDatabase } from '../sqlite/sqlite-driver.js';
2
2
  import type { LoopRelease, LoopReleaseLifecycleStatus } from './loop-release-types.js';
3
3
  /**
4
4
  * Low-level SQLite access for the `loop_release` table. The
@@ -17,7 +17,6 @@ import type { LoopRelease, LoopReleaseLifecycleStatus } from './loop-release-typ
17
17
  * INDEX IF NOT EXISTS) so re-running it is safe.
18
18
  * - The M3 migration (`004-loop-bee-extension.sql`) is non-breaking:
19
19
  * it only adds new columns with DEFAULTs and does NOT touch any
20
- * pre-existing column on `bee_release` (AC-3).
21
20
  */
22
21
  /**
23
22
  * Re-apply the loop_release table migration against an already-open
@@ -31,7 +30,7 @@ import type { LoopRelease, LoopReleaseLifecycleStatus } from './loop-release-typ
31
30
  * the columns will exist; for a freshly-built DB via this helper the
32
31
  * columns are baked in. Either way the schema converges.
33
32
  */
34
- export declare function ensureLoopReleaseTable(db: Database.Database): void;
33
+ export declare function ensureLoopReleaseTable(db: SqliteDatabase): void;
35
34
  /**
36
35
  * Insert a LoopRelease row. The row's `schema_version` is taken from
37
36
  * the input (must equal `peaks.loop/1`); `archived_at` is stamped
@@ -41,15 +40,15 @@ export declare function ensureLoopReleaseTable(db: Database.Database): void;
41
40
  * same id throws a UNIQUE-constraint error; callers wanting upsert
42
41
  * semantics should use a separate path (M5 / crystallization event).
43
42
  */
44
- export declare function insertLoopRelease(db: Database.Database, row: LoopRelease): void;
43
+ export declare function insertLoopRelease(db: SqliteDatabase, row: LoopRelease): void;
45
44
  /** Read a single LoopRelease row by id; returns undefined if absent. */
46
- export declare function getLoopRelease(db: Database.Database, id: string): LoopRelease | undefined;
45
+ export declare function getLoopRelease(db: SqliteDatabase, id: string): LoopRelease | undefined;
47
46
  /** List LoopRelease rows filtered by lifecycle_status. */
48
- export declare function listLoopReleasesByStatus(db: Database.Database, status: LoopReleaseLifecycleStatus): LoopRelease[];
47
+ export declare function listLoopReleasesByStatus(db: SqliteDatabase, status: LoopReleaseLifecycleStatus): LoopRelease[];
49
48
  /**
50
49
  * Search LoopRelease rows whose `scenario` contains the query string.
51
50
  * M1 uses a case-insensitive LIKE; FTS5 promotion is deferred. The
52
51
  * query is treated as a literal substring (no regex, no SQL
53
52
  * injection surface) — it is escaped via parameter binding.
54
53
  */
55
- export declare function searchLoopReleasesByScenario(db: Database.Database, query: string): LoopRelease[];
54
+ export declare function searchLoopReleasesByScenario(db: SqliteDatabase, query: string): LoopRelease[];
@@ -15,7 +15,6 @@
15
15
  * INDEX IF NOT EXISTS) so re-running it is safe.
16
16
  * - The M3 migration (`004-loop-bee-extension.sql`) is non-breaking:
17
17
  * it only adds new columns with DEFAULTs and does NOT touch any
18
- * pre-existing column on `bee_release` (AC-3).
19
18
  */
20
19
  /**
21
20
  * Re-apply the loop_release table migration against an already-open
@@ -22,7 +22,6 @@ export declare function toScoreRow(evaluator: string, gateAction: 'pass' | 'warn
22
22
  export declare const DEFAULT_MONOTONIC_THRESHOLD = 0.05;
23
23
  /** Compare `previous` against `current` and report monotonicity.
24
24
  *
25
- * Rules (reflected in `tests/unit/loop/monotonic-guard.test.ts`):
26
25
  * - missing previous cycle → skip (`MONOTONIC_NO_PREVIOUS`)
27
26
  * - evaluators not present in both cycles → skip that evaluator
28
27
  * - score unchanged / up → ok
@@ -50,7 +50,6 @@ export function toScoreRow(evaluator, gateAction, degraded, observedAtIso = new
50
50
  export const DEFAULT_MONOTONIC_THRESHOLD = 0.05;
51
51
  /** Compare `previous` against `current` and report monotonicity.
52
52
  *
53
- * Rules (reflected in `tests/unit/loop/monotonic-guard.test.ts`):
54
53
  * - missing previous cycle → skip (`MONOTONIC_NO_PREVIOUS`)
55
54
  * - evaluators not present in both cycles → skip that evaluator
56
55
  * - score unchanged / up → ok
@@ -2,7 +2,6 @@
2
2
  // `peaks memory ingest` — pull memories written by the IDE-side agent into
3
3
  // the peaks-owned store.
4
4
  //
5
- // Slice 2026-09-09-memory-system-overhaul (A). Before this, "沉淀记忆" in a
6
5
  // peaks-code workflow landed in Claude Code's own per-project memory dir
7
6
  // (`~/.claude/projects/<hash>/memory/`) and never reached `.peaks/memory/`
8
7
  // — a split-brain write path with no single authority.
@@ -4,7 +4,6 @@ export type ProjectContextSection = {
4
4
  body: string;
5
5
  };
6
6
  /**
7
- * Slice 2026-07-15-project-scan-bootstrap (G1 + G2):
8
7
  * generateProjectContext now also bootstraps the project-level
9
8
  * `.peaks/project-scan/` artifact set. The envelope is returned
10
9
  * alongside the context so `peaks project context` can surface
@@ -151,7 +151,6 @@ export async function generateProjectContext(projectRoot) {
151
151
  content = header + '\n' + sessionHistory + '\n';
152
152
  }
153
153
  writeFileSync(contextPath, content, 'utf8');
154
- // Slice 2026-07-15-project-scan-bootstrap (G1 + G2):
155
154
  // After writing PROJECT.md, also bootstrap `.peaks/project-scan/`
156
155
  // (project-scan.md + 4 bundled audit/business templates). Idempotent
157
156
  // — re-running this call does not overwrite existing files (unless
@@ -20,7 +20,6 @@ export interface ReindexUnclassified {
20
20
  export interface ReindexOrphanEntry {
21
21
  name: string;
22
22
  kind: string;
23
- /** The `sourcePath` recorded in the previous index that no longer exists on disk. */
24
23
  sourcePath: string;
25
24
  }
26
25
  /**
@@ -49,7 +48,6 @@ export interface MemoryReindexReport {
49
48
  unclassified: ReindexUnclassified[];
50
49
  /** Distinct files that resolve to the same index name — reported, never overwritten. */
51
50
  nameConflicts: ReindexNameConflict[];
52
- /** Previous index entries whose `sourcePath` no longer exists (error-class drift). */
53
51
  orphanIndex: ReindexOrphanEntry[];
54
52
  /** Files on disk that the rebuilt index does not contain (warn-class drift). */
55
53
  orphanDisk: string[];
@@ -3,7 +3,6 @@
3
3
  // the markdown files on disk, plus regeneration of the human/LLM-facing
4
4
  // `MEMORY.md` index and a drift report.
5
5
  //
6
- // Why this exists (slice 2026-09-09-memory-system-overhaul, B):
7
6
  // - `peaks memory extract` only ever wrote memories FROM artifacts; it
8
7
  // never re-scanned files already on disk, and there was no rebuild
9
8
  // command. 78 top-level files were absent from index.json.
@@ -29,6 +29,5 @@ export declare function readProjectMemories(projectRoot: string): ProjectMemoryR
29
29
  * Read a single project memory's full body by name. Returns null when
30
30
  * the memory does not exist. The on-disk body is returned verbatim
31
31
  * (pretty). The CLI layer applies `formatMdCompact` when `format: 'compact'`
32
- * is requested. Slice 023 (R3).
33
32
  */
34
33
  export declare function readProjectMemoryBody(projectRoot: string, name: string): ProjectMemoryShowResult | null;
@@ -145,7 +145,6 @@ export function readProjectMemories(projectRoot) {
145
145
  * Read a single project memory's full body by name. Returns null when
146
146
  * the memory does not exist. The on-disk body is returned verbatim
147
147
  * (pretty). The CLI layer applies `formatMdCompact` when `format: 'compact'`
148
- * is requested. Slice 023 (R3).
149
148
  */
150
149
  export function readProjectMemoryBody(projectRoot, name) {
151
150
  const normalizedRoot = normalizeRoot(projectRoot);
@@ -7,7 +7,7 @@ export type { ExtractedMemoryBlocks } from './parsers/markdown-pure.js';
7
7
  export { parseBlock, parseBlockResult, parseMemoryFrontmatter, parseStoredMemoryFile, renderMemoryFile, resolveMemoryKind, resolveMemoryName, slugify } from './parsers/frontmatter.js';
8
8
  export type { MemoryKindResolution, MemoryKindSource, MemoryNameResolution, MemoryNameSource, ParsedMemoryFrontmatter } from './parsers/frontmatter.js';
9
9
  export { assertInsideProject, assertSafeProjectMemoryDir, assertSafeSessionDir, normalizeRealRoot, normalizeRoot, realPathOrThrow, resolveProjectPath, safeRealpath } from './store/paths.js';
10
- export { assertSafeMemory, assertSafeMemoryFileContent, findSensitiveMemoryTitleTerm, hasSensitiveMemoryContent, SENSITIVE_MEMORY_CHECKS, UnsafeMemoryError, writeNewFile } from './store/atomic-write.js';
10
+ export { assertSafeMemory, assertSafeMemoryFileContent, findSensitiveMemoryContentRule, findSensitiveMemoryTitleTerm, hasSensitiveMemoryContent, SENSITIVE_MEMORY_CHECKS, UnsafeMemoryError, writeNewFile } from './store/atomic-write.js';
11
11
  export { ensureMemoryBootstrap, emptyByKind, emptyIndex, listMarkdownFiles, readProjectMemories, readProjectMemoryBody } from './index/search.js';
12
12
  export { buildMemoryIndex, generateMemoryIndexFile, readExistingIndex, readMemoryFileMtime, readMemoryIndex, readStoredMemoryNames } from './index/ranking.js';
13
13
  export { executeMemoryReindex, renderMemoryMarkdown, KIND_ORDER, MEMORY_MD_BANNER, MEMORY_MD_FILENAME } from './index/reindex.js';
@@ -19,7 +19,7 @@ export { describeMemoryBlockDrops, describeSessionScanFailures, summarizeBackupR
19
19
  export { parseBlock, parseBlockResult, parseMemoryFrontmatter, parseStoredMemoryFile, renderMemoryFile, resolveMemoryKind, resolveMemoryName, slugify } from './parsers/frontmatter.js';
20
20
  // Store: path safety + sensitive content
21
21
  export { assertInsideProject, assertSafeProjectMemoryDir, assertSafeSessionDir, normalizeRealRoot, normalizeRoot, realPathOrThrow, resolveProjectPath, safeRealpath } from './store/paths.js';
22
- export { assertSafeMemory, assertSafeMemoryFileContent, findSensitiveMemoryTitleTerm, hasSensitiveMemoryContent, SENSITIVE_MEMORY_CHECKS, UnsafeMemoryError, writeNewFile } from './store/atomic-write.js';
22
+ export { assertSafeMemory, assertSafeMemoryFileContent, findSensitiveMemoryContentRule, findSensitiveMemoryTitleTerm, hasSensitiveMemoryContent, SENSITIVE_MEMORY_CHECKS, UnsafeMemoryError, writeNewFile } from './store/atomic-write.js';
23
23
  // Index: search / ranking / dispatch
24
24
  export { ensureMemoryBootstrap, emptyByKind, emptyIndex, listMarkdownFiles, readProjectMemories, readProjectMemoryBody } from './index/search.js';
25
25
  export { buildMemoryIndex, generateMemoryIndexFile, readExistingIndex, readMemoryFileMtime, readMemoryIndex, readStoredMemoryNames } from './index/ranking.js';
@@ -6,7 +6,6 @@
6
6
  * `--kind` help text all derive from this tuple. Adding a kind here is the
7
7
  * only edit required; TypeScript then forces `MEMORY_KIND_TIER` to cover it.
8
8
  *
9
- * Slice 2026-09-10-memory-vocab-and-rotate (E): the original 8 kinds are
10
9
  * unchanged. The 13 appended kinds were observed on disk with real values
11
10
  * that the index schema rejected (`peaks memory reindex` reported them as
12
11
  * `unrecognized kind value`). Accepting them moves those files into the
@@ -17,7 +17,6 @@
17
17
  * `--kind` help text all derive from this tuple. Adding a kind here is the
18
18
  * only edit required; TypeScript then forces `MEMORY_KIND_TIER` to cover it.
19
19
  *
20
- * Slice 2026-09-10-memory-vocab-and-rotate (E): the original 8 kinds are
21
20
  * unchanged. The 13 appended kinds were observed on disk with real values
22
21
  * that the index schema rejected (`peaks memory reindex` reported them as
23
22
  * `unrecognized kind value`). Accepting them moves those files into the
@@ -36,7 +36,6 @@ export interface ParsedMemoryFrontmatter {
36
36
  * 3. top-level `type:` — tolerated by the pre-existing trim-based reader
37
37
  * 4. `none` — reported as unclassified; never invented
38
38
  *
39
- * Slice 2026-09-09-memory-system-overhaul (B): before this helper, files
40
39
  * using a top-level `kind:` were silently dropped by the reader (defect
41
40
  * #2). Falling through to `kind:` / `type:` is a strict superset of the
42
41
  * old behaviour — no previously-indexed file changes kind.
@@ -35,7 +35,6 @@ export { parseBlock, parseBlockResult, renderMemoryFile, slugify, VALID_MEMORY_K
35
35
  * 3. top-level `type:` — tolerated by the pre-existing trim-based reader
36
36
  * 4. `none` — reported as unclassified; never invented
37
37
  *
38
- * Slice 2026-09-09-memory-system-overhaul (B): before this helper, files
39
38
  * using a top-level `kind:` were silently dropped by the reader (defect
40
39
  * #2). Falling through to `kind:` / `type:` is a strict superset of the
41
40
  * old behaviour — no previously-indexed file changes kind.
@@ -24,6 +24,12 @@ export declare const SENSITIVE_MEMORY_CHECKS: {
24
24
  * a value — so echoing it into the error envelope cannot leak anything.
25
25
  */
26
26
  export declare function findSensitiveMemoryTitleTerm(title: string): string | null;
27
+ /**
28
+ * Which content rule refused this text — the id, never the match. A rule whose
29
+ * candidate fails `shaped` does not stop the scan: a later rule may still fire,
30
+ * exactly as a later alternative in the old `||` chain would have.
31
+ */
32
+ export declare function findSensitiveMemoryContentRule(content: string): string | null;
27
33
  export declare function hasSensitiveMemoryContent(content: string): boolean;
28
34
  /**
29
35
  * The refusal `assertSafeMemory` raises: the check that fired and the term it
@@ -42,19 +48,25 @@ export declare function hasSensitiveMemoryContent(content: string): boolean;
42
48
  * `check` for the same reason — a substring test against a message whose words
43
49
  * can be rewritten is not a routing rule, it is a guess.
44
50
  *
45
- * NOTHING HERE WEAKENS THE REDACTOR. The content scan never puts its match in
46
- * this object (see `matchedTerm` below), so no value can reach an envelope
47
- * through it; the redactor's guarantee is intact and is pinned by the cases in
51
+ * NOTHING HERE WEAKENS THE REDACTOR. Both scans put a NAME in this field, never
52
+ * a match: the title term comes from `SENSITIVE_PROSE_TERMS` and the content
53
+ * value from the closed id list in `SENSITIVE_CONTENT_RULES`, so no credential
54
+ * can reach an envelope through it. The redactor's guarantee over `message` is
55
+ * intact and is pinned by the cases in
48
56
  * `tests/unit/services/memory/memory-title-sensitive-scan.test.ts`.
49
57
  */
50
58
  export declare class UnsafeMemoryError extends Error {
51
59
  /** One of `SENSITIVE_MEMORY_CHECKS` — which rule refused the write. */
52
60
  readonly check: string;
53
61
  /**
54
- * The credential term the TITLE scan matched, or `null` for the other two
55
- * checks. `null` is not an omission: their match can BE the credential
56
- * (`ghp_…`, the PEM header, the JWT), which is why their messages describe
57
- * the pattern family and never echo the text.
62
+ * WHAT matched, as a name rather than a value: the credential term for the
63
+ * title scan, the rule id for the content scan, `null` only for the metadata
64
+ * key scan (whose predicate answers by a config-key vocabulary the memory
65
+ * metadata never contains — see the note on `assertSafeMemory`).
66
+ *
67
+ * It is never the match itself: for most content patterns the match IS the
68
+ * credential (`ghp_…`, the PEM header, the JWT), which is why their messages
69
+ * describe the pattern family and never echo the text.
58
70
  */
59
71
  readonly matchedTerm: string | null;
60
72
  constructor(check: string, detail: string, matchedTerm?: string | null);
@@ -4,7 +4,9 @@
4
4
  // - `hasSensitiveMemoryContent` — pattern check for api keys, tokens,
5
5
  // PEM private keys, JWTs, GitHub / GitLab tokens, AWS access keys. Used
6
6
  // both by the extract path (`assertSafeMemory`) and the backup path
7
- // (`assertSafeMemoryFileContent`).
7
+ // (`assertSafeMemoryFileContent`). It is a wrapper over
8
+ // `findSensitiveMemoryContentRule`, which answers the same question and
9
+ // names the rule that answered it.
8
10
  // - `findSensitiveMemoryTitleTerm` — the PROSE predicate for
9
11
  // `memory.title`. It is deliberately NOT the config-key predicate: see
10
12
  // the block comment above it (slice C0).
@@ -136,17 +138,89 @@ export function findSensitiveMemoryTitleTerm(title) {
136
138
  }
137
139
  return null;
138
140
  }
141
+ /**
142
+ * Is this string shaped like a credential VALUE rather than like prose?
143
+ *
144
+ * WHY THIS EXISTS. The value-carrying patterns used to fire on the SEPARATOR
145
+ * alone: `password:` was a match whether or not anything followed it, so a
146
+ * memory writing `password: the field label in the form` or `myApiKey: from
147
+ * env` was refused for describing an interface. Two documents were killed that
148
+ * way before anyone could say which of ten rules had fired — and the rules
149
+ * could not be tightened, because nothing in them described the VALUE.
150
+ *
151
+ * THE TEST, AND WHAT IT COSTS. A value is credential-shaped when it is at least
152
+ * 5 characters AND carries a digit or one of `_ + / =`. `hunter2`,
153
+ * `abcdef123456`, `supp3rSecret` and every base64-ish token pass;
154
+ * `Authorization`, `the`, `from`, `abc`, `well-designed` fail. Given up
155
+ * deliberately: an all-letter opaque run (`bearer abcdefghijklmnopq`) is no
156
+ * longer caught, and neither is a 4-character real password. The alternative was
157
+ * a rule that cannot tell an English word from a random string, and the
158
+ * complaint on record is about English words. Digits are the discriminator
159
+ * rather than `-` and `.` because hyphens and full stops belong to ordinary
160
+ * prose; provider tokens in the wild carry digits, and the prefix-shaped
161
+ * patterns (`ghp_`, `AKIA`, the PEM header, the JWT) keep their own length floors
162
+ * and are untouched by this predicate.
163
+ */
164
+ const MIN_VALUE_CHARS = 5;
165
+ function isCredentialShapedValue(value) {
166
+ return value.length >= MIN_VALUE_CHARS && /[0-9_+/=]/.test(value);
167
+ }
168
+ /** A placeholder names where a value will go; it is not itself a secret. */
169
+ const PLACEHOLDER_VALUE = /^[<[{(]|^(?:your|the|an|some|my|example|placeholder|todo|fake)/i;
170
+ function isPlaceholderValue(value) {
171
+ return (PLACEHOLDER_VALUE.test(value) ||
172
+ /(?:replace|insert|provide|redact|<[a-z_]+>)/i.test(value) ||
173
+ /^[A-Za-z]+(?:_[A-Z*]+)+$/.test(value) // API_KEY_HERE-style constant
174
+ );
175
+ }
176
+ const SENSITIVE_CONTENT_RULES = [
177
+ {
178
+ id: 'credential-assignment',
179
+ pattern: /\b(?:api[_-]?key|access[_-]?token|auth[_-]?token|refresh[_-]?token|secret|password|passwd|credential|token|bearer)\s*[:=]\s*([^\s,;"'`]+)/gi,
180
+ shaped: (value) => isCredentialShapedValue(value) && !isPlaceholderValue(value)
181
+ },
182
+ {
183
+ id: 'authorization-bearer-header',
184
+ pattern: /\bauthorization\s*:\s*bearer\s+([^\s,;"'`]+)/gi,
185
+ shaped: (value) => isCredentialShapedValue(value) && !isPlaceholderValue(value)
186
+ },
187
+ {
188
+ id: 'bearer-value',
189
+ pattern: /\bbearer\s+([A-Za-z0-9._~+/=-]{8,})/gi,
190
+ shaped: (value) => isCredentialShapedValue(value) && !isPlaceholderValue(value)
191
+ },
192
+ {
193
+ id: 'sk-prefixed-key',
194
+ // The SUFFIX is captured, not the whole `sk-…`: `sk-abcdef is the prefix`
195
+ // is a sentence about the scheme, and the shape test on the suffix is what
196
+ // tells it from `sk-abcdef1234567890`.
197
+ pattern: /\bsk-([A-Za-z0-9_-]{6,})\b/g,
198
+ shaped: (value) => isCredentialShapedValue(value) && !isPlaceholderValue(value)
199
+ },
200
+ { id: 'gh-prefixed-key', pattern: /\bgh[pousr]_[A-Za-z0-9_]{20,}\b/g },
201
+ { id: 'github-pat', pattern: /\bgithub_pat_[A-Za-z0-9_]{20,}\b/g },
202
+ { id: 'glpat-prefixed-key', pattern: /\bglpat-[A-Za-z0-9_-]{20,}\b/g },
203
+ { id: 'akia-prefixed-key', pattern: /\bAKIA[0-9A-Z]{16}\b/g },
204
+ { id: 'pem-private-key', pattern: /-----BEGIN [A-Z ]*PRIVATE KEY-----/g },
205
+ { id: 'jwt-shaped-value', pattern: /\beyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\b/g }
206
+ ];
207
+ /**
208
+ * Which content rule refused this text — the id, never the match. A rule whose
209
+ * candidate fails `shaped` does not stop the scan: a later rule may still fire,
210
+ * exactly as a later alternative in the old `||` chain would have.
211
+ */
212
+ export function findSensitiveMemoryContentRule(content) {
213
+ for (const rule of SENSITIVE_CONTENT_RULES) {
214
+ for (const match of content.matchAll(rule.pattern)) {
215
+ const candidate = match[1] ?? match[0];
216
+ if (rule.shaped === undefined || rule.shaped(candidate))
217
+ return rule.id;
218
+ }
219
+ }
220
+ return null;
221
+ }
139
222
  export function hasSensitiveMemoryContent(content) {
140
- return (/(?:api[_-]?key|token|secret|password|credential|bearer)\s*[:=]/i.test(content) ||
141
- /\bauthorization\s*:\s*bearer\s+\S+/i.test(content) ||
142
- /\bbearer\s+[A-Za-z0-9._~+/=-]{12,}\b/i.test(content) ||
143
- /\bsk-[A-Za-z0-9_-]{6,}\b/.test(content) ||
144
- /\bgh[pousr]_[A-Za-z0-9_]{20,}\b/.test(content) ||
145
- /\bgithub_pat_[A-Za-z0-9_]{20,}\b/.test(content) ||
146
- /\bglpat-[A-Za-z0-9_-]{20,}\b/.test(content) ||
147
- /\bAKIA[0-9A-Z]{16}\b/.test(content) ||
148
- /-----BEGIN [A-Z ]*PRIVATE KEY-----/.test(content) ||
149
- /\beyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\b/.test(content));
223
+ return findSensitiveMemoryContentRule(content) !== null;
150
224
  }
151
225
  /**
152
226
  * The refusal `assertSafeMemory` raises: the check that fired and the term it
@@ -165,19 +239,25 @@ export function hasSensitiveMemoryContent(content) {
165
239
  * `check` for the same reason — a substring test against a message whose words
166
240
  * can be rewritten is not a routing rule, it is a guess.
167
241
  *
168
- * NOTHING HERE WEAKENS THE REDACTOR. The content scan never puts its match in
169
- * this object (see `matchedTerm` below), so no value can reach an envelope
170
- * through it; the redactor's guarantee is intact and is pinned by the cases in
242
+ * NOTHING HERE WEAKENS THE REDACTOR. Both scans put a NAME in this field, never
243
+ * a match: the title term comes from `SENSITIVE_PROSE_TERMS` and the content
244
+ * value from the closed id list in `SENSITIVE_CONTENT_RULES`, so no credential
245
+ * can reach an envelope through it. The redactor's guarantee over `message` is
246
+ * intact and is pinned by the cases in
171
247
  * `tests/unit/services/memory/memory-title-sensitive-scan.test.ts`.
172
248
  */
173
249
  export class UnsafeMemoryError extends Error {
174
250
  /** One of `SENSITIVE_MEMORY_CHECKS` — which rule refused the write. */
175
251
  check;
176
252
  /**
177
- * The credential term the TITLE scan matched, or `null` for the other two
178
- * checks. `null` is not an omission: their match can BE the credential
179
- * (`ghp_…`, the PEM header, the JWT), which is why their messages describe
180
- * the pattern family and never echo the text.
253
+ * WHAT matched, as a name rather than a value: the credential term for the
254
+ * title scan, the rule id for the content scan, `null` only for the metadata
255
+ * key scan (whose predicate answers by a config-key vocabulary the memory
256
+ * metadata never contains — see the note on `assertSafeMemory`).
257
+ *
258
+ * It is never the match itself: for most content patterns the match IS the
259
+ * credential (`ghp_…`, the PEM header, the JWT), which is why their messages
260
+ * describe the pattern family and never echo the text.
181
261
  */
182
262
  matchedTerm;
183
263
  constructor(check, detail, matchedTerm = null) {
@@ -193,19 +273,28 @@ export function assertSafeMemory(memory) {
193
273
  if (containsSensitiveConfigValue(metadata)) {
194
274
  throw new UnsafeMemoryError(SENSITIVE_MEMORY_CHECKS.metadataKey, 'matched a credential key in the memory metadata');
195
275
  }
196
- if (hasSensitiveMemoryContent(content)) {
197
- // The match is deliberately NOT echoed, in the message or in the error's
198
- // fields: for most of these patterns the match IS the credential, so
276
+ const contentRule = findSensitiveMemoryContentRule(content);
277
+ if (contentRule !== null) {
278
+ // The matched TEXT is deliberately NOT echoed, in the message or in the
279
+ // error's fields: for most of these patterns the match IS the credential, so
199
280
  // copying it would write the value this scan exists to keep out.
200
281
  //
282
+ // The RULE ID is echoed, and it is echoed in `matchedTerm` rather than only
283
+ // in prose. This used to be the one refusal that could not say what fired:
284
+ // the predicate returned a boolean, so the caller had no match to report and
285
+ // `matchedTerm` was `null` by construction while the title scan named its
286
+ // term. A reader then had to guess across documents which of ten shapes had
287
+ // refused them. An id from a closed vocabulary leaks nothing and answers the
288
+ // question, so the two paths are diagnosable the same way.
289
+ //
201
290
  // The DETAIL is worded around the envelope redactor's vocabulary on
202
291
  // purpose. Its catch-all (`/(secret|token|password|api[-_ ]?key)/gi`)
203
292
  // rewrites those four words wherever they appear in a failure message, so
204
293
  // naming the pattern families in their own words arrives on the CLI as
205
294
  // "an [redacted] / [redacted] / [redacted] assignment" — a remedy sentence
206
- // redacted into uselessness by the very policy it agrees with. Measured on
207
- // the real CLI, both wordings; this one survives intact.
208
- throw new UnsafeMemoryError(SENSITIVE_MEMORY_CHECKS.content, 'matched a credential value in the memory content (a `key=value` credential assignment, a Bearer header, a PEM private key, a JWT, or a provider credential)');
295
+ // redacted into uselessness by the very policy it agrees with. The rule ids
296
+ // above are spelled to survive that pass.
297
+ throw new UnsafeMemoryError(SENSITIVE_MEMORY_CHECKS.content, `matched the credential pattern "${contentRule}" in the memory content`, contentRule);
209
298
  }
210
299
  const titleTerm = findSensitiveMemoryTitleTerm(memory.title);
211
300
  if (titleTerm !== null) {
@@ -213,8 +302,13 @@ export function assertSafeMemory(memory) {
213
302
  }
214
303
  }
215
304
  export function assertSafeMemoryFileContent(content) {
216
- if (hasSensitiveMemoryContent(content)) {
217
- throw new Error('Refusing to back up sensitive memory content');
305
+ const rule = findSensitiveMemoryContentRule(content);
306
+ if (rule !== null) {
307
+ // The id travels here too. This path has no `UnsafeMemoryError` (it is not
308
+ // the extract gate, and its callers do not route on `check`), but a backup
309
+ // refusal that cannot say which shape fired is the same dead end as the one
310
+ // the extract path used to be.
311
+ throw new Error(`Refusing to back up sensitive memory content (rule: ${rule})`);
218
312
  }
219
313
  }
220
314
  export function writeNewFile(path, content) {
@@ -2,7 +2,6 @@
2
2
  // Thin back-compat shim.
3
3
  //
4
4
  // The original 1032-line project-memory-service.ts was split on 2026-07-26
5
- // (rid-003) into the `./project-memory-service/` submodule:
6
5
  //
7
6
  // - parsers/frontmatter.ts — YAML frontmatter parse + render
8
7
  // - parsers/markdown-pure.ts — extract / summarize (pure)
@@ -5,7 +5,6 @@ const ASSISTED_CONFIRM_TRANSITIONS = new Set([
5
5
  'qa:verdict-issued'
6
6
  ]);
7
7
  export function requiresConfirmation(mode, transitionKey) {
8
- // Slice 2026-09-09-mode-consolidation: `swarm` removed as a mode; the
9
8
  // two auto-proceed peers are `full-auto` and `24h`.
10
9
  if (mode === 'full-auto' || mode === '24h') {
11
10
  return false;
@@ -1,5 +1,4 @@
1
1
  /**
2
- * Slice 2026-09-09-mode-consolidation (Slice D): one read for the whole
3
2
  * stacked mode picture.
4
3
  *
5
4
  * The autonomy model has two layers that used to be read by nothing in
@@ -82,7 +81,6 @@ export declare function resolvePresenceMode(projectRoot: string): ResolvedPresen
82
81
  * documented contract.
83
82
  *
84
83
  * The union is a superset of both the pre-2026-09-09 mapping (state
85
- * machine) and the 2026-09-09-mode-consolidation mapping (presence
86
84
  * mode): keep partial while the mode says `24h` even in
87
85
  * `WAITING_USER`, and keep it when only the state machine knows.
88
86
  * Nothing that resolved to `partial` before resolves to `standard`
@@ -1,5 +1,4 @@
1
1
  /**
2
- * Slice 2026-09-09-mode-consolidation (Slice D): one read for the whole
3
2
  * stacked mode picture.
4
3
  *
5
4
  * The autonomy model has two layers that used to be read by nothing in
@@ -95,7 +94,6 @@ function is24hRunEngaged(projectRoot) {
95
94
  * documented contract.
96
95
  *
97
96
  * The union is a superset of both the pre-2026-09-09 mapping (state
98
- * machine) and the 2026-09-09-mode-consolidation mapping (presence
99
97
  * mode): keep partial while the mode says `24h` even in
100
98
  * `WAITING_USER`, and keep it when only the state machine knows.
101
99
  * Nothing that resolved to `partial` before resolves to `standard`