peaks-loop 4.1.1 → 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 (776) hide show
  1. package/CHANGELOG.md +50 -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/adapter-commands-s2a.d.ts +0 -1
  11. package/dist/cli/commands/adapter-commands.d.ts +0 -1
  12. package/dist/cli/commands/api-diff-commands.d.ts +0 -1
  13. package/dist/cli/commands/api-diff-commands.js +0 -1
  14. package/dist/cli/commands/audit-commands.js +21 -24
  15. package/dist/cli/commands/autonomous-swarm-commands.js +0 -1
  16. package/dist/cli/commands/bee-commands.d.ts +0 -2
  17. package/dist/cli/commands/bee-commands.js +0 -2
  18. package/dist/cli/commands/best-practice-scan-command.d.ts +0 -1
  19. package/dist/cli/commands/best-practice-scan-helpers.js +0 -1
  20. package/dist/cli/commands/changeset-commands.d.ts +0 -2
  21. package/dist/cli/commands/changeset-commands.js +0 -2
  22. package/dist/cli/commands/code-commands.d.ts +0 -3
  23. package/dist/cli/commands/code-commands.js +0 -3
  24. package/dist/cli/commands/code-gate-command.d.ts +0 -1
  25. package/dist/cli/commands/code-gate-command.js +0 -1
  26. package/dist/cli/commands/code-job-shape-commands-read-job-shape.d.ts +0 -1
  27. package/dist/cli/commands/code-job-shape-commands-read-job-shape.js +0 -1
  28. package/dist/cli/commands/code-job-shape-commands.d.ts +0 -2
  29. package/dist/cli/commands/code-job-shape-commands.js +0 -3
  30. package/dist/cli/commands/code-mode-gate-commands.d.ts +0 -2
  31. package/dist/cli/commands/code-mode-gate-commands.js +0 -3
  32. package/dist/cli/commands/code-mode-gate-should-pause-command.js +0 -4
  33. package/dist/cli/commands/code-mode-gate-should-pause-envelope.d.ts +0 -1
  34. package/dist/cli/commands/code-mode-gate-should-pause-envelope.js +0 -2
  35. package/dist/cli/commands/code-mode-status-command.d.ts +0 -1
  36. package/dist/cli/commands/code-mode-status-command.js +0 -1
  37. package/dist/cli/commands/code-orchestrator-can-do.d.ts +0 -1
  38. package/dist/cli/commands/code-orchestrator-can-do.js +0 -1
  39. package/dist/cli/commands/code-run-command.js +0 -1
  40. package/dist/cli/commands/code-runtime-commands.d.ts +0 -3
  41. package/dist/cli/commands/code-runtime-commands.js +0 -15
  42. package/dist/cli/commands/codegraph-command-runtime.d.ts +6 -0
  43. package/dist/cli/commands/codegraph-command-runtime.js +19 -7
  44. package/dist/cli/commands/codegraph-commands.js +20 -193
  45. package/dist/cli/commands/codegraph-init-command.d.ts +8 -0
  46. package/dist/cli/commands/codegraph-init-command.js +162 -0
  47. package/dist/cli/commands/codegraph-status-command.js +5 -6
  48. package/dist/cli/commands/compact-command.d.ts +0 -1
  49. package/dist/cli/commands/compact-command.js +0 -4
  50. package/dist/cli/commands/container-commands.d.ts +0 -1
  51. package/dist/cli/commands/container-commands.js +0 -1
  52. package/dist/cli/commands/context-commands.d.ts +0 -1
  53. package/dist/cli/commands/context-commands.js +0 -1
  54. package/dist/cli/commands/core/doctor-command.d.ts +0 -1
  55. package/dist/cli/commands/core/doctor-command.js +0 -9
  56. package/dist/cli/commands/core/memory-command.js +0 -1
  57. package/dist/cli/commands/core/session-command.js +0 -14
  58. package/dist/cli/commands/core/skill-command.js +0 -9
  59. package/dist/cli/commands/core-artifact-commands.d.ts +0 -1
  60. package/dist/cli/commands/core-artifact-commands.js +0 -1
  61. package/dist/cli/commands/cron-commands-actions.d.ts +0 -1
  62. package/dist/cli/commands/cron-commands-actions.js +0 -2
  63. package/dist/cli/commands/cron-commands-schedule.d.ts +0 -3
  64. package/dist/cli/commands/cron-commands-schedule.js +0 -1
  65. package/dist/cli/commands/cron-commands.d.ts +0 -1
  66. package/dist/cli/commands/cron-commands.js +0 -2
  67. package/dist/cli/commands/cron-scheduler-commands.d.ts +0 -1
  68. package/dist/cli/commands/cron-scheduler-commands.js +0 -1
  69. package/dist/cli/commands/cron-scheduler-persist.d.ts +0 -5
  70. package/dist/cli/commands/cron-scheduler-persist.js +0 -5
  71. package/dist/cli/commands/dashboard-summary.d.ts +0 -1
  72. package/dist/cli/commands/dispatch-commands.d.ts +0 -1
  73. package/dist/cli/commands/dispatch-commands.js +10 -37
  74. package/dist/cli/commands/dispatch-from-dag.js +0 -4
  75. package/dist/cli/commands/doctor/invoke-from-code.js +0 -1
  76. package/dist/cli/commands/e2e-verify.d.ts +0 -1
  77. package/dist/cli/commands/ecc-commands.d.ts +0 -1
  78. package/dist/cli/commands/evolution-commands.d.ts +0 -1
  79. package/dist/cli/commands/evolution-commands.js +0 -1
  80. package/dist/cli/commands/feedback-commands.d.ts +0 -1
  81. package/dist/cli/commands/feedback-commands.js +0 -2
  82. package/dist/cli/commands/fixture-commands.d.ts +0 -2
  83. package/dist/cli/commands/fresh-context-commands.d.ts +0 -1
  84. package/dist/cli/commands/gate-commands-enforce.d.ts +0 -3
  85. package/dist/cli/commands/gate-commands-enforce.js +0 -4
  86. package/dist/cli/commands/gate-commands.js +0 -2
  87. package/dist/cli/commands/governance-classify-contract-commands.d.ts +0 -3
  88. package/dist/cli/commands/governance-classify-contract-commands.js +0 -4
  89. package/dist/cli/commands/heartbeat-commands-action.js +0 -6
  90. package/dist/cli/commands/heartbeat-commands-validation.d.ts +0 -2
  91. package/dist/cli/commands/heartbeat-commands-validation.js +0 -2
  92. package/dist/cli/commands/heartbeat-commands.d.ts +0 -1
  93. package/dist/cli/commands/heartbeat-commands.js +0 -1
  94. package/dist/cli/commands/hooks-commands.js +0 -11
  95. package/dist/cli/commands/ide-commands.d.ts +0 -1
  96. package/dist/cli/commands/job-add-slice-command.d.ts +0 -2
  97. package/dist/cli/commands/job-add-slice-command.js +0 -2
  98. package/dist/cli/commands/job-commands.js +0 -4
  99. package/dist/cli/commands/lease-metrics-commands.d.ts +0 -1
  100. package/dist/cli/commands/lease-metrics-commands.js +0 -1
  101. package/dist/cli/commands/lease-stats-commands.d.ts +0 -1
  102. package/dist/cli/commands/lease-stats-commands.js +0 -1
  103. package/dist/cli/commands/log-commands.d.ts +0 -2
  104. package/dist/cli/commands/log-commands.js +0 -3
  105. package/dist/cli/commands/loop-eval-commands.js +0 -3
  106. package/dist/cli/commands/memory-commands.d.ts +0 -1
  107. package/dist/cli/commands/memory-commands.js +0 -1
  108. package/dist/cli/commands/observability-commands.d.ts +0 -6
  109. package/dist/cli/commands/observability-commands.js +0 -6
  110. package/dist/cli/commands/outer-cache-commands.js +0 -2
  111. package/dist/cli/commands/playwright-commands.d.ts +0 -1
  112. package/dist/cli/commands/playwright-commands.js +0 -1
  113. package/dist/cli/commands/polyrepo-commands.d.ts +0 -1
  114. package/dist/cli/commands/prd-commands.d.ts +0 -1
  115. package/dist/cli/commands/prd-commands.js +0 -2
  116. package/dist/cli/commands/preferences-commands.js +0 -2
  117. package/dist/cli/commands/primer-command.d.ts +0 -1
  118. package/dist/cli/commands/primer-command.js +0 -1
  119. package/dist/cli/commands/project-commands.js +0 -1
  120. package/dist/cli/commands/qa-commands.d.ts +0 -1
  121. package/dist/cli/commands/qa-commands.js +0 -2
  122. package/dist/cli/commands/release-commands.js +0 -9
  123. package/dist/cli/commands/request-commands.d.ts +0 -1
  124. package/dist/cli/commands/request-commands.js +0 -10
  125. package/dist/cli/commands/request-format-helpers.d.ts +0 -1
  126. package/dist/cli/commands/request-format-helpers.js +0 -2
  127. package/dist/cli/commands/runtime-commands.d.ts +0 -1
  128. package/dist/cli/commands/sc-commands.js +0 -1
  129. package/dist/cli/commands/session-24h-mode.d.ts +0 -1
  130. package/dist/cli/commands/session-24h-mode.js +0 -2
  131. package/dist/cli/commands/session-checkpoint-command.d.ts +0 -1
  132. package/dist/cli/commands/session-checkpoint-command.js +0 -1
  133. package/dist/cli/commands/session-resume-command.d.ts +0 -1
  134. package/dist/cli/commands/session-resume-command.js +0 -1
  135. package/dist/cli/commands/shadcn-commands.js +0 -2
  136. package/dist/cli/commands/share-commands.d.ts +0 -3
  137. package/dist/cli/commands/share-commands.js +0 -13
  138. package/dist/cli/commands/skill-search-commands.d.ts +0 -2
  139. package/dist/cli/commands/slice-commands.js +0 -2
  140. package/dist/cli/commands/slice-integrate-commands.js +0 -1
  141. package/dist/cli/commands/spill-demo-command.d.ts +0 -1
  142. package/dist/cli/commands/statusline-commands.js +0 -4
  143. package/dist/cli/commands/sub-agent/detached.js +0 -2
  144. package/dist/cli/commands/sub-agent-commands.d.ts +0 -3
  145. package/dist/cli/commands/sub-agent-shared.d.ts +0 -8
  146. package/dist/cli/commands/sub-agent-shared.js +0 -5
  147. package/dist/cli/commands/sub-agent-shutdown-commands.d.ts +0 -1
  148. package/dist/cli/commands/tech-commands.d.ts +0 -4
  149. package/dist/cli/commands/tech-commands.js +0 -4
  150. package/dist/cli/commands/vendor-detect.d.ts +0 -3
  151. package/dist/cli/commands/vendor-detect.js +0 -2
  152. package/dist/cli/commands/verdict-aggregate-command.d.ts +0 -1
  153. package/dist/cli/commands/verdict-aggregate-command.js +0 -7
  154. package/dist/cli/commands/vm-commands.d.ts +0 -1
  155. package/dist/cli/commands/vm-commands.js +5 -29
  156. package/dist/cli/commands/vm-hypervisor-probe.d.ts +27 -0
  157. package/dist/cli/commands/vm-hypervisor-probe.js +78 -0
  158. package/dist/cli/commands/vm-status-command.d.ts +3 -0
  159. package/dist/cli/commands/vm-status-command.js +50 -0
  160. package/dist/cli/commands/wave-plan-commands.d.ts +0 -1
  161. package/dist/cli/commands/web-lifecycle-commands.d.ts +0 -1
  162. package/dist/cli/commands/workflow-commands.js +0 -14
  163. package/dist/cli/commands/workflow-plan-commands-actions.js +0 -2
  164. package/dist/cli/commands/workflow-plan-commands-session.js +0 -2
  165. package/dist/cli/commands/workflow-plan-commands.d.ts +0 -1
  166. package/dist/cli/commands/workspace/clean-command.d.ts +0 -1
  167. package/dist/cli/commands/workspace/clean-command.js +0 -1
  168. package/dist/cli/commands/workspace/helpers.d.ts +0 -1
  169. package/dist/cli/commands/workspace/helpers.js +0 -1
  170. package/dist/cli/commands/workspace/init-command.d.ts +0 -6
  171. package/dist/cli/commands/workspace/init-command.js +0 -17
  172. package/dist/cli/commands/workspace/migrate-command.d.ts +0 -2
  173. package/dist/cli/commands/workspace/migrate-command.js +0 -2
  174. package/dist/cli/commands/workspace/reconcile-command.d.ts +0 -2
  175. package/dist/cli/commands/workspace/reconcile-command.js +0 -3
  176. package/dist/cli/commands/workspace-commands.d.ts +0 -2
  177. package/dist/cli/commands/workspace-commands.js +0 -4
  178. package/dist/cli/commands/worktree-auth-commands.d.ts +0 -1
  179. package/dist/cli/commands/worktree-auth-commands.js +0 -1
  180. package/dist/cli/commands/worktree-auth-grant-command.d.ts +0 -1
  181. package/dist/cli/commands/worktree-auth-grant-command.js +0 -1
  182. package/dist/cli/commands/worktree-auth-manage-commands.d.ts +0 -1
  183. package/dist/cli/commands/worktree-auth-manage-commands.js +0 -1
  184. package/dist/cli/commands/worktree-lease-commands.js +0 -1
  185. package/dist/cli/program.js +0 -7
  186. package/dist/reporters/bdd-reporter.js +0 -1
  187. package/dist/services/24h-mode/auto-engage.d.ts +0 -1
  188. package/dist/services/24h-mode/auto-engage.js +0 -1
  189. package/dist/services/24h-mode/decider.d.ts +0 -3
  190. package/dist/services/24h-mode/decider.js +0 -3
  191. package/dist/services/24h-mode/index.d.ts +0 -2
  192. package/dist/services/24h-mode/index.js +0 -2
  193. package/dist/services/24h-mode/state.d.ts +0 -1
  194. package/dist/services/24h-mode/state.js +0 -1
  195. package/dist/services/24h-mode/store.d.ts +0 -1
  196. package/dist/services/24h-mode/store.js +0 -1
  197. package/dist/services/adapter/adapter-registry.js +0 -1
  198. package/dist/services/artifacts/artifact-prerequisites.d.ts +0 -5
  199. package/dist/services/artifacts/artifact-prerequisites.js +0 -19
  200. package/dist/services/artifacts/artifact-templates.d.ts +0 -1
  201. package/dist/services/artifacts/artifact-templates.js +0 -1
  202. package/dist/services/artifacts/request-artifact-service.d.ts +0 -5
  203. package/dist/services/artifacts/request-artifact-service.js +0 -12
  204. package/dist/services/artifacts/request-artifact-state-helpers.d.ts +0 -1
  205. package/dist/services/artifacts/request-artifact-state-helpers.js +0 -1
  206. package/dist/services/audit/artifact-writer.d.ts +0 -1
  207. package/dist/services/audit/artifact-writer.js +0 -1
  208. package/dist/services/audit/decision-writer.js +3 -1
  209. package/dist/services/audit/enforcer-liveness.js +0 -1
  210. package/dist/services/audit/enforcers/active-skill-resolver.d.ts +0 -2
  211. package/dist/services/audit/enforcers/active-skill-resolver.js +0 -2
  212. package/dist/services/audit/red-line-audit-input.d.ts +11 -0
  213. package/dist/services/audit/red-line-audit-input.js +103 -0
  214. package/dist/services/audit/red-line-catalog-p2-a-bee-runtime.d.ts +0 -1
  215. package/dist/services/audit/red-line-catalog-p2-a.js +0 -9
  216. package/dist/services/audit/types.d.ts +0 -2
  217. package/dist/services/audit/types.js +0 -2
  218. package/dist/services/audit-independent/perf-audit-service.d.ts +0 -2
  219. package/dist/services/audit-independent/security-audit-service.d.ts +0 -5
  220. package/dist/services/audit-independent/security-audit-service.js +0 -2
  221. package/dist/services/autonomous-swarm/autonomous-swarm-service.d.ts +0 -5
  222. package/dist/services/autonomous-swarm/autonomous-swarm-service.js +0 -5
  223. package/dist/services/best-practice/language-detector.js +0 -1
  224. package/dist/services/best-practice/output-formatter.d.ts +0 -1
  225. package/dist/services/best-practice/scan-orchestrator.d.ts +0 -1
  226. package/dist/services/capability-audit-service/types.d.ts +1 -3
  227. package/dist/services/capability-guard-runner/contracts/J08.js +2 -2
  228. package/dist/services/changeset/changeset-check-service.d.ts +0 -3
  229. package/dist/services/changeset/changeset-check-service.js +0 -3
  230. package/dist/services/classify/classify-service.d.ts +0 -1
  231. package/dist/services/classify/classify-service.js +0 -1
  232. package/dist/services/classify/classify-types.d.ts +0 -1
  233. package/dist/services/classify/classify-types.js +0 -1
  234. package/dist/services/code/auto-compact-lifecycle.d.ts +0 -11
  235. package/dist/services/code/auto-compact-lifecycle.js +0 -10
  236. package/dist/services/code/auto-compact-modes.d.ts +0 -3
  237. package/dist/services/code/auto-compact-modes.js +0 -3
  238. package/dist/services/code/auto-compact-orchestrator.d.ts +0 -9
  239. package/dist/services/code/auto-compact-orchestrator.js +0 -29
  240. package/dist/services/code/batch-heartbeat-poller.js +0 -1
  241. package/dist/services/code/compact-event-settle.js +0 -1
  242. package/dist/services/code/dag-orchestrator.d.ts +0 -1
  243. package/dist/services/code/dag-orchestrator.js +0 -1
  244. package/dist/services/code/mode-gate-types.d.ts +0 -2
  245. package/dist/services/code/mode-gate-types.js +0 -1
  246. package/dist/services/code/mode-gate.d.ts +0 -5
  247. package/dist/services/code/mode-gate.js +0 -5
  248. package/dist/services/code/orchestrator-can-do-advisories.d.ts +0 -2
  249. package/dist/services/code/orchestrator-can-do-advisories.js +0 -5
  250. package/dist/services/code/orchestrator-can-do.d.ts +0 -4
  251. package/dist/services/code/orchestrator-can-do.js +0 -3
  252. package/dist/services/code/status-line-renderer.js +0 -1
  253. package/dist/services/code-review/ecc-bridge.d.ts +0 -1
  254. package/dist/services/codegraph/codegraph-autorefresh.js +6 -4
  255. package/dist/services/codegraph/codegraph-backend-advice.d.ts +26 -0
  256. package/dist/services/codegraph/codegraph-backend-advice.js +166 -0
  257. package/dist/services/codegraph/codegraph-config-repair-writer.d.ts +0 -24
  258. package/dist/services/codegraph/codegraph-config-repair-writer.js +32 -73
  259. package/dist/services/codegraph/codegraph-exclude-integrity.d.ts +14 -6
  260. package/dist/services/codegraph/codegraph-exclude-integrity.js +24 -14
  261. package/dist/services/codegraph/codegraph-exclude-reconciler.d.ts +9 -2
  262. package/dist/services/codegraph/codegraph-exclude-reconciler.js +87 -18
  263. package/dist/services/codegraph/codegraph-exclude-repair.d.ts +9 -61
  264. package/dist/services/codegraph/codegraph-exclude-repair.js +67 -139
  265. package/dist/services/codegraph/codegraph-foreign-removal.d.ts +21 -0
  266. package/dist/services/codegraph/codegraph-foreign-removal.js +77 -0
  267. package/dist/services/codegraph/codegraph-index-integrity.d.ts +12 -25
  268. package/dist/services/codegraph/codegraph-index-integrity.js +84 -23
  269. package/dist/services/codegraph/codegraph-preflight-service.js +15 -6
  270. package/dist/services/codegraph/codegraph-project-config.d.ts +35 -0
  271. package/dist/services/codegraph/codegraph-project-config.js +90 -0
  272. package/dist/services/codegraph/codegraph-service.d.ts +1 -2
  273. package/dist/services/codegraph/codegraph-service.js +11 -11
  274. package/dist/services/codegraph/codegraph-upstream-layout.d.ts +24 -0
  275. package/dist/services/codegraph/codegraph-upstream-layout.js +85 -0
  276. package/dist/services/comments/comment-audit.d.ts +15 -4
  277. package/dist/services/comments/comment-audit.js +25 -4
  278. package/dist/services/comments/comment-citations.d.ts +8 -2
  279. package/dist/services/comments/comment-citations.js +31 -33
  280. package/dist/services/comments/comment-hygiene.d.ts +29 -3
  281. package/dist/services/comments/comment-hygiene.js +40 -3
  282. package/dist/services/comments/comment-prune.js +52 -4
  283. package/dist/services/comments/comment-spans.d.ts +30 -0
  284. package/dist/services/comments/comment-spans.js +266 -0
  285. package/dist/services/comments/prune-apply.d.ts +22 -0
  286. package/dist/services/comments/prune-apply.js +69 -2
  287. package/dist/services/compact/decision-tables.d.ts +0 -2
  288. package/dist/services/compact/decision-tables.js +0 -2
  289. package/dist/services/compact/request-transition-hook.js +0 -2
  290. package/dist/services/compact-history/compact-history-service.d.ts +0 -2
  291. package/dist/services/compact-history/compact-history-service.js +0 -1
  292. package/dist/services/compact-statusline/compact-lifecycle-store.js +0 -2
  293. package/dist/services/compact-statusline/compact-lifecycle-types.d.ts +0 -1
  294. package/dist/services/compact-statusline/compact-statusline-service.js +0 -4
  295. package/dist/services/config/config-rollback.js +0 -1
  296. package/dist/services/config/config-safety.d.ts +0 -1
  297. package/dist/services/config/config-safety.js +0 -1
  298. package/dist/services/config/config-service.d.ts +0 -1
  299. package/dist/services/config/config-service.js +0 -1
  300. package/dist/services/config/model-routing.d.ts +0 -3
  301. package/dist/services/config/model-routing.js +0 -5
  302. package/dist/services/container/container-lease.d.ts +0 -1
  303. package/dist/services/container/container-lease.js +0 -1
  304. package/dist/services/context/artifact-meta.js +0 -1
  305. package/dist/services/context/auto-compact-dispatcher-input.d.ts +0 -3
  306. package/dist/services/context/auto-compact-dispatcher.js +0 -14
  307. package/dist/services/context/auto-compact-reader-input.d.ts +0 -1
  308. package/dist/services/context/auto-compact-reader.d.ts +0 -2
  309. package/dist/services/context/auto-compact-reader.js +0 -7
  310. package/dist/services/context/auto-compact-types.d.ts +0 -11
  311. package/dist/services/context/auto-compact-types.js +0 -1
  312. package/dist/services/context/build-dispatch-system-prompt.d.ts +11 -29
  313. package/dist/services/context/build-dispatch-system-prompt.js +8 -27
  314. package/dist/services/context/codegraph-unavailable-block.d.ts +38 -0
  315. package/dist/services/context/codegraph-unavailable-block.js +77 -0
  316. package/dist/services/context/context-audit-hint.d.ts +0 -1
  317. package/dist/services/context/context-audit-hint.js +0 -1
  318. package/dist/services/context/context-audit.d.ts +0 -1
  319. package/dist/services/context/context-audit.js +0 -1
  320. package/dist/services/context/harness-window-config.d.ts +0 -4
  321. package/dist/services/context/harness-window-config.js +0 -4
  322. package/dist/services/context/main-session-monitor.d.ts +0 -2
  323. package/dist/services/context/main-session-monitor.js +0 -2
  324. package/dist/services/context/memory-index-reader.d.ts +0 -2
  325. package/dist/services/context/memory-index-reader.js +0 -1
  326. package/dist/services/context/memory-preflight-config.d.ts +0 -1
  327. package/dist/services/context/memory-preflight-service.d.ts +0 -1
  328. package/dist/services/context/memory-preflight-service.js +0 -3
  329. package/dist/services/context/memory-preflight-support.d.ts +0 -5
  330. package/dist/services/context/post-compact-reinjection.d.ts +0 -1
  331. package/dist/services/context/post-compact-reinjection.js +0 -1
  332. package/dist/services/context/summary-view.d.ts +0 -1
  333. package/dist/services/context/summary-view.js +0 -1
  334. package/dist/services/crystallization/crystallization-service.d.ts +5 -11
  335. package/dist/services/crystallization/crystallization-service.js +3 -11
  336. package/dist/services/crystallization/crystallization-store.d.ts +6 -6
  337. package/dist/services/dispatch/await-batch-helpers.js +0 -3
  338. package/dist/services/dispatch/await-batch.d.ts +0 -1
  339. package/dist/services/dispatch/await-batch.js +0 -4
  340. package/dist/services/dispatch/batch-counter.js +0 -1
  341. package/dist/services/dispatch/conflict-replay.d.ts +0 -1
  342. package/dist/services/dispatch/conflict-replay.js +0 -1
  343. package/dist/services/dispatch/contract-store.d.ts +0 -2
  344. package/dist/services/dispatch/contract-store.js +0 -2
  345. package/dist/services/dispatch/dispatch-record-input-types.d.ts +0 -2
  346. package/dist/services/dispatch/dispatch-record-types.d.ts +0 -10
  347. package/dist/services/dispatch/dispatch-record-upgrade-fields.js +0 -7
  348. package/dist/services/dispatch/dispatch-record-upgrade-guards.js +0 -2
  349. package/dist/services/dispatch/dispatch-record-writer.d.ts +0 -5
  350. package/dist/services/dispatch/dispatch-record-writer.js +0 -21
  351. package/dist/services/dispatch/dispatch-sub-agent.d.ts +0 -1
  352. package/dist/services/dispatch/dispatch-sub-agent.js +0 -1
  353. package/dist/services/dispatch/e2e-fixtures.js +0 -1
  354. package/dist/services/dispatch/file-overlap-wave-planner.d.ts +0 -1
  355. package/dist/services/dispatch/file-overlap-wave-planner.js +0 -1
  356. package/dist/services/dispatch/isolation-lease.d.ts +0 -2
  357. package/dist/services/dispatch/isolation-lease.js +0 -2
  358. package/dist/services/dispatch/service-shutdown.js +0 -1
  359. package/dist/services/dispatch/session-capsule.js +0 -1
  360. package/dist/services/dispatch/slice-dag-types.d.ts +0 -1
  361. package/dist/services/dispatch/slice-dag.js +0 -2
  362. package/dist/services/dispatch/stage-enum.d.ts +0 -1
  363. package/dist/services/dispatch/stage-enum.js +0 -1
  364. package/dist/services/dispatch/startup-timeout.d.ts +0 -1
  365. package/dist/services/dispatch/sub-agent-batch-await.js +0 -3
  366. package/dist/services/dispatch/sub-agent-dispatcher-types.d.ts +0 -1
  367. package/dist/services/dispatch/sub-agent-dispatcher.js +0 -2
  368. package/dist/services/dispatch/test-tool-detection.d.ts +0 -3
  369. package/dist/services/dispatch/test-tool-detection.js +0 -2
  370. package/dist/services/doctor/doctor-service/checks/codegraph-capability.js +19 -12
  371. package/dist/services/doctor/doctor-service/checks/codegraph-index-integrity.js +1 -2
  372. package/dist/services/doctor/doctor-service/checks/l3-memory-health.d.ts +0 -2
  373. package/dist/services/doctor/doctor-service/checks/l3-memory-health.js +0 -2
  374. package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.d.ts +0 -1
  375. package/dist/services/doctor/doctor-service/checks/l3-orphan-sessions.js +0 -1
  376. package/dist/services/doctor/doctor-service/checks/multi-binary-drift.d.ts +0 -1
  377. package/dist/services/doctor/doctor-service/checks/multi-binary-drift.js +0 -3
  378. package/dist/services/doctor/doctor-service/checks/workspace-layout.js +0 -2
  379. package/dist/services/doctor/doctor-service/index.d.ts +0 -1
  380. package/dist/services/doctor/doctor-service/index.js +0 -1
  381. package/dist/services/doctor/doctor-service/plugin-registry.d.ts +0 -2
  382. package/dist/services/doctor/doctor-service/plugin-registry.js +0 -2
  383. package/dist/services/doctor/doctor-service/probe-types.d.ts +0 -4
  384. package/dist/services/doctor/doctor-service/report/final-summary.d.ts +0 -1
  385. package/dist/services/doctor/doctor-service/report/final-summary.js +0 -1
  386. package/dist/services/doctor/doctor-service/types.d.ts +0 -5
  387. package/dist/services/doctor/doctor-service/types.js +0 -1
  388. package/dist/services/doctor/doctor-service.d.ts +0 -1
  389. package/dist/services/doctor/doctor-service.js +0 -2
  390. package/dist/services/env/shell-probe.js +0 -1
  391. package/dist/services/evidence/evidence-generator.js +0 -8
  392. package/dist/services/evolution/evolution-constraints.d.ts +0 -2
  393. package/dist/services/evolution/evolution-constraints.js +0 -2
  394. package/dist/services/evolution/evolution-service.d.ts +2 -12
  395. package/dist/services/evolution/evolution-service.js +0 -9
  396. package/dist/services/evolution/evolution-store.d.ts +6 -8
  397. package/dist/services/evolution/evolution-store.js +1 -3
  398. package/dist/services/evolution/evolution-types.d.ts +0 -2
  399. package/dist/services/evolution/evolution-types.js +0 -6
  400. package/dist/services/evolution/independent-evaluator-runner.d.ts +0 -3
  401. package/dist/services/evolution/independent-evaluator-runner.js +0 -1
  402. package/dist/services/evolution/regression-skeptic-runner.d.ts +0 -1
  403. package/dist/services/feedback/feedback-promotion-service.d.ts +0 -8
  404. package/dist/services/feedback/feedback-promotion-service.js +0 -10
  405. package/dist/services/feedback/promotion-artifact-evidence.d.ts +0 -1
  406. package/dist/services/feedback/promotion-artifact-evidence.js +0 -1
  407. package/dist/services/final-review/final-review-evidence-budget.d.ts +0 -3
  408. package/dist/services/final-review/final-review-evidence-budget.js +0 -5
  409. package/dist/services/final-review/final-review-evidence-sources.d.ts +0 -1
  410. package/dist/services/final-review/final-review-evidence-sources.js +0 -1
  411. package/dist/services/final-review/final-review-output-budget.d.ts +0 -1
  412. package/dist/services/final-review/final-review-output-budget.js +0 -3
  413. package/dist/services/final-review/final-review-service.d.ts +0 -1
  414. package/dist/services/final-review/final-review-service.js +0 -1
  415. package/dist/services/fixture/fixture-capture-service.js +0 -1
  416. package/dist/services/fixture/fixture-sanitize-service.d.ts +0 -3
  417. package/dist/services/fixture/fixture-sanitize-service.js +0 -3
  418. package/dist/services/fresh-context/config.js +0 -1
  419. package/dist/services/fresh-context/fresh-context-block.js +0 -1
  420. package/dist/services/fresh-context/trigger-scan.d.ts +0 -1
  421. package/dist/services/fresh-context/trigger-scan.js +0 -1
  422. package/dist/services/fuzzy-matching/fzf-pick-service.d.ts +0 -1
  423. package/dist/services/fuzzy-matching/fzf-pick-service.js +0 -1
  424. package/dist/services/handoff/handoff-parser.d.ts +0 -1
  425. package/dist/services/handoff/handoff-parser.js +0 -1
  426. package/dist/services/handoff/handoff-types.d.ts +0 -1
  427. package/dist/services/handoff/handoff-types.js +0 -1
  428. package/dist/services/handoff/handoff-writer.d.ts +0 -1
  429. package/dist/services/handoff/handoff-writer.js +0 -1
  430. package/dist/services/hooks/auto-compact-hook-install.d.ts +0 -1
  431. package/dist/services/hooks/auto-compact-hook-install.js +0 -1
  432. package/dist/services/hooks/output.d.ts +0 -1
  433. package/dist/services/hooks/output.js +0 -1
  434. package/dist/services/hooks/pre-tool-code-gate.d.ts +0 -1
  435. package/dist/services/hooks/pre-tool-code-gate.js +0 -1
  436. package/dist/services/hooks/presence-marker-detector.js +0 -1
  437. package/dist/services/hooks/worktree-authorization-gate.d.ts +0 -3
  438. package/dist/services/hooks/worktree-authorization-gate.js +0 -1
  439. package/dist/services/ide/adapters/claude-code-adapter.d.ts +0 -5
  440. package/dist/services/ide/adapters/claude-code-adapter.js +0 -11
  441. package/dist/services/ide/adapters/qoder-adapter.d.ts +0 -3
  442. package/dist/services/ide/adapters/qoder-adapter.js +0 -5
  443. package/dist/services/ide/adapters/tongyi-lingma-adapter.d.ts +0 -2
  444. package/dist/services/ide/adapters/tongyi-lingma-adapter.js +0 -2
  445. package/dist/services/ide/adapters/trae-adapter.d.ts +0 -3
  446. package/dist/services/ide/adapters/trae-adapter.js +3 -6
  447. package/dist/services/ide/adapters/zcode-adapter.js +0 -2
  448. package/dist/services/ide/current-model-detector.js +0 -1
  449. package/dist/services/ide/hook-protocol.d.ts +0 -2
  450. package/dist/services/ide/hook-protocol.js +0 -2
  451. package/dist/services/ide/ide-compact-types.d.ts +0 -7
  452. package/dist/services/ide/ide-types.d.ts +0 -12
  453. package/dist/services/ide/resource-profile.d.ts +0 -1
  454. package/dist/services/job/job-commit-verification.d.ts +0 -2
  455. package/dist/services/job/job-commit-verification.js +0 -2
  456. package/dist/services/job/job-orchestrator.d.ts +0 -1
  457. package/dist/services/job/job-orchestrator.js +0 -1
  458. package/dist/services/job/job-progress-store.d.ts +0 -2
  459. package/dist/services/job/job-progress-store.js +0 -3
  460. package/dist/services/job/job-types.js +0 -1
  461. package/dist/services/job-snapshot/snapshot.js +0 -1
  462. package/dist/services/karpathy-cost/karpathy-cost-check-service.js +0 -1
  463. package/dist/services/legacy/legacy-detector.js +0 -1
  464. package/dist/services/log/log-commands-service.d.ts +0 -2
  465. package/dist/services/log/log-commands-service.js +0 -2
  466. package/dist/services/log/logger.d.ts +0 -1
  467. package/dist/services/log/logger.js +0 -1
  468. package/dist/services/log/redact.d.ts +0 -1
  469. package/dist/services/log/redact.js +0 -1
  470. package/dist/services/log/retention.d.ts +0 -1
  471. package/dist/services/log/retention.js +0 -1
  472. package/dist/services/loop/loop-bee-relation-service.d.ts +3 -3
  473. package/dist/services/loop/loop-bee-relation-service.js +14 -13
  474. package/dist/services/loop/loop-bee-relation-store.d.ts +9 -10
  475. package/dist/services/loop/loop-bee-relation-store.js +1 -2
  476. package/dist/services/loop/loop-bee-relation-types.d.ts +1 -1
  477. package/dist/services/loop/loop-bee-relation-types.js +1 -1
  478. package/dist/services/loop/loop-release-service.d.ts +3 -3
  479. package/dist/services/loop/loop-release-service.js +1 -1
  480. package/dist/services/loop/loop-release-store.d.ts +6 -7
  481. package/dist/services/loop/loop-release-store.js +0 -1
  482. package/dist/services/loop/monotonic-guard.d.ts +0 -1
  483. package/dist/services/loop/monotonic-guard.js +0 -1
  484. package/dist/services/memory/memory-ingest-service.js +0 -1
  485. package/dist/services/memory/project-context-service.d.ts +0 -1
  486. package/dist/services/memory/project-context-service.js +0 -1
  487. package/dist/services/memory/project-memory-service/index/reindex.d.ts +0 -2
  488. package/dist/services/memory/project-memory-service/index/reindex.js +0 -1
  489. package/dist/services/memory/project-memory-service/index/search.d.ts +0 -1
  490. package/dist/services/memory/project-memory-service/index/search.js +0 -1
  491. package/dist/services/memory/project-memory-service/memory-kinds.d.ts +0 -1
  492. package/dist/services/memory/project-memory-service/memory-kinds.js +0 -1
  493. package/dist/services/memory/project-memory-service/parsers/frontmatter.d.ts +0 -1
  494. package/dist/services/memory/project-memory-service/parsers/frontmatter.js +0 -1
  495. package/dist/services/memory/project-memory-service.js +0 -1
  496. package/dist/services/mode/mode-enforcement.js +0 -1
  497. package/dist/services/mode/mode-status-service.d.ts +0 -2
  498. package/dist/services/mode/mode-status-service.js +0 -2
  499. package/dist/services/observability/aggregation.d.ts +0 -4
  500. package/dist/services/observability/aggregation.js +0 -6
  501. package/dist/services/observability/observability-schema.js +0 -1
  502. package/dist/services/observability/observability-service.d.ts +0 -5
  503. package/dist/services/observability/observability-service.js +0 -4
  504. package/dist/services/observability/report-formatter.d.ts +0 -2
  505. package/dist/services/observability/report-formatter.js +0 -2
  506. package/dist/services/openspec/artifact-boundary.d.ts +0 -4
  507. package/dist/services/openspec/artifact-boundary.js +0 -4
  508. package/dist/services/openspec/coverage-evidence-reader.d.ts +0 -1
  509. package/dist/services/openspec/coverage-evidence-reader.js +0 -1
  510. package/dist/services/polyrepo/polyrepo-dispatcher.js +0 -1
  511. package/dist/services/polyrepo/polyrepo-scanner.js +0 -1
  512. package/dist/services/polyrepo/polyrepo-service.js +0 -1
  513. package/dist/services/polyrepo/polyrepo-types.d.ts +0 -1
  514. package/dist/services/prd/best-practice-auto-trigger.d.ts +0 -2
  515. package/dist/services/prd/best-practice-auto-trigger.js +0 -2
  516. package/dist/services/prd/gate-evidence-derivation.d.ts +0 -4
  517. package/dist/services/prd/gate-evidence-derivation.js +0 -5
  518. package/dist/services/prd/handoff-auto-regen.js +0 -5
  519. package/dist/services/prd/handoff-frontmatter-shape.d.ts +0 -2
  520. package/dist/services/prd/handoff-frontmatter-shape.js +0 -2
  521. package/dist/services/prd/handoff-frontmatter.d.ts +0 -1
  522. package/dist/services/prd/handoff-frontmatter.js +0 -2
  523. package/dist/services/prd/handoff-gate-evidence.d.ts +0 -1
  524. package/dist/services/prd/handoff-gate-evidence.js +0 -4
  525. package/dist/services/prd/handoff-path-resolution.d.ts +0 -7
  526. package/dist/services/prd/handoff-path-resolution.js +0 -10
  527. package/dist/services/prd/handoff-service.d.ts +0 -2
  528. package/dist/services/prd/handoff-service.js +0 -2
  529. package/dist/services/prd/handoff-types.d.ts +0 -2
  530. package/dist/services/prd/handoff-types.js +0 -1
  531. package/dist/services/prd/project-scan-bootstrap-service.d.ts +0 -1
  532. package/dist/services/prd/project-scan-bootstrap-service.js +0 -4
  533. package/dist/services/prd/project-scan-types.d.ts +0 -1
  534. package/dist/services/prd/project-scan-types.js +0 -1
  535. package/dist/services/preferences/preferences-service.d.ts +0 -1
  536. package/dist/services/preferences/preferences-service.js +0 -5
  537. package/dist/services/preferences/preferences-types.d.ts +0 -14
  538. package/dist/services/preferences/preferences-types.js +0 -4
  539. package/dist/services/progress/progress-service.js +0 -1
  540. package/dist/services/qa/bdd-test-style-verifier.d.ts +0 -1
  541. package/dist/services/qa/bdd-test-style-verifier.js +0 -1
  542. package/dist/services/qa/browser-event-logger.d.ts +0 -1
  543. package/dist/services/qa/browser-event-logger.js +0 -1
  544. package/dist/services/qa/browser-restart-detector.d.ts +0 -1
  545. package/dist/services/qa/browser-restart-detector.js +0 -1
  546. package/dist/services/qa/browser-reuse-hint.d.ts +0 -1
  547. package/dist/services/qa/browser-reuse-hint.js +0 -1
  548. package/dist/services/qa/qa-business-review-state.js +0 -2
  549. package/dist/services/qa/screenshot-archive-service.d.ts +0 -1
  550. package/dist/services/qa/screenshot-archive-service.js +0 -1
  551. package/dist/services/rd/impl.js +0 -1
  552. package/dist/services/rd/rd-service.d.ts +0 -5
  553. package/dist/services/rd/rd-service.js +0 -5
  554. package/dist/services/rd/reviewer-dispatch-policy.d.ts +0 -4
  555. package/dist/services/rd/reviewer-dispatch-policy.js +0 -4
  556. package/dist/services/rd/standards-diagnostic.js +0 -1
  557. package/dist/services/rd/tactical-stage.js +0 -1
  558. package/dist/services/rd-swarm/rd-swarm-types.d.ts +0 -1
  559. package/dist/services/rd-swarm/rd-swarm-types.js +0 -1
  560. package/dist/services/recommendations/installed-capability-detector.d.ts +0 -1
  561. package/dist/services/recommendations/installed-capability-detector.js +0 -1
  562. package/dist/services/release/version-precheck-service.d.ts +0 -2
  563. package/dist/services/release/version-precheck-service.js +0 -3
  564. package/dist/services/retrospective/retrospective-index.d.ts +0 -1
  565. package/dist/services/retrospective/retrospective-index.js +0 -1
  566. package/dist/services/retrospective/retrospective-show.d.ts +0 -1
  567. package/dist/services/retrospective/retrospective-show.js +0 -1
  568. package/dist/services/reviewer/model-family.js +0 -1
  569. package/dist/services/reviewer/reviewer-config.js +0 -1
  570. package/dist/services/reviewer/reviewer-service.d.ts +0 -1
  571. package/dist/services/reviewer/reviewer-service.js +0 -3
  572. package/dist/services/reviewer/selection-strategies.js +0 -1
  573. package/dist/services/runtime/runtime-detector.js +0 -1
  574. package/dist/services/runtime/runtime-service.d.ts +0 -2
  575. package/dist/services/runtime/vendor-adapter.d.ts +0 -7
  576. package/dist/services/runtime/vendors/claude-code.js +0 -1
  577. package/dist/services/runtime/vendors/codex.js +0 -1
  578. package/dist/services/runtime/vendors/copilot.js +0 -1
  579. package/dist/services/sc/sc-service.js +0 -6
  580. package/dist/services/scan/acceptance-coverage-service.js +0 -2
  581. package/dist/services/scan/api-diff-recorded.d.ts +0 -1
  582. package/dist/services/scan/api-diff-recorded.js +0 -1
  583. package/dist/services/scan/api-diff-service.d.ts +0 -1
  584. package/dist/services/scan/api-diff-service.js +0 -1
  585. package/dist/services/scan/api-diff-types.d.ts +0 -1
  586. package/dist/services/scan/api-diff-types.js +0 -1
  587. package/dist/services/scan/archetype-service.js +0 -1
  588. package/dist/services/scan/file-size-policy.d.ts +0 -1
  589. package/dist/services/scan/file-size-policy.js +0 -5
  590. package/dist/services/scan/file-size-scan.d.ts +0 -1
  591. package/dist/services/security/safe-settings-path.js +0 -1
  592. package/dist/services/session/binding-store.d.ts +0 -4
  593. package/dist/services/session/binding-store.js +0 -7
  594. package/dist/services/session/caller-binding-service.d.ts +0 -6
  595. package/dist/services/session/caller-binding-service.js +0 -4
  596. package/dist/services/session/caller-id-types.d.ts +0 -3
  597. package/dist/services/session/caller-id-types.js +0 -2
  598. package/dist/services/session/getSessionDir.js +0 -1
  599. package/dist/services/session/index.js +0 -1
  600. package/dist/services/session/platform-fallbacks.d.ts +0 -3
  601. package/dist/services/session/platform-fallbacks.js +0 -3
  602. package/dist/services/session/resolve-caller-id.d.ts +0 -2
  603. package/dist/services/session/resolve-caller-id.js +0 -2
  604. package/dist/services/session/session-binding-bridge.d.ts +0 -2
  605. package/dist/services/session/session-binding-bridge.js +0 -15
  606. package/dist/services/session/session-checkpoint-service.d.ts +0 -1
  607. package/dist/services/session/session-checkpoint-service.js +0 -1
  608. package/dist/services/session/session-manager.d.ts +0 -8
  609. package/dist/services/session/session-manager.js +0 -19
  610. package/dist/services/session/session-resume-service.d.ts +0 -1
  611. package/dist/services/session/session-resume-service.js +0 -1
  612. package/dist/services/share/bundle-reader.d.ts +2 -5
  613. package/dist/services/share/bundle-reader.js +6 -8
  614. package/dist/services/share/bundle-writer.d.ts +2 -2
  615. package/dist/services/skill/resume-detector.js +0 -3
  616. package/dist/services/skill/skill-scheduler.d.ts +0 -1
  617. package/dist/services/skill/skill-scheduler.js +0 -1
  618. package/dist/services/skill/skill-search-service.d.ts +0 -2
  619. package/dist/services/skill/skill-search-service.js +0 -2
  620. package/dist/services/skillhub/release-diff.d.ts +2 -2
  621. package/dist/services/skillhub/release-export.d.ts +2 -2
  622. package/dist/services/skillhub/release-gc-blobs.d.ts +2 -2
  623. package/dist/services/skillhub/release-import.d.ts +2 -2
  624. package/dist/services/skillhub/release-import.js +2 -1
  625. package/dist/services/skillhub/release-retain.d.ts +2 -2
  626. package/dist/services/skillhub/release-retain.js +2 -1
  627. package/dist/services/skillhub/sqlite-store.d.ts +3 -3
  628. package/dist/services/skillhub/sqlite-store.js +4 -5
  629. package/dist/services/skills/hooks-codegate-superpowers.d.ts +0 -3
  630. package/dist/services/skills/hooks-codegate-superpowers.js +0 -14
  631. package/dist/services/skills/hooks-settings-service.d.ts +0 -2
  632. package/dist/services/skills/hooks-settings-service.js +0 -6
  633. package/dist/services/skills/presence-lease-service.d.ts +0 -1
  634. package/dist/services/skills/presence-lease-service.js +0 -1
  635. package/dist/services/skills/session-start-hook-constants.d.ts +0 -4
  636. package/dist/services/skills/session-start-hook-constants.js +0 -4
  637. package/dist/services/skills/skill-presence-service.d.ts +0 -8
  638. package/dist/services/skills/skill-presence-service.js +0 -13
  639. package/dist/services/skills/skill-statusline-model.d.ts +0 -6
  640. package/dist/services/skills/skill-statusline-model.js +1 -4
  641. package/dist/services/skills/skill-statusline-renderer.d.ts +0 -1
  642. package/dist/services/skills/skill-statusline-renderer.js +0 -12
  643. package/dist/services/skills/skill-statusline-service.js +0 -6
  644. package/dist/services/skills/skill-statusline-sid-suffix.d.ts +0 -2
  645. package/dist/services/skills/skill-statusline-sid-suffix.js +0 -2
  646. package/dist/services/skills/statusline-palette.d.ts +0 -2
  647. package/dist/services/skills/statusline-palette.js +0 -3
  648. package/dist/services/slice/slice-archive-service.js +0 -1
  649. package/dist/services/slice/slice-benchmark-service.d.ts +0 -1
  650. package/dist/services/slice/slice-benchmark-service.js +0 -1
  651. package/dist/services/slice/slice-check-service.js +0 -6
  652. package/dist/services/slice/slice-check-types.d.ts +0 -1
  653. package/dist/services/slice/slice-pick-service.d.ts +0 -1
  654. package/dist/services/slice/slice-pick-service.js +0 -1
  655. package/dist/services/slice/slice-review-state.js +0 -2
  656. package/dist/services/sqlite/sqlite-driver.d.ts +118 -0
  657. package/dist/services/sqlite/sqlite-driver.js +159 -0
  658. package/dist/services/standards/ide-aware-standards-service.d.ts +0 -2
  659. package/dist/services/standards/ide-aware-standards-service.js +0 -1
  660. package/dist/services/standards/loop-engineering-readiness-lint.d.ts +0 -1
  661. package/dist/services/standards/loop-engineering-readiness-lint.js +0 -1
  662. package/dist/services/standards/migrate-claude-rules-service.js +0 -3
  663. package/dist/services/standards/migrate-service.d.ts +0 -1
  664. package/dist/services/standards/migrate-service.js +0 -1
  665. package/dist/services/standards/missing-standards-detector.d.ts +0 -2
  666. package/dist/services/standards/missing-standards-detector.js +0 -3
  667. package/dist/services/standards/project-standards-service.d.ts +0 -1
  668. package/dist/services/standards/project-standards-service.js +0 -1
  669. package/dist/services/standards/standards-render.d.ts +0 -1
  670. package/dist/services/standards/standards-render.js +0 -1
  671. package/dist/services/standards/ui-library-dispatch-block.d.ts +0 -1
  672. package/dist/services/standards/ui-library-dispatch-block.js +0 -1
  673. package/dist/services/tech/tech-change-id-service.d.ts +0 -7
  674. package/dist/services/tech/tech-change-id-service.js +0 -7
  675. package/dist/services/tech/tech-service.js +0 -5
  676. package/dist/services/verdict/envelope-parsers.d.ts +0 -2
  677. package/dist/services/verdict/envelope-parsers.js +0 -2
  678. package/dist/services/verdict/envelopes.d.ts +0 -1
  679. package/dist/services/vm/vm-lease.js +0 -1
  680. package/dist/services/web/aria-node.d.ts +0 -1
  681. package/dist/services/web/bounded-output.d.ts +0 -1
  682. package/dist/services/web/bounded-output.js +0 -1
  683. package/dist/services/web/browser-acquire.js +0 -1
  684. package/dist/services/web/browser-cache-probe.js +0 -1
  685. package/dist/services/web/browser-session-manager.js +0 -1
  686. package/dist/services/web/daemon-entry.js +0 -1
  687. package/dist/services/web/daemon-registry.js +0 -1
  688. package/dist/services/web/daemon-supervisor.d.ts +4 -3
  689. package/dist/services/web/daemon-supervisor.js +4 -4
  690. package/dist/services/web/playwright-loader.js +0 -1
  691. package/dist/services/web/playwright-types.d.ts +0 -1
  692. package/dist/services/web/snapshot-pruner.js +0 -1
  693. package/dist/services/web/untrusted-envelope.d.ts +0 -1
  694. package/dist/services/web/web-artifact-paths.js +0 -1
  695. package/dist/services/web/web-client.d.ts +0 -1
  696. package/dist/services/web/web-daemon-service.js +0 -1
  697. package/dist/services/web/web-fallback.d.ts +0 -1
  698. package/dist/services/web/web-fallback.js +0 -1
  699. package/dist/services/web/web-install-service.js +0 -1
  700. package/dist/services/web/web-login-profile.js +0 -1
  701. package/dist/services/web/web-protocol.d.ts +0 -1
  702. package/dist/services/web/web-protocol.js +0 -1
  703. package/dist/services/web/web-status-report.js +0 -1
  704. package/dist/services/workflow/artifact-paths.js +0 -3
  705. package/dist/services/workflow/autonomous-resume-writer.js +0 -2
  706. package/dist/services/workflow/pipeline-verify-gate-support.d.ts +0 -5
  707. package/dist/services/workflow/pipeline-verify-gate-support.js +0 -11
  708. package/dist/services/workflow/pipeline-verify-service.d.ts +0 -2
  709. package/dist/services/workflow/pipeline-verify-service.js +0 -15
  710. package/dist/services/workflow/pipeline-verify-types.d.ts +0 -10
  711. package/dist/services/workflow/pipeline-verify-types.js +0 -2
  712. package/dist/services/workflow/plan-reader.d.ts +0 -1
  713. package/dist/services/workflow/plan-reader.js +0 -5
  714. package/dist/services/workflow/plan-refresher.js +0 -2
  715. package/dist/services/workflow/plan-trigger-detector.d.ts +0 -2
  716. package/dist/services/workflow/plan-trigger-detector.js +0 -3
  717. package/dist/services/workflow/workflow-autonomous-resume-helpers.js +0 -5
  718. package/dist/services/workflow/workflow-autonomous-service.js +0 -2
  719. package/dist/services/workflow/workflow-autonomous-types.d.ts +0 -2
  720. package/dist/services/workflow/workflow-autonomous-types.js +0 -2
  721. package/dist/services/workflow/workflow-graph-types.d.ts +0 -1
  722. package/dist/services/workflow/workflow-graph-types.js +0 -1
  723. package/dist/services/workflow/workflow-router-service.js +0 -4
  724. package/dist/services/workflow/workflow-skip-service.d.ts +0 -1
  725. package/dist/services/workflow/workflow-skip-service.js +0 -1
  726. package/dist/services/workflow/workflow-spec-lint.d.ts +0 -2
  727. package/dist/services/workflow/workflow-spec-lint.js +0 -2
  728. package/dist/services/workflow/workflow-spec-types.d.ts +0 -1
  729. package/dist/services/workflow/workflow-spec-types.js +0 -1
  730. package/dist/services/workflow/workflow-spec-yaml.d.ts +0 -2
  731. package/dist/services/workflow/workflow-spec-yaml.js +0 -2
  732. package/dist/services/workflow/workflow-spec.js +0 -1
  733. package/dist/services/workflow/workflow-state-store.js +0 -1
  734. package/dist/services/workspace/claude-settings-template.d.ts +0 -4
  735. package/dist/services/workspace/claude-settings-template.js +0 -4
  736. package/dist/services/workspace/migrate-1-4-1-service.d.ts +0 -1
  737. package/dist/services/workspace/migrate-1-4-1-service.js +0 -1
  738. package/dist/services/workspace/migrate-service.js +0 -8
  739. package/dist/services/workspace/migrate-types.d.ts +0 -4
  740. package/dist/services/workspace/migrate-types.js +0 -1
  741. package/dist/services/workspace/reconcile-migrate.d.ts +0 -3
  742. package/dist/services/workspace/reconcile-migrate.js +0 -5
  743. package/dist/services/workspace/reconcile-service.d.ts +0 -3
  744. package/dist/services/workspace/reconcile-service.js +0 -7
  745. package/dist/services/workspace/reconcile-types.d.ts +0 -5
  746. package/dist/services/workspace/sid-naming-guard.d.ts +0 -1
  747. package/dist/services/workspace/sid-naming-guard.js +0 -1
  748. package/dist/services/workspace/templates/project-scan/index.d.ts +0 -3
  749. package/dist/services/workspace/templates/project-scan/index.js +0 -3
  750. package/dist/services/workspace/workspace-claude-settings-materializer.d.ts +0 -1
  751. package/dist/services/workspace/workspace-claude-settings-materializer.js +0 -4
  752. package/dist/services/workspace/workspace-service.d.ts +0 -7
  753. package/dist/services/workspace/workspace-service.js +0 -16
  754. package/dist/services/worktree/playwright-profile.js +0 -1
  755. package/dist/services/worktree/worktree-lease-types.d.ts +0 -1
  756. package/dist/services/worktree/worktree-lease-types.js +0 -1
  757. package/dist/services/worktree/worktree-lease.d.ts +0 -2
  758. package/dist/services/worktree/worktree-lease.js +0 -2
  759. package/dist/shared/format-md-compact.d.ts +0 -2
  760. package/dist/shared/format-md-compact.js +0 -2
  761. package/dist/shared/incrementing-number.d.ts +0 -1
  762. package/dist/shared/incrementing-number.js +0 -1
  763. package/dist/shared/path-utils.d.ts +0 -1
  764. package/dist/shared/path-utils.js +0 -1
  765. package/dist/shared/runtime-root.d.ts +0 -1
  766. package/dist/shared/runtime-root.js +0 -1
  767. package/dist/shared/stale-policy.d.ts +0 -1
  768. package/dist/shared/stale-policy.js +0 -1
  769. package/package.json +12 -10
  770. package/scripts/canonical-store-link.mjs +296 -0
  771. package/scripts/canonical-store-prune.mjs +131 -0
  772. package/scripts/canonical-store.mjs +298 -0
  773. package/scripts/install-skills.mjs +175 -383
  774. package/skills/peaks-audit/SKILL.md +3 -3
  775. package/dist/services/codegraph/codegraph-include-reconciler.d.ts +0 -10
  776. package/dist/services/codegraph/codegraph-include-reconciler.js +0 -160
