@cleocode/core 2026.9.8 → 2026.9.10

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 (569) hide show
  1. package/dist/audit/reconstruct.d.ts +13 -43
  2. package/dist/audit/reconstruct.d.ts.map +1 -1
  3. package/dist/audit/reconstruct.js +295 -290
  4. package/dist/audit/reconstruct.js.map +1 -1
  5. package/dist/bootstrap.d.ts.map +1 -1
  6. package/dist/bootstrap.js +8 -2
  7. package/dist/bootstrap.js.map +1 -1
  8. package/dist/compliance/protocol-rules.d.ts.map +1 -1
  9. package/dist/compliance/protocol-rules.js +3 -1
  10. package/dist/compliance/protocol-rules.js.map +1 -1
  11. package/dist/dispatch/mutate-projection.d.ts.map +1 -1
  12. package/dist/dispatch/mutate-projection.js +12 -0
  13. package/dist/dispatch/mutate-projection.js.map +1 -1
  14. package/dist/dispatch/mvi-projection.d.ts +29 -6
  15. package/dist/dispatch/mvi-projection.d.ts.map +1 -1
  16. package/dist/dispatch/mvi-projection.js +109 -139
  17. package/dist/dispatch/mvi-projection.js.map +1 -1
  18. package/dist/docs/docs-read-model.d.ts +3 -2
  19. package/dist/docs/docs-read-model.d.ts.map +1 -1
  20. package/dist/docs/docs-read-model.js +4 -3
  21. package/dist/docs/docs-read-model.js.map +1 -1
  22. package/dist/docs/export-document.js +5129 -2297
  23. package/dist/docs/export-document.js.map +3 -3
  24. package/dist/docs/projection.d.ts +67 -0
  25. package/dist/docs/projection.d.ts.map +1 -0
  26. package/dist/docs/projection.js +370 -0
  27. package/dist/docs/projection.js.map +1 -0
  28. package/dist/doctor/acceptance-drift.d.ts +6 -2
  29. package/dist/doctor/acceptance-drift.d.ts.map +1 -1
  30. package/dist/doctor/acceptance-drift.js +43 -5
  31. package/dist/doctor/acceptance-drift.js.map +1 -1
  32. package/dist/doctor/knowledge-summary.d.ts +41 -0
  33. package/dist/doctor/knowledge-summary.d.ts.map +1 -0
  34. package/dist/doctor/knowledge-summary.js +81 -0
  35. package/dist/doctor/knowledge-summary.js.map +1 -0
  36. package/dist/doctor/knowledge.d.ts +192 -0
  37. package/dist/doctor/knowledge.d.ts.map +1 -0
  38. package/dist/doctor/knowledge.js +1864 -0
  39. package/dist/doctor/knowledge.js.map +1 -0
  40. package/dist/git/work-tree.d.ts +169 -0
  41. package/dist/git/work-tree.d.ts.map +1 -0
  42. package/dist/git/work-tree.js +341 -0
  43. package/dist/git/work-tree.js.map +1 -0
  44. package/dist/hooks/handlers/task-hooks.d.ts +8 -5
  45. package/dist/hooks/handlers/task-hooks.d.ts.map +1 -1
  46. package/dist/hooks/handlers/task-hooks.js +15 -60
  47. package/dist/hooks/handlers/task-hooks.js.map +1 -1
  48. package/dist/identity/cleo-identity.d.ts +13 -0
  49. package/dist/identity/cleo-identity.d.ts.map +1 -1
  50. package/dist/identity/cleo-identity.js +20 -6
  51. package/dist/identity/cleo-identity.js.map +1 -1
  52. package/dist/injection.d.ts.map +1 -1
  53. package/dist/injection.js +29 -13
  54. package/dist/injection.js.map +1 -1
  55. package/dist/internal.d.ts +3 -0
  56. package/dist/internal.d.ts.map +1 -1
  57. package/dist/internal.js +4 -0
  58. package/dist/internal.js.map +1 -1
  59. package/dist/lifecycle/verification/satisfies-validator.d.ts.map +1 -1
  60. package/dist/lifecycle/verification/satisfies-validator.js +124 -120
  61. package/dist/lifecycle/verification/satisfies-validator.js.map +1 -1
  62. package/dist/llm/plugin-facade.js +4047 -1726
  63. package/dist/llm/plugin-facade.js.map +3 -3
  64. package/dist/memory/brain-backfill.d.ts +27 -12
  65. package/dist/memory/brain-backfill.d.ts.map +1 -1
  66. package/dist/memory/brain-backfill.js +325 -134
  67. package/dist/memory/brain-backfill.js.map +1 -1
  68. package/dist/memory/brain-doctor.d.ts +21 -0
  69. package/dist/memory/brain-doctor.d.ts.map +1 -1
  70. package/dist/memory/brain-doctor.js +111 -53
  71. package/dist/memory/brain-doctor.js.map +1 -1
  72. package/dist/memory/brain-links.d.ts.map +1 -1
  73. package/dist/memory/brain-links.js +31 -4
  74. package/dist/memory/brain-links.js.map +1 -1
  75. package/dist/memory/brain-reasoning.d.ts.map +1 -1
  76. package/dist/memory/brain-reasoning.js +28 -2
  77. package/dist/memory/brain-reasoning.js.map +1 -1
  78. package/dist/memory/brain-reconciler.d.ts +14 -19
  79. package/dist/memory/brain-reconciler.d.ts.map +1 -1
  80. package/dist/memory/brain-reconciler.js +70 -97
  81. package/dist/memory/brain-reconciler.js.map +1 -1
  82. package/dist/memory/brain-search.d.ts +2 -0
  83. package/dist/memory/brain-search.d.ts.map +1 -1
  84. package/dist/memory/brain-search.js +59 -29
  85. package/dist/memory/brain-search.js.map +1 -1
  86. package/dist/memory/brain-similarity.d.ts.map +1 -1
  87. package/dist/memory/brain-similarity.js +5 -4
  88. package/dist/memory/brain-similarity.js.map +1 -1
  89. package/dist/memory/brain-stub-prune.d.ts +31 -9
  90. package/dist/memory/brain-stub-prune.d.ts.map +1 -1
  91. package/dist/memory/brain-stub-prune.js +65 -18
  92. package/dist/memory/brain-stub-prune.js.map +1 -1
  93. package/dist/memory/brain-writer-handlers.d.ts +10 -1
  94. package/dist/memory/brain-writer-handlers.d.ts.map +1 -1
  95. package/dist/memory/brain-writer-handlers.js +23 -3
  96. package/dist/memory/brain-writer-handlers.js.map +1 -1
  97. package/dist/memory/brain-writer-thread.d.ts +11 -1
  98. package/dist/memory/brain-writer-thread.d.ts.map +1 -1
  99. package/dist/memory/brain-writer-thread.js +87 -20
  100. package/dist/memory/brain-writer-thread.js.map +1 -1
  101. package/dist/memory/brain-writer-worker.js +8 -1
  102. package/dist/memory/brain-writer-worker.js.map +1 -1
  103. package/dist/memory/decision-cross-link.d.ts +39 -0
  104. package/dist/memory/decision-cross-link.d.ts.map +1 -1
  105. package/dist/memory/decision-cross-link.js +316 -0
  106. package/dist/memory/decision-cross-link.js.map +1 -1
  107. package/dist/memory/decisions.d.ts +4 -1
  108. package/dist/memory/decisions.d.ts.map +1 -1
  109. package/dist/memory/decisions.js +7 -24
  110. package/dist/memory/decisions.js.map +1 -1
  111. package/dist/memory/dispatch-trace.d.ts +12 -5
  112. package/dist/memory/dispatch-trace.d.ts.map +1 -1
  113. package/dist/memory/dispatch-trace.js +17 -7
  114. package/dist/memory/dispatch-trace.js.map +1 -1
  115. package/dist/memory/eligibility.d.ts +51 -0
  116. package/dist/memory/eligibility.d.ts.map +1 -0
  117. package/dist/memory/eligibility.js +77 -0
  118. package/dist/memory/eligibility.js.map +1 -0
  119. package/dist/memory/engine-compat.d.ts +2 -0
  120. package/dist/memory/engine-compat.d.ts.map +1 -1
  121. package/dist/memory/engine-compat.js +10 -0
  122. package/dist/memory/engine-compat.js.map +1 -1
  123. package/dist/memory/extraction-gate.d.ts +21 -7
  124. package/dist/memory/extraction-gate.d.ts.map +1 -1
  125. package/dist/memory/extraction-gate.js +178 -216
  126. package/dist/memory/extraction-gate.js.map +1 -1
  127. package/dist/memory/graph-auto-populate.d.ts +38 -5
  128. package/dist/memory/graph-auto-populate.d.ts.map +1 -1
  129. package/dist/memory/graph-auto-populate.js +182 -60
  130. package/dist/memory/graph-auto-populate.js.map +1 -1
  131. package/dist/memory/graph-memory-bridge.d.ts +14 -1
  132. package/dist/memory/graph-memory-bridge.d.ts.map +1 -1
  133. package/dist/memory/graph-memory-bridge.js +66 -28
  134. package/dist/memory/graph-memory-bridge.js.map +1 -1
  135. package/dist/memory/index.d.ts +1 -19
  136. package/dist/memory/index.d.ts.map +1 -1
  137. package/dist/memory/index.js +1 -50
  138. package/dist/memory/index.js.map +1 -1
  139. package/dist/memory/learnings.d.ts.map +1 -1
  140. package/dist/memory/learnings.js +2 -23
  141. package/dist/memory/learnings.js.map +1 -1
  142. package/dist/memory/manifest-filter.d.ts +21 -0
  143. package/dist/memory/manifest-filter.d.ts.map +1 -0
  144. package/dist/memory/manifest-filter.js +51 -0
  145. package/dist/memory/manifest-filter.js.map +1 -0
  146. package/dist/memory/manifest-ingestion.d.ts +28 -30
  147. package/dist/memory/manifest-ingestion.d.ts.map +1 -1
  148. package/dist/memory/manifest-ingestion.js +104 -235
  149. package/dist/memory/manifest-ingestion.js.map +1 -1
  150. package/dist/memory/observer-reflector.d.ts +2 -0
  151. package/dist/memory/observer-reflector.d.ts.map +1 -1
  152. package/dist/memory/observer-reflector.js +6 -49
  153. package/dist/memory/observer-reflector.js.map +1 -1
  154. package/dist/memory/patterns.d.ts +10 -0
  155. package/dist/memory/patterns.d.ts.map +1 -1
  156. package/dist/memory/patterns.js +25 -33
  157. package/dist/memory/patterns.js.map +1 -1
  158. package/dist/memory/pipeline-manifest-sqlite.d.ts +72 -9
  159. package/dist/memory/pipeline-manifest-sqlite.d.ts.map +1 -1
  160. package/dist/memory/pipeline-manifest-sqlite.js +508 -412
  161. package/dist/memory/pipeline-manifest-sqlite.js.map +1 -1
  162. package/dist/memory/retrieval/build-retrieval-bundle.d.ts.map +1 -1
  163. package/dist/memory/retrieval/build-retrieval-bundle.js +16 -15
  164. package/dist/memory/retrieval/build-retrieval-bundle.js.map +1 -1
  165. package/dist/memory/retrieval/fetch.d.ts +7 -0
  166. package/dist/memory/retrieval/fetch.d.ts.map +1 -1
  167. package/dist/memory/retrieval/fetch.js +14 -11
  168. package/dist/memory/retrieval/fetch.js.map +1 -1
  169. package/dist/memory/retrieval/observe.d.ts +7 -1
  170. package/dist/memory/retrieval/observe.d.ts.map +1 -1
  171. package/dist/memory/retrieval/observe.js +58 -4
  172. package/dist/memory/retrieval/observe.js.map +1 -1
  173. package/dist/memory/retrieval/search.d.ts +14 -1
  174. package/dist/memory/retrieval/search.d.ts.map +1 -1
  175. package/dist/memory/retrieval/search.js +133 -69
  176. package/dist/memory/retrieval/search.js.map +1 -1
  177. package/dist/memory/retrieval/telemetry.d.ts +31 -0
  178. package/dist/memory/retrieval/telemetry.d.ts.map +1 -0
  179. package/dist/memory/retrieval/telemetry.js +53 -0
  180. package/dist/memory/retrieval/telemetry.js.map +1 -0
  181. package/dist/nexus/analyze-orchestrator.d.ts +41 -9
  182. package/dist/nexus/analyze-orchestrator.d.ts.map +1 -1
  183. package/dist/nexus/analyze-orchestrator.js +257 -58
  184. package/dist/nexus/analyze-orchestrator.js.map +1 -1
  185. package/dist/nexus/api-contracts.d.ts +2 -6
  186. package/dist/nexus/api-contracts.d.ts.map +1 -1
  187. package/dist/nexus/api-contracts.js +11 -2
  188. package/dist/nexus/api-contracts.js.map +1 -1
  189. package/dist/nexus/context.d.ts.map +1 -1
  190. package/dist/nexus/context.js +14 -37
  191. package/dist/nexus/context.js.map +1 -1
  192. package/dist/nexus/diff.d.ts.map +1 -1
  193. package/dist/nexus/diff.js +2 -1
  194. package/dist/nexus/diff.js.map +1 -1
  195. package/dist/nexus/identity.d.ts +29 -3
  196. package/dist/nexus/identity.d.ts.map +1 -1
  197. package/dist/nexus/identity.js +63 -12
  198. package/dist/nexus/identity.js.map +1 -1
  199. package/dist/nexus/impact.d.ts +21 -19
  200. package/dist/nexus/impact.d.ts.map +1 -1
  201. package/dist/nexus/impact.js +96 -192
  202. package/dist/nexus/impact.js.map +1 -1
  203. package/dist/nexus/knowledge.d.ts +80 -0
  204. package/dist/nexus/knowledge.d.ts.map +1 -0
  205. package/dist/nexus/knowledge.js +786 -0
  206. package/dist/nexus/knowledge.js.map +1 -0
  207. package/dist/nexus/living-brain.d.ts +8 -5
  208. package/dist/nexus/living-brain.d.ts.map +1 -1
  209. package/dist/nexus/living-brain.js +252 -188
  210. package/dist/nexus/living-brain.js.map +1 -1
  211. package/dist/nexus/registry.d.ts +11 -2
  212. package/dist/nexus/registry.d.ts.map +1 -1
  213. package/dist/nexus/registry.js +144 -128
  214. package/dist/nexus/registry.js.map +1 -1
  215. package/dist/nexus/source-roots.d.ts +16 -0
  216. package/dist/nexus/source-roots.d.ts.map +1 -0
  217. package/dist/nexus/source-roots.js +174 -0
  218. package/dist/nexus/source-roots.js.map +1 -0
  219. package/dist/nexus/task-evidence.d.ts +22 -0
  220. package/dist/nexus/task-evidence.d.ts.map +1 -0
  221. package/dist/nexus/task-evidence.js +210 -0
  222. package/dist/nexus/task-evidence.js.map +1 -0
  223. package/dist/nexus/tasks-bridge.d.ts +14 -7
  224. package/dist/nexus/tasks-bridge.d.ts.map +1 -1
  225. package/dist/nexus/tasks-bridge.js +81 -40
  226. package/dist/nexus/tasks-bridge.js.map +1 -1
  227. package/dist/orchestrate/lifecycle-ops.d.ts.map +1 -1
  228. package/dist/orchestrate/lifecycle-ops.js +170 -120
  229. package/dist/orchestrate/lifecycle-ops.js.map +1 -1
  230. package/dist/orchestrate/query-ops.d.ts +6 -7
  231. package/dist/orchestrate/query-ops.d.ts.map +1 -1
  232. package/dist/orchestrate/query-ops.js +509 -532
  233. package/dist/orchestrate/query-ops.js.map +1 -1
  234. package/dist/orchestration/bootstrap.d.ts +15 -1
  235. package/dist/orchestration/bootstrap.d.ts.map +1 -1
  236. package/dist/orchestration/bootstrap.js +21 -10
  237. package/dist/orchestration/bootstrap.js.map +1 -1
  238. package/dist/orchestration/index.d.ts +35 -3
  239. package/dist/orchestration/index.d.ts.map +1 -1
  240. package/dist/orchestration/index.js +64 -35
  241. package/dist/orchestration/index.js.map +1 -1
  242. package/dist/orchestration/lead-rollup.d.ts +24 -1
  243. package/dist/orchestration/lead-rollup.d.ts.map +1 -1
  244. package/dist/orchestration/lead-rollup.js +31 -11
  245. package/dist/orchestration/lead-rollup.js.map +1 -1
  246. package/dist/orchestration/spawn-prompt.d.ts.map +1 -1
  247. package/dist/orchestration/spawn-prompt.js +25 -45
  248. package/dist/orchestration/spawn-prompt.js.map +1 -1
  249. package/dist/orchestration/unblock.d.ts +15 -1
  250. package/dist/orchestration/unblock.d.ts.map +1 -1
  251. package/dist/orchestration/unblock.js +23 -12
  252. package/dist/orchestration/unblock.js.map +1 -1
  253. package/dist/orchestration/validate-spawn.d.ts.map +1 -1
  254. package/dist/orchestration/validate-spawn.js +3 -3
  255. package/dist/orchestration/validate-spawn.js.map +1 -1
  256. package/dist/orchestration/waves.d.ts +29 -13
  257. package/dist/orchestration/waves.d.ts.map +1 -1
  258. package/dist/orchestration/waves.js +43 -55
  259. package/dist/orchestration/waves.js.map +1 -1
  260. package/dist/paths.d.ts +17 -163
  261. package/dist/paths.d.ts.map +1 -1
  262. package/dist/paths.js +145 -496
  263. package/dist/paths.js.map +1 -1
  264. package/dist/project-info.d.ts +2 -11
  265. package/dist/project-info.d.ts.map +1 -1
  266. package/dist/project-info.js +3 -31
  267. package/dist/project-info.js.map +1 -1
  268. package/dist/project-scope.d.ts +239 -0
  269. package/dist/project-scope.d.ts.map +1 -0
  270. package/dist/project-scope.js +473 -0
  271. package/dist/project-scope.js.map +1 -0
  272. package/dist/release/pr-evidence.d.ts +23 -4
  273. package/dist/release/pr-evidence.d.ts.map +1 -1
  274. package/dist/release/pr-evidence.js +65 -9
  275. package/dist/release/pr-evidence.js.map +1 -1
  276. package/dist/render/nexus/graph/index.d.ts.map +1 -1
  277. package/dist/render/nexus/graph/index.js +4 -2
  278. package/dist/render/nexus/graph/index.js.map +1 -1
  279. package/dist/render/orchestration/audit-reconstruct.d.ts +11 -0
  280. package/dist/render/orchestration/audit-reconstruct.d.ts.map +1 -1
  281. package/dist/render/orchestration/audit-reconstruct.js +21 -6
  282. package/dist/render/orchestration/audit-reconstruct.js.map +1 -1
  283. package/dist/render/tasks/show.js +2 -1
  284. package/dist/render/tasks/show.js.map +1 -1
  285. package/dist/resources/spawn-wrapper.d.ts +82 -14
  286. package/dist/resources/spawn-wrapper.d.ts.map +1 -1
  287. package/dist/resources/spawn-wrapper.js +585 -27
  288. package/dist/resources/spawn-wrapper.js.map +1 -1
  289. package/dist/selfimprove/fix-gen.js +4055 -1734
  290. package/dist/selfimprove/fix-gen.js.map +3 -3
  291. package/dist/sequence/index.d.ts.map +1 -1
  292. package/dist/sequence/index.js +76 -68
  293. package/dist/sequence/index.js.map +1 -1
  294. package/dist/session/canon-lint.d.ts +24 -3
  295. package/dist/session/canon-lint.d.ts.map +1 -1
  296. package/dist/session/canon-lint.js +72 -31
  297. package/dist/session/canon-lint.js.map +1 -1
  298. package/dist/session/engine-ops.d.ts +1 -4
  299. package/dist/session/engine-ops.d.ts.map +1 -1
  300. package/dist/session/engine-ops.js +42 -6
  301. package/dist/session/engine-ops.js.map +1 -1
  302. package/dist/sessions/briefing.d.ts +11 -1
  303. package/dist/sessions/briefing.d.ts.map +1 -1
  304. package/dist/sessions/briefing.js +76 -8
  305. package/dist/sessions/briefing.js.map +1 -1
  306. package/dist/sessions/handoff.d.ts +3 -1
  307. package/dist/sessions/handoff.d.ts.map +1 -1
  308. package/dist/sessions/handoff.js +2 -0
  309. package/dist/sessions/handoff.js.map +1 -1
  310. package/dist/shutdown-deadline.d.ts +24 -33
  311. package/dist/shutdown-deadline.d.ts.map +1 -1
  312. package/dist/shutdown-deadline.js +71 -14
  313. package/dist/shutdown-deadline.js.map +1 -1
  314. package/dist/shutdown.d.ts +21 -10
  315. package/dist/shutdown.d.ts.map +1 -1
  316. package/dist/shutdown.js +89 -42
  317. package/dist/shutdown.js.map +1 -1
  318. package/dist/skills/index.d.ts +1 -1
  319. package/dist/skills/index.d.ts.map +1 -1
  320. package/dist/skills/index.js +1 -1
  321. package/dist/skills/index.js.map +1 -1
  322. package/dist/skills/orchestrator/validator.d.ts +87 -20
  323. package/dist/skills/orchestrator/validator.d.ts.map +1 -1
  324. package/dist/skills/orchestrator/validator.js +330 -241
  325. package/dist/skills/orchestrator/validator.js.map +1 -1
  326. package/dist/store/agent-resolver.d.ts.map +1 -1
  327. package/dist/store/agent-resolver.js +16 -9
  328. package/dist/store/agent-resolver.js.map +1 -1
  329. package/dist/store/attachment-store.d.ts +4 -1
  330. package/dist/store/attachment-store.d.ts.map +1 -1
  331. package/dist/store/attachment-store.js +20 -3
  332. package/dist/store/attachment-store.js.map +1 -1
  333. package/dist/store/background-jobs.d.ts +426 -105
  334. package/dist/store/background-jobs.d.ts.map +1 -1
  335. package/dist/store/background-jobs.js +1208 -252
  336. package/dist/store/background-jobs.js.map +1 -1
  337. package/dist/store/background-ops.d.ts +145 -8
  338. package/dist/store/background-ops.d.ts.map +1 -1
  339. package/dist/store/background-ops.js +459 -15
  340. package/dist/store/background-ops.js.map +1 -1
  341. package/dist/store/backup-inspect.d.ts +48 -4
  342. package/dist/store/backup-inspect.d.ts.map +1 -1
  343. package/dist/store/backup-inspect.js +384 -4
  344. package/dist/store/backup-inspect.js.map +1 -1
  345. package/dist/store/converters.d.ts.map +1 -1
  346. package/dist/store/converters.js +19 -2
  347. package/dist/store/converters.js.map +1 -1
  348. package/dist/store/data-accessor.d.ts +9 -1
  349. package/dist/store/data-accessor.d.ts.map +1 -1
  350. package/dist/store/data-accessor.js +22 -5
  351. package/dist/store/data-accessor.js.map +1 -1
  352. package/dist/store/data-safety-central.d.ts.map +1 -1
  353. package/dist/store/data-safety-central.js +272 -232
  354. package/dist/store/data-safety-central.js.map +1 -1
  355. package/dist/store/db-helpers.d.ts +19 -3
  356. package/dist/store/db-helpers.d.ts.map +1 -1
  357. package/dist/store/db-helpers.js +42 -58
  358. package/dist/store/db-helpers.js.map +1 -1
  359. package/dist/store/dual-scope-db.d.ts +63 -4
  360. package/dist/store/dual-scope-db.d.ts.map +1 -1
  361. package/dist/store/dual-scope-db.js +166 -19
  362. package/dist/store/dual-scope-db.js.map +1 -1
  363. package/dist/store/exodus/archive.d.ts +21 -7
  364. package/dist/store/exodus/archive.d.ts.map +1 -1
  365. package/dist/store/exodus/archive.js +60 -18
  366. package/dist/store/exodus/archive.js.map +1 -1
  367. package/dist/store/exodus/migrate.d.ts.map +1 -1
  368. package/dist/store/exodus/migrate.js +27 -23
  369. package/dist/store/exodus/migrate.js.map +1 -1
  370. package/dist/store/exodus/on-open.d.ts +16 -27
  371. package/dist/store/exodus/on-open.d.ts.map +1 -1
  372. package/dist/store/exodus/on-open.js +121 -169
  373. package/dist/store/exodus/on-open.js.map +1 -1
  374. package/dist/store/exodus/recovery.d.ts +90 -0
  375. package/dist/store/exodus/recovery.d.ts.map +1 -0
  376. package/dist/store/exodus/recovery.js +434 -0
  377. package/dist/store/exodus/recovery.js.map +1 -0
  378. package/dist/store/exodus/types.d.ts +15 -0
  379. package/dist/store/exodus/types.d.ts.map +1 -1
  380. package/dist/store/memory-accessor.d.ts +52 -3
  381. package/dist/store/memory-accessor.d.ts.map +1 -1
  382. package/dist/store/memory-accessor.js +122 -7
  383. package/dist/store/memory-accessor.js.map +1 -1
  384. package/dist/store/nexus-sqlite.d.ts +24 -6
  385. package/dist/store/nexus-sqlite.d.ts.map +1 -1
  386. package/dist/store/nexus-sqlite.js +39 -20
  387. package/dist/store/nexus-sqlite.js.map +1 -1
  388. package/dist/store/ports/domain-binding.d.ts.map +1 -1
  389. package/dist/store/ports/domain-binding.js +27 -5
  390. package/dist/store/ports/domain-binding.js.map +1 -1
  391. package/dist/store/schema/background-jobs.d.ts +181 -2
  392. package/dist/store/schema/background-jobs.d.ts.map +1 -1
  393. package/dist/store/schema/background-jobs.js +27 -3
  394. package/dist/store/schema/background-jobs.js.map +1 -1
  395. package/dist/store/schema/cleo-global/skills.d.ts +2 -2
  396. package/dist/store/schema/cleo-project/lifecycle.d.ts +2 -2
  397. package/dist/store/schema/cleo-project/runtime.d.ts +1 -1
  398. package/dist/store/schema/cleo-project/tasks-core.d.ts +1 -1
  399. package/dist/store/schema/lifecycle.d.ts +2 -2
  400. package/dist/store/schema/skills-schema.d.ts +2 -2
  401. package/dist/store/schema/tasks.d.ts +1 -1
  402. package/dist/store/session-store.d.ts +3 -1
  403. package/dist/store/session-store.d.ts.map +1 -1
  404. package/dist/store/session-store.js +252 -207
  405. package/dist/store/session-store.js.map +1 -1
  406. package/dist/store/sqlite-data-accessor.d.ts +39 -4
  407. package/dist/store/sqlite-data-accessor.d.ts.map +1 -1
  408. package/dist/store/sqlite-data-accessor.js +689 -527
  409. package/dist/store/sqlite-data-accessor.js.map +1 -1
  410. package/dist/store/tasks-sqlite.d.ts +3 -1
  411. package/dist/store/tasks-sqlite.d.ts.map +1 -1
  412. package/dist/store/tasks-sqlite.js +309 -279
  413. package/dist/store/tasks-sqlite.js.map +1 -1
  414. package/dist/store/validation-schemas.d.ts +8 -8
  415. package/dist/store/writer-lease.d.ts +80 -8
  416. package/dist/store/writer-lease.d.ts.map +1 -1
  417. package/dist/store/writer-lease.js +503 -134
  418. package/dist/store/writer-lease.js.map +1 -1
  419. package/dist/system/audit.d.ts +2 -1
  420. package/dist/system/audit.d.ts.map +1 -1
  421. package/dist/system/audit.js +118 -71
  422. package/dist/system/audit.js.map +1 -1
  423. package/dist/system/backup.d.ts.map +1 -1
  424. package/dist/system/backup.js +5 -5
  425. package/dist/system/backup.js.map +1 -1
  426. package/dist/system/inject-generate.js +1 -1
  427. package/dist/task-work/index.d.ts +3 -0
  428. package/dist/task-work/index.d.ts.map +1 -1
  429. package/dist/task-work/index.js +34 -37
  430. package/dist/task-work/index.js.map +1 -1
  431. package/dist/tasks/ac-coverage-gate.d.ts.map +1 -1
  432. package/dist/tasks/ac-coverage-gate.js +4 -0
  433. package/dist/tasks/ac-coverage-gate.js.map +1 -1
  434. package/dist/tasks/ac-immutability.d.ts +7 -4
  435. package/dist/tasks/ac-immutability.d.ts.map +1 -1
  436. package/dist/tasks/ac-immutability.js +19 -17
  437. package/dist/tasks/ac-immutability.js.map +1 -1
  438. package/dist/tasks/ac-table.d.ts +5 -5
  439. package/dist/tasks/ac-table.d.ts.map +1 -1
  440. package/dist/tasks/ac-table.js +26 -12
  441. package/dist/tasks/ac-table.js.map +1 -1
  442. package/dist/tasks/acceptance-input.d.ts +52 -0
  443. package/dist/tasks/acceptance-input.d.ts.map +1 -0
  444. package/dist/tasks/acceptance-input.js +259 -0
  445. package/dist/tasks/acceptance-input.js.map +1 -0
  446. package/dist/tasks/add.d.ts +67 -29
  447. package/dist/tasks/add.d.ts.map +1 -1
  448. package/dist/tasks/add.js +255 -97
  449. package/dist/tasks/add.js.map +1 -1
  450. package/dist/tasks/complete.d.ts +16 -1
  451. package/dist/tasks/complete.d.ts.map +1 -1
  452. package/dist/tasks/complete.js +152 -55
  453. package/dist/tasks/complete.js.map +1 -1
  454. package/dist/tasks/decompose.d.ts +103 -0
  455. package/dist/tasks/decompose.d.ts.map +1 -0
  456. package/dist/tasks/decompose.js +224 -0
  457. package/dist/tasks/decompose.js.map +1 -0
  458. package/dist/tasks/delete.d.ts +5 -8
  459. package/dist/tasks/delete.d.ts.map +1 -1
  460. package/dist/tasks/delete.js +4 -3
  461. package/dist/tasks/delete.js.map +1 -1
  462. package/dist/tasks/dependency-check.d.ts +59 -0
  463. package/dist/tasks/dependency-check.d.ts.map +1 -1
  464. package/dist/tasks/dependency-check.js +73 -0
  465. package/dist/tasks/dependency-check.js.map +1 -1
  466. package/dist/tasks/deps-ready.d.ts +13 -1
  467. package/dist/tasks/deps-ready.d.ts.map +1 -1
  468. package/dist/tasks/deps-ready.js +16 -5
  469. package/dist/tasks/deps-ready.js.map +1 -1
  470. package/dist/tasks/engine-converters.d.ts +7 -0
  471. package/dist/tasks/engine-converters.d.ts.map +1 -1
  472. package/dist/tasks/engine-converters.js +8 -1
  473. package/dist/tasks/engine-converters.js.map +1 -1
  474. package/dist/tasks/evidence.d.ts +88 -27
  475. package/dist/tasks/evidence.d.ts.map +1 -1
  476. package/dist/tasks/evidence.js +344 -43
  477. package/dist/tasks/evidence.js.map +1 -1
  478. package/dist/tasks/find.d.ts +16 -12
  479. package/dist/tasks/find.d.ts.map +1 -1
  480. package/dist/tasks/find.js +107 -93
  481. package/dist/tasks/find.js.map +1 -1
  482. package/dist/tasks/gate-preview.d.ts +73 -0
  483. package/dist/tasks/gate-preview.d.ts.map +1 -0
  484. package/dist/tasks/gate-preview.js +119 -0
  485. package/dist/tasks/gate-preview.js.map +1 -0
  486. package/dist/tasks/gate-runner.d.ts +88 -14
  487. package/dist/tasks/gate-runner.d.ts.map +1 -1
  488. package/dist/tasks/gate-runner.js +719 -250
  489. package/dist/tasks/gate-runner.js.map +1 -1
  490. package/dist/tasks/hierarchy-policy.d.ts +8 -0
  491. package/dist/tasks/hierarchy-policy.d.ts.map +1 -1
  492. package/dist/tasks/hierarchy-policy.js +9 -2
  493. package/dist/tasks/hierarchy-policy.js.map +1 -1
  494. package/dist/tasks/hierarchy.d.ts +67 -1
  495. package/dist/tasks/hierarchy.d.ts.map +1 -1
  496. package/dist/tasks/hierarchy.js +81 -1
  497. package/dist/tasks/hierarchy.js.map +1 -1
  498. package/dist/tasks/index.d.ts +3 -0
  499. package/dist/tasks/index.d.ts.map +1 -1
  500. package/dist/tasks/index.js +3 -0
  501. package/dist/tasks/index.js.map +1 -1
  502. package/dist/tasks/infer-add-params.d.ts +1 -20
  503. package/dist/tasks/infer-add-params.d.ts.map +1 -1
  504. package/dist/tasks/infer-add-params.js +2 -203
  505. package/dist/tasks/infer-add-params.js.map +1 -1
  506. package/dist/tasks/list.d.ts +7 -2
  507. package/dist/tasks/list.d.ts.map +1 -1
  508. package/dist/tasks/list.js +24 -36
  509. package/dist/tasks/list.js.map +1 -1
  510. package/dist/tasks/ops.d.ts +6 -61
  511. package/dist/tasks/ops.d.ts.map +1 -1
  512. package/dist/tasks/ops.js +5 -53
  513. package/dist/tasks/ops.js.map +1 -1
  514. package/dist/tasks/plan.d.ts +15 -1
  515. package/dist/tasks/plan.d.ts.map +1 -1
  516. package/dist/tasks/plan.js +23 -25
  517. package/dist/tasks/plan.js.map +1 -1
  518. package/dist/tasks/population.d.ts +46 -0
  519. package/dist/tasks/population.d.ts.map +1 -0
  520. package/dist/tasks/population.js +88 -0
  521. package/dist/tasks/population.js.map +1 -0
  522. package/dist/tasks/reconcile-scope.d.ts +157 -0
  523. package/dist/tasks/reconcile-scope.d.ts.map +1 -0
  524. package/dist/tasks/reconcile-scope.js +242 -0
  525. package/dist/tasks/reconcile-scope.js.map +1 -0
  526. package/dist/tasks/req.d.ts +51 -12
  527. package/dist/tasks/req.d.ts.map +1 -1
  528. package/dist/tasks/req.js +125 -69
  529. package/dist/tasks/req.js.map +1 -1
  530. package/dist/tasks/session-scope.d.ts +6 -31
  531. package/dist/tasks/session-scope.d.ts.map +1 -1
  532. package/dist/tasks/session-scope.js +3 -17
  533. package/dist/tasks/session-scope.js.map +1 -1
  534. package/dist/tasks/severity-attestation.d.ts +39 -10
  535. package/dist/tasks/severity-attestation.d.ts.map +1 -1
  536. package/dist/tasks/severity-attestation.js +75 -36
  537. package/dist/tasks/severity-attestation.js.map +1 -1
  538. package/dist/tasks/task-next.d.ts +5 -0
  539. package/dist/tasks/task-next.d.ts.map +1 -1
  540. package/dist/tasks/task-next.js +10 -9
  541. package/dist/tasks/task-next.js.map +1 -1
  542. package/dist/tasks/task-reparent.d.ts.map +1 -1
  543. package/dist/tasks/task-reparent.js +3 -13
  544. package/dist/tasks/task-reparent.js.map +1 -1
  545. package/dist/tasks/update.d.ts +20 -43
  546. package/dist/tasks/update.d.ts.map +1 -1
  547. package/dist/tasks/update.js +64 -49
  548. package/dist/tasks/update.js.map +1 -1
  549. package/dist/validation/engine-ops.d.ts +17 -1
  550. package/dist/validation/engine-ops.d.ts.map +1 -1
  551. package/dist/validation/engine-ops.js +149 -11
  552. package/dist/validation/engine-ops.js.map +1 -1
  553. package/dist/workgraph/reparent-preflight.d.ts +1 -1
  554. package/dist/workgraph/reparent-preflight.d.ts.map +1 -1
  555. package/dist/workgraph/reparent-preflight.js +6 -1
  556. package/dist/workgraph/reparent-preflight.js.map +1 -1
  557. package/dist/workgraph/scaffold-apply.d.ts.map +1 -1
  558. package/dist/workgraph/scaffold-apply.js +81 -76
  559. package/dist/workgraph/scaffold-apply.js.map +1 -1
  560. package/dist/workgraph/structure-validation.d.ts +1 -1
  561. package/dist/workgraph/structure-validation.d.ts.map +1 -1
  562. package/dist/workgraph/structure-validation.js +6 -1
  563. package/dist/workgraph/structure-validation.js.map +1 -1
  564. package/migrations/drizzle-tasks/20260919180000_t12263-job-ownership-fences/migration.sql +34 -0
  565. package/migrations/drizzle-tasks/20260919184500_t12265-durable-pending-proposals/migration.sql +4 -0
  566. package/package.json +18 -13
  567. package/schemas/config.schema.json +2 -2
  568. package/schemas/project-context.schema.json +12 -0
  569. package/templates/CLEO-INJECTION.md +114 -101
