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,77 @@
1
+ // src/services/codegraph/codegraph-foreign-removal.ts
2
+ //
3
+ // The one destructive act `peaks codegraph init --force` performs: removing a
4
+ // `.codegraph/` that peaks-loop does not own, so a fresh managed index can take
5
+ // its place.
6
+ //
7
+ // Why deletion and not a backup: the owner's ruling on 2026-10-05. Another
8
+ // tool's SQLite file copied to `.codegraph.bak` inside the project root leaves
9
+ // two divergent indices where there was one, and sibling backups at a project
10
+ // root are exactly what this repo's memory-shape and codegraph-containment
11
+ // guards exist to prevent. The caller who passes `--force` has decided the
12
+ // foreign directory should go; the CLI says plainly what it deleted.
13
+ //
14
+ // Two refusals make that safe to hand to a flag:
15
+ // - a `.codegraph` that is itself a link (symlink, or a Windows junction —
16
+ // `lstat` reports both) is never removed. Following it would delete files
17
+ // the project root was only pointing at, which is a different thing from
18
+ // replacing a directory the project owns. Containment alone does not catch
19
+ // it: a junction may legitimately point somewhere INSIDE the root.
20
+ // - a directory carrying the peaks-loop marker is never removed. `--force`
21
+ // replaces a FOREIGN index; aimed at our own it would be an index-wipe
22
+ // wearing an init's name.
23
+ import { existsSync, lstatSync, rmSync } from 'node:fs';
24
+ import { join, resolve } from 'node:path';
25
+ import { CODEGRAPH_DIR_NAME, CODEGRAPH_MARKER_NAME, defaultCodegraphInitGuard } from './codegraph-service.js';
26
+ /** Reported by the CLI as `CODEGRAPH_FOREIGN_REMOVAL_REFUSED`. */
27
+ export class ForeignCodegraphRemovalError extends Error {
28
+ constructor(message) {
29
+ super(message);
30
+ this.name = 'ForeignCodegraphRemovalError';
31
+ }
32
+ }
33
+ /**
34
+ * Remove `<projectRoot>/.codegraph` and return the path that was deleted.
35
+ * Throws `ForeignCodegraphRemovalError` for a link or for a
36
+ * peaks-loop-managed directory.
37
+ */
38
+ export function removeForeignCodegraphDir(projectRoot) {
39
+ // The LEXICAL path, deliberately: `assertCodegraphDirContained` hands back a
40
+ // REALPATH, and removing what a realpath points at would delete the target
41
+ // of a junction — the opposite of the refusal below.
42
+ const codegraphDir = join(resolve(projectRoot), CODEGRAPH_DIR_NAME);
43
+ let stats;
44
+ try {
45
+ stats = lstatSync(codegraphDir);
46
+ }
47
+ catch {
48
+ throw new ForeignCodegraphRemovalError(`nothing to remove at ${codegraphDir}: it does not exist, so --force had no foreign ` +
49
+ '.codegraph/ directory to replace.');
50
+ }
51
+ // A junction reports `isSymbolicLink()` on Windows and a plain symlink does
52
+ // on POSIX, so one check covers both. `rmSync` on a link removes the link
53
+ // and leaves the target — but the caller asked to replace the project's
54
+ // `.codegraph`, and replacing a link means the project now points at nothing,
55
+ // which is not an init anyone agreed to.
56
+ if (stats.isSymbolicLink()) {
57
+ throw new ForeignCodegraphRemovalError(`refusing to remove ${codegraphDir}: it is a link (symlink or Windows junction). Delete the ` +
58
+ 'link yourself, then re-run `peaks codegraph init`.');
59
+ }
60
+ if (stats.isDirectory() && existsSync(join(codegraphDir, CODEGRAPH_MARKER_NAME))) {
61
+ throw new ForeignCodegraphRemovalError(`refusing to remove ${codegraphDir}: it carries the peaks-loop marker, so this is ` +
62
+ 'peaks-loop-owned index data, not a foreign directory. --force replaces a foreign ' +
63
+ '.codegraph/ only.');
64
+ }
65
+ rmSync(codegraphDir, { recursive: true, force: true });
66
+ return codegraphDir;
67
+ }
68
+ /**
69
+ * Remove the foreign directory and re-run the init guard, so the caller sees an
70
+ * ordinary fresh init. Kept next to the removal because the two are one
71
+ * decision: what `--force` means is "replace it, then continue as if it had
72
+ * never been foreign".
73
+ */
74
+ export function forcePastForeignConflict(projectRoot) {
75
+ const removed = removeForeignCodegraphDir(projectRoot);
76
+ return { removed, outcome: defaultCodegraphInitGuard(projectRoot) };
77
+ }
@@ -1,3 +1,4 @@
1
+ import type { CodegraphConfigModel } from './codegraph-project-config.js';
1
2
  import { type ReadCodegraphExcludeConfig, type ReadTrackedFiles } from './codegraph-exclude-reconciler.js';
2
3
  /**
3
4
  * Exit code `peaks codegraph status` uses when the index itself is
@@ -129,10 +130,17 @@ export declare function resolveCodegraphIndexIntegrityVerdict(report: CodegraphI
129
130
  */