@@ -0,0 +1,166 @@
1
+ // src/services/codegraph/codegraph-backend-advice.ts
2
+ //
3
+ // Localizes the SQLite-backend advice the upstream `codegraph` binary prints.
4
+ //
5
+ // It lives in the service layer, not the CLI, because two kinds of consumer
6
+ // need it: the CLI echo paths (re-exported from `codegraph-command-runtime.ts`)
7
+ // and the failure-note builders in `codegraph-autorefresh.ts` and
8
+ // `codegraph-preflight-service.ts`, which may not import from `src/cli`.
9
+ //
10
+ // What is being localized, and why it is wrong here:
11
+ //
12
+ // 1. a status line — `Backend: wasm - slower fallback; run
13
+ // `npm rebuild better-sqlite3``;
14
+ // 2. a runtime block on stderr, framed by 72-box-drawing rules, opening
15
+ // `[CodeGraph] WASM SQLite fallback active (better-sqlite3 unavailable)`
16
+ // and then telling the reader to install C build tools, rebuild the
17
+ // binding, or add the package as a hard dependency, followed by the native
18
+ // loader's absolute search paths.
19
+ //
20
+ // Both were true while `better-sqlite3` was a dependency. This project removed
21
+ // it on purpose — a native addon means a C++ toolchain on every machine that
22
+ // installs the CLI — and put its own stores on Node's built-in `node:sqlite`,
23
+ // so upstream's wasm fallback is permanent and intended, and the advice cannot
24
+ // be followed.
25
+ //
26
+ // Two exports, because the two consumers need different things:
27
+ //
28
+ // - `rewriteSqliteBackendAdvice` for output the reader sees: the block
29
+ // becomes one note saying no action is needed.
30
+ // - `dropSqliteBackendAdvice` for a line being QUOTED as a failure cause:
31
+ // substituting our note there would put filler where the cause belongs, so
32
+ // the block is removed and the next real line surfaces.
33
+ /**
34
+ * The control character that opens an SGR sequence, as a string constant:
35
+ * `no-control-regex` refuses one inside a PATTERN literal, and an SGR sequence
36
+ * begins with it by construction — so escape runs are found by scanning.
37
+ */
38
+ // eslint-disable-next-line no-magic-numbers -- 27 is the ESC control character
39
+ const escChar = String.fromCharCode(27);
40
+ function sgrRunLength(text, from) {
41
+ if (text[from] !== escChar || text[from + 1] !== '[') {
42
+ return 0;
43
+ }
44
+ let index = from + 2;
45
+ while (index < text.length && /[0-9;]/.test(text[index] ?? '')) {
46
+ index += 1;
47
+ }
48
+ return (text[index] ?? '') === 'm' ? index + 1 - from : 0;
49
+ }
50
+ /** The text a terminal would actually show for this line. */
51
+ function withoutSgr(text) {
52
+ let out = '';
53
+ for (let index = 0; index < text.length; index += 1) {
54
+ const run = sgrRunLength(text, index);
55
+ if (run > 0) {
56
+ index += run - 1;
57
+ continue;
58
+ }
59
+ out += text[index];
60
+ }
61
+ return out;
62
+ }
63
+ /** The 72-box-drawing rule upstream frames its blocks with. */
64
+ const RULE_LINE_PATTERN = /^─{20,}$/;
65
+ /** Opens the runtime SQLite-backend block. */
66
+ const BLOCK_INTRO_PATTERN = /^\[CodeGraph\]\s+WASM SQLite fallback active\b/i;
67
+ /** `Backend: wasm …`, judged on the visible line. */
68
+ const BACKEND_WASM_PATTERN = /^(\s*Backend:\s*)wasm\b/i;
69
+ const WASM_STATUS_TEXT = 'wasm (slower fallback — by design: peaks-loop ships no native SQLite addon)';
70
+ /**
71
+ * The line the runtime block collapses to. The yellow the status line was
72
+ * wrapped in goes away with the warning it was coloring: this fallback is not
73
+ * a warning here.
74
+ */
75
+ const WASM_BACKEND_NOTE = 'note: codegraph is on its wasm SQLite backend (5-10x slower than native). ' +
76
+ "This is intentional: peaks-loop ships no native addon and uses Node's built-in node:sqlite. " +
77
+ 'No action needed.';
78
+ /** One line of the block, judged on the text the terminal shows. */
79
+ function isBackendAdvice(raw) {
80
+ const text = withoutSgr(raw).trim();
81
+ if (text.length === 0) {
82
+ return true;
83
+ }
84
+ if (text.includes('better-sqlite3')) {
85
+ return true;
86
+ }
87
+ // The native loader's search paths, and the wrapped command lines.
88
+ if (text.startsWith('→') || text.startsWith('npm ') || text.startsWith('sudo ')) {
89
+ return true;
90
+ }
91
+ return /xcode-select|build-essential|apt install|yum groupinstall|^Indexing and sync will be |^Fix on (?:macOS|Linux):|^Or force-include as a hard dependency|^Verify after fix:|^Native load error:/i.test(text);
92
+ }
93
+ /**
94
+ * True when the line is one of the 72-dash frames upstream draws around its
95
+ * blocks.
96
+ *
97
+ * Exported for the failure-note builders, because a frame is never a cause and
98
+ * the block removal alone does not get rid of every one: the frame's CLOSING
99
+ * rule survives whenever the cause line follows it with no blank line between
100
+ * (measured 2026-10-06 against the real binary — `files` on an unreadable store
101
+ * leaves `────…` and then `[ERR] Failed to list files: file is not a database`,
102
+ * and the note quoted the rule).
103
+ */
104
+ export function isBackendRuleLine(raw) {
105
+ return RULE_LINE_PATTERN.test(withoutSgr(raw).trim());
106
+ }
107
+ function isRuleLine(raw) {
108
+ return raw !== undefined && isBackendRuleLine(raw);
109
+ }
110
+ /** The index of the last line the block owns, starting after its intro. A
111
+ * rule belongs to the block only when block content follows it; otherwise it
112
+ * frames something else and stays exactly where it was. */
113
+ function blockBodyEnd(lines, introIndex) {
114
+ let index = introIndex + 1;
115
+ while (index < lines.length) {
116
+ const raw = lines[index] ?? '';
117
+ if (isBackendAdvice(raw) || (isRuleLine(raw) && isBackendAdvice(lines[index + 1] ?? ''))) {
118
+ index += 1;
119
+ continue;
120
+ }
121
+ break;
122
+ }
123
+ return index - 1;
124
+ }
125
+ function collapseBackendAdvice(text, replacement) {
126
+ const lines = text.split('\n');
127
+ const out = [];
128
+ for (let index = 0; index < lines.length; index += 1) {
129
+ const line = lines[index] ?? '';
130
+ const visible = withoutSgr(line);
131
+ const statusMatch = BACKEND_WASM_PATTERN.exec(visible);
132
+ if (statusMatch !== null) {
133
+ out.push(`${statusMatch[1]}${WASM_STATUS_TEXT}`);
134
+ continue;
135
+ }
136
+ if (!BLOCK_INTRO_PATTERN.test(visible)) {
137
+ out.push(line);
138
+ continue;
139
+ }
140
+ // The framing rule the block opens with was already emitted: take it back.
141
+ if (isRuleLine(out[out.length - 1])) {
142
+ out.pop();
143
+ }
144
+ out.push(replacement);
145
+ index = blockBodyEnd(lines, index);
146
+ }
147
+ return out.join('\n');
148
+ }
149
+ /**
150
+ * Rewrites the `Backend: wasm` status line and collapses the
151
+ * `WASM SQLite fallback active` block to one note. The match is anchored — a
152
+ * run of block lines ends at the first line that is not a block shape. Output
153
+ * with no wasm advice (notably a `Backend: native` index) passes through
154
+ * byte-for-byte, and the transform is idempotent.
155
+ */
156
+ export function rewriteSqliteBackendAdvice(text) {
157
+ return collapseBackendAdvice(text, WASM_BACKEND_NOTE);
158
+ }
159
+ /**
160
+ * Removes the block instead of replacing it, for callers that quote one line
161
+ * of upstream output as a failure cause. The status line is still rewritten,
162
+ * so no deleted-package name survives either way.
163
+ */
164
+ export function dropSqliteBackendAdvice(text) {
165
+ return collapseBackendAdvice(text, '');
166
+ }
@@ -22,45 +22,21 @@ export declare function repairCodegraphExclude(input: {
22
22
  readonly exclude: readonly string[];
23
23
  readonly rulesToRemove: readonly string[];
24
24
  }): CodegraphExcludeRepairPlan;