@@ -9,8 +9,8 @@
9
9
  */
10
10
  import { eq, notInArray } from 'drizzle-orm';
11
11
  import { engineError, engineSuccess } from '../engine-result.js';
12
- import { getNexusDb, getNexusNativeDb, nexusSchema } from '../store/nexus-sqlite.js';
13
- import { buildSymbolMissError } from './symbol-miss.js';
12
+ import { getNexusDb, nexusSchema } from '../store/nexus-sqlite.js';
13
+ import { assessKnowledgeCoverage, KnowledgeSymbolAmbiguityError, recordKnowledgeGap, resolveKnowledgeSymbol, } from './knowledge.js';
14
14
  /**
15
15
  * Analyse the blast radius for a named code symbol via BFS upstream traversal.
16
16
  *
@@ -19,11 +19,11 @@ import { buildSymbolMissError } from './symbol-miss.js';
19
19
  * breadth-first up to `maxDepth` levels. Returns per-depth layers with risk
20
20
  * classification.
21
21
  *
22
- * Throws with code `E_NOT_FOUND` when no symbol matches the query.
22
+ * Missing coverage returns UNKNOWN; ambiguous names return qualified candidates.
23
23
  *
24
24
  * @param symbolName - Symbol name to analyse (partial match).
25
25
  * @param projectId - Nexus project ID.
26
- * @param _repoPath - Absolute repository root path (reserved for future use).
26
+ * @param repoPath - Absolute repository root path used for freshness checks.
27
27
  * @param opts - Traversal options.
28
28
  * @returns Impact analysis result.
29
29
  *
@@ -31,58 +31,49 @@ import { buildSymbolMissError } from './symbol-miss.js';
31
31
  * const impact = await getSymbolImpact('dispatchFromCli', projectId, repoPath);
32
32
  * console.log(impact.riskLevel, impact.totalImpactedNodes);
33
33
  */
