@cleocode/core 2026.10.21 → 2026.10.22-rc.ci.693

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 (420) hide show
  1. package/STABILITY.md +1 -1
  2. package/dist/build-provenance.json +2 -2
  3. package/dist/config.d.ts.map +1 -1
  4. package/dist/config.js +2 -0
  5. package/dist/config.js.map +1 -1
  6. package/dist/docs/document-edges.d.ts +38 -0
  7. package/dist/docs/document-edges.d.ts.map +1 -0
  8. package/dist/docs/document-edges.js +62 -0
  9. package/dist/docs/document-edges.js.map +1 -0
  10. package/dist/docs/projection.d.ts +3 -2
  11. package/dist/docs/projection.d.ts.map +1 -1
  12. package/dist/docs/projection.js +33 -36
  13. package/dist/docs/projection.js.map +1 -1
  14. package/dist/events/event-bus.d.ts +6 -5
  15. package/dist/events/event-bus.d.ts.map +1 -1
  16. package/dist/events/event-bus.js +9 -8
  17. package/dist/events/event-bus.js.map +1 -1
  18. package/dist/gateway-client/generated/index.d.ts +2 -2
  19. package/dist/gateway-client/generated/index.d.ts.map +1 -1
  20. package/dist/gateway-client/generated/index.js +1 -1
  21. package/dist/gateway-client/generated/index.js.map +1 -1
  22. package/dist/gateway-client/generated/namespaces.gen.d.ts +1 -0
  23. package/dist/gateway-client/generated/namespaces.gen.d.ts.map +1 -1
  24. package/dist/gateway-client/generated/namespaces.gen.js +2 -1
  25. package/dist/gateway-client/generated/namespaces.gen.js.map +1 -1
  26. package/dist/gateway-client/generated/sdk.gen.d.ts +5 -1
  27. package/dist/gateway-client/generated/sdk.gen.d.ts.map +1 -1
  28. package/dist/gateway-client/generated/sdk.gen.js +11 -0
  29. package/dist/gateway-client/generated/sdk.gen.js.map +1 -1
  30. package/dist/gateway-client/generated/types.gen.d.ts +34 -0
  31. package/dist/gateway-client/generated/types.gen.d.ts.map +1 -1
  32. package/dist/git/base-ref.d.ts +81 -0
  33. package/dist/git/base-ref.d.ts.map +1 -0
  34. package/dist/git/base-ref.js +135 -0
  35. package/dist/git/base-ref.js.map +1 -0
  36. package/dist/git/hooks-install.d.ts +1 -1
  37. package/dist/git/hooks-install.d.ts.map +1 -1
  38. package/dist/git/work-tree.d.ts +40 -0
  39. package/dist/git/work-tree.d.ts.map +1 -1
  40. package/dist/git/work-tree.js +62 -7
  41. package/dist/git/work-tree.js.map +1 -1
  42. package/dist/hooks/handlers/conduit-hooks.d.ts +2 -1
  43. package/dist/hooks/handlers/conduit-hooks.d.ts.map +1 -1
  44. package/dist/hooks/handlers/conduit-hooks.js +9 -23
  45. package/dist/hooks/handlers/conduit-hooks.js.map +1 -1
  46. package/dist/hooks/handlers/index.d.ts +0 -1
  47. package/dist/hooks/handlers/index.d.ts.map +1 -1
  48. package/dist/hooks/handlers/index.js +0 -2
  49. package/dist/hooks/handlers/index.js.map +1 -1
  50. package/dist/hooks.d.ts +1 -1
  51. package/dist/hooks.d.ts.map +1 -1
  52. package/dist/init.d.ts.map +1 -1
  53. package/dist/init.js +5 -12
  54. package/dist/init.js.map +1 -1
  55. package/dist/internal.d.ts +2 -3
  56. package/dist/internal.d.ts.map +1 -1
  57. package/dist/internal.js +1 -1
  58. package/dist/internal.js.map +1 -1
  59. package/dist/lifecycle/index.d.ts +15 -1
  60. package/dist/lifecycle/index.d.ts.map +1 -1
  61. package/dist/lifecycle/index.js +12 -6
  62. package/dist/lifecycle/index.js.map +1 -1
  63. package/dist/lifecycle/stage-guidance.js +1 -1
  64. package/dist/lifecycle/stage-guidance.js.map +1 -1
  65. package/dist/memory/auto-row-quarantine.d.ts +196 -0
  66. package/dist/memory/auto-row-quarantine.d.ts.map +1 -0
  67. package/dist/memory/auto-row-quarantine.js +363 -0
  68. package/dist/memory/auto-row-quarantine.js.map +1 -0
  69. package/dist/memory/auto-row-rules.d.ts +29 -0
  70. package/dist/memory/auto-row-rules.d.ts.map +1 -0
  71. package/dist/memory/auto-row-rules.js +55 -0
  72. package/dist/memory/auto-row-rules.js.map +1 -0
  73. package/dist/memory/brain-lifecycle.d.ts.map +1 -1
  74. package/dist/memory/brain-lifecycle.js +13 -8
  75. package/dist/memory/brain-lifecycle.js.map +1 -1
  76. package/dist/memory/brain-search.d.ts +49 -29
  77. package/dist/memory/brain-search.d.ts.map +1 -1
  78. package/dist/memory/brain-search.js +159 -156
  79. package/dist/memory/brain-search.js.map +1 -1
  80. package/dist/memory/brain-similarity.d.ts +27 -4
  81. package/dist/memory/brain-similarity.d.ts.map +1 -1
  82. package/dist/memory/brain-similarity.js +41 -20
  83. package/dist/memory/brain-similarity.js.map +1 -1
  84. package/dist/memory/brain-stub-prune.d.ts +13 -0
  85. package/dist/memory/brain-stub-prune.d.ts.map +1 -1
  86. package/dist/memory/brain-stub-prune.js +14 -3
  87. package/dist/memory/brain-stub-prune.js.map +1 -1
  88. package/dist/memory/brain-writer-handlers.d.ts +3 -7
  89. package/dist/memory/brain-writer-handlers.d.ts.map +1 -1
  90. package/dist/memory/brain-writer-handlers.js +5 -20
  91. package/dist/memory/brain-writer-handlers.js.map +1 -1
  92. package/dist/memory/brain-writer-thread.d.ts +2 -11
  93. package/dist/memory/brain-writer-thread.d.ts.map +1 -1
  94. package/dist/memory/brain-writer-thread.js +20 -78
  95. package/dist/memory/brain-writer-thread.js.map +1 -1
  96. package/dist/memory/brain-writer-worker.js +1 -8
  97. package/dist/memory/brain-writer-worker.js.map +1 -1
  98. package/dist/memory/dispatch-trace-format.d.ts +13 -14
  99. package/dist/memory/dispatch-trace-format.d.ts.map +1 -1
  100. package/dist/memory/dispatch-trace-format.js +13 -14
  101. package/dist/memory/dispatch-trace-format.js.map +1 -1
  102. package/dist/memory/eligibility.d.ts +22 -0
  103. package/dist/memory/eligibility.d.ts.map +1 -1
  104. package/dist/memory/eligibility.js +36 -0
  105. package/dist/memory/eligibility.js.map +1 -1
  106. package/dist/memory/engine-compat.d.ts.map +1 -1
  107. package/dist/memory/engine-compat.js +11 -1
  108. package/dist/memory/engine-compat.js.map +1 -1
  109. package/dist/memory/evidence-graph-links.d.ts +253 -0
  110. package/dist/memory/evidence-graph-links.d.ts.map +1 -0
  111. package/dist/memory/evidence-graph-links.js +554 -0
  112. package/dist/memory/evidence-graph-links.js.map +1 -0
  113. package/dist/memory/extraction-gate.d.ts +7 -0
  114. package/dist/memory/extraction-gate.d.ts.map +1 -1
  115. package/dist/memory/extraction-gate.js +20 -8
  116. package/dist/memory/extraction-gate.js.map +1 -1
  117. package/dist/memory/global-brain.d.ts +4 -6
  118. package/dist/memory/global-brain.d.ts.map +1 -1
  119. package/dist/memory/global-brain.js +15 -2
  120. package/dist/memory/global-brain.js.map +1 -1
  121. package/dist/memory/graph-auto-populate.d.ts +73 -1
  122. package/dist/memory/graph-auto-populate.d.ts.map +1 -1
  123. package/dist/memory/graph-auto-populate.js +111 -8
  124. package/dist/memory/graph-auto-populate.js.map +1 -1
  125. package/dist/memory/import-from-provider.d.ts +19 -6
  126. package/dist/memory/import-from-provider.d.ts.map +1 -1
  127. package/dist/memory/import-from-provider.js +28 -15
  128. package/dist/memory/import-from-provider.js.map +1 -1
  129. package/dist/memory/lessons-import.d.ts +175 -0
  130. package/dist/memory/lessons-import.d.ts.map +1 -0
  131. package/dist/memory/lessons-import.js +233 -0
  132. package/dist/memory/lessons-import.js.map +1 -0
  133. package/dist/memory/lessons.d.ts +67 -0
  134. package/dist/memory/lessons.d.ts.map +1 -0
  135. package/dist/memory/lessons.js +121 -0
  136. package/dist/memory/lessons.js.map +1 -0
  137. package/dist/memory/memory-bridge.d.ts.map +1 -1
  138. package/dist/memory/memory-bridge.js +3 -2
  139. package/dist/memory/memory-bridge.js.map +1 -1
  140. package/dist/memory/public-api.d.ts.map +1 -1
  141. package/dist/memory/public-api.js +7 -6
  142. package/dist/memory/public-api.js.map +1 -1
  143. package/dist/memory/recall-ranking.d.ts +88 -0
  144. package/dist/memory/recall-ranking.d.ts.map +1 -0
  145. package/dist/memory/recall-ranking.js +130 -0
  146. package/dist/memory/recall-ranking.js.map +1 -0
  147. package/dist/memory/retrieval/build-retrieval-bundle.js +5 -5
  148. package/dist/memory/retrieval/build-retrieval-bundle.js.map +1 -1
  149. package/dist/memory/retrieval/fetch.d.ts +3 -2
  150. package/dist/memory/retrieval/fetch.d.ts.map +1 -1
  151. package/dist/memory/retrieval/fetch.js +4 -3
  152. package/dist/memory/retrieval/fetch.js.map +1 -1
  153. package/dist/memory/retrieval/observe.d.ts +1 -7
  154. package/dist/memory/retrieval/observe.d.ts.map +1 -1
  155. package/dist/memory/retrieval/observe.js +9 -58
  156. package/dist/memory/retrieval/observe.js.map +1 -1
  157. package/dist/memory/retrieval/search.d.ts +5 -6
  158. package/dist/memory/retrieval/search.d.ts.map +1 -1
  159. package/dist/memory/retrieval/search.js +38 -102
  160. package/dist/memory/retrieval/search.js.map +1 -1
  161. package/dist/memory/retrieval/telemetry.d.ts +5 -16
  162. package/dist/memory/retrieval/telemetry.d.ts.map +1 -1
  163. package/dist/memory/retrieval/telemetry.js +5 -22
  164. package/dist/memory/retrieval/telemetry.js.map +1 -1
  165. package/dist/nexus/analyze-orchestrator.d.ts +15 -0
  166. package/dist/nexus/analyze-orchestrator.d.ts.map +1 -1
  167. package/dist/nexus/analyze-orchestrator.js +53 -6
  168. package/dist/nexus/analyze-orchestrator.js.map +1 -1
  169. package/dist/nexus/brief-map.d.ts +60 -0
  170. package/dist/nexus/brief-map.d.ts.map +1 -0
  171. package/dist/nexus/brief-map.js +234 -0
  172. package/dist/nexus/brief-map.js.map +1 -0
  173. package/dist/nexus/freshness.d.ts +128 -13
  174. package/dist/nexus/freshness.d.ts.map +1 -1
  175. package/dist/nexus/freshness.js +374 -86
  176. package/dist/nexus/freshness.js.map +1 -1
  177. package/dist/nexus/graph-manifest.d.ts +47 -0
  178. package/dist/nexus/graph-manifest.d.ts.map +1 -1
  179. package/dist/nexus/graph-manifest.js +69 -0
  180. package/dist/nexus/graph-manifest.js.map +1 -1
  181. package/dist/nexus/hooks-augment.d.ts.map +1 -1
  182. package/dist/nexus/hooks-augment.js +7 -3
  183. package/dist/nexus/hooks-augment.js.map +1 -1
  184. package/dist/nexus/index-health.d.ts +112 -0
  185. package/dist/nexus/index-health.d.ts.map +1 -0
  186. package/dist/nexus/index-health.js +199 -0
  187. package/dist/nexus/index-health.js.map +1 -0
  188. package/dist/nexus/living-brain.d.ts.map +1 -1
  189. package/dist/nexus/living-brain.js +2 -15
  190. package/dist/nexus/living-brain.js.map +1 -1
  191. package/dist/nexus/pid-lock.d.ts +50 -0
  192. package/dist/nexus/pid-lock.d.ts.map +1 -0
  193. package/dist/nexus/pid-lock.js +135 -0
  194. package/dist/nexus/pid-lock.js.map +1 -0
  195. package/dist/nexus/projects-clean.d.ts.map +1 -1
  196. package/dist/nexus/projects-clean.js +33 -2
  197. package/dist/nexus/projects-clean.js.map +1 -1
  198. package/dist/nexus/refresh-child.js +4 -0
  199. package/dist/nexus/refresh-child.js.map +1 -1
  200. package/dist/nexus/registry-host.d.ts +70 -0
  201. package/dist/nexus/registry-host.d.ts.map +1 -0
  202. package/dist/nexus/registry-host.js +79 -0
  203. package/dist/nexus/registry-host.js.map +1 -0
  204. package/dist/nexus/registry.d.ts +37 -0
  205. package/dist/nexus/registry.d.ts.map +1 -1
  206. package/dist/nexus/registry.js +49 -1
  207. package/dist/nexus/registry.js.map +1 -1
  208. package/dist/nexus/reindex-on-merge.d.ts +94 -0
  209. package/dist/nexus/reindex-on-merge.d.ts.map +1 -0
  210. package/dist/nexus/reindex-on-merge.js +192 -0
  211. package/dist/nexus/reindex-on-merge.js.map +1 -0
  212. package/dist/orchestrate/handoff-ops.d.ts.map +1 -1
  213. package/dist/orchestrate/handoff-ops.js +1 -13
  214. package/dist/orchestrate/handoff-ops.js.map +1 -1
  215. package/dist/orchestrate/index.d.ts +2 -3
  216. package/dist/orchestrate/index.d.ts.map +1 -1
  217. package/dist/orchestrate/index.js +2 -2
  218. package/dist/orchestrate/index.js.map +1 -1
  219. package/dist/orchestrate/lifecycle-ops.d.ts +3 -0
  220. package/dist/orchestrate/lifecycle-ops.d.ts.map +1 -1
  221. package/dist/orchestrate/lifecycle-ops.js +5 -5
  222. package/dist/orchestrate/lifecycle-ops.js.map +1 -1
  223. package/dist/orchestrate/spawn-ops.d.ts +8 -28
  224. package/dist/orchestrate/spawn-ops.d.ts.map +1 -1
  225. package/dist/orchestrate/spawn-ops.js +8 -67
  226. package/dist/orchestrate/spawn-ops.js.map +1 -1
  227. package/dist/orchestration/lead-rollup.d.ts +7 -0
  228. package/dist/orchestration/lead-rollup.d.ts.map +1 -1
  229. package/dist/orchestration/lead-rollup.js.map +1 -1
  230. package/dist/orchestration/spawn-prompt.d.ts +8 -29
  231. package/dist/orchestration/spawn-prompt.d.ts.map +1 -1
  232. package/dist/orchestration/spawn-prompt.js +44 -112
  233. package/dist/orchestration/spawn-prompt.js.map +1 -1
  234. package/dist/orchestration/spawn.d.ts +7 -14
  235. package/dist/orchestration/spawn.d.ts.map +1 -1
  236. package/dist/orchestration/spawn.js +2 -5
  237. package/dist/orchestration/spawn.js.map +1 -1
  238. package/dist/orchestration/wave-topic.d.ts +0 -13
  239. package/dist/orchestration/wave-topic.d.ts.map +1 -1
  240. package/dist/orchestration/wave-topic.js +0 -20
  241. package/dist/orchestration/wave-topic.js.map +1 -1
  242. package/dist/release/engine-ops.js +2 -2
  243. package/dist/release/engine-ops.js.map +1 -1
  244. package/dist/release/github-pr.d.ts +8 -5
  245. package/dist/release/github-pr.d.ts.map +1 -1
  246. package/dist/release/github-pr.js +11 -16
  247. package/dist/release/github-pr.js.map +1 -1
  248. package/dist/release/plan.d.ts +4 -2
  249. package/dist/release/plan.d.ts.map +1 -1
  250. package/dist/release/plan.js +11 -4
  251. package/dist/release/plan.js.map +1 -1
  252. package/dist/release/pr-evidence.d.ts +39 -11
  253. package/dist/release/pr-evidence.d.ts.map +1 -1
  254. package/dist/release/pr-evidence.js +122 -31
  255. package/dist/release/pr-evidence.js.map +1 -1
  256. package/dist/release/reconcile.d.ts +15 -0
  257. package/dist/release/reconcile.d.ts.map +1 -1
  258. package/dist/release/reconcile.js +36 -0
  259. package/dist/release/reconcile.js.map +1 -1
  260. package/dist/render/brain/index.d.ts +3 -2
  261. package/dist/render/brain/index.d.ts.map +1 -1
  262. package/dist/render/brain/index.js +4 -2
  263. package/dist/render/brain/index.js.map +1 -1
  264. package/dist/render/brain/migrate-repo-ids.d.ts +19 -0
  265. package/dist/render/brain/migrate-repo-ids.d.ts.map +1 -0
  266. package/dist/render/brain/migrate-repo-ids.js +41 -0
  267. package/dist/render/brain/migrate-repo-ids.js.map +1 -0
  268. package/dist/render/nexus/graph/index.d.ts.map +1 -1
  269. package/dist/render/nexus/graph/index.js +10 -1
  270. package/dist/render/nexus/graph/index.js.map +1 -1
  271. package/dist/resources/admission-ledger.d.ts +39 -4
  272. package/dist/resources/admission-ledger.d.ts.map +1 -1
  273. package/dist/resources/admission-ledger.js +147 -32
  274. package/dist/resources/admission-ledger.js.map +1 -1
  275. package/dist/resources/hook-footprint.d.ts +90 -0
  276. package/dist/resources/hook-footprint.d.ts.map +1 -0
  277. package/dist/resources/hook-footprint.js +245 -0
  278. package/dist/resources/hook-footprint.js.map +1 -0
  279. package/dist/resources/pressure-gate.d.ts +3 -2
  280. package/dist/resources/pressure-gate.d.ts.map +1 -1
  281. package/dist/resources/pressure-gate.js +8 -5
  282. package/dist/resources/pressure-gate.js.map +1 -1
  283. package/dist/resources/run-admission.d.ts +23 -3
  284. package/dist/resources/run-admission.d.ts.map +1 -1
  285. package/dist/resources/run-admission.js +70 -8
  286. package/dist/resources/run-admission.js.map +1 -1
  287. package/dist/resources/run-class.d.ts +1 -0
  288. package/dist/resources/run-class.d.ts.map +1 -1
  289. package/dist/resources/run-class.js +7 -0
  290. package/dist/resources/run-class.js.map +1 -1
  291. package/dist/resources/run-governed.d.ts +13 -1
  292. package/dist/resources/run-governed.d.ts.map +1 -1
  293. package/dist/resources/run-governed.js +29 -6
  294. package/dist/resources/run-governed.js.map +1 -1
  295. package/dist/resources/top-memory.d.ts +67 -0
  296. package/dist/resources/top-memory.d.ts.map +1 -0
  297. package/dist/resources/top-memory.js +143 -0
  298. package/dist/resources/top-memory.js.map +1 -0
  299. package/dist/scaffold/global-scaffold.d.ts +6 -1
  300. package/dist/scaffold/global-scaffold.d.ts.map +1 -1
  301. package/dist/scaffold/global-scaffold.js +11 -2
  302. package/dist/scaffold/global-scaffold.js.map +1 -1
  303. package/dist/scaffold/scaffold-global.d.ts +3 -2
  304. package/dist/scaffold/scaffold-global.d.ts.map +1 -1
  305. package/dist/scaffold/scaffold-global.js +3 -2
  306. package/dist/scaffold/scaffold-global.js.map +1 -1
  307. package/dist/sentient/ingesters/brain-ingester.d.ts.map +1 -1
  308. package/dist/sentient/ingesters/brain-ingester.js +2 -1
  309. package/dist/sentient/ingesters/brain-ingester.js.map +1 -1
  310. package/dist/session/engine-ops.js +1 -1
  311. package/dist/session/engine-ops.js.map +1 -1
  312. package/dist/sessions/briefing.d.ts +26 -0
  313. package/dist/sessions/briefing.d.ts.map +1 -1
  314. package/dist/sessions/briefing.js +46 -0
  315. package/dist/sessions/briefing.js.map +1 -1
  316. package/dist/sessions/session-end-snapshot.d.ts +1 -1
  317. package/dist/sessions/session-end-snapshot.js +1 -1
  318. package/dist/sessions/session-id.d.ts +2 -1
  319. package/dist/sessions/session-id.d.ts.map +1 -1
  320. package/dist/sessions/session-id.js +3 -2
  321. package/dist/sessions/session-id.js.map +1 -1
  322. package/dist/store/agent-resolver.d.ts +0 -6
  323. package/dist/store/agent-resolver.d.ts.map +1 -1
  324. package/dist/store/agent-resolver.js +0 -31
  325. package/dist/store/agent-resolver.js.map +1 -1
  326. package/dist/store/memory-accessor.d.ts +45 -2
  327. package/dist/store/memory-accessor.d.ts.map +1 -1
  328. package/dist/store/memory-accessor.js +81 -7
  329. package/dist/store/memory-accessor.js.map +1 -1
  330. package/dist/store/schema/cleo-shared/brain.d.ts +2 -2
  331. package/dist/store/schema/memory-schema.d.ts +3 -3
  332. package/dist/store/schema/memory-schema.d.ts.map +1 -1
  333. package/dist/store/schema/memory-schema.js +2 -0
  334. package/dist/store/schema/memory-schema.js.map +1 -1
  335. package/dist/store/session-store.d.ts +5 -2
  336. package/dist/store/session-store.d.ts.map +1 -1
  337. package/dist/store/session-store.js +10 -5
  338. package/dist/store/session-store.js.map +1 -1
  339. package/dist/store/sqlite-native.d.ts +5 -4
  340. package/dist/store/sqlite-native.d.ts.map +1 -1
  341. package/dist/store/sqlite-native.js +5 -4
  342. package/dist/store/sqlite-native.js.map +1 -1
  343. package/dist/store/sync/merge/rules.d.ts.map +1 -1
  344. package/dist/store/sync/merge/rules.js +4 -3
  345. package/dist/store/sync/merge/rules.js.map +1 -1
  346. package/dist/store/validation-schemas.d.ts +1 -0
  347. package/dist/store/validation-schemas.d.ts.map +1 -1
  348. package/dist/store/vault-manifest.js +1 -1
  349. package/dist/store/vault-manifest.js.map +1 -1
  350. package/dist/system/project-health.d.ts +7 -0
  351. package/dist/system/project-health.d.ts.map +1 -1
  352. package/dist/system/project-health.js +13 -0
  353. package/dist/system/project-health.js.map +1 -1
  354. package/dist/tasks/add.d.ts.map +1 -1
  355. package/dist/tasks/add.js +0 -15
  356. package/dist/tasks/add.js.map +1 -1
  357. package/dist/tasks/affected-packages.d.ts +26 -11
  358. package/dist/tasks/affected-packages.d.ts.map +1 -1
  359. package/dist/tasks/affected-packages.js +54 -17
  360. package/dist/tasks/affected-packages.js.map +1 -1
  361. package/dist/tasks/affected-scope.d.ts +24 -0
  362. package/dist/tasks/affected-scope.d.ts.map +1 -1
  363. package/dist/tasks/affected-scope.js +57 -0
  364. package/dist/tasks/affected-scope.js.map +1 -1
  365. package/dist/tasks/change-set.d.ts +72 -9
  366. package/dist/tasks/change-set.d.ts.map +1 -1
  367. package/dist/tasks/change-set.js +227 -20
  368. package/dist/tasks/change-set.js.map +1 -1
  369. package/dist/tasks/complete-ci.d.ts.map +1 -1
  370. package/dist/tasks/complete-ci.js +2 -0
  371. package/dist/tasks/complete-ci.js.map +1 -1
  372. package/dist/tasks/complete.d.ts +2 -2
  373. package/dist/tasks/complete.d.ts.map +1 -1
  374. package/dist/tasks/complete.js +38 -17
  375. package/dist/tasks/complete.js.map +1 -1
  376. package/dist/tasks/done-plan.d.ts.map +1 -1
  377. package/dist/tasks/done-plan.js +66 -18
  378. package/dist/tasks/done-plan.js.map +1 -1
  379. package/dist/tasks/epic-enforcement.d.ts +39 -1
  380. package/dist/tasks/epic-enforcement.d.ts.map +1 -1
  381. package/dist/tasks/epic-enforcement.js +46 -2
  382. package/dist/tasks/epic-enforcement.js.map +1 -1
  383. package/dist/tasks/evidence.d.ts +74 -22
  384. package/dist/tasks/evidence.d.ts.map +1 -1
  385. package/dist/tasks/evidence.js +221 -35
  386. package/dist/tasks/evidence.js.map +1 -1
  387. package/dist/tasks/gate-runner.d.ts.map +1 -1
  388. package/dist/tasks/gate-runner.js +2 -12
  389. package/dist/tasks/gate-runner.js.map +1 -1
  390. package/dist/tasks/qa-run-binding.d.ts +2 -0
  391. package/dist/tasks/qa-run-binding.d.ts.map +1 -1
  392. package/dist/tasks/qa-run-binding.js +6 -2
  393. package/dist/tasks/qa-run-binding.js.map +1 -1
  394. package/dist/tasks/test-run-binding.d.ts +2 -0
  395. package/dist/tasks/test-run-binding.d.ts.map +1 -1
  396. package/dist/tasks/test-run-binding.js +8 -3
  397. package/dist/tasks/test-run-binding.js.map +1 -1
  398. package/dist/tasks/verification-policy.d.ts +57 -1
  399. package/dist/tasks/verification-policy.d.ts.map +1 -1
  400. package/dist/tasks/verification-policy.js +94 -1
  401. package/dist/tasks/verification-policy.js.map +1 -1
  402. package/dist/upgrade.d.ts.map +1 -1
  403. package/dist/upgrade.js +2 -15
  404. package/dist/upgrade.js.map +1 -1
  405. package/dist/validation/engine-ops.d.ts.map +1 -1
  406. package/dist/validation/engine-ops.js +39 -19
  407. package/dist/validation/engine-ops.js.map +1 -1
  408. package/package.json +13 -13
  409. package/schemas/config.schema.json +69 -0
  410. package/templates/CLEO-INJECTION.md +4 -5
  411. package/templates/CLEO-REFERENCE.md +2 -4
  412. package/templates/git-hooks/post-merge +25 -0
  413. package/dist/memory/dispatch-trace.d.ts +0 -44
  414. package/dist/memory/dispatch-trace.d.ts.map +0 -1
  415. package/dist/memory/dispatch-trace.js +0 -65
  416. package/dist/memory/dispatch-trace.js.map +0 -1
  417. package/dist/memory/retrieval/increment-citation-counts.d.ts +0 -11
  418. package/dist/memory/retrieval/increment-citation-counts.d.ts.map +0 -1
  419. package/dist/memory/retrieval/increment-citation-counts.js +0 -43
  420. package/dist/memory/retrieval/increment-citation-counts.js.map +0 -1