25
- /**
26
- * Pure: given the current `include` list and the patterns to append, return
27
- * the new list. The mirror of `repairCodegraphExclude`, in the other
28
- * direction — a SUPERSET operation instead of a subset one.
29
- *
30
- * A pattern already present is not appended twice: the include reconciler
31
- * already guarantees that, but this function is the writer's own last line
32
- * of defence, and a duplicated glob in a third-party config would be a
33
- * visible defect even though it changes no matching behaviour.
34
- */
35
- export declare function repairCodegraphInclude(input: {
36
- readonly include: readonly string[];
37
- readonly patternsToAdd: readonly string[];
38
- }): {
39
- readonly changed: boolean;
40
- readonly include: readonly string[];
41
- readonly addedPatterns: readonly string[];
42
- };
43
25
  export type CodegraphConfigRepairPlan = {
44
26
  /** Rules from the exclude reconciler to drop. */
45
27
  readonly rulesToRemove: readonly string[];
46
- /** Patterns from the include reconciler to append. */
47
- readonly includePatternsToAdd: readonly string[];
48
28
  };
49
29
  export type CodegraphConfigRepairOutcome = {
50
30
  readonly applied: false;
51
31
  readonly reason: 'nothing-to-repair';
52
32
  readonly removedRules: readonly string[];
53
- readonly addedIncludePatterns: readonly string[];
54
33
  } | {
55
34
  readonly applied: true;
56
35
  readonly configPath: string;
57
36
  readonly backupPath: string;
58
37
  readonly removedRules: readonly string[];
59
- readonly addedIncludePatterns: readonly string[];
60
38
  readonly excludeCountBefore: number;
61
39
  readonly excludeCountAfter: number;
62
- readonly includeCountBefore: number;
63
- readonly includeCountAfter: number;
64
40
  };