34
- export async function getSymbolImpact(symbolName, projectId, _repoPath, opts = {}) {
35
- const maxDepth = Math.min(opts.maxDepth ?? 3, 5);
34
+ export async function getSymbolImpact(symbolName, projectId, repoPath, opts = {}) {
35
+ const maxDepth = Math.max(1, Math.min(Number.isFinite(opts.maxDepth) ? (opts.maxDepth ?? 3) : 3, 5));
36
36
  const whyFlag = opts.why ?? false;
37
- const { sortMatchingNodes } = await import('./symbol-ranking.js');
38
- const db = await getNexusDb();
39
- // Fetch only symbol nodes (exclude community/process structural nodes).
40
- // ADR-090 · T11648: project-scoped DB — the former `project_id = ?` predicate
41
- // is dropped; only the kind exclusion remains (indexed via idx_nexus_nodes_kind).
42
- let projectSymbolNodes = [];
43
- try {
44
- projectSymbolNodes = db
45
- .select()
46
- .from(nexusSchema.nexusNodes)
47
- .where(notInArray(nexusSchema.nexusNodes.kind, ['community', 'process']))
48
- .all();
49
- }
50
- catch {
51
- projectSymbolNodes = [];
52
- }
53
- const lowerSymbol = symbolName.toLowerCase();
54
- const rawMatchingNodes = projectSymbolNodes.filter((n) => n['name'] != null && String(n['name']).toLowerCase().includes(lowerSymbol));
55
- const matchingNodes = sortMatchingNodes(rawMatchingNodes, symbolName);
56
- if (matchingNodes.length === 0) {
57
- // T12068: distinguish "no such symbol" from "index predates the symbol".
58
- throw buildSymbolMissError(symbolName, projectId, projectSymbolNodes);
59
- }
60
- // Fetch all relations (project-scoped DB — ADR-090 · T11648: no `project_id`
61
- // predicate). T11545: plasticity `weight` lives in the sibling
62
- // `nexus_relation_weights` table — LEFT JOIN it and flatten so downstream reads
63
- // `r['weight']` (NULL when the edge has never been strengthened).
64
- let allRelations = [];
65
- try {
66
- const joined = db
67
- .select()
68
- .from(nexusSchema.nexusRelations)
69
- .leftJoin(nexusSchema.nexusRelationWeights, eq(nexusSchema.nexusRelationWeights.relationId, nexusSchema.nexusRelations.id))
70
- .all();
71
- allRelations = joined.map((row) => ({
72
- ...row.nexus_relations,
73
- weight: row.nexus_relation_weights?.['weight'] ?? null,
74
- }));
75
- }
76
- catch {
77
- allRelations = [];
78
- }
79
- const nodeById = new Map();
80
- for (const n of projectSymbolNodes) {
81
- nodeById.set(String(n['id']), n);
37
+ const coverage = await assessKnowledgeCoverage(repoPath, projectId);
38
+ const emptyResult = {
39
+ query: symbolName,
40
+ projectId,
41
+ coverage,
42
+ targetNodeId: null,
43
+ targetName: null,
44
+ targetKind: null,
45
+ targetFilePath: null,
46
+ riskLevel: 'UNKNOWN',
47
+ totalImpactedNodes: 0,
48
+ maxDepth,
49
+ why: whyFlag,
50
+ impactByDepth: [],
51
+ };
52
+ if (coverage.status === 'failed' || coverage.status === 'missing')
53
+ return emptyResult;
54
+ const db = await getNexusDb(repoPath);
55
+ const projectSymbolNodes = db
56
+ .select()
57
+ .from(nexusSchema.nexusNodes)
58
+ .where(notInArray(nexusSchema.nexusNodes.kind, ['community', 'process']))
59
+ .all();
60
+ const targetNode = resolveKnowledgeSymbol(symbolName, projectSymbolNodes);
61
+ if (!targetNode) {
62
+ recordKnowledgeGap(coverage, 'missing', `No indexed symbol matches '${symbolName}'.`);
63
+ return emptyResult;
82
64
  }
83
- const targetNode = matchingNodes[0];
84
- const targetId = String(targetNode['id']);
85
- const targetLabel = String(targetNode['name'] ?? targetNode['label'] ?? targetId);
65
+ const joined = db
66
+ .select()
67
+ .from(nexusSchema.nexusRelations)
68
+ .leftJoin(nexusSchema.nexusRelationWeights, eq(nexusSchema.nexusRelationWeights.relationId, nexusSchema.nexusRelations.id))
69
+ .all();
70
+ const allRelations = joined.map((row) => ({
71
+ ...row.nexus_relations,
72
+ weight: row.nexus_relation_weights?.weight ?? null,
73
+ }));
74
+ const nodeById = new Map(projectSymbolNodes.map((node) => [node.id, node]));
75
+ const targetId = targetNode.id;
76
+ const targetLabel = targetNode.name ?? targetNode.label;
86
77
  // Build reverse adjacency: targetId → [{ sourceId, type, weight }]
87
78
  const reverseAdj = new Map();
88
79
  const incomingCount = new Map();
@@ -142,16 +133,22 @@ export async function getSymbolImpact(symbolName, projectId, _repoPath, opts = {
142
133
  }
143
134
  }
144
135
  const totalImpact = visited.size - 1;
145
- const riskLevel = totalImpact === 0
146
- ? 'NONE'
147
- : totalImpact <= 3
148
- ? 'LOW'
149
- : totalImpact <= 10
150
- ? 'MEDIUM'
151
- : totalImpact <= 25
152
- ? 'HIGH'
153
- : 'CRITICAL';
154
- const depthLabels = ['WILL BREAK (direct callers)', 'LIKELY AFFECTED', 'MAY NEED TESTING'];
136
+ const riskLevel = coverage.status !== 'current'
137
+ ? 'UNKNOWN'
138
+ : totalImpact === 0
139
+ ? 'NONE'
140
+ : totalImpact <= 3
141
+ ? 'LOW'
142
+ : totalImpact <= 10
143
+ ? 'MEDIUM'
144
+ : totalImpact <= 25
145
+ ? 'HIGH'
146
+ : 'CRITICAL';
147
+ const depthLabels = [
148
+ 'DIRECT CALLERS (potentially affected)',
149
+ 'LIKELY AFFECTED',
150
+ 'MAY NEED TESTING',
151
+ ];
155
152
  const layers = impactByDepth.map((layer, i) => ({
156
153
  depth: i + 1,
157
154
  label: depthLabels[i] ?? `depth ${i + 1}`,
@@ -168,6 +165,7 @@ export async function getSymbolImpact(symbolName, projectId, _repoPath, opts = {
168
165
  return {
169
166
  query: symbolName,
170
167
  projectId,
168
+ coverage,
171
169
  targetNodeId: targetId,
172
170
  targetName: targetNode['name'],
173
171
  targetKind: targetNode['kind'],
@@ -188,142 +186,48 @@ export async function getSymbolImpact(symbolName, projectId, _repoPath, opts = {
188
186
  * Runs BFS from the target symbol to find all symbols that would be affected
189
187
  * by changes to it, optionally with detailed reasons.
190
188
  *
189
+ * @param projectRoot - Explicit project root whose graph and coverage are assessed.
190
+ * @param params - Shared impact query, project identity, reasons, and depth options.
191
+ * @returns Impact result or structured symbol ambiguity/error details.
192
+ * @remarks Project binding is explicit and never falls back to the process working directory.
193
+ * @example
194
+ * ```ts
195
+ * const params: NexusImpactParams = { symbol: 'entryPoint', depth: 2 };
196
+ * const result = await nexusImpact('/workspace/project', params);
197
+ * ```
191
198
  * @task T1569
192
199
  */
193
- // SSoT-EXEMPT:engine-migration-T1569
194
- export async function nexusImpact(symbol,
195
- // `projectId` unused since ADR-090 · T11648 (project-scoped graph DB); retained
196
- // for the CLI dispatch signature.
197
- _projectId, why) {
200
+ export async function nexusImpact(projectRoot, params) {
198
201
  try {
199
- await getNexusDb();
200
- const db = getNexusNativeDb();
201
- if (!db) {
202
- return engineSuccess({
203
- targetNodeId: null,
204
- why: why ?? false,
205
- affected: [],
206
- riskLevel: 'NONE',
207
- });
208
- }
209
- // ADR-090 · T11648: project-scoped graph DB — drop the `project_id` column +
210
- // predicate (one project per DB).
211
- const allNodes = db
212
- .prepare(`SELECT id, label, kind, file_path, name
213
- FROM nexus_nodes
214
- WHERE kind NOT IN ('community','process','file','folder')`)
215
- .all();
216
- const lowerSymbol = symbol.toLowerCase();
217
- const candidates = allNodes.filter((n) => {
218
- const haystack = (n.name ?? n.label ?? '').toLowerCase();
219
- return haystack.length > 0 && haystack.includes(lowerSymbol);
220
- });
221
- candidates.sort((a, b) => {
222
- const an = (a.name ?? a.label ?? '').toLowerCase();
223
- const bn = (b.name ?? b.label ?? '').toLowerCase();
224
- const exactA = an === lowerSymbol ? 0 : 1;
225
- const exactB = bn === lowerSymbol ? 0 : 1;
226
- if (exactA !== exactB)
227
- return exactA - exactB;
228
- return an.length - bn.length;
202
+ const coverage = await assessKnowledgeCoverage(projectRoot, params.projectId);
203
+ const impact = await getSymbolImpact(params.symbol, coverage.projectId, projectRoot, {
204
+ why: params.why,
205
+ maxDepth: params.depth,
229
206
  });
230
- const target = candidates[0];
231
- if (!target) {
232
- return engineSuccess({
233
- targetNodeId: null,
234
- why: why ?? false,
235
- affected: [],
236
- riskLevel: 'NONE',
237
- });
238
- }
239
- // T11545: plasticity weight lives in the sibling `nexus_relation_weights`
240
- // table (LEFT JOIN — edges never strengthened have no weights row → NULL).
241
- const allRelations = db
242
- .prepare(`SELECT r.source_id AS source_id, r.target_id AS target_id, r.type AS type, w.weight AS weight
243
- FROM nexus_relations r
244
- LEFT JOIN nexus_relation_weights w ON w.relation_id = r.id
245
- WHERE r.type IN ('calls','imports','accesses')`)
246
- .all();
247
- const reverseAdj = new Map();
248
- for (const rel of allRelations) {
249
- const list = reverseAdj.get(rel.target_id);
250
- if (list) {
251
- list.push(rel);
252
- }
253
- else {
254
- reverseAdj.set(rel.target_id, [rel]);
255
- }
256
- }
257
- const incomingCount = new Map();
258
- for (const rel of allRelations) {
259
- incomingCount.set(rel.target_id, (incomingCount.get(rel.target_id) ?? 0) + 1);
260
- }
261
- const nodeById = new Map();
262
- for (const n of allNodes) {
263
- nodeById.set(n.id, n);
264
- }
265
- const visited = new Set([target.id]);
266
- const queue = [{ id: target.id, depth: 0 }];
267
- const affected = [];
268
- while (queue.length > 0) {
269
- const item = queue.shift();
270
- if (!item)
271
- break;
272
- if (item.depth >= 3)
273
- continue;
274
- const callers = reverseAdj.get(item.id) ?? [];
275
- for (const edge of callers) {
276
- if (visited.has(edge.source_id))
277
- continue;
278
- visited.add(edge.source_id);
279
- const depth = item.depth + 1;
280
- const callerNode = nodeById.get(edge.source_id);
281
- const reasons = [];
282
- if (why) {
283
- const calls = incomingCount.get(edge.source_id) ?? 0;
284
- if (calls > 0) {
285
- reasons.push(`called by ${calls} place${calls === 1 ? '' : 's'}`);
286
- }
287
- if (edge.weight != null && edge.weight > 0) {
288
- reasons.push(`strength=${edge.weight.toFixed(3)} via ${edge.type}`);
289
- }
290
- else {
291
- reasons.push(`edge type ${edge.type} (weight=0 — no plasticity yet)`);
292
- }
293
- reasons.push(`depth=${depth} hop from target ${target.label ?? target.id}`);
294
- }
295
- affected.push({
296
- nodeId: edge.source_id,
297
- label: callerNode?.label ?? edge.source_id,
298
- kind: callerNode?.kind ?? 'unknown',
299
- reasons,
300
- });
301
- queue.push({ id: edge.source_id, depth });
302
- }
303
- }
304
- let riskLevel = 'NONE';
305
- if (affected.length > 0) {
306
- if (affected.length > 10) {
307
- riskLevel = 'CRITICAL';
308
- }
309
- else if (affected.length > 5) {
310
- riskLevel = 'HIGH';
311
- }
312
- else if (affected.length > 2) {
313
- riskLevel = 'MEDIUM';
314
- }
315
- else {
316
- riskLevel = 'LOW';
317
- }
318
- }
319
207
  return engineSuccess({
320
- targetNodeId: target.id,
321
- why: why ?? false,
322
- affected,
323
- riskLevel,
208
+ query: params.symbol,
209
+ projectId: impact.projectId,
210
+ coverage: impact.coverage,
211
+ targetNodeId: impact.targetNodeId,
212
+ targetLabel: impact.targetName,
213
+ why: impact.why,
214
+ riskLevel: impact.riskLevel,
215
+ totalImpact: impact.totalImpactedNodes,
216
+ maxDepth: impact.maxDepth,
217
+ affected: impact.impactByDepth.flatMap((layer) => layer.nodes.map((node) => ({
218
+ nodeId: node.nodeId,
219
+ label: node.name,
220
+ kind: node.kind,
221
+ filePath: node.filePath,
222
+ depth: layer.depth,
223
+ reasons: node.reasons,
224
+ }))),
324
225
  });
325
226
  }
326
227
  catch (error) {
228
+ if (error instanceof KnowledgeSymbolAmbiguityError) {
229
+ return engineError(error.code, error.message, { details: { candidates: error.candidates } });
230
+ }
327
231
  return engineError('E_INTERNAL', error instanceof Error ? error.message : String(error));
328
232
  }
329
233
  }
@@ -1 +1 @@
1
- {"version":3,"file":"impact.js","sourceRoot":"","sources":["../../src/nexus/impact.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"impact.js","sourceRoot":"","sources":["../../src/nexus/impact.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAqB,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAiExB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,UAAkB,EAClB,SAAiB,EACjB,QAAgB,EAChB,OAA2B,EAAE;IAE7B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CACvB,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CACvE,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC;IAClC,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACpE,MAAM,WAAW,GAAsB;QACrC,KAAK,EAAE,UAAU;QACjB,SAAS;QACT,QAAQ;QACR,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,IAAI;QAChB,cAAc,EAAE,IAAI;QACpB,SAAS,EAAE,SAAS;QACpB,kBAAkB,EAAE,CAAC;QACrB,QAAQ;QACR,GAAG,EAAE,OAAO;QACZ,aAAa,EAAE,EAAE;KAClB,CAAC;IACF,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC;IACtF,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,kBAAkB,GAAG,EAAE;SAC1B,MAAM,EAAE;SACR,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;SAC5B,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;SACxE,GAAG,EAAE,CAAC;IACT,MAAM,UAAU,GAAG,sBAAsB,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;IAC1E,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,kBAAkB,CAAC,QAAQ,EAAE,SAAS,EAAE,8BAA8B,UAAU,IAAI,CAAC,CAAC;QACtF,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,MAAM,MAAM,GAAG,EAAE;SACd,MAAM,EAAE;SACR,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;SAChC,QAAQ,CACP,WAAW,CAAC,oBAAoB,EAChC,EAAE,CAAC,WAAW,CAAC,oBAAoB,CAAC,UAAU,EAAE,WAAW,CAAC,cAAc,CAAC,EAAE,CAAC,CAC/E;SACA,GAAG,EAAE,CAAC;IACT,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACxC,GAAG,GAAG,CAAC,eAAe;QACtB,MAAM,EAAE,GAAG,CAAC,sBAAsB,EAAE,MAAM,IAAI,IAAI;KACnD,CAAC,CAAC,CAAC;IACJ,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,QAAQ,GAAG,UAAU,CAAC,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC;IAExD,mEAAmE;IACnE,MAAM,UAAU,GAAG,IAAI,GAAG,EAGvB,CAAC;IACJ,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAChD,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC;YACjF,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YAClC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YAClC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9B,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;YACzB,MAAM,MAAM,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACpF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAClD,UAAU,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;YAChE,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAyC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACjF,MAAM,aAAa,GAAwB,EAAE,CAAC;IAE9C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;QAC5B,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ;YAAE,SAAS;QAErC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAC9C,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAAE,SAAS;YACpC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YAC7B,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAa,EAAE,CAAC;YAC7B,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC/C,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBACd,OAAO,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBACpE,CAAC;gBACD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3C,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBACtE,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,iCAAiC,CAAC,CAAC;gBACxE,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,SAAS,KAAK,oBAAoB,WAAW,EAAE,CAAC,CAAC;YAChE,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC;gBAAE,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YAC7D,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC5B,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC;gBAC9C,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC;gBAC/C,QAAQ,EAAE,UAAU,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;gBAC1E,OAAO;aACR,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;IACrC,MAAM,SAAS,GACb,QAAQ,CAAC,MAAM,KAAK,SAAS;QAC3B,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,WAAW,KAAK,CAAC;YACjB,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,WAAW,IAAI,CAAC;gBAChB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,WAAW,IAAI,EAAE;oBACjB,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,WAAW,IAAI,EAAE;wBACjB,CAAC,CAAC,MAAM;wBACR,CAAC,CAAC,UAAU,CAAC;IAEzB,MAAM,WAAW,GAAG;QAClB,uCAAuC;QACvC,iBAAiB;QACjB,kBAAkB;KACnB,CAAC;IACF,MAAM,MAAM,GAAuB,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAClE,KAAK,EAAE,CAAC,GAAG,CAAC;QACZ,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE;QACzC,KAAK,EAAE,OAAO;YACZ,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC/C,MAAM;gBACN,IAAI;gBACJ,IAAI;gBACJ,QAAQ;gBACR,OAAO,EAAE,EAAE;aACZ,CAAC,CAAC;KACR,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,KAAK,EAAE,UAAU;QACjB,SAAS;QACT,QAAQ;QACR,YAAY,EAAE,QAAQ;QACtB,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC;QAC9B,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC;QAC9B,cAAc,EAAE,UAAU,CAAC,UAAU,CAAC;QACtC,SAAS;QACT,kBAAkB,EAAE,WAAW;QAC/B,QAAQ;QACR,GAAG,EAAE,OAAO;QACZ,aAAa,EAAE,MAAM;KACtB,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,8DAA8D;AAC9D,8EAA8E;AAE9E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,WAAmB,EACnB,MAAyB;IAEzB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAC9E,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,EAAE,WAAW,EAAE;YACnF,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,QAAQ,EAAE,MAAM,CAAC,KAAK;SACvB,CAAC,CAAC;QACH,OAAO,aAAa,CAAC;YACnB,KAAK,EAAE,MAAM,CAAC,MAAM;YACpB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,WAAW,EAAE,MAAM,CAAC,UAAU;YAC9B,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,WAAW,EAAE,MAAM,CAAC,kBAAkB;YACtC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAC/C,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACzB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,IAAI,CAAC,IAAI;gBAChB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAC,CACJ;SACF,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,6BAA6B,EAAE,CAAC;YACnD,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC/F,CAAC;QACD,OAAO,WAAW,CAAC,YAAY,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3F,CAAC;AACH,CAAC"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Shared coverage assessment and unambiguous symbol resolution.
3
+ *
4
+ * Code placed in `packages/core/` per Package-Boundary Check — verified
5
+ * against AGENTS.md. These services do not invoke a language model.
6
+ */
7
+ import type { GraphIndexAssessment, KnowledgeCoverage, KnowledgeCoverageStatus, KnowledgeSymbolCandidate } from '@cleocode/contracts';
8
+ /**
9
+ * Read validated generation provenance without treating malformed metadata as healthy.
10
+ * @param projectRoot - Explicit project root, or the ambient canonical project when omitted.
11
+ * @returns The published assessment, or null for a legacy generation.
12
+ * @remarks Reads only through the canonical project store. Malformed metadata throws.
13
+ * @example
14
+ * ```ts
15
+ * const generation = await readKnowledgeIndexAssessment(projectRoot);
16
+ * ```
17
+ */
18
+ export declare function readKnowledgeIndexAssessment(projectRoot?: string): Promise<GraphIndexAssessment | null>;
19
+ /**
20
+ * An unresolved short name with exact identifiers the caller can choose from.
21
+ * @remarks Consumers preserve the candidate list in their error envelope.
22
+ * @example
23
+ * ```ts
24
+ * if (error instanceof KnowledgeSymbolAmbiguityError) return error.candidates;
25
+ * ```
26
+ */
27
+ export declare class KnowledgeSymbolAmbiguityError extends Error {
28
+ /** Stable machine-readable failure code. */
29
+ readonly code = "E_AMBIGUOUS_SYMBOL";
30
+ /** Every best-matching candidate; no checkout is silently selected. */
31
+ readonly candidates: KnowledgeSymbolCandidate[];
32
+ /**
33
+ * Create an ambiguity error preserving candidates for structured envelopes.
34
+ * @param query - Unresolved short symbol name.
35
+ * @param candidates - All equally eligible qualified identifiers.
36
+ */
37
+ constructor(query: string, candidates: KnowledgeSymbolCandidate[]);
38
+ }
39
+ /**
40
+ * Resolve exact identifiers, then exact names, then partial names without choosing a tie.
41
+ * @param query - Qualified graph identifier or symbol name.
42
+ * @param nodes - Candidate symbols from the scoped graph.
43
+ * @returns The unique candidate, or null if none matches.
44
+ * @remarks Ambiguous short names throw an error carrying every eligible candidate.
45
+ * @example
46
+ * ```ts
47
+ * const target = resolveKnowledgeSymbol('src/api.ts::serve', candidates);
48
+ * ```
49
+ */
50
+ export declare function resolveKnowledgeSymbol(query: string, nodes: readonly KnowledgeSymbolCandidate[]): KnowledgeSymbolCandidate | null;
51
+ /**
52
+ * Add an explicit coverage limitation without hiding a prior diagnostic failure.
53
+ * @param coverage - Assessment to update in place.
54
+ * @param status - Newly observed coverage status.
55
+ * @param reason - Inspectable reason supporting the status.
56
+ * @returns Nothing; the supplied assessment retains the strongest observed defect.
57
+ * @remarks A partial result cannot overwrite a prior missing or failed result.
58
+ * @example
59
+ * ```ts
60
+ * recordKnowledgeGap(coverage, 'missing', 'No indexed symbol matches the evidence.');
61
+ * ```
62
+ */
63
+ export declare function recordKnowledgeGap(coverage: KnowledgeCoverage, status: KnowledgeCoverageStatus, reason: string): void;
64
+ /**
65
+ * Assess graph coverage within the caller's maintenance budget (two seconds by default).
66
+ *
67
+ * Deferred work is read-only and cannot apply a repair after the response. A
68
+ * synchronous native query cannot be preempted by JavaScript's event loop.
69
+ * @param projectRoot - Canonical project root whose knowledge is assessed.
70
+ * @param projectId - Existing project identity when supplied by the caller.
71
+ * @param budgetMs - Maximum asynchronous foreground assessment time.
72
+ * @returns Coverage with explicit reasons and a next action when deferred.
73
+ * @remarks This service does not invoke models or mutate derived knowledge.
74
+ * @example
75
+ * ```ts
76
+ * const coverage = await assessKnowledgeCoverage(projectRoot, undefined, 2000);
77
+ * ```
78
+ */
79
+ export declare function assessKnowledgeCoverage(projectRoot: string, projectId?: string, budgetMs?: number): Promise<KnowledgeCoverage>;
80
+ //# sourceMappingURL=knowledge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge.d.ts","sourceRoot":"","sources":["../../src/nexus/knowledge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,KAAK,EACV,oBAAoB,EAEpB,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,qBAAqB,CAAC;AAwM7B;;;;;;;;;GASG;AACH,wBAAsB,4BAA4B,CAChD,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAsBtC;AAED;;;;;;;GAOG;AACH,qBAAa,6BAA8B,SAAQ,KAAK;IACtD,4CAA4C;IAC5C,QAAQ,CAAC,IAAI,wBAAwB;IAErC,uEAAuE;IACvE,QAAQ,CAAC,UAAU,EAAE,wBAAwB,EAAE,CAAC;IAEhD;;;;OAIG;gBACS,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,wBAAwB,EAAE;CAKlE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,SAAS,wBAAwB,EAAE,GACzC,wBAAwB,GAAG,IAAI,CAWjC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,MAAM,GACb,IAAI,CAUN;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,EAClB,QAAQ,SAAO,GACd,OAAO,CAAC,iBAAiB,CAAC,CAS5B"}