@@ -7,12 +7,14 @@
7
7
  * @task T5130
8
8
  * @epic T5149
9
9
  */
10
+ import { pushWarning } from '@cleocode/lafs';
10
11
  import { getBrainAccessor } from '../store/memory-accessor.js';
11
12
  import { brainFtsUpdateTriggerSql, upgradeBrainFtsUpdateTriggers } from '../store/row-identity.js';
12
13
  import { typedAll } from '../store/typed-query.js';
13
- import { searchSimilar } from './brain-similarity.js';
14
- import { memoryEligibilityClause } from './eligibility.js';
14
+ import { searchSimilarWithStatus } from './brain-similarity.js';
15
+ import { autoRowExclusionClause, memoryEligibilityClause } from './eligibility.js';
15
16
  import { QUALITY_SCORE_THRESHOLD } from './quality-scoring.js';
17
+ import { rankFtsAcrossTables } from './recall-ranking.js';
16
18
  /** Track whether FTS5 is available in the current SQLite build. */
17
19
  let _fts5Available = null;
18
20
  /**
@@ -292,6 +294,7 @@ function searchWithFts5(nativeDb, query, tables, limit, peerId, includeGlobal =
292
294
  WHERE brain_patterns_fts MATCH ?
293
295
  AND (p.quality_score IS NULL OR p.quality_score >= ?)
294
296
  ${memoryEligibilityClause('patterns', 'p', includeHistory)}
297
+ ${autoRowExclusionClause('patterns', 'p')}
295
298
  ${clause}
296
299
  ORDER BY bm25(brain_patterns_fts)
297
300
  LIMIT ?
@@ -334,6 +337,7 @@ function searchWithFts5(nativeDb, query, tables, limit, peerId, includeGlobal =
334
337
  WHERE brain_observations_fts MATCH ?
335
338
  AND (o.quality_score IS NULL OR o.quality_score >= ?)
336
339
  ${memoryEligibilityClause('observations', 'o', includeHistory)}
340
+ ${autoRowExclusionClause('observations', 'o')}
337
341
  ${clause}
338
342
  ORDER BY CASE WHEN o.title LIKE 'Task start:%' OR o.title LIKE 'Task complete:%' THEN 1 ELSE 0 END, bm25(brain_observations_fts)
339
343
  LIMIT ?
@@ -388,7 +392,7 @@ function likeSearchDecisions(nativeDb, query, limit, peerId, includeGlobal = tru
388
392
  function likeSearchPatterns(nativeDb, query, limit, peerId, includeGlobal = true, includeHistory = false) {
389
393
  const likePattern = `%${query}%`;
390
394
  const { clause, params } = buildPeerClause('brain_patterns', peerId, includeGlobal);
391
- const eligibility = memoryEligibilityClause('patterns', 'brain_patterns', includeHistory);
395
+ const eligibility = `${memoryEligibilityClause('patterns', 'brain_patterns', includeHistory)}${autoRowExclusionClause('patterns')}`;
392
396
  return typedAll(nativeDb.prepare(`
393
397
  SELECT * FROM brain_patterns
394
398
  WHERE (pattern LIKE ? OR context LIKE ?)
@@ -416,7 +420,7 @@ function likeSearchLearnings(nativeDb, query, limit, peerId, includeGlobal = tru
416
420
  function likeSearchObservations(nativeDb, query, limit, peerId, includeGlobal = true, includeHistory = false) {
417
421
  const likePattern = `%${query}%`;
418
422
  const { clause, params } = buildPeerClause('brain_observations', peerId, includeGlobal);
419
- const eligibility = memoryEligibilityClause('observations', 'brain_observations', includeHistory);
423
+ const eligibility = `${memoryEligibilityClause('observations', 'brain_observations', includeHistory)}${autoRowExclusionClause('observations')}`;
420
424
  return typedAll(nativeDb.prepare(`
421
425
  SELECT * FROM brain_observations
422
426
  WHERE (title LIKE ? OR narrative LIKE ?)
@@ -556,36 +560,6 @@ export function resetFts5Cache() {
556
560
  * standard value from Cormack, Clarke & Buettcher (SIGIR 2009).
557
561
  */