65
41
  /**
66
42
  * Apply BOTH config repairs to `<projectRoot>/.codegraph/config.json` in one
@@ -1,28 +1,38 @@
1
1
  // src/services/codegraph/codegraph-config-repair-writer.ts
2
2
  //
3
- // The pure repair plans (`repairCodegraphExclude` for the exclude axis,
4
- // `repairCodegraphInclude` for the include axis) and the writer that applies
5
- // them to `<projectRoot>/.codegraph/config.json` in ONE atomic rewrite, plus
6
- // the byte-exact `config.json.bak` copy it keeps for rollback and
3
+ // The pure exclude repair plan (`repairCodegraphExclude`) and the writer that
4
+ // applies it to this project's codegraph config in ONE atomic rewrite, plus
5
+ // the byte-exact `<config>.bak` copy it keeps for rollback and
7
6
  // `rollbackCodegraphConfig`, that copy's reader (slice A1 of
8
7
  // `2026-09-17-session-607ead`: the reverse write, so the rollback the `.bak`
9
8
  // has always promised is reachable).
10
9
  //
10
+ // WHICH FILE that is comes from `codegraph-project-config.ts` — upstream reads
11
+ // `<root>/codegraph.json` from 1.6.x and `<root>/.codegraph/config.json`
12
+ // before it. The read and the write go through that ONE resolver, so a repair
13
+ // cannot report success against a file upstream never consults.
14
+ //
15
+ // The include axis used to have a plan here too (`repairCodegraphInclude`).
16
+ // It is gone: it existed to append the extensions upstream's own `include`
17
+ // TEMPLATE omitted, and 1.6.x ships no template — while `include` itself came
18
+ // to mean "force INTO the index even when `.gitignore` drops it", so appending
19
+ // every supported extension would have told upstream to index gitignored
20
+ // source. See `codegraph-exclude-repair.ts` for the disposition.
21
+ //
11
22
  // Extracted verbatim from `codegraph-exclude-repair.ts` (rid
12
- // 2026-09-17-oversize-followup, G1 — the 800-line file-size cap). Every moved
13
23
  // line is byte-identical and no behaviour changed; `codegraph-exclude-repair.ts`
14
24
  // re-exports this module's public surface, so every existing import site
15
25
  // (`applyCodegraphConfigRepair`, `repairCodegraphExclude`,
16
- // `repairCodegraphInclude`, `CODEGRAPH_CONFIG_BACKUP_SUFFIX`, and the three
17
- // plan/outcome types) keeps working unchanged.
26
+ // `CODEGRAPH_CONFIG_BACKUP_SUFFIX`, and the two plan/outcome types) keeps
27
+ // working unchanged.
18
28
  //
19
29
  // The dependency edge is ONE-WAY and must stay that way: this module must not
20
30
  // import `codegraph-exclude-repair.ts`, which imports this one.
21
31
  import { randomBytes } from 'node:crypto';
22
32
  import { chmodSync, lstatSync, readFileSync, renameSync, rmSync, statSync, writeFileSync } from 'node:fs';
23
- import { join } from 'node:path';
24
- import { assertStringArray, CODEGRAPH_CONFIG_FILENAME } from './codegraph-exclude-reconciler.js';
25
- import { assertCodegraphDirContained, CODEGRAPH_DIR_NAME } from './codegraph-service.js';
33
+ import { assertStringArray } from './codegraph-exclude-reconciler.js';
34
+ import { resolveCodegraphConfigSource } from './codegraph-project-config.js';
35
+ import { assertCodegraphDirContained } from './codegraph-service.js';
26
36
  /** Suffix of the byte-exact pre-repair copy kept next to the config. */