130
131
  export declare function codegraphIndexIntegrityExitCode(verdict: CodegraphIndexIntegrityVerdict, strict: boolean): number | null;
131
132
  export type CodegraphIndexIntegrityReport = {
132
- /** Absolute path of the inspected `.codegraph/config.json`. */
133
+ /** Absolute path of the inspected config file — see `codegraph-project-config.ts`. */
133
134
  readonly configPath: string;
134
135
  /** Absolute path of the inspected index database. */
135
136
  readonly databasePath: string;
137
+ /**
138
+ * Which config model the include axis was evaluated under. Reported rather
139
+ * than implied, because it decides whether an empty `includeGap` means
140
+ * "measured, nothing withheld" or "this upstream's include list cannot
141
+ * withhold anything" — two different claims that must not read alike.
142
+ */
143
+ readonly admissionModel: CodegraphConfigModel;
136
144
  /** True when either axis is non-empty. `[OK]` must not be printed then. */
137
145
  readonly gap: boolean;
138
146
  /** Git-tracked files upstream's extractor would ingest (any extension). */
@@ -143,7 +151,6 @@ export type CodegraphIndexIntegrityReport = {
143
151
  readonly includeGap: readonly string[];
144
152
  /** Rows in the index's `files` table. */
145
153
  readonly indexedFileCount: number;
146
- /** Class ② — index rows whose path no longer exists on disk. */
147
154
  readonly deadRows: readonly string[];
148
155
  };
149
156
  /**
@@ -154,7 +161,10 @@ export type CodegraphIndexIntegrityInput = {
154
161
  readonly configPath: string;
155
162
  readonly databasePath: string;
156
163
  readonly trackedFiles: readonly string[];
164
+ /** The config's `include` globs. Only consulted under `include-whitelist`. */
157
165
  readonly include: readonly string[];
166
+ /** How this upstream's config treats `include` — see `codegraph-project-config.ts`. */
167
+ readonly admissionModel: CodegraphConfigModel;
158
168
  /** Project-relative paths carried by the index's `files` table. */
159
169
  readonly indexedPaths: readonly string[];
160
170
  /** True when upstream's extractor supports `filePath`'s language. */
@@ -242,27 +252,4 @@ export type CodegraphIndexIntegrityDeps = {
242
252
  * callers that must stay alive (`status`, doctor) catch and surface it.
243
253
  */
244
254
  export declare function inspectCodegraphIndexIntegrity(projectRoot: string, deps?: CodegraphIndexIntegrityDeps): CodegraphIndexIntegrityReport;
245
- /**
246
- * Human-readable detail lines for a gapped report, grouped by axis so an
247
- * operator can tell which defect they have (and whether they have both).
248
- *
249
- * Returns an empty array for a clean report — the caller decides whether
250
- * "clean" is worth printing at all.
251
- *
252
- * `blocking` is the user's option C switch, and it changes the TAG, not
253
- * the finding: advisory (the default) prints `[WARN]` and the command
254
- * exits 0; strict prints `[FAIL]` and the command exits 75. The verdict
255
- * word is chosen here rather than by the caller so the two channels
256
- * cannot disagree about the same report.
257
- *
258
- * The remediation sentence NAMES the real command (`peaks codegraph
259
- * repair-index`). Slice-001 deliberately named none, because naming a
260
- * command that does not exist yet reproduces the exact failure this gate
261
- * exists to prevent (an operator following a hint into "command not
262
- * found"). Slice-002 shipped that command, so the obligation recorded in
263
- * slice-001's design decision 4 is discharged here — and the name is
264
- * exported as a constant so the renderer, the doctor message and the
265
- * error envelope cannot drift from the command that is actually
266
- * registered.
267
- */
268
255
  export declare function renderCodegraphIndexIntegrityLines(report: CodegraphIndexIntegrityReport, blocking: boolean): readonly string[];
@@ -1,6 +1,5 @@
1
1
  // src/services/codegraph/codegraph-index-integrity.ts
2
2
  //
3
- // Slice-001 of `2026-09-16-codegraph-index-integrity` — the READ-ONLY
4
3
  // integrity report for the two index defects the exclude gate cannot see.
5
4
  // Shared by `peaks codegraph status` and the
6
5
  // `capability:codegraph-index-integrity` doctor check.
@@ -17,6 +16,13 @@
17
16
  // `include` template has no `**/*.mjs` / `**/*.cjs`, so every `.mjs`
18
17
  // in a repo is dropped while `status` still says the index is fine.
19
18
  //
19
+ // THIS AXIS IS MODEL-DEPENDENT (1.6.2 upgrade). The paragraph above is the
20
+ // 0.7.x config model, where `include` was the whitelist that chose what
21
+ // got indexed. 1.6.x inverted it — see `codegraph-project-config.ts` — and
22
+ // there the axis has no set difference to compute. Which of the two is in
23
+ // force is probed from the installed upstream and reported as
24
+ // `admissionModel`, never assumed.
25
+ //
20
26
  // ② STALENESS — the index holds `files` rows for paths that no longer
21
27
  // exist on disk (deleted or renamed upstream). Incremental `index`
22
28
  // never deletes them, so the graph keeps answering about files that
@@ -48,11 +54,12 @@
48
54
  // tracks upstream instead of drifting from a list we would have to maintain.
49
55
  import { createRequire } from 'node:module';
50
56
  import { existsSync, readdirSync } from 'node:fs';
51
- import { dirname, join } from 'node:path';
52
- import Database from 'better-sqlite3';
57
+ import { join } from 'node:path';
58
+ import { openSqlite } from '../sqlite/sqlite-driver.js';
53
59
  import { normalizePath } from '../../shared/path-utils.js';
54
60
  import { CODEGRAPH_DB_NAME, CODEGRAPH_DIR_NAME } from './codegraph-service.js';
55
- import { CODEGRAPH_CONFIG_FILENAME, filterAdmittedTrackedFiles, resolveSharedConfig, resolveSharedTrackedFiles } from './codegraph-exclude-reconciler.js';
61
+ import { resolveCodegraphUpstreamLayout } from './codegraph-upstream-layout.js';
62
+ import { filterAdmittedTrackedFiles, resolveSharedConfig, resolveSharedTrackedFiles } from './codegraph-exclude-reconciler.js';
56
63
  /**
57
64
  * Exit code `peaks codegraph status` uses when the index itself is
58
65
  * incomplete or stale — distinct from `CODEGRAPH_INTEGRITY_EXIT_CODE` (74,
@@ -175,11 +182,6 @@ const MAX_REPORTED_PATHS = 10;
175
182
  * index's own rows against the filesystem.
176
183
  */
177
184
  export function inspectCodegraphIndexIntegrityFrom(input) {
178
- // Reuse the exclude reconciler's matcher so the two axes cannot disagree
179
- // about what `include` admits (AC6) — this is the same function the
180
- // exclude gate filters with, not a second implementation of it.
181
- const admitted = filterAdmittedTrackedFiles(input.trackedFiles, input.include);
182
- const admittedSet = new Set(admitted);
183
185
  // The `include` filter is a path test, not an extension test, so a file
184
186
  // it drops could be dropped for a directory reason rather than an
185
187
  // extension reason. Only the extension axis is this gate's business:
@@ -188,13 +190,14 @@ export function inspectCodegraphIndexIntegrityFrom(input) {
188
190
  const supportedTracked = input.trackedFiles
189
191
  .map((file) => normalizePath(file))
190
192
  .filter((file) => input.supportsPath(file));
191
- const includeGap = supportedTracked.filter((file) => !admittedSet.has(file));
193
+ const includeGap = includeAxisGap(input, supportedTracked);
192
194
  const deadRows = input.indexedPaths
193
195
  .map((indexedPath) => normalizePath(indexedPath))
194
196
  .filter((indexedPath) => !input.pathExists(indexedPath));
195
197
  return {
196
198
  configPath: input.configPath,
197
199
  databasePath: input.databasePath,
200
+ admissionModel: input.admissionModel,
198
201
  gap: includeGap.length > 0 || deadRows.length > 0,
199
202
  trackedSourceCount: supportedTracked.length,
200
203
  admittedTrackedCount: supportedTracked.length - includeGap.length,
@@ -203,6 +206,31 @@ export function inspectCodegraphIndexIntegrityFrom(input) {
203
206
  deadRows
204
207
  };
205
208
  }
209
+ // Axis ① — supported tracked files the config's `include` globs do not admit,
210
+ // or an empty list when this upstream's `include` CANNOT withhold one.
211
+ //
212
+ // WHY THE MODEL DECIDES THIS (the 1.6.2 upgrade). 0.7.x's `include` was the
213
+ // whitelist that chose what got indexed, so a supported tracked file missing
214
+ // from it was a real omission. 1.6.x's `include` is upstream's own "force INTO
215
+ // the index even when `.gitignore` would drop it" list, with selection driven
216
+ // by `.gitignore` — so an absent list withholds NOTHING. Running the whitelist
217
+ // difference against it does not weaken the gate, it INVERTS it: a freshly
218
+ // initialised project, with no `codegraph.json` at all, would report every
219
+ // supported tracked file as withheld.
220
+ //
221
+ // The set is emptied rather than the axis deleted, and `admissionModel` rides
222
+ // on the report, so "nothing was withheld" and "this list cannot withhold"
223
+ // stay told apart — the rule this module already applies to `clean` vs
224
+ // `not-applicable` vs `not-evaluated`. The matcher is reused from the exclude
225
+ // reconciler (AC6), and is only reached under the model that has a withholding
226
+ // list to test.
227
+ function includeAxisGap(input, supportedTracked) {
228
+ if (input.admissionModel === 'force-include') {
229
+ return [];
230
+ }
231
+ const admittedSet = new Set(filterAdmittedTrackedFiles(input.trackedFiles, input.include));
232
+ return supportedTracked.filter((file) => !admittedSet.has(file));
233
+ }
206
234
  let cachedUpstreamGrammars = null;
207
235
  /**
208
236
  * Load upstream's own `grammars` module and return the two functions
@@ -212,9 +240,8 @@ let cachedUpstreamGrammars = null;
212
240
  * extension list drifts from upstream silently, and a list derived from
213
241
  * `EXTENSION_MAP` would still be a re-derivation of a decision upstream
214
242
  * already implements. Calling the decision is exact by construction. The
215
- * module path is resolved from the package's own `package.json` (the same
216
- * seam `codegraph-service.ts` uses for the binary), so it follows whichever
217
- * `@colbymchenry/codegraph` instance this install actually runs.
243
+ * directory it is read from comes from the shared layout resolver, so it
244
+ * follows whichever `@colbymchenry/codegraph` instance this install runs.
218
245
  *
219
246
  * Node's `require` cache makes the second and later loads free; the module
220
247
  * body only defines tables and functions (grammar WASM loading is a
@@ -223,8 +250,8 @@ let cachedUpstreamGrammars = null;
223
250
  function loadUpstreamGrammars() {
224
251
  if (cachedUpstreamGrammars === null) {
225
252
  const require = createRequire(import.meta.url);
226
- const packageJsonPath = require.resolve('@colbymchenry/codegraph/package.json');
227
- const grammarsPath = join(dirname(packageJsonPath), 'dist', 'extraction', 'grammars.js');
253
+ const { moduleDir } = resolveCodegraphUpstreamLayout();
254
+ const grammarsPath = join(moduleDir, 'extraction', 'grammars.js');
228
255
  cachedUpstreamGrammars = require(grammarsPath);
229
256
  }
230
257
  return cachedUpstreamGrammars;
@@ -240,10 +267,10 @@ export function upstreamSupportsPath(filePath) {
240
267
  /**
241
268
  * The project-relative paths recorded in the index's `files` table.
242
269
  *
243
- * Opened `readonly: true` so the gate can never mutate the index's
244
- * CONTENT, and `fileMustExist: true` so a missing/not-yet-initialized db
245
- * throws instead of silently creating an empty one (which would report a
246
- * 100% stale index).
270
+ * Opened read-only so the gate can never mutate the index's CONTENT, and the
271
+ * seam refuses a path that is not there rather than creating one: an empty
272
+ * database made by the open would report a 100% stale index, which reads as a
273
+ * verdict and is actually an absence.
247
274
  *
248
275
  * Read-only, exactly stated: opening a WAL database (`journal_mode = wal`
249
276
  * is what upstream `dist/db/index.js` sets, and what this repo's own index
@@ -261,7 +288,7 @@ function readIndexedFilePaths(projectRoot) {
261
288
  const databasePath = join(projectRoot, CODEGRAPH_DIR_NAME, CODEGRAPH_DB_NAME);
262
289
  let db;
263
290
  try {
264
- db = new Database(databasePath, { readonly: true, fileMustExist: true });
291
+ db = openSqlite(databasePath, { readOnly: true });
265
292
  }
266
293
  catch (error) {
267
294
  // sqlite's own message ("unable to open database file") does not name
@@ -406,10 +433,14 @@ export function inspectCodegraphIndexIntegrity(projectRoot, deps = {}) {
406
433
  const config = resolveSharedConfig(deps.config, projectRoot);
407
434
  const trackedFiles = resolveSharedTrackedFiles(deps.trackedFiles, projectRoot);
408
435
  return inspectCodegraphIndexIntegrityFrom({
409
- configPath: join(projectRoot, CODEGRAPH_DIR_NAME, CODEGRAPH_CONFIG_FILENAME),
436
+ // Both come off the config value, so the file this report NAMES is the
437
+ // file that was READ and the model that judgement used is the model that
438
+ // resolved it — no consumer re-derives either.
439
+ configPath: config.configPath,
410
440
  databasePath: join(projectRoot, CODEGRAPH_DIR_NAME, CODEGRAPH_DB_NAME),
411
441
  trackedFiles,
412
442
  include: config.include,
443
+ admissionModel: config.model,
413
444
  indexedPaths: readIndexed(projectRoot),
414
445
  supportsPath: supports,
415
446
  pathExists: (projectRelativePath) => exists(projectRoot, projectRelativePath)
@@ -438,13 +469,43 @@ export function inspectCodegraphIndexIntegrity(projectRoot, deps = {}) {
438
469
  * error envelope cannot drift from the command that is actually
439
470
  * registered.
440
471
  */
472
+ // The headline's finding list. It names only what was MEASURED, so it can never
473
+ // present a count no input could have produced — at least one entry is always
474
+ // present, because `gap` is the disjunction of these two.
475
+ function describeFindings(report) {
476
+ const findings = [];
477
+ if (report.includeGap.length > 0) {
478
+ findings.push(`${report.includeGap.length} supported tracked file(s) are not admitted by the config's include globs`);
479
+ }
480
+ if (report.deadRows.length > 0) {
481
+ findings.push(`${report.deadRows.length} index row(s) point at files that no longer exist`);
482
+ }
483
+ return findings.join('; ');
484
+ }
485
+ // The include axis' own note, or `null` when there is nothing honest to say.
486
+ //
487
+ // Under `include-whitelist` the axis has a count and the headline carries it;
488
+ // under `force-include` the axis can never fire, so this note EXISTS to explain
489
+ // the silence rather than leave it looking like a measured zero. It is its own
490
+ // indented line, not part of the finding list, so it cannot be read as a reason
491
+ // the index does not cover the repository.
492
+ function includeAxisNoteLines(report) {
493
+ if (report.admissionModel !== 'force-include') {
494
+ return [];
495
+ }
496
+ return [
497
+ " include axis: not applicable — this upstream's `include` list can only add files to " +
498
+ 'the index, never withhold one'
499
+ ];
500
+ }
441
501
  export function renderCodegraphIndexIntegrityLines(report, blocking) {
442
502
  if (!report.gap) {
443
503
  return [];
444
504
  }
445
505
  const lines = [
446
- `${blocking ? '[FAIL]' : '[WARN]'} codegraph index does not cover the repository: ${report.includeGap.length} supported tracked file(s) are not admitted by the config's include globs, and ${report.deadRows.length} index row(s) point at files that no longer exist.`
506
+ `${blocking ? '[FAIL]' : '[WARN]'} codegraph index does not cover the repository: ${describeFindings(report)}.`
447
507
  ];
508
+ lines.push(...includeAxisNoteLines(report));
448
509
  if (report.includeGap.length > 0) {
449
510
  lines.push(` include gap: ${report.admittedTrackedCount} of ${report.trackedSourceCount} extractor-supported tracked file(s) are admitted by include`);
450
511
  for (const filePath of report.includeGap.slice(0, MAX_REPORTED_PATHS)) {
@@ -466,6 +527,6 @@ export function renderCodegraphIndexIntegrityLines(report, blocking) {
466
527
  if (!blocking) {
467
528
  lines.push(` advisory: this does not fail the command. Set ${CODEGRAPH_INDEX_STRICT_ENV_VAR}=1 to make it block (exit ${CODEGRAPH_INDEX_INTEGRITY_EXIT_CODE}).`);
468
529
  }
469
- lines.push(` fix: run \`${CODEGRAPH_REPAIR_INDEX_COMMAND}\` — it appends the missing include pattern(s), re-checks the exclude rules against the widened list, and rebuilds the index from scratch (that rebuild is what drops the stale rows).`);
530
+ lines.push(` fix: run \`${CODEGRAPH_REPAIR_INDEX_COMMAND}\` — it drops the config's exclude rules that block tracked source files and rebuilds the index from scratch (that rebuild is what drops the stale rows).`);
470
531
  return lines;
471
532
  }
@@ -1,6 +1,5 @@
1
1
  // src/services/codegraph/codegraph-preflight-service.ts
2
2
  //
3
- // Slice 2026-09-03-codegraph-preread (Option A) — pre-dispatch codegraph
4
3
  // preflight for RD planning. peaks-code's RD dispatch path calls
5
4
  // `buildCodegraphPreflightBlock` BEFORE composing the RD sub-agent prompt
6
5
  // (src/cli/commands/dispatch-commands.ts) so the RD plans against the real
@@ -15,7 +14,6 @@
15
14
  // absent, run `codegraph init` + `codegraph index` (best-effort).
16
15
  // 2. Skip-when-fresh: when `.codegraph/` already carries the
17
16
  // peaks-loop marker, do NOT re-init / re-index on every dispatch
18
- // (index is incremental; the sibling rid-2026-09-03-codegraph-autorefresh
19
17
  // owns post-slice refresh). A foreign-schema `.codegraph/` is never
20
18
  // clobbered — we fail-soft instead.
21
19
  // 3. Read a BOUNDED project-structure summary from the index
@@ -33,6 +31,7 @@
33
31
  import { mkdirSync } from 'node:fs';
34
32
  import { CODEGRAPH_DIR_NAME, createCodegraphInvocation, defaultCodegraphInitGuard, executeCodegraphInvocation, isCodegraphInitialized, writeCodegraphMarker } from './codegraph-service.js';
35
33
  import { defaultCodegraphProcessRunner } from './codegraph-process-runner.js';
34
+ import { dropSqliteBackendAdvice, isBackendRuleLine } from './codegraph-backend-advice.js';
36
35
  import { repairCodegraphExcludeFromProject } from './codegraph-exclude-repair.js';
37
36
  import { CODEGRAPH_STRUCTURE_MAX_DIRS, CODEGRAPH_STRUCTURE_MAX_ROOT_FILES, normalizeCodegraphPath, parseFilesPayload } from './codegraph-preflight-structure.js';
38
37
  export { CODEGRAPH_STRUCTURE_MAX_DIRS, CODEGRAPH_STRUCTURE_MAX_ROOT_FILES } from './codegraph-preflight-structure.js';
@@ -89,10 +88,20 @@ function errorMessage(error) {
89
88
  return error instanceof Error ? error.message : String(error);
90
89
  }
91
90
  function firstMeaningfulLine(text) {
92
- const trimmed = text.trim();
93
- if (trimmed.length === 0)
94
- return 'no upstream output';
95
- const first = trimmed.split(/\r?\n/)[0];
91
+ // Upstream writes its SQLite-backend block before anything
92
+ // else, so the raw first line of stderr is a box-drawing frame — and the
93
+ // line after it names a package this project removed. Neither is the
94
+ // failure cause, and this function exists to name the cause.
95
+ //
96
+ // Removing the block is not enough on its own: the frame's CLOSING rule
97
+ // survives whenever the cause follows it with no blank line between, which is
98
+ // exactly what the real binary prints (measured 2026-10-06 — `files` on an
99
+ // unreadable store leaves `────…`, then `[ERR] Failed to list files: file is
100
+ // not a database`). A frame is not a cause, so frames are skipped.
101
+ const first = dropSqliteBackendAdvice(text)
102
+ .split(/\r?\n/)
103
+ .map((line) => line.trim())
104
+ .find((line) => line.length > 0 && !isBackendRuleLine(line));
96
105
  return first !== undefined ? first.slice(0, 200) : 'no upstream output';
97
106
  }
98
107
  async function readStructure(projectRoot, runner) {
@@ -0,0 +1,35 @@
1
+ /** Upstream's per-project config filename at the project root. */
2
+ export declare const CODEGRAPH_PROJECT_CONFIG_FILENAME = "codegraph.json";
3
+ /** Upstream's config filename inside `.codegraph/`. */
4
+ export declare const CODEGRAPH_DIR_CONFIG_FILENAME = "config.json";
5
+ /**
6
+ * How this upstream's `include` list relates to being indexed.
7
+ *
8
+ * - `force-include` — 1.6.x. Selection is `.gitignore`-driven; `include`
9
+ * can only ADD files to the index, never withhold
10
+ * one. Config lives at `<root>/codegraph.json`.
11
+ * - `include-whitelist`— 0.7.x. `include` decides which tracked files are
12
+ * indexed, so its gaps are real omissions. Config
13
+ * lives at `<root>/.codegraph/config.json`.
14
+ */
15
+ export type CodegraphConfigModel = 'force-include' | 'include-whitelist';
16
+ export type CodegraphConfigSource = {
17
+ /** Absolute path of the file upstream reads for this project. */
18
+ readonly configPath: string;
19
+ /** True when that file exists. Its ABSENCE is meaningful in both models. */
20
+ readonly present: boolean;
21
+ readonly model: CodegraphConfigModel;
22
+ };
23
+ /** The model implied by an upstream `dist/` directory, or `null` when there is none. */
24
+ export declare function codegraphConfigModelFor(moduleDir: string): CodegraphConfigModel | null;
25
+ /** Where the config lives under `model`. Pure: no fs. */
26
+ export declare function codegraphConfigPathFor(projectRoot: string, model: CodegraphConfigModel): string;
27
+ /**
28
+ * Resolve the source for a KNOWN model. A parameter rather than a lookup so a
29
+ * caller that has already probed upstream (or a test driving both models) does
30
+ * not have to reach the installed package twice, and so the model can never
31
+ * disagree with the path derived from it.
32
+ */
33
+ export declare function codegraphConfigSourceFor(projectRoot: string, model: CodegraphConfigModel): CodegraphConfigSource;
34
+ /** `codegraphConfigSourceFor` for whichever config model this install runs. */
35
+ export declare function resolveCodegraphConfigSource(projectRoot: string): CodegraphConfigSource;
@@ -0,0 +1,90 @@
1
+ // src/services/codegraph/codegraph-project-config.ts
2
+ //
3
+ // ONE answer to "which file holds this project's codegraph config, and what
4
+ // does its `include` list MEAN", for every reader and writer of that file.
5
+ //
6
+ // WHY THIS EXISTS (the 1.6.2 upgrade). Before it, one constant covered every
7
+ // site: join `.codegraph/config.json` onto the project root. That rule is
8
+ // false from 1.6.x, and false in two ways at once:
9
+ //
10
+ // - LOCATION. The only per-project config 1.6.x reads is
11
+ // `<projectRoot>/codegraph.json`. `init` does not write
12
+ // `.codegraph/config.json` and nothing in the 1.6.x bundle reads it, so
13
+ // every read of the old path is an ENOENT and every write is inert.
14
+ //
15
+ // - SEMANTICS. 0.7.x's `include` was a WHITELIST: it decided which files
16
+ // were indexed, so a supported tracked file missing from it was silently
17
+ // dropped. 1.6.x's `include` is the opposite — upstream's own words are
18
+ // "force INTO the index even when `.gitignore` would drop it". An absent
19
+ // `include` therefore withholds NOTHING in 1.6.x, where the same absence
20
+ // withheld everything in 0.7.x.
21
+ //
22
+ // The two follow from one upstream fact, so they are resolved together, once,
23
+ // and by PROBE rather than by version string — the same discipline
24
+ // `codegraph-upstream-layout.ts` already established for "where does upstream
25
+ // put its files". The probe is upstream's own project-config module: 0.7.x
26
+ // reads `<projectRoot>/.codegraph/config.json` through `dist/config.js` and
27
+ // ships no `project-config.js`; 1.6.x reads `<projectRoot>/codegraph.json`
28
+ // through `lib/dist/project-config.js` and ships no `config.js`. Both halves
29
+ // measured against real installs of 0.7.10 and 1.6.2.
30
+ //
31
+ // PROBE FAILURE IS FAIL-CLOSED. When no upstream can be probed at all, the
32
+ // model resolves to the whitelist one, which REQUIRES the legacy config to be
33
+ // present before any verdict is claimed — so the gate reports "could not
34
+ // evaluate" rather than silently asserting that nothing is withheld.
35
+ import { existsSync } from 'node:fs';
36
+ import { join } from 'node:path';
37
+ import { CODEGRAPH_DIR_NAME } from './codegraph-service.js';
38
+ import { resolveCodegraphUpstreamLayout } from './codegraph-upstream-layout.js';
39
+ /** Upstream's per-project config filename at the project root. */
40
+ export const CODEGRAPH_PROJECT_CONFIG_FILENAME = 'codegraph.json';
41
+ /** Upstream's config filename inside `.codegraph/`. */
42
+ export const CODEGRAPH_DIR_CONFIG_FILENAME = 'config.json';
43
+ /**
44
+ * Upstream's module that reads the project-root config. Its presence is the
45
+ * 1.6.x layout signature; `null` means "no upstream to probe".
46
+ */
47
+ const PROJECT_CONFIG_MODULE = 'project-config.js';
48
+ /** The model implied by an upstream `dist/` directory, or `null` when there is none. */
49
+ export function codegraphConfigModelFor(moduleDir) {
50
+ // An empty `moduleDir` is the layout resolver's "nothing resolved" value.
51
+ // Without this guard `join('', 'project-config.js')` becomes the RELATIVE
52
+ // path `project-config.js`, whose existence would depend on the process's
53
+ // working directory — a probe that answers about the cwd instead of about
54
+ // upstream.
55
+ if (moduleDir === '') {
56
+ return null;
57
+ }
58
+ return existsSync(join(moduleDir, PROJECT_CONFIG_MODULE)) ? 'force-include' : 'include-whitelist';
59
+ }
60
+ /** Where the config lives under `model`. Pure: no fs. */
61
+ export function codegraphConfigPathFor(projectRoot, model) {
62
+ return model === 'force-include'
63
+ ? join(projectRoot, CODEGRAPH_PROJECT_CONFIG_FILENAME)
64
+ : join(projectRoot, CODEGRAPH_DIR_NAME, CODEGRAPH_DIR_CONFIG_FILENAME);
65
+ }
66
+ /**
67
+ * Resolve the source for a KNOWN model. A parameter rather than a lookup so a
68
+ * caller that has already probed upstream (or a test driving both models) does
69
+ * not have to reach the installed package twice, and so the model can never
70
+ * disagree with the path derived from it.
71
+ */
72
+ export function codegraphConfigSourceFor(projectRoot, model) {
73
+ const configPath = codegraphConfigPathFor(projectRoot, model);
74
+ return { configPath, present: existsSync(configPath), model };
75
+ }
76
+ /** `codegraphConfigSourceFor` for whichever config model this install runs. */
77
+ export function resolveCodegraphConfigSource(projectRoot) {
78
+ return codegraphConfigSourceFor(projectRoot, resolveCodegraphConfigModel());
79
+ }
80
+ function resolveCodegraphConfigModel() {
81
+ try {
82
+ const probed = codegraphConfigModelFor(resolveCodegraphUpstreamLayout().moduleDir);
83
+ return probed ?? 'include-whitelist';
84
+ }
85
+ catch {
86
+ // No installed upstream to probe — see the module header: fail CLOSED, so
87
+ // the caller demands the legacy config before claiming any verdict.
88
+ return 'include-whitelist';
89
+ }
90
+ }
@@ -1,5 +1,5 @@
1
1
  declare const CODEGRAPH_PACKAGE_NAME = "@colbymchenry/codegraph";
2
- declare const CODEGRAPH_PACKAGE_VERSION = "0.7.10";
2
+ declare const CODEGRAPH_PACKAGE_VERSION = "1.6.2";
3
3
  declare const CODEGRAPH_EXECUTABLE: string;
4
4
  declare const ALLOWED_SUBCOMMANDS: readonly ["status", "init", "index", "query", "files", "context", "affected"];
5
5
  type CodegraphSubcommand = (typeof ALLOWED_SUBCOMMANDS)[number];
@@ -188,7 +188,6 @@ export type CodegraphAffectedRow = {
188
188
  export type WriteCodegraphAffectedContextInput = {
189
189
  /** The peaks-loop project root (where `.peaks/_runtime/` lives). */
190
190
  readonly projectRoot: string;
191
- /** Request id, e.g. `rid-CG-002`. Used as the envelope's anchor. */
192
191
  readonly rid: string;
193
192
  /** Project-relative file paths passed to `peaks codegraph affected`. */
194
193
  readonly files: readonly string[];
@@ -1,11 +1,11 @@
1
1
  import { existsSync, mkdirSync, realpathSync, statSync, writeFileSync } from 'node:fs';
2
- import { createRequire } from 'node:module';
3
2
  import { dirname, isAbsolute, join, relative, resolve, sep } from 'node:path';
4
3
  import { defaultCodegraphProcessRunner } from './codegraph-process-runner.js';
4
+ import { resolveCodegraphUpstreamLayout } from './codegraph-upstream-layout.js';
5
5
  import { getSessionId, getSessionDir } from '../session/index.js';
6
6
  import { isInsidePath } from '../../shared/path-utils.js';
7
7
  const CODEGRAPH_PACKAGE_NAME = '@colbymchenry/codegraph';
8
- const CODEGRAPH_PACKAGE_VERSION = '0.7.10';
8
+ const CODEGRAPH_PACKAGE_VERSION = '1.6.2';
9
9
  const CODEGRAPH_EXECUTABLE = process.execPath;
10
10
  const CODEGRAPH_BINARY_PATH = resolveCodegraphBinaryPath();
11
11
  const POSITIONAL_ARGUMENT_PREFIX = '-';
@@ -22,10 +22,11 @@ const NUMERIC_FLAG_NAMES = ['limit', 'maxDepth'];
22
22
  const COMMON_OPTION_KEYS = ['subcommand', 'project'];
23
23
  const ALLOWED_OPTIONS_BY_SUBCOMMAND = {
24
24
  status: [],
25
- // Upstream `init` takes NO flags. The `--yes` we used to whitelist
26
- // here was passed straight through to `@colbymchenry/codegraph`, which
27
- // rejects it with CODEGRAPH_COMMAND_FAILED — and upstream init never
28
- // prompts, so there was nothing for it to answer.
25
+ // peaks-loop passes upstream `init` NO flags. The `--yes` we used to
26
+ // whitelist was forwarded verbatim and rejected with
27
+ // CODEGRAPH_COMMAND_FAILED — and init never prompts, so there was nothing
28
+ // for it to answer. 1.6.2 added `-y, --yes` for a prompt that still does
29
+ // not exist, which changes nothing: it stays unwhitelisted.
29
30
  init: [],
30
31
  index: ['force', 'quiet'],
31
32
  query: ['search', 'json', 'limit'],
@@ -33,11 +34,11 @@ const ALLOWED_OPTIONS_BY_SUBCOMMAND = {
33
34
  context: ['task'],
34
35
  affected: ['files', 'json']
35
36
  };
37
+ // Upstream's on-disk layout is owned by `codegraph-upstream-layout.ts` — the
38
+ // same resolver the two module oracles and the doctor's probe read, so none
39
+ // of the four can disagree about which install it is reading.
36
40
  function resolveCodegraphBinaryPath() {
37
- const require = createRequire(import.meta.url);
38
- const packageJsonPath = require.resolve('@colbymchenry/codegraph/package.json');
39
- const binaryPath = resolve(dirname(packageJsonPath), 'dist', 'bin', 'codegraph.js');
40
- return binaryPath;
41
+ return resolveCodegraphUpstreamLayout().binaryPath;
41
42
  }
42
43
  function assertSupportedSubcommand(subcommand) {
43
44
  if (!ALLOWED_SUBCOMMANDS.includes(subcommand)) {
@@ -331,7 +332,6 @@ function inspectCandidateCodegraphDir(codegraphDir) {
331
332
  const markerPath = join(codegraphDir, CODEGRAPH_MARKER_NAME);
332
333
  if (existsSync(markerPath)) {
333
334
  // Marker present but no codegraph.db → the dangling state left by the
334
- // pre-fix rid-CG-001 auto-stake (marker stamped without running
335
335
  // upstream init). Report 'fresh' so consumers re-run upstream init
336
336
  // (idempotent, creates the db) instead of treating the schema as
337
337
  // fully initialized.
@@ -0,0 +1,24 @@
1
+ export type CodegraphUpstreamLayout = {
2
+ /**
3
+ * Absolute path of the script to spawn with `process.execPath`. Empty
4
+ * string when NO candidate directory holds an entry at all — the caller
5
+ * then fails with a path it can name rather than with a silent `undefined`.
6
+ */
7
+ readonly binaryPath: string;
8
+ /**
9
+ * Absolute path of the directory holding upstream's JS modules
10
+ * (`types.js`, `extraction/grammars.js`). Same `dist/` the entry's `bin/`
11
+ * lives under, so one probe locates both.
12
+ */
13
+ readonly moduleDir: string;
14
+ };
15
+ /**
16
+ * Resolve upstream's layout for one `package.json` path.
17
+ *
18
+ * `packageJsonPath` is a parameter rather than a lookup because the doctor's
19
+ * yarn-pnp fallback reaches the same package by a filesystem walk and needs
20
+ * the layout for THAT path, not for whatever `createRequire` finds.
21
+ */
22
+ export declare function codegraphUpstreamLayoutFor(packageJsonPath: string): CodegraphUpstreamLayout;
23
+ /** `codegraphUpstreamLayoutFor` for whichever install this process runs against. */
24
+ export declare function resolveCodegraphUpstreamLayout(): CodegraphUpstreamLayout;