558
562
  export const RRF_K = 60;
559
- /**
560
- * Round-robin interleave several independently-ranked lists.
561
- *
562
- * Takes rank 1 from every list, then rank 2 from every list, and so on, so a
563
- * downstream consumer that scores by array position does not systematically
564
- * favour whichever list happened to be concatenated first.
565
- *
566
- * @param lists - per-source lists, each already ordered best-first.
567
- * @returns a single list preserving each source's internal order.
568
- *
569
- * @example
570
- * ```ts
571
- * interleaveRanked([['a1', 'a2'], ['b1'], ['c1', 'c2', 'c3']]);
572
- * // ['a1', 'b1', 'c1', 'a2', 'c2', 'c3']
573
- * ```
574
- *
575
- * @task T12073
576
- */
577
- export function interleaveRanked(lists) {
578
- const out = [];
579
- const longest = lists.reduce((max, l) => Math.max(max, l.length), 0);
580
- for (let i = 0; i < longest; i++) {
581
- for (const list of lists) {
582
- const item = list[i];
583
- if (item !== undefined)
584
- out.push(item);
585
- }
586
- }
587
- return out;
588
- }
589
563
  /**
590
564
  * Fuse ranked lists from multiple retrieval sources using Reciprocal Rank Fusion.
591
565
  *
@@ -654,25 +628,73 @@ export function reciprocalRankFusion(sources, k = RRF_K) {
654
628
  }))
655
629
  .sort((a, b) => b.rrfScore - a.rrfScore);
656
630
  }
631
+ /** Graph node types that are BRAIN memory rows, mapped to their table. */
632
+ const MEMORY_NODE_TABLES = {
633
+ decision: 'decisions',
634
+ pattern: 'patterns',
635
+ learning: 'learnings',
636
+ observation: 'observations',
637
+ };
638
+ /**
639
+ * The date of a memory row recall may show, or `null` when it may not: below
640
+ * the quality threshold, not current, or an auto row (T13968). Hits from any
641
+ * source (FTS, vector, graph) pass this one gate before they are returned.
642
+ *
643
+ * @param nativeDb - The project brain.
644
+ * @param type - Hit type (`decision`, `pattern`, `learning`, `observation`).
645
+ * @param id - Row id.
646
+ * @param peer - Optional peer clause over `brain_<table>` with its parameters.
647
+ * @param statements - Optional cache of prepared statements, keyed by table and
648
+ * peer clause, reused across the hits of one search (T13978).
649
+ * @returns The row's date, `''` when the type is not a memory table, or `null`.
650
+ * @example
651
+ * ```ts
652
+ * if (recallEligibleDate(db, 'pattern', 'P-1') === null) continue;
653
+ * ```
654
+ */
655
+ export function recallEligibleDate(nativeDb, type, id, peer = { clause: '', params: [] }, statements) {
656
+ const table = MEMORY_NODE_TABLES[type];
657
+ if (!table)
658
+ return '';
659
+ const key = `${table}\0${peer.clause}`;
660
+ let statement = statements?.get(key);
661
+ if (!statement) {
662
+ statement = nativeDb.prepare(`SELECT ${table === 'patterns' ? 'extracted_at' : 'created_at'} AS date FROM main.brain_${table}
663
+ WHERE id = ? AND (quality_score IS NULL OR quality_score >= ?)${memoryEligibilityClause(table)}${autoRowExclusionClause(table)}${peer.clause}`);
664
+ statements?.set(key, statement);
665
+ }
666
+ const row = statement.get(id, QUALITY_SCORE_THRESHOLD, ...peer.params);
667
+ if (!row)
668
+ return null;
669
+ return typeof row.date === 'string' ? row.date : '';
670
+ }
671
+ /** How many top FTS hits seed graph-neighbour expansion. */
672
+ const GRAPH_SEED_HITS = 3;
657
673
  /**
658
674
  * Hybrid search across FTS5, vector similarity, graph neighbors, and optionally code symbols.
659
675
  * Uses Reciprocal Rank Fusion (RRF) for result combination.
660
676
  *
661
677
  * Algorithm:
662
- * 1. Run FTS5 search, vector similarity search, and optionally code symbol search in parallel.
663
- * 2. Optionally expand via graph neighbors (best-effort).
664
- * 3. Fuse all ranked lists with RRF: score = Σ 1/(rank+rrfK).
665
- * 4. Return top-N sorted by fused RRF score.
666
- *
667
- * Graceful degradation: vector, graph, and code sources are silently skipped when
668
- * unavailable — RRF naturally handles partial source lists.
678
+ * 1. Run FTS5, vector similarity and optionally code symbol search in parallel.
679
+ * 2. Rank the FTS hits of all four tables as ONE list by BM25 order, recency
680
+ * and source (T13948, {@link rankFtsAcrossTables}) — no per-type quota.
681
+ * 3. Expand graph neighbours of the query's own nodes and of the top FTS hits.
682
+ * Only memory rows are returned: task, concept and doc nodes seed the
683
+ * expansion but are never results (T13948, documented in T13978).
684
+ * 4. Fuse all ranked lists with RRF: score = Σ 1/(rank+rrfK).
685
+ * 5. Keep current, quality-passing, peer-visible, non-auto memory rows; return top-N.
686
+ *
687
+ * An unavailable vector layer is reported as a `W_MEMORY_VECTOR_UNAVAILABLE`
688
+ * envelope warning naming the missing piece (T13948), never silently dropped:
689
+ * the owner decided on 2026-10-15 to keep vectors (O-mv9luqgk-0). Graph and
690
+ * code sources are best-effort.
669
691
  *
670
692
  * @param query - Search query text
671
693
  * @param projectRoot - Project root directory
672
- * @param options - Limit, RRF tuning, and includeCode flag for code symbol search
694
+ * @param options - Limit, RRF tuning, table and peer scope, and includeCode
673
695
  * @returns Array of hybrid results ranked by RRF score descending
674
696
  *
675
- * @task T5130 (hybrid search), T1058 (code symbol integration)
697
+ * @task T5130 (hybrid search), T1058 (code symbol integration), T13948 (ranking)
676
698
  */