27
37
  export const CODEGRAPH_CONFIG_BACKUP_SUFFIX = '.bak';
28
38
  /**
@@ -50,24 +60,6 @@ export function repairCodegraphExclude(input) {
50
60
  removedRules
51
61
  };
52
62
  }
53
- /**
54
- * Pure: given the current `include` list and the patterns to append, return
55
- * the new list. The mirror of `repairCodegraphExclude`, in the other
56
- * direction — a SUPERSET operation instead of a subset one.
57
- *
58
- * A pattern already present is not appended twice: the include reconciler
59
- * already guarantees that, but this function is the writer's own last line
60
- * of defence, and a duplicated glob in a third-party config would be a
61
- * visible defect even though it changes no matching behaviour.
62
- */
63
- export function repairCodegraphInclude(input) {
64
- const existing = new Set(input.include);
65
- const additions = input.patternsToAdd.filter((pattern) => !existing.has(pattern));
66
- if (additions.length === 0) {
67
- return { changed: false, include: input.include, addedPatterns: [] };
68
- }
69
- return { changed: true, include: [...input.include, ...additions], addedPatterns: additions };
70
- }
71
63
  /**
72
64
  * Detect the indentation the config already uses so the rewrite keeps
73
65
  * the file's shape instead of reformatting a third-party tool's file.
@@ -125,7 +117,6 @@ function writeConfigAtomic(filePath, content, mode) {
125
117
  // process umask instead of the original's mode.
126
118
  chmodSync(tempPath, mode);
127
119
  // Windows cannot REPLACE a read-only destination: `renameSync` over
128
- // one throws EPERM (measured, `2026-09-17-codegraph-msg-and-refresh`).
129
120
  // The only destination this branch ever sees read-only is this
130
121
  // writer's own previous `.bak`, which under A4 carries the original
131
122
  // config's mode — so a read-only config would make the SECOND repair
@@ -223,7 +214,6 @@ function linkOrDirectoryAt(path) {
223
214
  * succeeded, so a refusal leaves the config BYTES UNTOUCHED — the throw
224
215
  * propagates out of `applyCodegraphConfigRepair` before the rewrite.
225
216
  *
226
- * A4 (`2026-09-17-codegraph-msg-and-refresh`, the L1 half left over from
227
217
  * slice-002's S1): the copy carries the ORIGINAL CONFIG'S MODE, because the
228
218
  * mode is part of what a rollback restores. The `.bak` exists so an operator
229
219
  * can put the previous config back with a `mv`, and a restore that hands
@@ -280,13 +270,8 @@ function writeConfigBackup(configPath, originalText) {
280
270
  * anything is written, so a throw can never half-apply.
281
271
  */