677
699
  export async function hybridSearch(query, projectRoot, options) {
678
700
  if (!query?.trim())
@@ -680,97 +702,69 @@ export async function hybridSearch(query, projectRoot, options) {
680
702
  const maxResults = options?.limit ?? 10;
681
703
  const rrfK = options?.rrfK ?? RRF_K;
682
704
  const includeCode = options?.includeCode ?? false;
705
+ const peerId = options?.peerId;
706
+ const includeGlobal = options?.includeGlobal ?? true;
683
707
  // --- 1. Run FTS5, vector, and code symbol search in parallel ---
684
- const searches = [
685
- searchBrain(projectRoot, query, { limit: maxResults * 3 }),
686
- searchSimilar(query, projectRoot, maxResults * 3).catch(() => []),
687
- ];
688
- // Optionally search code symbols
689
- let codeSearchPromise = null;
690
- if (includeCode) {
691
- codeSearchPromise = (async () => {
692
- try {
693
- const { smartSearch } = await import('@cleocode/nexus');
694
- const results = smartSearch(query, {
695
- maxResults: maxResults * 2,
696
- rootDir: projectRoot,
697
- });
698
- return results.map((r) => ({
699
- id: `code:${r.symbol.filePath}:${r.symbol.name}:${r.symbol.startLine}`,
700
- title: r.symbol.name,
701
- kind: r.symbol.kind,
702
- score: r.score,
703
- }));
704
- }
705
- catch {
706
- return [];
707
- }
708
- })();
709
- searches.push(codeSearchPromise);
710
- }
711
- const allResults = await Promise.all(searches);
712
- const ftsResults = allResults[0];
713
- const vecResults = allResults[1];
714
- const codeResults = (includeCode ? (allResults[2] ?? []) : []);
715
- // --- 2. Project FTS results into ranked RrfHit list ---
716
- //
717
- // T12073: INTERLEAVE the four tables instead of concatenating them.
718
- //
719
- // RRF scores a hit by its POSITION in this array. Concatenating
720
- // decisions → patterns → learnings → observations therefore encoded a fixed
721
- // precedence that has nothing to do with relevance: every decision outranked
722
- // every observation, always. With 128 decisions and 6,985 observations, the
723
- // largest and most recent store was structurally the least reachable —
724
- // `cleo memory find "caamp marker"` returned unrelated learnings while the
725
- // ONE observation matching both terms (verified by direct MATCH) never
726
- // placed.
727
- //
728
- // Each table is already BM25-ordered internally. Round-robin interleaving
729
- // preserves that intra-table ordering while removing the inter-table bias,
730
- // and avoids comparing BM25 scores across separate indexes — which is not
731
- // meaningful, since each has its own corpus statistics.
732
- const ftsRanked = [
733
- ftsResults.decisions.map((d) => ({
734
- id: d.id,
735
- type: 'decision',
736
- title: d.decision,
737
- text: `${d.decision} — ${d.rationale}`,
738
- })),
739
- ftsResults.patterns.map((p) => ({
740
- id: p.id,
741
- type: 'pattern',
742
- title: p.pattern,
743
- text: `${p.pattern} — ${p.context}`,
744
- })),
745
- ftsResults.learnings.map((l) => ({
746
- id: l.id,
747
- type: 'learning',
748
- title: l.insight,
749
- text: `${l.insight} (source: ${l.source})`,
750
- })),
751
- ftsResults.observations.map((o) => ({
752
- id: o.id,
753
- type: 'observation',
754
- title: o.title,
755
- text: o.narrative ?? o.title,
708
+ const codeSearch = async () => {
709
+ if (!includeCode)
710
+ return [];
711
+ try {
712
+ const { smartSearch } = await import('@cleocode/nexus');
713
+ return smartSearch(query, { maxResults: maxResults * 2, rootDir: projectRoot }).map((r) => ({
714
+ id: `code:${r.symbol.filePath}:${r.symbol.name}:${r.symbol.startLine}`,
715
+ title: r.symbol.name,
716
+ kind: r.symbol.kind,
717
+ score: r.score,
718
+ }));
719
+ }
720
+ catch {
721
+ return [];
722
+ }
723
+ };
724
+ const [ftsResults, vector, codeResults] = await Promise.all([
725
+ searchBrain(projectRoot, query, {
726
+ limit: maxResults * 3,
727
+ tables: options?.tables,
728
+ peerId,
729
+ includeGlobal,
730
+ }),
731
+ searchSimilarWithStatus(query, projectRoot, maxResults * 3).catch((err) => ({
732
+ results: [],
733
+ unavailable: err instanceof Error ? err.message : String(err),
756
734
  })),
757
- ];
758
- const ftsHits = interleaveRanked(ftsRanked);
759
- // --- 3. Project vector results into ranked RrfHit list (ascending distance = descending quality) ---
760
- const vecHits = vecResults.map((r) => ({
735
+ codeSearch(),
736
+ ]);
737
+ if (vector.unavailable) {
738
+ pushWarning({
739
+ // @sync-invariant none:local-only a read-path warning; nothing is written
740
+ code: 'W_MEMORY_VECTOR_UNAVAILABLE',
741
+ severity: 'warn',
742
+ message: `Vector search unavailable (${vector.unavailable}); results come from full-text and graph only`,
743
+ context: { reason: vector.unavailable },
744
+ });
745
+ }
746
+ // --- 2. FTS hits of all tables as one ranked list (T13948) ---
747
+ const ftsHits = rankFtsAcrossTables(ftsResults);
748
+ // --- 3. Vector and code hits in their own rank order ---
749
+ // T13978: a table filter applies to every memory source before the limit.
750
+ const wanted = (type) => {
751
+ const table = MEMORY_NODE_TABLES[type];
752
+ return !table || !options?.tables?.length || options.tables.includes(table);
753
+ };
754
+ const vecHits = vector.results
755
+ .filter((r) => wanted(r.type))
756
+ .map((r) => ({
761
757
  id: r.id,
762
758
  type: r.type,
763
759
  title: r.title,
764
760
  text: r.text,
765
761
  }));
766
- // --- 4. Project code symbol results into RrfHit list ---
767
762
  const codeHits = codeResults.map((r) => ({
768
763
  id: r.id,
769
764
  type: 'code-symbol',
770
765
  title: r.title,
771
766
  text: `${r.title} (${r.kind})`,
772
767
  }));
773
- // --- 5. Build source list for RRF ---
774
768
  const rrfSources = [];
775
769
  if (ftsHits.length > 0)
776
770
  rrfSources.push({ source: 'fts', hits: ftsHits });
@@ -778,25 +772,34 @@ export async function hybridSearch(query, projectRoot, options) {
778
772
  rrfSources.push({ source: 'vec', hits: vecHits });
779
773
  if (codeHits.length > 0)
780
774
  rrfSources.push({ source: 'code', hits: codeHits });
781
- // --- 6. Graph neighbor expansion (best-effort) ---
775
+ // --- 4. Graph neighbours of the query's nodes and of the top FTS hits (best-effort) ---
782
776
  try {
783
777
  const accessor = await getBrainAccessor(projectRoot);
784
- const possibleNodeIds = [
778
+ const seeds = [
785
779
  `concept:${query.toLowerCase().replace(/\s+/g, '-')}`,
786
780
  `task:${query}`,
787
781
  `doc:${query}`,
782
+ ...ftsHits.slice(0, GRAPH_SEED_HITS).map((hit) => `${hit.type}:${hit.id}`),
788
783
  ];
789
784
  const graphHits = [];
790
- for (const nodeId of possibleNodeIds) {
785
+ const seen = new Set();
786
+ for (const nodeId of seeds) {
791
787
  const node = await accessor.getPageNode(nodeId);
792
788
  if (!node)
793
789
  continue;
794
- const neighbors = await accessor.getNeighbors(nodeId);
795
- for (const neighbor of neighbors) {
790
+ for (const neighbor of await accessor.getNeighbors(nodeId)) {
791
+ // Only memory rows: recall returns decisions, patterns, learnings and
792
+ // observations; task, concept and doc nodes are seeds, not results (T13948).
793
+ if (!MEMORY_NODE_TABLES[neighbor.nodeType] || !wanted(neighbor.nodeType))
794
+ continue;
795
+ const id = neighbor.id.startsWith(`${neighbor.nodeType}:`)
796
+ ? neighbor.id.slice(neighbor.nodeType.length + 1)
797
+ : neighbor.id;
798
+ if (seen.has(id))
799
+ continue;
800
+ seen.add(id);
796
801
  graphHits.push({
797
- id: neighbor.id.startsWith(`${neighbor.nodeType}:`)
798
- ? neighbor.id.slice(neighbor.nodeType.length + 1)
799
- : neighbor.id,
802
+ id,
800
803
  type: neighbor.nodeType,
801
804
  title: neighbor.label,
802
805
  text: neighbor.label,
@@ -809,37 +812,37 @@ export async function hybridSearch(query, projectRoot, options) {
809
812
  catch {
810
813
  // Graph unavailable — RRF handles gracefully with remaining sources
811
814
  }
812
- // --- 7. Fuse with RRF and return top-N ---
815
+ // --- 5. Fuse with RRF; keep only rows recall may show ---
813
816
  const fused = reciprocalRankFusion(rrfSources, rrfK);
814
817
  const { getBrainNativeDb } = await import('../store/memory-sqlite.js');
815
818
  const nativeDb = getBrainNativeDb(projectRoot);
816
819
  if (!nativeDb)
817
820
  throw new Error('BRAIN database unavailable while checking retrieval eligibility');
818
- const eligible = fused.filter((hit) => {
819
- const table = hit.type === 'decision'
820
- ? 'decisions'
821
- : hit.type === 'pattern'
822
- ? 'patterns'
823
- : hit.type === 'learning'
824
- ? 'learnings'
825
- : hit.type === 'observation'
826
- ? 'observations'
827
- : undefined;
828
- if (!table)
829
- return true;
830
- return (nativeDb
831
- .prepare(`SELECT id FROM main.brain_${table} WHERE id = ?${memoryEligibilityClause(table)}`)
832
- .get(hit.id) !== undefined);
833
- });
834
- return eligible.slice(0, maxResults).map((r) => ({
835
- id: r.id,
836
- score: r.rrfScore,
837
- type: r.type,
838
- title: r.title,
839
- text: r.text,
840
- sources: r.sources,
841
- ftsRank: r.ftsRank,
842
- vecRank: r.vecRank,
843
- }));
821
+ const results = [];
822
+ const statements = new Map();
823
+ for (const hit of fused) {
824
+ if (results.length >= maxResults)
825
+ break;
826
+ const table = MEMORY_NODE_TABLES[hit.type];
827
+ let date;
828
+ if (table) {
829
+ const eligible = recallEligibleDate(nativeDb, hit.type, hit.id, buildPeerClause(`brain_${table}`, peerId, includeGlobal), statements);
830
+ if (eligible === null)
831
+ continue;
832
+ date = eligible;
833
+ }
834
+ results.push({
835
+ id: hit.id,
836
+ score: hit.rrfScore,
837
+ type: hit.type,
838
+ title: hit.title,
839
+ text: hit.text,
840
+ sources: hit.sources,
841
+ ftsRank: hit.ftsRank,
842
+ vecRank: hit.vecRank,
843
+ ...(date !== undefined ? { date } : {}),
844
+ });
845
+ }
846
+ return results;
844
847
  }
845
848
  //# sourceMappingURL=brain-search.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"brain-search.js","sourceRoot":"","sources":["../../src/memory/brain-search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"brain-search.js","sourceRoot":"","sources":["../../src/memory/brain-search.ts"],"names":[],"mappings":"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"}
@@ -15,19 +15,42 @@ export interface SimilarityResult {
15
15
  title: string;
16
16
  text: string;
17
17
  }
18
+ /** Vector search outcome: the hits, or why the vector layer could not answer. */
19
+ export interface SimilaritySearch {
20
+ /** Hits ranked by distance (ascending); empty when unavailable. */
21
+ results: SimilarityResult[];
22
+ /** Set when the vector layer is unavailable, naming the missing piece (T13948). */
23
+ unavailable?: string;
24
+ }
18
25
  /**
19
26
  * Search for entries similar to a query string using vector similarity.
20
27
  *
28
+ * Returns an empty array when the vector layer is unavailable; use
29
+ * {@link searchSimilarWithStatus} to learn why.
30
+ *
31
+ * @param query - Text to find similar entries for
32
+ * @param projectRoot - Project root directory
33
+ * @param limit - Maximum results to return (default 10)
34
+ * @returns Array of similar entries ranked by distance (ascending)
35
+ */
36
+ export declare function searchSimilar(query: string, projectRoot: string, limit?: number): Promise<SimilarityResult[]>;
37
+ /**
38
+ * Vector similarity search that reports an unavailable vector layer instead
39
+ * of returning a silent empty list (T13948).
40
+ *
21
41
  * 1. Embeds the query text via the registered embedding provider.
22
42
  * 2. Runs KNN query against brain_embeddings vec0 table.
23
43
  * 3. Joins with observation/decision/pattern/learning tables for full entries.
24
44
  *
25
- * Returns empty array when embedding is unavailable (graceful fallback).
26
- *
27
45
  * @param query - Text to find similar entries for
28
46
  * @param projectRoot - Project root directory
29
47
  * @param limit - Maximum results to return (default 10)
30
- * @returns Array of similar entries ranked by distance (ascending)
48
+ * @returns The hits, plus `unavailable` when no provider, vector, extension or
49
+ * embedding for the active model exists, or the KNN query failed.
50
+ * @example
51
+ * ```ts
52
+ * const { results, unavailable } = await searchSimilarWithStatus('worktree', root, 10);
53
+ * ```
31
54
  */
32
- export declare function searchSimilar(query: string, projectRoot: string, limit?: number): Promise<SimilarityResult[]>;
55
+ export declare function searchSimilarWithStatus(query: string, projectRoot: string, limit?: number): Promise<SimilaritySearch>;
33
56
  //# sourceMappingURL=brain-similarity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"brain-similarity.d.ts","sourceRoot":"","sources":["../../src/memory/brain-similarity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAYH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAkBD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA8G7B"}
1
+ {"version":3,"file":"brain-similarity.d.ts","sourceRoot":"","sources":["../../src/memory/brain-similarity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAYH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAkBD,iFAAiF;AACjF,MAAM,WAAW,gBAAgB;IAC/B,mEAAmE;IACnE,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAE7B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,gBAAgB,CAAC,CAuH3B"}