282
272
  export function applyCodegraphConfigRepair(projectRoot, repair) {
283
- if (repair.rulesToRemove.length === 0 && repair.includePatternsToAdd.length === 0) {
284
- return {
285
- applied: false,
286
- reason: 'nothing-to-repair',
287
- removedRules: [],
288
- addedIncludePatterns: []
289
- };
273
+ if (repair.rulesToRemove.length === 0) {
274
+ return { applied: false, reason: 'nothing-to-repair', removedRules: [] };
290
275
  }
291
276
  // Containment FIRST — before even reading (S12 / security R1). The `.bak`
292
277
  // guard below protects a FILE path; this protects the DIRECTORY it lives
@@ -295,7 +280,9 @@ export function applyCodegraphConfigRepair(projectRoot, repair) {
295
280
  // write target stays derived from the caller's `projectRoot`, so this
296
281
  // verb's canonicalization remains where L2/S5 put it, at the CLI edge.
297
282
  assertCodegraphDirContained(projectRoot);
298
- const configPath = join(projectRoot, CODEGRAPH_DIR_NAME, CODEGRAPH_CONFIG_FILENAME);
283
+ // The file WRITTEN is the file READ — both come from the one resolver, so a
284
+ // repair can never report success against a file upstream does not consult.
285
+ const configPath = resolveCodegraphConfigSource(projectRoot).configPath;
299
286
  const originalText = readFileSync(configPath, 'utf8');
300
287
  const parsed = JSON.parse(originalText);
301
288
  if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
@@ -303,52 +290,24 @@ export function applyCodegraphConfigRepair(projectRoot, repair) {
303
290
  }
304
291
  const record = parsed;
305
292
  const exclude = assertStringArray(record.exclude, 'exclude', configPath);
306
- // An ABSENT `include` key is tolerated, and is NOT the same as a malformed
307
- // one: this writer predates the include axis and callers exist whose
308
- // config carries only `exclude` (a hand-written minimal file; the S2
309
- // hardening fixtures are exactly that). Throwing here would make the
310
- // whole repair fail — including the exclude half that used to succeed —
311
- // so the include axis simply has nothing to extend, and the key is never
312
- // invented. A key that is PRESENT but is not an array of strings is still
313
- // an error: that is a genuinely malformed config, and silently ignoring it
314
- // is how a wrong `include` would survive a repair that reported success.
315
- const include = record.include === undefined ? [] : assertStringArray(record.include, 'include', configPath);
316
293
  const excludePlan = repairCodegraphExclude({ exclude, rulesToRemove: repair.rulesToRemove });
317
- const includePlan = repairCodegraphInclude({
318
- include,
319
- patternsToAdd: repair.includePatternsToAdd
320
- });
321
- if (!excludePlan.changed && !includePlan.changed) {
322
- return {
323
- applied: false,
324
- reason: 'nothing-to-repair',
325
- removedRules: [],
326
- addedIncludePatterns: []
327
- };
294
+ if (!excludePlan.changed) {
295
+ return { applied: false, reason: 'nothing-to-repair', removedRules: [] };
328
296
  }
329
297
  const backupPath = writeConfigBackup(configPath, originalText);
330
- // Spread first, then replace the keys that changed — every other key keeps
331
- // its original value AND its original position in the serialized object.
332
- // `include` is only written back when it actually changed, so a config
333
- // without that key does not gain one from a repair that did not touch it.
298
+ // Spread first, then replace the key that changed — every other key keeps
299
+ // its original value AND its original position in the serialized object, so
300
+ // a key this repair does not own (`extensions`, `include`, anything a newer
301
+ // upstream adds) survives byte-for-byte.
334
302
  const nextRecord = { ...record, exclude: excludePlan.exclude };
335
- if (includePlan.changed) {
336
- nextRecord.include = includePlan.include;
337
- }
338
303
  writeConfigAtomic(configPath, serializeConfig(nextRecord, originalText));
339
304
  return {
340
305
  applied: true,
341
306
  configPath,
342
307
  backupPath,
343
308
  removedRules: excludePlan.removedRules,
344
- // The patterns that ACTUALLY landed (a caller-supplied pattern that was
345
- // already present is not an addition), so the report cannot overstate
346
- // what changed on disk.
347
- addedIncludePatterns: includePlan.addedPatterns,
348
309
  excludeCountBefore: exclude.length,
349
- excludeCountAfter: excludePlan.exclude.length,
350
- includeCountBefore: include.length,
351
- includeCountAfter: includePlan.include.length
310
+ excludeCountAfter: excludePlan.exclude.length
352
311
  };
353
312
  }
354
313
  // ─────────────────────────────────────────────────────────────────────
@@ -14,7 +14,7 @@ export type CodegraphExcludeRuleImpact = {
14
14
  readonly blockedCount: number;
15
15
  };
16
16
  export type CodegraphExcludeIntegrityReport = {
17
- /** Absolute path of the reconciled `.codegraph/config.json`. */
17
+ /** Absolute path of the reconciled config file — see `codegraph-project-config.ts`. */
18
18
  readonly configPath: string;
19
19
  /** True when at least one tracked source file is blocked. */
20
20
  readonly gap: boolean;
@@ -30,15 +30,23 @@ export type CodegraphExcludeIntegrityReport = {
30
30
  readonly ruleImpacts: readonly CodegraphExcludeRuleImpact[];
31
31
  };
32
32
  /**
33
- * True when `<projectRoot>/.codegraph/config.json` exists, i.e. when an
33
+ * True when the project's codegraph config file exists, i.e. when an
34
34
  * exclude list is actually in play here. Both consumers use this to
35
- * stay SILENT on a project that never ran `peaks codegraph init`: there
36
- * is no exclusion to report, and a missing config is not a finding.
35
+ * stay SILENT on a project that never configured one: there is no
36
+ * exclusion to report, and a missing config is not a finding.
37
+ *
38
+ * WHICH file that is comes from `codegraph-project-config.ts`, because it
39
+ * is a property of the installed upstream rather than of this module: it is
40
+ * `<projectRoot>/codegraph.json` under 1.6.x and
41
+ * `<projectRoot>/.codegraph/config.json` under 0.7.x. Asking about the old
42
+ * path only would answer `false` on every 1.6.x project, which reads as
43
+ * "nothing is excluded" when the truth is "the exclusion list was never
44
+ * looked at".
37
45
  *
38
46
  * Note the difference from `isCodegraphInitialized` in
39
47
  * `codegraph-service.ts`, which probes `codegraph.db` (upstream's own
40
- * definition of "initialized"). The exclude list is written by upstream
41
- * init, so its presence is the narrower question this module asks.
48
+ * definition of "initialized"). The config is what carries `exclude`, so
49
+ * its presence is the narrower question this module asks.
42
50
  */
43
51
  export declare function isCodegraphExcludeConfigPresent(projectRoot: string): boolean;
44
52
  /**
@@ -1,6 +1,5 @@
1
1
  // src/services/codegraph/codegraph-exclude-integrity.ts
2
2
  //
3
- // Slice S2 of `2026-09-12-codegraph-exclude-integrity` — the READ-ONLY
4
3
  // integrity report shared by `peaks codegraph status` and the
5
4
  // `capability:codegraph-exclude-integrity` doctor check.
6
5
  //
@@ -9,14 +8,13 @@
9
8
  // that both consumers can render and gate on, so neither of them has
10
9
  // to re-derive "is there a gap, how big, and which rules cause it".
11
10
  //
12
- // It NEVER writes `.codegraph/config.json`. The only write path is
11
+ // It NEVER writes the project's codegraph config. The only write path is
13
12
  // `codegraph-exclude-repair.ts`, reachable from `peaks codegraph init`
14
13
  // (fresh-initialization self-heal) and the explicit
15
14
  // `peaks codegraph repair-exclude` command. Read stays read.
16
- import { existsSync } from 'node:fs';
17
- import { join } from 'node:path';
18
- import { CODEGRAPH_CONFIG_FILENAME, resolveSharedConfig, resolveSharedTrackedFiles, reconcileCodegraphExclude } from './codegraph-exclude-reconciler.js';
19
- import { CODEGRAPH_DIR_NAME } from './codegraph-service.js';
15
+ import { resolveSharedConfig, resolveSharedTrackedFiles, reconcileCodegraphExclude } from './codegraph-exclude-reconciler.js';
16
+ import { upstreamSupportsPath } from './codegraph-index-integrity.js';
17
+ import { resolveCodegraphConfigSource } from './codegraph-project-config.js';
20
18
  /**
21
19
  * Exit code `peaks codegraph status` uses when the index is
22
20
  * demonstrably incomplete. Distinct from the upstream pass-through
@@ -29,18 +27,26 @@ export const CODEGRAPH_INTEGRITY_EXIT_CODE = 74;
29
27
  const MAX_REPORTED_RULES = 10;
30
28
  const MAX_REPORTED_FILES = 10;
31
29
  /**
32
- * True when `<projectRoot>/.codegraph/config.json` exists, i.e. when an
30
+ * True when the project's codegraph config file exists, i.e. when an
33
31
  * exclude list is actually in play here. Both consumers use this to
34
- * stay SILENT on a project that never ran `peaks codegraph init`: there
35
- * is no exclusion to report, and a missing config is not a finding.
32
+ * stay SILENT on a project that never configured one: there is no
33
+ * exclusion to report, and a missing config is not a finding.
34
+ *
35
+ * WHICH file that is comes from `codegraph-project-config.ts`, because it
36
+ * is a property of the installed upstream rather than of this module: it is
37
+ * `<projectRoot>/codegraph.json` under 1.6.x and
38
+ * `<projectRoot>/.codegraph/config.json` under 0.7.x. Asking about the old
39
+ * path only would answer `false` on every 1.6.x project, which reads as
40
+ * "nothing is excluded" when the truth is "the exclusion list was never
41
+ * looked at".
36
42
  *
37
43
  * Note the difference from `isCodegraphInitialized` in
38
44
  * `codegraph-service.ts`, which probes `codegraph.db` (upstream's own
39
- * definition of "initialized"). The exclude list is written by upstream
40
- * init, so its presence is the narrower question this module asks.
45
+ * definition of "initialized"). The config is what carries `exclude`, so
46
+ * its presence is the narrower question this module asks.
41
47
  */
42
48
  export function isCodegraphExcludeConfigPresent(projectRoot) {
43
- return existsSync(join(projectRoot, CODEGRAPH_DIR_NAME, CODEGRAPH_CONFIG_FILENAME));
49
+ return resolveCodegraphConfigSource(projectRoot).present;
44
50
  }
45
51
  /**
46
52
  * Read the project's git-tracked files + `.codegraph/config.json` and
@@ -71,14 +77,18 @@ export function inspectCodegraphExcludeIntegrity(projectRoot, inputs = {}) {
71
77
  const result = reconcileCodegraphExclude({
72
78
  trackedFiles,
73
79
  include: config.include,
74
- exclude: config.exclude
80
+ exclude: config.exclude,
81
+ admissionModel: config.model,
82
+ // The same oracle the index axis uses, so "would upstream ingest this
83
+ // file" cannot be answered two ways across the two gates.
84
+ supportsPath: upstreamSupportsPath
75
85
  });
76
86
  const blockedCounts = new Map();
77
87
  for (const violation of result.violations) {
78
88
  blockedCounts.set(violation.matchedRule, (blockedCounts.get(violation.matchedRule) ?? 0) + 1);
79
89
  }
80
90
  return {
81
- configPath: join(projectRoot, CODEGRAPH_DIR_NAME, CODEGRAPH_CONFIG_FILENAME),
91
+ configPath: config.configPath,
82
92
  gap: result.excludedTrackedCount > 0,
83
93
  trackedSourceCount: result.trackedSourceCount,
84
94
  excludedTrackedCount: result.excludedTrackedCount,
@@ -1,3 +1,4 @@
1
+ import { type CodegraphConfigModel } from './codegraph-project-config.js';
1
2
  export declare function matchesCodegraphGlob(filePath: string, pattern: string): boolean;
2
3
  export type CompiledCodegraphGlobs = {
3
4
  readonly matchesAny: (filePath: string) => boolean;
@@ -7,6 +8,8 @@ export type CodegraphExcludeReconcileInput = {
7
8
  readonly trackedFiles: readonly string[];
8
9
  readonly include: readonly string[];
9
10
  readonly exclude: readonly string[];
11
+ readonly admissionModel: CodegraphConfigModel;
12
+ readonly supportsPath?: ((filePath: string) => boolean) | undefined;
10
13
  };
11
14
  export type CodegraphExcludeViolation = {
12
15
  readonly path: string;
@@ -20,8 +23,10 @@ export type CodegraphExcludeReconcileResult = {
20
23
  };
21
24
  export declare function filterAdmittedTrackedFiles(trackedFiles: readonly string[], include: readonly string[]): readonly string[];
22
25
  export declare function reconcileCodegraphExclude(input: CodegraphExcludeReconcileInput): CodegraphExcludeReconcileResult;
23
- export declare const CODEGRAPH_CONFIG_FILENAME = "config.json";
24
26
  export type CodegraphExcludeConfig = {
27
+ readonly configPath: string;
28
+ readonly present: boolean;
29
+ readonly model: CodegraphConfigModel;
25
30
  readonly include: readonly string[];
26
31
  readonly exclude: readonly string[];
27
32
  };
@@ -35,7 +40,9 @@ export type ReadTrackedFiles = readonly string[] & ReadProvenance;
35
40
  export type ReadCodegraphExcludeConfig = CodegraphExcludeConfig & ReadProvenance;
36
41
  export declare function readTrackedFiles(projectRoot: string): ReadTrackedFiles;
37
42
  export declare function assertStringArray(value: unknown, field: string, configPath: string): readonly string[];
43
+ export declare function optionalStringArray(value: unknown, field: string, configPath: string): readonly string[];
38
44
  export declare function readCodegraphExcludeConfig(projectRoot: string): ReadCodegraphExcludeConfig;
45
+ export declare function readCodegraphConfigFrom(projectRoot: string, model: CodegraphConfigModel): ReadCodegraphExcludeConfig;
39
46
  export type CodegraphProjectInputs = {
40
47
  readonly trackedFiles: ReadTrackedFiles;
41
48
  readonly config: ReadCodegraphExcludeConfig;
@@ -43,5 +50,5 @@ export type CodegraphProjectInputs = {
43
50
  export declare function readCodegraphProjectInputs(projectRoot: string): CodegraphProjectInputs;
44
51
  export declare function resolveSharedTrackedFiles(supplied: ReadTrackedFiles | undefined, projectRoot: string): ReadTrackedFiles;
45
52
  export declare function resolveSharedConfig(supplied: ReadCodegraphExcludeConfig | undefined, projectRoot: string): ReadCodegraphExcludeConfig;
46
- export declare function reconcileCodegraphExcludeFromProject(projectRoot: string): CodegraphExcludeReconcileResult;
53
+ export declare function reconcileCodegraphExcludeFromProject(projectRoot: string, supportsPath?: (filePath: string) => boolean): CodegraphExcludeReconcileResult;
47
54
  export {};