@remnic/core 9.45.3 → 9.45.5

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 (766) hide show
  1. package/dist/abort-error.d.ts +2 -1
  2. package/dist/abort-error.js +3 -1
  3. package/dist/access-admin-ops-surface.d.ts +14 -10
  4. package/dist/access-admin-ops-surface.js +84 -75
  5. package/dist/access-audit.js +2 -2
  6. package/dist/access-authorization-probe.d.ts +14 -10
  7. package/dist/access-authorization-probe.js +85 -76
  8. package/dist/access-boundary.d.ts +15 -11
  9. package/dist/access-boundary.js +84 -75
  10. package/dist/access-citation-namespace.js +2 -2
  11. package/dist/access-cli.js +191 -177
  12. package/dist/access-cli.js.map +1 -1
  13. package/dist/access-coding-context-resolution.d.ts +16 -0
  14. package/dist/access-coding-context-resolution.js +13 -0
  15. package/dist/access-coding-context-resolution.js.map +1 -0
  16. package/dist/access-extraction-force-flush.d.ts +14 -10
  17. package/dist/access-extraction-force-flush.js +84 -75
  18. package/dist/access-health-types.d.ts +2 -1
  19. package/dist/access-http-lcm-compaction.d.ts +16 -12
  20. package/dist/access-http-lcm-compaction.js +3 -3
  21. package/dist/access-http-lifecycle-flush.d.ts +14 -10
  22. package/dist/access-http-lifecycle-flush.js +2 -2
  23. package/dist/access-http-offline-stream.d.ts +123 -0
  24. package/dist/access-http-offline-stream.js +10 -0
  25. package/dist/access-http-offline-stream.js.map +1 -0
  26. package/dist/access-http-query.js +84 -75
  27. package/dist/access-http.d.ts +15 -11
  28. package/dist/access-http.js +104 -90
  29. package/dist/access-identity-continuity-surface.d.ts +9 -8
  30. package/dist/access-identity-continuity-surface.js +84 -75
  31. package/dist/access-lcm-surface.d.ts +14 -10
  32. package/dist/access-lcm-surface.js +84 -75
  33. package/dist/access-mcp-output-schemas.js +1 -1
  34. package/dist/access-mcp.d.ts +14 -10
  35. package/dist/access-mcp.js +95 -82
  36. package/dist/access-memory-search-fanout.d.ts +3 -2
  37. package/dist/{access-namespace-preflight-5yZ4g6F8.d.ts → access-namespace-preflight-CWUDwB4M.d.ts} +1 -1
  38. package/dist/access-namespace-preflight.d.ts +4 -3
  39. package/dist/access-namespace-preflight.js +84 -75
  40. package/dist/access-observe-helpers.d.ts +1 -0
  41. package/dist/access-observe-helpers.js +1 -1
  42. package/dist/access-observe-write-surface.d.ts +16 -10
  43. package/dist/access-observe-write-surface.js +84 -75
  44. package/dist/access-offline-manifest.d.ts +104 -0
  45. package/dist/access-offline-manifest.js +45 -0
  46. package/dist/access-offline-manifest.js.map +1 -0
  47. package/dist/access-operations-batch.js +86 -77
  48. package/dist/access-operations.d.ts +18 -14
  49. package/dist/access-operations.js +91 -79
  50. package/dist/access-recall-concurrency.d.ts +16 -26
  51. package/dist/access-recall-concurrency.js +86 -76
  52. package/dist/access-recall-response.d.ts +18 -14
  53. package/dist/access-recall-response.js +84 -75
  54. package/dist/access-recall-surface.d.ts +29 -24
  55. package/dist/access-recall-surface.js +84 -75
  56. package/dist/access-schema.d.ts +84 -84
  57. package/dist/access-schema.js +3 -3
  58. package/dist/{access-service-CiJRsgAB.d.ts → access-service-CNN89xyn.d.ts} +25 -16
  59. package/dist/access-service-helpers.d.ts +14 -10
  60. package/dist/access-service.d.ts +14 -10
  61. package/dist/access-service.js +84 -75
  62. package/dist/access-surface-catalog.d.ts +14 -10
  63. package/dist/access-surface-catalog.js +4 -0
  64. package/dist/access-surface-catalog.js.map +1 -1
  65. package/dist/access-wearables-meetings-surface.d.ts +4 -3
  66. package/dist/action-confidence.d.ts +2 -1
  67. package/dist/active-memory-bridge.d.ts +2 -1
  68. package/dist/active-recall.d.ts +2 -1
  69. package/dist/active-recall.js +10 -8
  70. package/dist/active-recall.js.map +1 -1
  71. package/dist/adapters/index.js +4 -4
  72. package/dist/adapters/registry.js +2 -2
  73. package/dist/{auto-sync-5OE5QOZB.js → auto-sync-UPTUVE4X.js} +6 -6
  74. package/dist/behavior-learner.d.ts +2 -1
  75. package/dist/behavior-learner.js +1 -1
  76. package/dist/behavior-signals.d.ts +2 -1
  77. package/dist/bootstrap.d.ts +9 -8
  78. package/dist/briefing.d.ts +3 -2
  79. package/dist/briefing.js +24 -22
  80. package/dist/buffer-surprise-report.d.ts +2 -1
  81. package/dist/buffer-turn-helpers.d.ts +2 -1
  82. package/dist/buffer.d.ts +3 -2
  83. package/dist/buffer.js +12 -11
  84. package/dist/bulk-import/index.d.ts +4 -3
  85. package/dist/calibration.d.ts +2 -1
  86. package/dist/capabilities.d.ts +2 -1
  87. package/dist/{capsule-merge-IDWJPCWK.js → capsule-merge-Q6AR3XL7.js} +67 -54
  88. package/dist/capsule-merge-Q6AR3XL7.js.map +1 -0
  89. package/dist/{catalog-scBmy0sO.d.ts → catalog-bctMURhN.d.ts} +1 -1
  90. package/dist/causal-behavior.d.ts +2 -1
  91. package/dist/causal-behavior.js +2 -2
  92. package/dist/causal-chain.js +2 -2
  93. package/dist/causal-consolidation.d.ts +2 -1
  94. package/dist/causal-consolidation.js +28 -26
  95. package/dist/causal-consolidation.js.map +1 -1
  96. package/dist/causal-retrieval.js +2 -2
  97. package/dist/causal-trajectory-graph.d.ts +2 -1
  98. package/dist/causal-trajectory.js +1 -1
  99. package/dist/{chunk-E5UK4VPE.js → chunk-2FSTB6BJ.js} +5 -5
  100. package/dist/{chunk-5ZE7QHTK.js → chunk-2X2T2UVE.js} +5 -5
  101. package/dist/{chunk-P4DRWEYC.js → chunk-3COYXTGM.js} +2 -2
  102. package/dist/{chunk-5IVLTFOV.js → chunk-44N6ESJ4.js} +2 -2
  103. package/dist/{chunk-DL7ZD3JH.js → chunk-4FBVAGV3.js} +14 -9
  104. package/dist/chunk-4FBVAGV3.js.map +1 -0
  105. package/dist/{chunk-WOCNN776.js → chunk-4POAMKV6.js} +100 -41
  106. package/dist/chunk-4POAMKV6.js.map +1 -0
  107. package/dist/{chunk-HO3QBJEY.js → chunk-5546W5SI.js} +2 -2
  108. package/dist/{chunk-AAIUERNB.js → chunk-5QJQHBLE.js} +6 -6
  109. package/dist/{chunk-6CZPDBJS.js → chunk-5U7ID3EZ.js} +3 -3
  110. package/dist/{chunk-RN7DY3FC.js → chunk-6ISC4AVB.js} +31 -12
  111. package/dist/chunk-6ISC4AVB.js.map +1 -0
  112. package/dist/chunk-773TRRGT.js +36 -0
  113. package/dist/chunk-773TRRGT.js.map +1 -0
  114. package/dist/chunk-7T4TOGMS.js +242 -0
  115. package/dist/chunk-7T4TOGMS.js.map +1 -0
  116. package/dist/{chunk-DLVPUX7U.js → chunk-7YKVM5H3.js} +8 -6
  117. package/dist/chunk-7YKVM5H3.js.map +1 -0
  118. package/dist/chunk-7YQ6ESEA.js +322 -0
  119. package/dist/chunk-7YQ6ESEA.js.map +1 -0
  120. package/dist/{chunk-DNWXFTLD.js → chunk-A4IJCD2Z.js} +2 -2
  121. package/dist/{chunk-3CE77VAP.js → chunk-A4JMGKCD.js} +87 -74
  122. package/dist/chunk-A4JMGKCD.js.map +1 -0
  123. package/dist/chunk-A5KNZSNA.js +26 -0
  124. package/dist/chunk-A5KNZSNA.js.map +1 -0
  125. package/dist/{chunk-PKNLM44P.js → chunk-AC5OWJLV.js} +9 -9
  126. package/dist/{chunk-LZ4LDKHZ.js → chunk-AMAUBUKY.js} +6 -6
  127. package/dist/{chunk-CUM2BBPN.js → chunk-AUMWZSE7.js} +19 -10
  128. package/dist/chunk-AUMWZSE7.js.map +1 -0
  129. package/dist/{chunk-BUE5E2HL.js → chunk-BGLY7EEM.js} +5 -314
  130. package/dist/chunk-BGLY7EEM.js.map +1 -0
  131. package/dist/chunk-BIPBQQFI.js +44 -0
  132. package/dist/chunk-BIPBQQFI.js.map +1 -0
  133. package/dist/{chunk-S5SLVSVY.js → chunk-BQIFZ2MP.js} +5 -5
  134. package/dist/chunk-BTTPKDIL.js +34 -0
  135. package/dist/{chunk-PVGDJXVK.js.map → chunk-BTTPKDIL.js.map} +1 -1
  136. package/dist/chunk-CK5KOVHW.js +69 -0
  137. package/dist/chunk-CK5KOVHW.js.map +1 -0
  138. package/dist/{chunk-Q6IP2ARR.js → chunk-CSOYVTRX.js} +2 -2
  139. package/dist/{chunk-XOQSEF7X.js → chunk-CVILPI77.js} +6 -6
  140. package/dist/{chunk-VWAXN2BN.js → chunk-CX4ZUMC6.js} +91 -83
  141. package/dist/chunk-CX4ZUMC6.js.map +1 -0
  142. package/dist/{chunk-NVRYW264.js → chunk-DAJPRXBR.js} +16 -13
  143. package/dist/chunk-DAJPRXBR.js.map +1 -0
  144. package/dist/{chunk-J7VGGECD.js → chunk-DZPFMQZ7.js} +1 -1
  145. package/dist/chunk-DZPFMQZ7.js.map +1 -0
  146. package/dist/{chunk-4LMA77JH.js → chunk-E5XQIWAL.js} +3 -3
  147. package/dist/{chunk-WUNIWKY4.js → chunk-ELIL2A37.js} +6 -6
  148. package/dist/{chunk-OQ5PRDDS.js → chunk-ERZ2R42X.js} +6 -6
  149. package/dist/{chunk-U7GW7NE7.js → chunk-FIK3CQNA.js} +10 -10
  150. package/dist/{chunk-D3J5SLQK.js → chunk-FR27HBBA.js} +81 -20
  151. package/dist/chunk-FR27HBBA.js.map +1 -0
  152. package/dist/{chunk-E6PNLPGJ.js → chunk-FUCYDRE5.js} +838 -480
  153. package/dist/chunk-FUCYDRE5.js.map +1 -0
  154. package/dist/{chunk-HZFHQ4AQ.js → chunk-G7A5HLUS.js} +23 -17
  155. package/dist/chunk-G7A5HLUS.js.map +1 -0
  156. package/dist/{chunk-33PLLLL7.js → chunk-GFCVUY6G.js} +6 -6
  157. package/dist/{chunk-HREE4JHI.js → chunk-GODSPTOT.js} +477 -278
  158. package/dist/chunk-GODSPTOT.js.map +1 -0
  159. package/dist/{chunk-S2NCTZGJ.js → chunk-GRUYA45P.js} +15 -15
  160. package/dist/chunk-GRUYA45P.js.map +1 -0
  161. package/dist/{chunk-VUPTKTDV.js → chunk-GUAL4PQH.js} +3 -3
  162. package/dist/{chunk-CINZGPSJ.js → chunk-GUMZC2BO.js} +2 -2
  163. package/dist/{chunk-H24WNPA2.js → chunk-GWFSVJ4P.js} +3 -3
  164. package/dist/{chunk-7XC2HX75.js → chunk-GYPQL6XN.js} +157 -16
  165. package/dist/chunk-GYPQL6XN.js.map +1 -0
  166. package/dist/{chunk-TSH56VPU.js → chunk-HAYSYUAB.js} +2 -2
  167. package/dist/{chunk-PDLBLTOK.js → chunk-HC3PBX23.js} +9 -9
  168. package/dist/{chunk-TDHTVMPG.js → chunk-HFPASSFV.js} +7 -2
  169. package/dist/chunk-HFPASSFV.js.map +1 -0
  170. package/dist/chunk-J2WC5LF4.js +395 -0
  171. package/dist/chunk-J2WC5LF4.js.map +1 -0
  172. package/dist/{chunk-KXB4VXHY.js → chunk-JIYDRBVZ.js} +2 -2
  173. package/dist/chunk-JV3C2MNQ.js +74 -0
  174. package/dist/chunk-JV3C2MNQ.js.map +1 -0
  175. package/dist/{chunk-HLPD7B7P.js → chunk-JZH4LWHB.js} +2 -2
  176. package/dist/{chunk-AV5ZEH4M.js → chunk-KVJRXN2E.js} +2 -2
  177. package/dist/{chunk-WFTIGIIS.js → chunk-L6CQ7WIW.js} +5 -5
  178. package/dist/{chunk-227UFSEQ.js → chunk-LEPOP46W.js} +4 -4
  179. package/dist/{chunk-EJUEXZHX.js → chunk-LLJMAULE.js} +2 -2
  180. package/dist/{chunk-N5Z4EVOR.js → chunk-LNEWDF2A.js} +36 -11
  181. package/dist/chunk-LNEWDF2A.js.map +1 -0
  182. package/dist/{chunk-QN25OCUF.js → chunk-LPYDOLSM.js} +5 -5
  183. package/dist/{chunk-AS7YMSL6.js → chunk-M23RF3LJ.js} +4 -4
  184. package/dist/{chunk-OAEQLRCY.js → chunk-MO4HSXHZ.js} +5 -5
  185. package/dist/{chunk-ECK75GDJ.js → chunk-N3LL5NEU.js} +43 -24
  186. package/dist/chunk-N3LL5NEU.js.map +1 -0
  187. package/dist/chunk-NEF7LR5J.js +29 -0
  188. package/dist/chunk-NEF7LR5J.js.map +1 -0
  189. package/dist/{chunk-3F2LKUMU.js → chunk-NIS256NW.js} +2 -2
  190. package/dist/{chunk-YIAA2X3D.js → chunk-NK5RGJ65.js} +3 -3
  191. package/dist/chunk-NLDVVWCL.js +84 -0
  192. package/dist/chunk-NLDVVWCL.js.map +1 -0
  193. package/dist/{chunk-4J7G5SY4.js → chunk-NZBZ7IS2.js} +72 -24
  194. package/dist/chunk-NZBZ7IS2.js.map +1 -0
  195. package/dist/{chunk-3TBLDMJA.js → chunk-O4KMGRXE.js} +5 -2
  196. package/dist/chunk-O4KMGRXE.js.map +1 -0
  197. package/dist/{chunk-7TWUCYER.js → chunk-PNRA7FAD.js} +7 -7
  198. package/dist/{chunk-5I4M26Q7.js → chunk-QBSFOKY6.js} +4 -4
  199. package/dist/{chunk-E53DSZEN.js → chunk-QR6G5KF4.js} +3 -3
  200. package/dist/{chunk-CJ2ZR7UA.js → chunk-QUENPGWZ.js} +261 -211
  201. package/dist/chunk-QUENPGWZ.js.map +1 -0
  202. package/dist/{chunk-4UH4BTGK.js → chunk-QVJPH7SH.js} +84 -84
  203. package/dist/{chunk-UYLMNVY6.js → chunk-R3KHKU7M.js} +16 -9
  204. package/dist/chunk-R3KHKU7M.js.map +1 -0
  205. package/dist/{chunk-JBPKEARU.js → chunk-RKNJBZ55.js} +4 -4
  206. package/dist/{chunk-WDISJRMG.js → chunk-RMMVQQA6.js} +2 -2
  207. package/dist/{chunk-JVLCVFQ4.js → chunk-RNHVVMFN.js} +3 -3
  208. package/dist/{chunk-QJAQNXWI.js → chunk-RVO6TCTU.js} +81 -84
  209. package/dist/chunk-RVO6TCTU.js.map +1 -0
  210. package/dist/chunk-S2HLHAZ4.js +16 -0
  211. package/dist/chunk-S2HLHAZ4.js.map +1 -0
  212. package/dist/{chunk-KWMXR7XS.js → chunk-S2V7RUCL.js} +8 -1
  213. package/dist/{chunk-KWMXR7XS.js.map → chunk-S2V7RUCL.js.map} +1 -1
  214. package/dist/{chunk-5SM35XZR.js → chunk-S5NZBKKQ.js} +2 -2
  215. package/dist/{chunk-VNA7W7QF.js → chunk-SVH57F5Z.js} +12 -4
  216. package/dist/chunk-SVH57F5Z.js.map +1 -0
  217. package/dist/{chunk-WIPEXG6R.js → chunk-SXIMQLGV.js} +2 -2
  218. package/dist/{chunk-RVLJEII5.js → chunk-SYUBB3WM.js} +256 -187
  219. package/dist/chunk-SYUBB3WM.js.map +1 -0
  220. package/dist/{chunk-VCD4PSK2.js → chunk-TQZ4DVBC.js} +7 -4
  221. package/dist/chunk-TQZ4DVBC.js.map +1 -0
  222. package/dist/{chunk-7K5Q6COX.js → chunk-TVVEYCNW.js} +4 -4
  223. package/dist/{chunk-YV32N67O.js → chunk-URS5GSM7.js} +1 -1
  224. package/dist/chunk-URS5GSM7.js.map +1 -0
  225. package/dist/{chunk-4B77XSG5.js → chunk-UV72DEZD.js} +5 -5
  226. package/dist/{chunk-BJKPPZ6Z.js → chunk-UW66OZTD.js} +2 -2
  227. package/dist/{chunk-XYTOI63Z.js → chunk-V2TNYF6Q.js} +19 -11
  228. package/dist/chunk-V2TNYF6Q.js.map +1 -0
  229. package/dist/{chunk-S2BBISHU.js → chunk-VANZKHTN.js} +3 -3
  230. package/dist/chunk-VHFXP27N.js +250 -0
  231. package/dist/chunk-VHFXP27N.js.map +1 -0
  232. package/dist/chunk-VL35ZFSZ.js +102 -0
  233. package/dist/chunk-VL35ZFSZ.js.map +1 -0
  234. package/dist/{chunk-3Y224NYC.js → chunk-VYISFWVX.js} +2 -2
  235. package/dist/{chunk-JE7EK33X.js → chunk-W2V7UESE.js} +2 -2
  236. package/dist/{chunk-TIHMZFIV.js → chunk-W3IC7QOY.js} +3 -3
  237. package/dist/{chunk-NRV4Y3PM.js → chunk-W4FBGYGK.js} +1 -1
  238. package/dist/{chunk-P2BM76KT.js → chunk-WAS4HV46.js} +174 -43
  239. package/dist/chunk-WAS4HV46.js.map +1 -0
  240. package/dist/{chunk-57QKLRBV.js → chunk-WB7JSQCP.js} +2 -1
  241. package/dist/chunk-WB7JSQCP.js.map +1 -0
  242. package/dist/{chunk-A5OJCXZL.js → chunk-WZ3TOIDW.js} +15 -4
  243. package/dist/chunk-WZ3TOIDW.js.map +1 -0
  244. package/dist/{chunk-MU7ZHSZE.js → chunk-WZFAPHIK.js} +2 -2
  245. package/dist/{chunk-T2TTP3KU.js → chunk-X4IDNPOS.js} +2 -2
  246. package/dist/{chunk-UVIKWC7M.js → chunk-XAGYS7X6.js} +17 -17
  247. package/dist/{chunk-BLAKS3CP.js → chunk-XL3TATMJ.js} +3 -3
  248. package/dist/{chunk-W4XJFLAL.js → chunk-XPRJSHNI.js} +2 -2
  249. package/dist/{chunk-5TFP4CUL.js → chunk-XQ3HXAQH.js} +14 -11
  250. package/dist/chunk-XQ3HXAQH.js.map +1 -0
  251. package/dist/{chunk-E6EE5B67.js → chunk-YK6BDDHP.js} +4 -4
  252. package/dist/{chunk-ES36HTSC.js → chunk-YLHM5BQQ.js} +3 -3
  253. package/dist/{chunk-ULARSG5Z.js → chunk-YN6ASZUG.js} +10 -8
  254. package/dist/{chunk-ULARSG5Z.js.map → chunk-YN6ASZUG.js.map} +1 -1
  255. package/dist/{chunk-VOUOLGIP.js → chunk-YRFAYOFQ.js} +11 -13
  256. package/dist/chunk-YRFAYOFQ.js.map +1 -0
  257. package/dist/{chunk-IKKWIPYN.js → chunk-YYQAKIDJ.js} +37 -1
  258. package/dist/chunk-YYQAKIDJ.js.map +1 -0
  259. package/dist/{chunk-GF22HWS2.js → chunk-Z54EM5YZ.js} +4 -4
  260. package/dist/{chunk-64UDOIMI.js → chunk-ZLQ37WJX.js} +2 -2
  261. package/dist/{cli-BUGN3d6_.d.ts → cli-BHBswmUa.d.ts} +5 -5
  262. package/dist/cli.d.ts +16 -12
  263. package/dist/cli.js +138 -123
  264. package/dist/compounding/engine.d.ts +3 -2
  265. package/dist/compounding/engine.js +25 -23
  266. package/dist/compounding/preference-consolidator.d.ts +2 -1
  267. package/dist/compression-optimizer.d.ts +2 -1
  268. package/dist/config.d.ts +2 -1
  269. package/dist/config.js +10 -8
  270. package/dist/connectors/codex-materialize-runner.d.ts +2 -1
  271. package/dist/connectors/codex-materialize-runner.js +24 -22
  272. package/dist/connectors/codex-materialize.d.ts +2 -1
  273. package/dist/connectors/index.d.ts +2 -1
  274. package/dist/connectors/index.js +27 -25
  275. package/dist/consolidation-provenance-check.d.ts +3 -2
  276. package/dist/consolidation-provenance-check.js +4 -4
  277. package/dist/consolidation-undo.d.ts +3 -2
  278. package/dist/consolidation-undo.js +10 -7
  279. package/dist/consolidation-undo.js.map +1 -1
  280. package/dist/contradiction/index.d.ts +3 -2
  281. package/dist/converge-config.d.ts +2 -1
  282. package/dist/convergence-refresh.d.ts +4 -3
  283. package/dist/convergence-refresh.js +28 -26
  284. package/dist/conversation-index/backend.d.ts +2 -1
  285. package/dist/conversation-index/backend.js +2 -2
  286. package/dist/conversation-index/chunker.d.ts +2 -1
  287. package/dist/conversation-index/faiss-adapter.d.ts +2 -1
  288. package/dist/conversation-index/indexer.d.ts +2 -1
  289. package/dist/conversation-index/search.d.ts +2 -1
  290. package/dist/corpus-watermark.d.ts +2 -1
  291. package/dist/corpus-watermark.js +43 -41
  292. package/dist/day-summary.d.ts +2 -1
  293. package/dist/delinearize.d.ts +2 -1
  294. package/dist/direct-answer-wiring.d.ts +2 -1
  295. package/dist/direct-answer-wiring.js +2 -2
  296. package/dist/direct-answer.d.ts +2 -1
  297. package/dist/embedding-fallback.d.ts +2 -1
  298. package/dist/embedding-fallback.js +2 -2
  299. package/dist/enrichment/index.d.ts +2 -1
  300. package/dist/entity-retrieval-boundaries.js +1 -1
  301. package/dist/entity-retrieval.d.ts +3 -2
  302. package/dist/entity-retrieval.js +25 -23
  303. package/dist/entity-schema.d.ts +2 -1
  304. package/dist/explicit-capture.d.ts +9 -8
  305. package/dist/explicit-capture.js +11 -9
  306. package/dist/external-wiki-access.d.ts +127 -0
  307. package/dist/external-wiki-access.js +187 -0
  308. package/dist/external-wiki-access.js.map +1 -0
  309. package/dist/external-wiki-cli.d.ts +13 -0
  310. package/dist/external-wiki-cli.js +10 -0
  311. package/dist/external-wiki-cli.js.map +1 -0
  312. package/dist/external-wiki-collection-registration.d.ts +39 -0
  313. package/dist/external-wiki-collection-registration.js +79 -0
  314. package/dist/external-wiki-collection-registration.js.map +1 -0
  315. package/dist/external-wiki-collection.d.ts +50 -0
  316. package/dist/external-wiki-collection.js +387 -0
  317. package/dist/external-wiki-collection.js.map +1 -0
  318. package/dist/external-wiki-config.d.ts +13 -0
  319. package/dist/external-wiki-config.js +13 -0
  320. package/dist/external-wiki-config.js.map +1 -0
  321. package/dist/external-wiki-guard.d.ts +11 -0
  322. package/dist/external-wiki-guard.js +18 -0
  323. package/dist/external-wiki-guard.js.map +1 -0
  324. package/dist/external-wiki-mcp-tools.d.ts +123 -0
  325. package/dist/external-wiki-mcp-tools.js +8 -0
  326. package/dist/external-wiki-mcp-tools.js.map +1 -0
  327. package/dist/external-wiki-search.d.ts +42 -0
  328. package/dist/external-wiki-search.js +11 -0
  329. package/dist/external-wiki-search.js.map +1 -0
  330. package/dist/external-wiki.d.ts +39 -0
  331. package/dist/external-wiki.js +14 -0
  332. package/dist/external-wiki.js.map +1 -0
  333. package/dist/extraction-error-classification.d.ts +2 -1
  334. package/dist/extraction-faithfulness.d.ts +2 -1
  335. package/dist/extraction-judge-telemetry.d.ts +2 -1
  336. package/dist/extraction-judge-training.d.ts +2 -1
  337. package/dist/extraction-judge.d.ts +2 -1
  338. package/dist/extraction-liveness.d.ts +2 -1
  339. package/dist/extraction-source-grounding-helpers.d.ts +5 -3
  340. package/dist/extraction-source-grounding-helpers.js +1 -1
  341. package/dist/extraction-source-grounding-rules.d.ts +2 -1
  342. package/dist/extraction-source-grounding-rules.js +2 -2
  343. package/dist/extraction-source-grounding.d.ts +2 -1
  344. package/dist/extraction-source-grounding.js +5 -5
  345. package/dist/extraction.d.ts +2 -1
  346. package/dist/extraction.js +46 -43
  347. package/dist/fallback-llm.d.ts +2 -1
  348. package/dist/{first-start-migration-F2QJD66E.js → first-start-migration-ZSHEFEI3.js} +10 -12
  349. package/dist/{first-start-migration-F2QJD66E.js.map → first-start-migration-ZSHEFEI3.js.map} +1 -1
  350. package/dist/graph-dashboard-diff.d.ts +2 -1
  351. package/dist/graph-dashboard-key.d.ts +2 -1
  352. package/dist/graph-dashboard-parser.d.ts +2 -1
  353. package/dist/graph-edge-reinforcement.d.ts +2 -1
  354. package/dist/graph-snapshot.d.ts +2 -1
  355. package/dist/graph.d.ts +2 -1
  356. package/dist/harmonic-retrieval.js +2 -2
  357. package/dist/importance.d.ts +2 -1
  358. package/dist/importers/index.d.ts +2 -1
  359. package/dist/in-flight-reads.d.ts +2 -1
  360. package/dist/index.d.ts +443 -430
  361. package/dist/index.js +304 -269
  362. package/dist/intent.d.ts +2 -1
  363. package/dist/lcm/engine.d.ts +2 -1
  364. package/dist/lcm/engine.js +2 -2
  365. package/dist/lcm/index.d.ts +2 -1
  366. package/dist/lcm/index.js +7 -7
  367. package/dist/lcm/tools.d.ts +2 -1
  368. package/dist/lifecycle.d.ts +2 -1
  369. package/dist/live-connectors-runner.d.ts +2 -1
  370. package/dist/local-llm.d.ts +2 -1
  371. package/dist/local-llm.js +2 -2
  372. package/dist/local-model-endpoint.d.ts +2 -1
  373. package/dist/maintenance/memory-governance.d.ts +2 -1
  374. package/dist/maintenance/memory-governance.js +25 -23
  375. package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +3 -2
  376. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +25 -23
  377. package/dist/maintenance/rebuild-memory-projection.d.ts +3 -2
  378. package/dist/maintenance/rebuild-memory-projection.js +27 -25
  379. package/dist/{maintenance-LbuS2rUA.d.ts → maintenance-CoRikzIt.d.ts} +3 -3
  380. package/dist/mcp-memory-inspector-app.d.ts +14 -10
  381. package/dist/mcp-read-only-tools.js +1 -1
  382. package/dist/memory-action-policy.d.ts +2 -1
  383. package/dist/memory-cache.d.ts +2 -1
  384. package/dist/memory-lifecycle-ledger-utils.d.ts +2 -1
  385. package/dist/memory-projection-store.d.ts +2 -1
  386. package/dist/memory-provenance.d.ts +2 -1
  387. package/dist/memory-snapshot.d.ts +10 -0
  388. package/dist/memory-snapshot.js +8 -0
  389. package/dist/memory-snapshot.js.map +1 -0
  390. package/dist/memory-worth-outcomes.d.ts +3 -2
  391. package/dist/models-json.d.ts +2 -1
  392. package/dist/namespaces/migrate.d.ts +4 -3
  393. package/dist/namespaces/migrate.js +41 -39
  394. package/dist/namespaces/principal.d.ts +2 -1
  395. package/dist/namespaces/search.d.ts +2 -1
  396. package/dist/namespaces/search.js +18 -18
  397. package/dist/namespaces/storage.d.ts +4 -3
  398. package/dist/namespaces/storage.js +24 -22
  399. package/dist/native-knowledge.d.ts +2 -1
  400. package/dist/offline-sync-impression-drain.d.ts +2 -1
  401. package/dist/offline-sync-impression-drain.js +11 -9
  402. package/dist/offline-sync.d.ts +29 -3
  403. package/dist/offline-sync.js +6 -2
  404. package/dist/operator-doctor-corpus.d.ts +2 -1
  405. package/dist/operator-doctor-corpus.js +46 -44
  406. package/dist/operator-doctor-replica.d.ts +2 -1
  407. package/dist/operator-doctor-replica.js +3 -3
  408. package/dist/operator-toolkit.d.ts +4 -3
  409. package/dist/operator-toolkit.js +60 -55
  410. package/dist/orchestration/compression-guideline-coordinator.d.ts +3 -2
  411. package/dist/orchestration/maintenance.d.ts +5 -4
  412. package/dist/orchestration/maintenance.js +37 -33
  413. package/dist/{orchestrator-rHiWt32X.d.ts → orchestrator-BJeq7Pw1.d.ts} +14 -7
  414. package/dist/orchestrator.d.ts +9 -8
  415. package/dist/orchestrator.js +200 -186
  416. package/dist/page-versioning.js +3 -3
  417. package/dist/patterns-cli.d.ts +2 -1
  418. package/dist/{pipeline-W_97O8BV.d.ts → pipeline-CNjY4wk3.d.ts} +1 -1
  419. package/dist/policy-runtime.d.ts +2 -1
  420. package/dist/policy-runtime.js +1 -1
  421. package/dist/proactive-contention.d.ts +2 -1
  422. package/dist/provenance.d.ts +2 -1
  423. package/dist/provenance.js +2 -2
  424. package/dist/{qmd-LWtMofAf.d.ts → qmd-C0UDZidt.d.ts} +9 -7
  425. package/dist/qmd-preflight.d.ts +5 -4
  426. package/dist/qmd-preflight.js +2 -2
  427. package/dist/qmd-recall-cache.d.ts +2 -1
  428. package/dist/qmd.d.ts +4 -3
  429. package/dist/qmd.js +8 -8
  430. package/dist/recall-concurrency-config.d.ts +2 -1
  431. package/dist/recall-disclosure-escalation.d.ts +2 -1
  432. package/dist/recall-explain-renderer.d.ts +2 -1
  433. package/dist/recall-explain-renderer.js +3 -3
  434. package/dist/recall-memory-map.d.ts +2 -1
  435. package/dist/recall-planner-llm.d.ts +2 -1
  436. package/dist/recall-state.d.ts +2 -1
  437. package/dist/recall-tag-filter.d.ts +2 -1
  438. package/dist/recall-timings.d.ts +2 -1
  439. package/dist/recall-xray-cli.d.ts +2 -1
  440. package/dist/recall-xray-cli.js +4 -4
  441. package/dist/recall-xray-renderer.d.ts +2 -1
  442. package/dist/recall-xray-renderer.js +3 -3
  443. package/dist/recall-xray.d.ts +8 -1
  444. package/dist/recall-xray.js +2 -2
  445. package/dist/reconcile/cursor.d.ts +12 -2
  446. package/dist/reconcile/cursor.js +46 -7
  447. package/dist/reconcile/cursor.js.map +1 -1
  448. package/dist/reconcile/manifest.d.ts +9 -2
  449. package/dist/reconcile/manifest.js +15 -268
  450. package/dist/reconcile/manifest.js.map +1 -1
  451. package/dist/reconcile/plan.d.ts +4 -1
  452. package/dist/reconcile/plan.js +4 -4
  453. package/dist/replay/normalizers/chatgpt.d.ts +2 -1
  454. package/dist/replay/normalizers/claude.d.ts +2 -1
  455. package/dist/replay/normalizers/openclaw.d.ts +2 -1
  456. package/dist/replay/normalizers/shared.d.ts +2 -1
  457. package/dist/replay/runner.d.ts +2 -1
  458. package/dist/replay/types.d.ts +2 -1
  459. package/dist/replica-divergence.d.ts +2 -1
  460. package/dist/replica-divergence.js +2 -2
  461. package/dist/replica-peers-config.d.ts +2 -1
  462. package/dist/resolve-auth-token.d.ts +2 -1
  463. package/dist/resume-bundles.js +12 -10
  464. package/dist/retrieval-agents.d.ts +4 -3
  465. package/dist/retrieval-agents.js +2 -2
  466. package/dist/retrieval-tiers.d.ts +2 -1
  467. package/dist/routing/engine.d.ts +2 -1
  468. package/dist/routing/store.d.ts +2 -1
  469. package/dist/salvage-envelope.d.ts +2 -1
  470. package/dist/schemas.d.ts +54 -54
  471. package/dist/{scope-profiles-BiQKOE-p.d.ts → scope-profiles-BJzp2F5A.d.ts} +1 -1
  472. package/dist/search/embed-helper.d.ts +2 -1
  473. package/dist/search/embed-helper.js +3 -3
  474. package/dist/search/factory.d.ts +4 -2
  475. package/dist/search/factory.js +20 -18
  476. package/dist/search/index.d.ts +2 -1
  477. package/dist/search/index.js +20 -20
  478. package/dist/search/lancedb-backend.d.ts +2 -1
  479. package/dist/search/lancedb-backend.js +4 -4
  480. package/dist/search/meilisearch-backend.d.ts +2 -1
  481. package/dist/search/meilisearch-backend.js +4 -4
  482. package/dist/search/noop-backend.d.ts +2 -1
  483. package/dist/search/orama-backend.d.ts +2 -1
  484. package/dist/search/orama-backend.js +4 -4
  485. package/dist/search/port.d.ts +18 -1
  486. package/dist/search/port.js +1 -1
  487. package/dist/search/remote-backend.d.ts +2 -1
  488. package/dist/search/remote-backend.js +2 -2
  489. package/dist/secure-store/index.js +2 -2
  490. package/dist/{semantic-consolidation-dHYCyqgh.d.ts → semantic-consolidation-D4KAZO2G.d.ts} +1 -1
  491. package/dist/semantic-consolidation.d.ts +3 -2
  492. package/dist/semantic-consolidation.js +26 -24
  493. package/dist/semantic-rule-promotion.js +24 -22
  494. package/dist/semantic-rule-verifier.d.ts +2 -1
  495. package/dist/semantic-rule-verifier.js +25 -23
  496. package/dist/{service-DJG3KCQ4.d.ts → service-DWC4tq7p.d.ts} +2 -2
  497. package/dist/session-observer-bands.d.ts +2 -1
  498. package/dist/session-observer-state.d.ts +2 -1
  499. package/dist/shared-context/manager.d.ts +10 -9
  500. package/dist/shared-context/manager.js +2 -2
  501. package/dist/signal.d.ts +2 -1
  502. package/dist/source-agent-qualifier.d.ts +2 -1
  503. package/dist/source-agent-qualifier.js +43 -40
  504. package/dist/{storage-F9FVh-w9.d.ts → storage-DPGjB-8e.d.ts} +28 -13
  505. package/dist/storage.d.ts +3 -2
  506. package/dist/storage.js +26 -24
  507. package/dist/summarizer.d.ts +2 -1
  508. package/dist/summarizer.js +5 -5
  509. package/dist/summary-snapshot.d.ts +2 -1
  510. package/dist/temporal-supersession.d.ts +3 -2
  511. package/dist/temporal-timeline-recall.d.ts +2 -1
  512. package/dist/temporal-validity.d.ts +2 -1
  513. package/dist/threading.d.ts +2 -1
  514. package/dist/tier-migration.d.ts +3 -2
  515. package/dist/tier-migration.js +1 -1
  516. package/dist/tier-routing.d.ts +2 -1
  517. package/dist/tool-scoped-memory.d.ts +5 -1
  518. package/dist/tool-scoped-memory.js +3 -1
  519. package/dist/topics.d.ts +2 -1
  520. package/dist/transcript.d.ts +2 -1
  521. package/dist/transfer/capsule-import.js +4 -4
  522. package/dist/transfer/types.d.ts +66 -66
  523. package/dist/trust-score-stage.d.ts +2 -1
  524. package/dist/trust-score.d.ts +2 -1
  525. package/dist/{types-rEwubvim.d.ts → types-yX_FwERf.d.ts} +8 -1
  526. package/dist/types.d.ts +2 -1
  527. package/dist/types.js +1 -1
  528. package/dist/utility-runtime.d.ts +2 -1
  529. package/dist/verified-recall.js +25 -23
  530. package/dist/write-envelope.d.ts +2 -1
  531. package/package.json +2 -2
  532. package/src/abort-error.ts +17 -0
  533. package/src/access-admin-ops-surface.ts +1 -0
  534. package/src/access-boundary.ts +1 -0
  535. package/src/access-coding-context-resolution.ts +42 -0
  536. package/src/access-extraction-force-flush.ts +38 -2
  537. package/src/access-http-lcm-compaction.ts +5 -2
  538. package/src/access-http-offline-stream.ts +80 -0
  539. package/src/access-http.test.ts +310 -3
  540. package/src/access-http.ts +84 -77
  541. package/src/access-mcp-output-schemas.ts +36 -0
  542. package/src/access-mcp.test.ts +95 -1
  543. package/src/access-mcp.ts +7 -9
  544. package/src/access-observe-helpers.ts +64 -22
  545. package/src/access-observe-write-surface.ts +8 -0
  546. package/src/access-offline-manifest.ts +54 -0
  547. package/src/access-operations-batch.ts +3 -3
  548. package/src/access-operations.ts +13 -7
  549. package/src/access-recall-concurrency.ts +3 -27
  550. package/src/access-recall-surface.ts +3 -0
  551. package/src/access-service-health.test.ts +32 -7
  552. package/src/access-service-namespace.test.ts +55 -0
  553. package/src/access-service-observe-idempotency.test.ts +34 -2
  554. package/src/access-service-observe-lcm-parity.test.ts +183 -23
  555. package/src/access-service-observe-scope.test.ts +160 -1
  556. package/src/access-service-offline-file-content.test.ts +345 -1
  557. package/src/access-service.ts +88 -62
  558. package/src/access-surface-catalog.ts +4 -0
  559. package/src/admin/admin-surfaces.ts +2 -0
  560. package/src/binary-lifecycle/pipeline.test.ts +106 -1
  561. package/src/binary-lifecycle/pipeline.ts +3 -0
  562. package/src/coding/git-context.test.ts +47 -0
  563. package/src/coding/git-context.ts +129 -27
  564. package/src/config.test.ts +24 -0
  565. package/src/config.ts +9 -12
  566. package/src/connector-provenance.test.ts +101 -0
  567. package/src/consolidation-undo.ts +3 -0
  568. package/src/convergence-refresh.ts +14 -2
  569. package/src/correction/correction-access-wiring.ts +9 -7
  570. package/src/correction/correction-executor.test.ts +206 -2
  571. package/src/correction/correction-executor.ts +29 -20
  572. package/src/correction/correction-planner.test.ts +36 -0
  573. package/src/correction/correction-planner.ts +9 -15
  574. package/src/correction/correction-service.ts +3 -1
  575. package/src/correction/correction-storage-integration.test.ts +77 -0
  576. package/src/correction/correction-surfaces.test.ts +41 -28
  577. package/src/correction/passive-capture.test.ts +59 -0
  578. package/src/correction/passive-capture.ts +4 -1
  579. package/src/entity-retrieval-boundaries.ts +17 -4
  580. package/src/entity-retrieval.ts +27 -6
  581. package/src/external-wiki-access.test.ts +65 -0
  582. package/src/external-wiki-access.ts +31 -0
  583. package/src/external-wiki-cli.ts +100 -0
  584. package/src/external-wiki-collection-registration.test.ts +163 -0
  585. package/src/external-wiki-collection-registration.ts +101 -0
  586. package/src/external-wiki-collection.test.ts +502 -0
  587. package/src/external-wiki-collection.ts +503 -0
  588. package/src/external-wiki-config.test.ts +135 -0
  589. package/src/external-wiki-config.ts +100 -0
  590. package/src/external-wiki-guard.ts +83 -0
  591. package/src/external-wiki-mcp-tools.ts +23 -0
  592. package/src/external-wiki-search.test.ts +367 -0
  593. package/src/external-wiki-search.ts +362 -0
  594. package/src/external-wiki.test.ts +240 -0
  595. package/src/external-wiki.ts +427 -0
  596. package/src/extraction-scope-source-agent.test.ts +21 -0
  597. package/src/extraction-source-grounding-helpers.ts +243 -53
  598. package/src/extraction-source-grounding-rules.ts +133 -39
  599. package/src/extraction-source-grounding.test.ts +363 -33
  600. package/src/extraction-timeout.test.ts +1 -0
  601. package/src/extraction-watermark.test.ts +150 -7
  602. package/src/extraction.ts +8 -1
  603. package/src/index.ts +9 -5
  604. package/src/maintenance/first-start-migration.ts +11 -11
  605. package/src/mcp-read-only-tools.ts +1 -0
  606. package/src/memory-snapshot.ts +15 -0
  607. package/src/offline-sync.test.ts +194 -0
  608. package/src/offline-sync.ts +217 -13
  609. package/src/orchestration/external-wiki-recall-guard.test.ts +94 -0
  610. package/src/orchestration/extraction-persist.ts +19 -2
  611. package/src/orchestration/extraction-run-helpers.ts +37 -19
  612. package/src/orchestration/extraction-run.test.ts +171 -2
  613. package/src/orchestration/extraction-run.ts +11 -13
  614. package/src/orchestration/extraction-watermark.ts +106 -17
  615. package/src/orchestration/generic-recall-paths.ts +14 -0
  616. package/src/orchestration/orchestrator-helpers.ts +2 -0
  617. package/src/orchestration/orchestrator-init.ts +9 -0
  618. package/src/orchestration/recall-internal-deps.ts +6 -0
  619. package/src/orchestration/recall-internal.ts +154 -33
  620. package/src/orchestration/recall-rerank-coordinator.ts +60 -25
  621. package/src/orchestration/recall-search-pipeline.test.ts +75 -1
  622. package/src/orchestration/recall-search-pipeline.ts +50 -10
  623. package/src/orchestrator-convergence-refresh.test.ts +36 -2
  624. package/src/orchestrator.ts +13 -3
  625. package/src/page-versioning.ts +5 -19
  626. package/src/procedural/procedure-recall.ts +5 -1
  627. package/src/provenance-surfaces.test.ts +3 -0
  628. package/src/qmd-client.test.ts +78 -17
  629. package/src/qmd.test.ts +24 -0
  630. package/src/qmd.ts +224 -315
  631. package/src/recall-explain-renderer.ts +3 -0
  632. package/src/recall-rerank-coordinator.test.ts +61 -0
  633. package/src/recall-xray-renderer.test.ts +6 -0
  634. package/src/recall-xray.test.ts +88 -1
  635. package/src/recall-xray.ts +15 -0
  636. package/src/reconcile/cursor.test.ts +48 -0
  637. package/src/reconcile/cursor.ts +58 -11
  638. package/src/reconcile/manifest.test.ts +4 -0
  639. package/src/reconcile/manifest.ts +41 -51
  640. package/src/reconcile/plan.test.ts +4 -0
  641. package/src/reconcile/plan.ts +28 -16
  642. package/src/search/factory.ts +6 -6
  643. package/src/search/port.ts +25 -9
  644. package/src/secure-store/secure-fs.ts +20 -12
  645. package/src/secure-store/secure-store.test.ts +41 -2
  646. package/src/spaces/index.test.ts +61 -2
  647. package/src/spaces/index.ts +44 -18
  648. package/src/storage/entity-alias-config.ts +97 -0
  649. package/src/storage/entity-canonical-id-lock.ts +53 -23
  650. package/src/storage/entity-canonical-id-migration.ts +53 -22
  651. package/src/storage/entity-canonical-id-references.ts +3 -0
  652. package/src/storage/entity-id-safety.ts +7 -0
  653. package/src/storage/entity-store.ts +6 -2
  654. package/src/storage/memory-frontmatter-metadata.ts +4 -9
  655. package/src/storage/memory-migration-serialization.ts +10 -15
  656. package/src/storage/tombstone-blocked-capture-mutation.ts +52 -64
  657. package/src/storage/tombstone-blocked-capture-sync.ts +244 -199
  658. package/src/storage-contract/cache-coherence.test.ts +99 -0
  659. package/src/storage-deletion-revisions.test.ts +91 -0
  660. package/src/storage-fact-hash-index-defer.test.ts +460 -170
  661. package/src/storage.ts +572 -284
  662. package/src/testing/subjects/first-start-tier-migration.test.ts +75 -0
  663. package/src/tier-migration.ts +10 -12
  664. package/src/tool-scoped-memory.ts +10 -0
  665. package/src/transfer/capsule-import.ts +13 -0
  666. package/src/transfer/capsule-merge.ts +13 -0
  667. package/src/trust-score-recall-paths.test.ts +75 -1
  668. package/src/types.ts +7 -3
  669. package/dist/capsule-merge-IDWJPCWK.js.map +0 -1
  670. package/dist/chunk-3CE77VAP.js.map +0 -1
  671. package/dist/chunk-3TBLDMJA.js.map +0 -1
  672. package/dist/chunk-4J7G5SY4.js.map +0 -1
  673. package/dist/chunk-57QKLRBV.js.map +0 -1
  674. package/dist/chunk-5TFP4CUL.js.map +0 -1
  675. package/dist/chunk-7XC2HX75.js.map +0 -1
  676. package/dist/chunk-A5OJCXZL.js.map +0 -1
  677. package/dist/chunk-BUE5E2HL.js.map +0 -1
  678. package/dist/chunk-CJ2ZR7UA.js.map +0 -1
  679. package/dist/chunk-CUM2BBPN.js.map +0 -1
  680. package/dist/chunk-D3J5SLQK.js.map +0 -1
  681. package/dist/chunk-DL7ZD3JH.js.map +0 -1
  682. package/dist/chunk-DLVPUX7U.js.map +0 -1
  683. package/dist/chunk-E6PNLPGJ.js.map +0 -1
  684. package/dist/chunk-ECK75GDJ.js.map +0 -1
  685. package/dist/chunk-HREE4JHI.js.map +0 -1
  686. package/dist/chunk-HZFHQ4AQ.js.map +0 -1
  687. package/dist/chunk-IKKWIPYN.js.map +0 -1
  688. package/dist/chunk-J7VGGECD.js.map +0 -1
  689. package/dist/chunk-N5Z4EVOR.js.map +0 -1
  690. package/dist/chunk-NVRYW264.js.map +0 -1
  691. package/dist/chunk-P2BM76KT.js.map +0 -1
  692. package/dist/chunk-PVGDJXVK.js +0 -21
  693. package/dist/chunk-QJAQNXWI.js.map +0 -1
  694. package/dist/chunk-RN7DY3FC.js.map +0 -1
  695. package/dist/chunk-RVLJEII5.js.map +0 -1
  696. package/dist/chunk-S2NCTZGJ.js.map +0 -1
  697. package/dist/chunk-TDHTVMPG.js.map +0 -1
  698. package/dist/chunk-UYLMNVY6.js.map +0 -1
  699. package/dist/chunk-VCD4PSK2.js.map +0 -1
  700. package/dist/chunk-VNA7W7QF.js.map +0 -1
  701. package/dist/chunk-VOUOLGIP.js.map +0 -1
  702. package/dist/chunk-VWAXN2BN.js.map +0 -1
  703. package/dist/chunk-WOCNN776.js.map +0 -1
  704. package/dist/chunk-XYTOI63Z.js.map +0 -1
  705. package/dist/chunk-YV32N67O.js.map +0 -1
  706. /package/dist/{auto-sync-5OE5QOZB.js.map → auto-sync-UPTUVE4X.js.map} +0 -0
  707. /package/dist/{chunk-E5UK4VPE.js.map → chunk-2FSTB6BJ.js.map} +0 -0
  708. /package/dist/{chunk-5ZE7QHTK.js.map → chunk-2X2T2UVE.js.map} +0 -0
  709. /package/dist/{chunk-P4DRWEYC.js.map → chunk-3COYXTGM.js.map} +0 -0
  710. /package/dist/{chunk-5IVLTFOV.js.map → chunk-44N6ESJ4.js.map} +0 -0
  711. /package/dist/{chunk-HO3QBJEY.js.map → chunk-5546W5SI.js.map} +0 -0
  712. /package/dist/{chunk-AAIUERNB.js.map → chunk-5QJQHBLE.js.map} +0 -0
  713. /package/dist/{chunk-6CZPDBJS.js.map → chunk-5U7ID3EZ.js.map} +0 -0
  714. /package/dist/{chunk-DNWXFTLD.js.map → chunk-A4IJCD2Z.js.map} +0 -0
  715. /package/dist/{chunk-PKNLM44P.js.map → chunk-AC5OWJLV.js.map} +0 -0
  716. /package/dist/{chunk-LZ4LDKHZ.js.map → chunk-AMAUBUKY.js.map} +0 -0
  717. /package/dist/{chunk-S5SLVSVY.js.map → chunk-BQIFZ2MP.js.map} +0 -0
  718. /package/dist/{chunk-Q6IP2ARR.js.map → chunk-CSOYVTRX.js.map} +0 -0
  719. /package/dist/{chunk-XOQSEF7X.js.map → chunk-CVILPI77.js.map} +0 -0
  720. /package/dist/{chunk-4LMA77JH.js.map → chunk-E5XQIWAL.js.map} +0 -0
  721. /package/dist/{chunk-WUNIWKY4.js.map → chunk-ELIL2A37.js.map} +0 -0
  722. /package/dist/{chunk-OQ5PRDDS.js.map → chunk-ERZ2R42X.js.map} +0 -0
  723. /package/dist/{chunk-U7GW7NE7.js.map → chunk-FIK3CQNA.js.map} +0 -0
  724. /package/dist/{chunk-33PLLLL7.js.map → chunk-GFCVUY6G.js.map} +0 -0
  725. /package/dist/{chunk-VUPTKTDV.js.map → chunk-GUAL4PQH.js.map} +0 -0
  726. /package/dist/{chunk-CINZGPSJ.js.map → chunk-GUMZC2BO.js.map} +0 -0
  727. /package/dist/{chunk-H24WNPA2.js.map → chunk-GWFSVJ4P.js.map} +0 -0
  728. /package/dist/{chunk-TSH56VPU.js.map → chunk-HAYSYUAB.js.map} +0 -0
  729. /package/dist/{chunk-PDLBLTOK.js.map → chunk-HC3PBX23.js.map} +0 -0
  730. /package/dist/{chunk-KXB4VXHY.js.map → chunk-JIYDRBVZ.js.map} +0 -0
  731. /package/dist/{chunk-HLPD7B7P.js.map → chunk-JZH4LWHB.js.map} +0 -0
  732. /package/dist/{chunk-AV5ZEH4M.js.map → chunk-KVJRXN2E.js.map} +0 -0
  733. /package/dist/{chunk-WFTIGIIS.js.map → chunk-L6CQ7WIW.js.map} +0 -0
  734. /package/dist/{chunk-227UFSEQ.js.map → chunk-LEPOP46W.js.map} +0 -0
  735. /package/dist/{chunk-EJUEXZHX.js.map → chunk-LLJMAULE.js.map} +0 -0
  736. /package/dist/{chunk-QN25OCUF.js.map → chunk-LPYDOLSM.js.map} +0 -0
  737. /package/dist/{chunk-AS7YMSL6.js.map → chunk-M23RF3LJ.js.map} +0 -0
  738. /package/dist/{chunk-OAEQLRCY.js.map → chunk-MO4HSXHZ.js.map} +0 -0
  739. /package/dist/{chunk-3F2LKUMU.js.map → chunk-NIS256NW.js.map} +0 -0
  740. /package/dist/{chunk-YIAA2X3D.js.map → chunk-NK5RGJ65.js.map} +0 -0
  741. /package/dist/{chunk-7TWUCYER.js.map → chunk-PNRA7FAD.js.map} +0 -0
  742. /package/dist/{chunk-5I4M26Q7.js.map → chunk-QBSFOKY6.js.map} +0 -0
  743. /package/dist/{chunk-E53DSZEN.js.map → chunk-QR6G5KF4.js.map} +0 -0
  744. /package/dist/{chunk-4UH4BTGK.js.map → chunk-QVJPH7SH.js.map} +0 -0
  745. /package/dist/{chunk-JBPKEARU.js.map → chunk-RKNJBZ55.js.map} +0 -0
  746. /package/dist/{chunk-WDISJRMG.js.map → chunk-RMMVQQA6.js.map} +0 -0
  747. /package/dist/{chunk-JVLCVFQ4.js.map → chunk-RNHVVMFN.js.map} +0 -0
  748. /package/dist/{chunk-5SM35XZR.js.map → chunk-S5NZBKKQ.js.map} +0 -0
  749. /package/dist/{chunk-WIPEXG6R.js.map → chunk-SXIMQLGV.js.map} +0 -0
  750. /package/dist/{chunk-7K5Q6COX.js.map → chunk-TVVEYCNW.js.map} +0 -0
  751. /package/dist/{chunk-4B77XSG5.js.map → chunk-UV72DEZD.js.map} +0 -0
  752. /package/dist/{chunk-BJKPPZ6Z.js.map → chunk-UW66OZTD.js.map} +0 -0
  753. /package/dist/{chunk-S2BBISHU.js.map → chunk-VANZKHTN.js.map} +0 -0
  754. /package/dist/{chunk-3Y224NYC.js.map → chunk-VYISFWVX.js.map} +0 -0
  755. /package/dist/{chunk-JE7EK33X.js.map → chunk-W2V7UESE.js.map} +0 -0
  756. /package/dist/{chunk-TIHMZFIV.js.map → chunk-W3IC7QOY.js.map} +0 -0
  757. /package/dist/{chunk-NRV4Y3PM.js.map → chunk-W4FBGYGK.js.map} +0 -0
  758. /package/dist/{chunk-MU7ZHSZE.js.map → chunk-WZFAPHIK.js.map} +0 -0
  759. /package/dist/{chunk-T2TTP3KU.js.map → chunk-X4IDNPOS.js.map} +0 -0
  760. /package/dist/{chunk-UVIKWC7M.js.map → chunk-XAGYS7X6.js.map} +0 -0
  761. /package/dist/{chunk-BLAKS3CP.js.map → chunk-XL3TATMJ.js.map} +0 -0
  762. /package/dist/{chunk-W4XJFLAL.js.map → chunk-XPRJSHNI.js.map} +0 -0
  763. /package/dist/{chunk-E6EE5B67.js.map → chunk-YK6BDDHP.js.map} +0 -0
  764. /package/dist/{chunk-ES36HTSC.js.map → chunk-YLHM5BQQ.js.map} +0 -0
  765. /package/dist/{chunk-GF22HWS2.js.map → chunk-Z54EM5YZ.js.map} +0 -0
  766. /package/dist/{chunk-64UDOIMI.js.map → chunk-ZLQ37WJX.js.map} +0 -0
@@ -39,6 +39,7 @@ import { collectNativeKnowledgeChunks, formatNativeKnowledgeSection, searchNativ
39
39
  import { objectiveStateStoreOverrideForNamespace, searchObjectiveStateSnapshots } from "../objective-state.js";
40
40
  import { type GraphRecallRankedResult, type GraphRecallShadowComparison, mergeGraphExpandedResults } from "./graph-recall-coordinator.js";
41
41
  import { buildProcedureRecallSection } from "../procedural/procedure-recall.js";
42
+ import { canRecallToolScopedMemory } from "../tool-scoped-memory.js";
42
43
  import { buildQmdRecallCacheKey, getCachedQmdRecall, setCachedQmdRecall } from "../qmd-recall-cache.js";
43
44
  import { MEMORY_ID_PATTERN } from "../recall-handles.js";
44
45
  import {
@@ -95,7 +96,13 @@ import {
95
96
  } from "../orchestrator.js";
96
97
  import { isGenericRecallExcludedPath } from "./generic-recall-paths.js";
97
98
  import type { RecallSectionBuckets } from "./recall-section-coordinator.js";
99
+ import {
100
+ reconcileRecallResultPartition,
101
+ type RecallResultPartition,
102
+ type RecallResultPartitionSink,
103
+ } from "./recall-rerank-coordinator.js";
98
104
  import type { RecallInternalDeps } from "./recall-internal-deps.js";
105
+
99
106
  export class RecallInternalCoordinator {
100
107
  constructor(
101
108
  private readonly deps: RecallInternalDeps,
@@ -279,6 +286,7 @@ export class RecallInternalCoordinator {
279
286
  // sites) updates the same counter; the X-ray capture block
280
287
  // reads this as the cold-fallback pool.
281
288
  const xrayColdPoolSink = { size: 0 };
289
+ let selectedResultPartition: RecallResultPartition | null = null;
282
290
  let identityInjectionModeUsed: IdentityInjectionMode | "none" = "none";
283
291
  let identityInjectedChars = 0;
284
292
  let identityInjectionTruncated = false;
@@ -566,6 +574,7 @@ export class RecallInternalCoordinator {
566
574
  query: retrievalQuery,
567
575
  tierExplain: null,
568
576
  results: [],
577
+ appliedResultLimit: recallResultLimit,
569
578
  filters: [
570
579
  {
571
580
  name: "planner-mode",
@@ -1296,7 +1305,11 @@ export class RecallInternalCoordinator {
1296
1305
  source: "fresh",
1297
1306
  success: true,
1298
1307
  });
1299
- return results;
1308
+ return lifecycleCaps.extractionScopeClassification
1309
+ ? results.filter((artifact) =>
1310
+ canRecallToolScopedMemory(artifact.frontmatter, options.sourceConnector),
1311
+ )
1312
+ : results;
1300
1313
  })();
1301
1314
 
1302
1315
  const objectiveStatePromise = (async (): Promise<string | null> => {
@@ -2794,6 +2807,10 @@ export class RecallInternalCoordinator {
2794
2807
  profileStorage,
2795
2808
  retrievalQuery,
2796
2809
  this.deps.config,
2810
+ {
2811
+ partitionToolScoped: lifecycleCaps.extractionScopeClassification,
2812
+ requestingConnector: options.sourceConnector,
2813
+ },
2797
2814
  );
2798
2815
  } catch (err) {
2799
2816
  log.debug(
@@ -3959,6 +3976,7 @@ export class RecallInternalCoordinator {
3959
3976
  abortSignal: options.abortSignal,
3960
3977
  dropUnresolved: true,
3961
3978
  recallNamespaces,
3979
+ requestingConnector: options.sourceConnector,
3962
3980
  },
3963
3981
  );
3964
3982
 
@@ -3971,7 +3989,7 @@ export class RecallInternalCoordinator {
3971
3989
  recallNamespaces,
3972
3990
  retrievalQuery,
3973
3991
  qmdBoostInput.memoryByPath,
3974
- { asOfMs },
3992
+ { asOfMs, requestingConnector: options.sourceConnector },
3975
3993
  ),
3976
3994
  qmdBoostInput.results,
3977
3995
  );
@@ -4092,13 +4110,25 @@ export class RecallInternalCoordinator {
4092
4110
  // Diversify via MMR over the full candidate pool *before* truncating to
4093
4111
  // the final recall limit. Running MMR after the slice would be unable
4094
4112
  // to promote diverse candidates sitting just below the cutoff.
4095
- memoryResults = this.deps.diversifyAndLimitRecallResults(
4096
- "memories",
4097
- memoryResults,
4098
- recallResultLimit,
4099
- retrievalQuery,
4100
- caps,
4101
- );
4113
+ const hotQmdPartition =
4114
+ options.xrayCapture === true
4115
+ ? this.deps.recallRerankCoordinator.diversifyRecallResultsWithHeadroom(
4116
+ "memories",
4117
+ memoryResults,
4118
+ recallResultLimit,
4119
+ retrievalQuery,
4120
+ caps,
4121
+ )
4122
+ : null;
4123
+ memoryResults = hotQmdPartition
4124
+ ? [...hotQmdPartition.appliedResults]
4125
+ : this.deps.diversifyAndLimitRecallResults(
4126
+ "memories",
4127
+ memoryResults,
4128
+ recallResultLimit,
4129
+ retrievalQuery,
4130
+ caps,
4131
+ );
4102
4132
  // E-Mem-inspired memory reconstruction: fill gaps for referenced entities
4103
4133
  if (resolveRecallEnhancementCapabilities(this.deps.config).memoryReconstruction && memoryResults.length > 0) {
4104
4134
  try {
@@ -4150,6 +4180,7 @@ export class RecallInternalCoordinator {
4150
4180
  }
4151
4181
  recallSource = "hot_qmd";
4152
4182
  recalledMemoryCount = memoryResults.length;
4183
+ selectedResultPartition = hotQmdPartition;
4153
4184
  this.deps.publishRecallResults({
4154
4185
  title: "Relevant Memories",
4155
4186
  results: memoryResults,
@@ -4199,7 +4230,7 @@ export class RecallInternalCoordinator {
4199
4230
  recallNamespaces,
4200
4231
  retrievalQuery,
4201
4232
  undefined,
4202
- { asOfMs },
4233
+ { asOfMs, requestingConnector: options.sourceConnector },
4203
4234
  );
4204
4235
  // MMR runs on the pre-truncation pool so diverse candidates just
4205
4236
  // below the cutoff can be promoted into the injected set.
@@ -4207,16 +4238,29 @@ export class RecallInternalCoordinator {
4207
4238
  xrayBranchPoolSize.hot_embedding,
4208
4239
  boostedScoped.length,
4209
4240
  );
4210
- return this.deps.diversifyAndLimitRecallResults(
4211
- "memories",
4212
- boostedScoped,
4213
- recallResultLimit,
4214
- retrievalQuery,
4215
- caps,
4216
- );
4241
+ return boostedScoped;
4217
4242
  },
4218
4243
  [] as QmdSearchResult[],
4219
4244
  );
4245
+ const embeddingPartition =
4246
+ options.xrayCapture === true
4247
+ ? this.deps.recallRerankCoordinator.diversifyRecallResultsWithHeadroom(
4248
+ "memories",
4249
+ scoped,
4250
+ recallResultLimit,
4251
+ retrievalQuery,
4252
+ caps,
4253
+ )
4254
+ : null;
4255
+ scoped =
4256
+ embeddingPartition?.appliedResults ??
4257
+ this.deps.diversifyAndLimitRecallResults(
4258
+ "memories",
4259
+ scoped,
4260
+ recallResultLimit,
4261
+ retrievalQuery,
4262
+ caps,
4263
+ );
4220
4264
  // Issue #1577 — apply TrustScore on the embedding-fallback path so the
4221
4265
  // feature gate is consistent across ALL recall paths (rule 41 parity).
4222
4266
  {
@@ -4260,6 +4304,7 @@ export class RecallInternalCoordinator {
4260
4304
  }
4261
4305
  recallSource = "hot_embedding";
4262
4306
  recalledMemoryCount = scoped.length;
4307
+ selectedResultPartition = reconcileRecallResultPartition(embeddingPartition, scoped);
4263
4308
  this.deps.publishRecallResults({
4264
4309
  title: "Relevant Memories",
4265
4310
  results: scoped,
@@ -4278,6 +4323,8 @@ export class RecallInternalCoordinator {
4278
4323
  .filter(Boolean);
4279
4324
  xrayRecalledResults = scoped;
4280
4325
  } else {
4326
+ const coldPartitionSink: RecallResultPartitionSink | undefined =
4327
+ options.xrayCapture === true ? { partition: null } : undefined;
4281
4328
  const longTerm = await this.deps.applyColdFallbackPipeline({
4282
4329
  prompt: retrievalQuery,
4283
4330
  recallNamespaces,
@@ -4291,9 +4338,11 @@ export class RecallInternalCoordinator {
4291
4338
  backendDegradations.push(degradation);
4292
4339
  },
4293
4340
  xrayPoolSizeSink: xrayColdPoolSink,
4341
+ resultPartitionSink: coldPartitionSink,
4294
4342
  trustByPathSink,
4295
4343
  deadlineAtMs: enrichmentAssemblyDeadlineAtMs,
4296
4344
  asOfMs,
4345
+ requestingConnector: options.sourceConnector,
4297
4346
  ...(options.includeLowConfidence === true ? { includeLowConfidence: true } : {}),
4298
4347
  });
4299
4348
  // Issue #1577 — read the cold pipeline's trust map back so cold
@@ -4309,6 +4358,7 @@ export class RecallInternalCoordinator {
4309
4358
  }
4310
4359
  recallSource = "cold_fallback";
4311
4360
  recalledMemoryCount = longTerm.length;
4361
+ selectedResultPartition = coldPartitionSink?.partition ?? null;
4312
4362
  this.deps.publishRecallResults({
4313
4363
  title: "Long-Term Memories (Fallback)",
4314
4364
  results: longTerm,
@@ -4394,7 +4444,7 @@ export class RecallInternalCoordinator {
4394
4444
  recallNamespaces,
4395
4445
  retrievalQuery,
4396
4446
  undefined,
4397
- { asOfMs },
4447
+ { asOfMs, requestingConnector: options.sourceConnector },
4398
4448
  );
4399
4449
  // MMR runs on the pre-truncation pool so diverse candidates just
4400
4450
  // below the cutoff can be promoted into the injected set.
@@ -4402,16 +4452,29 @@ export class RecallInternalCoordinator {
4402
4452
  xrayBranchPoolSize.hot_embedding,
4403
4453
  boostedScoped.length,
4404
4454
  );
4405
- return this.deps.diversifyAndLimitRecallResults(
4406
- "memories",
4407
- boostedScoped,
4408
- recallResultLimit,
4409
- retrievalQuery,
4410
- caps,
4411
- );
4455
+ return boostedScoped;
4412
4456
  },
4413
4457
  [] as QmdSearchResult[],
4414
4458
  );
4459
+ const embeddingPartition =
4460
+ options.xrayCapture === true
4461
+ ? this.deps.recallRerankCoordinator.diversifyRecallResultsWithHeadroom(
4462
+ "memories",
4463
+ scoped,
4464
+ recallResultLimit,
4465
+ retrievalQuery,
4466
+ caps,
4467
+ )
4468
+ : null;
4469
+ scoped =
4470
+ embeddingPartition?.appliedResults ??
4471
+ this.deps.diversifyAndLimitRecallResults(
4472
+ "memories",
4473
+ scoped,
4474
+ recallResultLimit,
4475
+ retrievalQuery,
4476
+ caps,
4477
+ );
4415
4478
  // Issue #1577 — apply TrustScore on the embedding-fallback path so the
4416
4479
  // feature gate is consistent across ALL recall paths (rule 41 parity).
4417
4480
  {
@@ -4452,6 +4515,7 @@ export class RecallInternalCoordinator {
4452
4515
  }
4453
4516
  recallSource = "hot_embedding";
4454
4517
  recalledMemoryCount = scoped.length;
4518
+ selectedResultPartition = reconcileRecallResultPartition(embeddingPartition, scoped);
4455
4519
  this.deps.publishRecallResults({
4456
4520
  title: "Relevant Memories",
4457
4521
  results: scoped,
@@ -4538,6 +4602,8 @@ export class RecallInternalCoordinator {
4538
4602
  queryAwarePrefilter.candidatePaths &&
4539
4603
  queryAwareScopedMemories.length === 0
4540
4604
  ) {
4605
+ const coldPartitionSink: RecallResultPartitionSink | undefined =
4606
+ options.xrayCapture === true ? { partition: null } : undefined;
4541
4607
  const longTerm = await this.deps.applyColdFallbackPipeline({
4542
4608
  prompt: retrievalQuery,
4543
4609
  recallNamespaces,
@@ -4551,9 +4617,11 @@ export class RecallInternalCoordinator {
4551
4617
  backendDegradations.push(degradation);
4552
4618
  },
4553
4619
  xrayPoolSizeSink: xrayColdPoolSink,
4620
+ resultPartitionSink: coldPartitionSink,
4554
4621
  trustByPathSink,
4555
4622
  deadlineAtMs: enrichmentAssemblyDeadlineAtMs,
4556
4623
  asOfMs,
4624
+ requestingConnector: options.sourceConnector,
4557
4625
  ...(options.includeLowConfidence === true ? { includeLowConfidence: true } : {}),
4558
4626
  });
4559
4627
  // Issue #1577 — read the cold pipeline's trust map back (rule 41).
@@ -4561,6 +4629,7 @@ export class RecallInternalCoordinator {
4561
4629
  if (longTerm.length > 0) {
4562
4630
  recallSource = "cold_fallback";
4563
4631
  recalledMemoryCount = longTerm.length;
4632
+ selectedResultPartition = coldPartitionSink?.partition ?? null;
4564
4633
  this.deps.publishRecallResults({
4565
4634
  title: "Long-Term Memories (Fallback)",
4566
4635
  results: longTerm,
@@ -4608,7 +4677,7 @@ export class RecallInternalCoordinator {
4608
4677
  recallNamespaces,
4609
4678
  retrievalQuery,
4610
4679
  preloadedMap,
4611
- { asOfMs },
4680
+ { asOfMs, requestingConnector: options.sourceConnector },
4612
4681
  )
4613
4682
  ).sort((a, b) => b.score - a.score);
4614
4683
  // MMR runs on the pre-truncation pool so diverse candidates just
@@ -4617,16 +4686,29 @@ export class RecallInternalCoordinator {
4617
4686
  xrayBranchPoolSize.recent_scan,
4618
4687
  boostedRecent.length,
4619
4688
  );
4620
- return this.deps.diversifyAndLimitRecallResults(
4621
- "memories",
4622
- boostedRecent,
4623
- recallResultLimit,
4624
- retrievalQuery,
4625
- caps,
4626
- );
4689
+ return boostedRecent;
4627
4690
  },
4628
4691
  [] as QmdSearchResult[],
4629
4692
  );
4693
+ const recentPartition =
4694
+ options.xrayCapture === true
4695
+ ? this.deps.recallRerankCoordinator.diversifyRecallResultsWithHeadroom(
4696
+ "memories",
4697
+ recent,
4698
+ recallResultLimit,
4699
+ retrievalQuery,
4700
+ caps,
4701
+ )
4702
+ : null;
4703
+ recent =
4704
+ recentPartition?.appliedResults ??
4705
+ this.deps.diversifyAndLimitRecallResults(
4706
+ "memories",
4707
+ recent,
4708
+ recallResultLimit,
4709
+ retrievalQuery,
4710
+ caps,
4711
+ );
4630
4712
  // Issue #1577 — apply TrustScore on the recent-scan path so the
4631
4713
  // feature gate is consistent across ALL recall paths (rule 41).
4632
4714
  {
@@ -4673,6 +4755,7 @@ export class RecallInternalCoordinator {
4673
4755
  }
4674
4756
  recallSource = "recent_scan";
4675
4757
  recalledMemoryCount = recent.length;
4758
+ selectedResultPartition = reconcileRecallResultPartition(recentPartition, recent);
4676
4759
  this.deps.publishRecallResults({
4677
4760
  title: "Recent Memories",
4678
4761
  results: recent,
@@ -4691,6 +4774,8 @@ export class RecallInternalCoordinator {
4691
4774
  .filter(Boolean);
4692
4775
  xrayRecalledResults = recent;
4693
4776
  } else {
4777
+ const coldPartitionSink: RecallResultPartitionSink | undefined =
4778
+ options.xrayCapture === true ? { partition: null } : undefined;
4694
4779
  const longTerm = await this.deps.applyColdFallbackPipeline({
4695
4780
  prompt: retrievalQuery,
4696
4781
  recallNamespaces,
@@ -4704,9 +4789,11 @@ export class RecallInternalCoordinator {
4704
4789
  backendDegradations.push(degradation);
4705
4790
  },
4706
4791
  xrayPoolSizeSink: xrayColdPoolSink,
4792
+ resultPartitionSink: coldPartitionSink,
4707
4793
  trustByPathSink,
4708
4794
  deadlineAtMs: enrichmentAssemblyDeadlineAtMs,
4709
4795
  asOfMs,
4796
+ requestingConnector: options.sourceConnector,
4710
4797
  ...(options.includeLowConfidence === true ? { includeLowConfidence: true } : {}),
4711
4798
  });
4712
4799
  // Issue #1577 — read the cold pipeline's trust map back (rule 41).
@@ -4721,6 +4808,7 @@ export class RecallInternalCoordinator {
4721
4808
  }
4722
4809
  recallSource = "cold_fallback";
4723
4810
  recalledMemoryCount = longTerm.length;
4811
+ selectedResultPartition = coldPartitionSink?.partition ?? null;
4724
4812
  this.deps.publishRecallResults({
4725
4813
  title: "Long-Term Memories (Fallback)",
4726
4814
  results: longTerm,
@@ -4742,6 +4830,8 @@ export class RecallInternalCoordinator {
4742
4830
  }
4743
4831
  }
4744
4832
  } else {
4833
+ const coldPartitionSink: RecallResultPartitionSink | undefined =
4834
+ options.xrayCapture === true ? { partition: null } : undefined;
4745
4835
  const longTerm = await this.deps.applyColdFallbackPipeline({
4746
4836
  prompt: retrievalQuery,
4747
4837
  recallNamespaces,
@@ -4755,9 +4845,11 @@ export class RecallInternalCoordinator {
4755
4845
  backendDegradations.push(degradation);
4756
4846
  },
4757
4847
  xrayPoolSizeSink: xrayColdPoolSink,
4848
+ resultPartitionSink: coldPartitionSink,
4758
4849
  trustByPathSink,
4759
4850
  deadlineAtMs: enrichmentAssemblyDeadlineAtMs,
4760
4851
  asOfMs,
4852
+ requestingConnector: options.sourceConnector,
4761
4853
  ...(options.includeLowConfidence === true ? { includeLowConfidence: true } : {}),
4762
4854
  });
4763
4855
  // Issue #1577 — read the cold pipeline's trust map back (rule 41).
@@ -4771,6 +4863,7 @@ export class RecallInternalCoordinator {
4771
4863
  }
4772
4864
  recallSource = "cold_fallback";
4773
4865
  recalledMemoryCount = longTerm.length;
4866
+ selectedResultPartition = coldPartitionSink?.partition ?? null;
4774
4867
  this.deps.publishRecallResults({
4775
4868
  title: "Long-Term Memories (Fallback)",
4776
4869
  results: longTerm,
@@ -5013,6 +5106,31 @@ export class RecallInternalCoordinator {
5013
5106
  ) {
5014
5107
  try {
5015
5108
  const servedBy = mapRecallSourceToXrayServedBy(recallSource);
5109
+ const toPartitionXrayResult = (
5110
+ candidate: QmdSearchResult,
5111
+ ): RecallXrayResult => {
5112
+ const scoreDecomposition: RecallXrayScoreDecomposition = {
5113
+ final: candidate.score,
5114
+ };
5115
+ if (
5116
+ candidate.explain?.reinforcementBoost !== undefined &&
5117
+ candidate.explain.reinforcementBoost > 0
5118
+ ) {
5119
+ scoreDecomposition.reinforcementBoost =
5120
+ candidate.explain.reinforcementBoost;
5121
+ }
5122
+ return {
5123
+ memoryId: candidate.docid,
5124
+ path: candidate.path,
5125
+ servedBy,
5126
+ scoreDecomposition,
5127
+ admittedBy: [],
5128
+ };
5129
+ };
5130
+ const appliedResults =
5131
+ selectedResultPartition?.appliedResults.map(toPartitionXrayResult) ?? [];
5132
+ const headroomResults =
5133
+ selectedResultPartition?.headroomResults.map(toPartitionXrayResult) ?? [];
5016
5134
  // Derive xray results from `recalledMemoryPaths` as the single
5017
5135
  // source of truth — `recalledMemoryIds` and `recalledMemoryPaths`
5018
5136
  // are built with two independent filters upstream
@@ -5173,6 +5291,9 @@ export class RecallInternalCoordinator {
5173
5291
  query: retrievalQuery,
5174
5292
  tierExplain: null,
5175
5293
  results: [...results, ...lcmStructuredXrayResults],
5294
+ appliedResultLimit: recallResultLimit,
5295
+ appliedResults,
5296
+ headroomResults,
5176
5297
  filters,
5177
5298
  budget: {
5178
5299
  chars: this.deps.getRecallBudgetChars(options.budgetCharsOverride),
@@ -35,6 +35,23 @@ import { reorderRecallResultsWithMmr } from "../recall-mmr.js";
35
35
  import { applyReasoningTraceBoost } from "../reasoning-trace-recall.js";
36
36
  import { memoryMapKey } from "../recall-memory-map.js";
37
37
 
38
+ export interface RecallResultPartition {
39
+ appliedResults: QmdSearchResult[];
40
+ headroomResults: QmdSearchResult[];
41
+ }
42
+ export interface RecallResultPartitionSink {
43
+ partition: RecallResultPartition | null;
44
+ }
45
+
46
+ export function reconcileRecallResultPartition(
47
+ partition: RecallResultPartition | null | undefined,
48
+ appliedResults: QmdSearchResult[],
49
+ ): RecallResultPartition | null {
50
+ return partition
51
+ ? { appliedResults, headroomResults: partition.headroomResults }
52
+ : null;
53
+ }
54
+
38
55
  /**
39
56
  * Coordinator for the recall-result reranking subsystem.
40
57
  *
@@ -479,40 +496,58 @@ export class RecallRerankCoordinator {
479
496
  return { results, trustByPath: null };
480
497
  }
481
498
 
482
- diversifyAndLimitRecallResults(
499
+ diversifyRecallResultsWithHeadroom(
483
500
  sectionId: string,
484
501
  results: QmdSearchResult[],
485
502
  limit: number,
486
503
  retrievalQuery?: string,
487
- // `caps` is additive AND last (issue #1523) so the positional call shape
488
- // stays backward-compatible: the recall pipeline threads a resolved set,
489
- // but callers that omit it (e.g. direct unit-test invocations) get an
490
- // equivalent set derived from the same config — behavior-preserving.
491
504
  caps: CapabilitySet = resolveCapabilities(this.getConfig()),
492
- ): QmdSearchResult[] {
505
+ ): RecallResultPartition {
493
506
  const safeLimit =
494
507
  typeof limit === "number" && Number.isFinite(limit)
495
508
  ? Math.max(0, Math.floor(limit))
496
509
  : 0;
497
- if (!Array.isArray(results) || results.length === 0) return [];
498
- // `recallResultLimit === 0` is a true zero limit (e.g. when
499
- // `memoriesSectionEnabled` is false) and must return an empty array so
500
- // the memories section is genuinely skipped. This mirrors the
501
- // `slice(0, 0)` semantics of every call site this helper replaced.
502
- if (safeLimit === 0) return [];
503
- // Issue #564 PR 3: when the feature flag is on, boost reasoning_trace
504
- // memories for problem-solving asks so they bubble up ahead of ordinary
505
- // facts/decisions before MMR picks the final section. No-op when the
506
- // flag is off or the query is not a problem-solving ask.
507
- const boosted =
508
- caps.recallReasoningTraceBoost && typeof retrievalQuery === "string"
509
- ? applyReasoningTraceBoost(results, {
510
- enabled: true,
511
- query: retrievalQuery,
512
- })
513
- : results;
514
- const diversified = this.applyMmrToQmdResults(sectionId, boosted, caps);
515
- return diversified.slice(0, safeLimit);
510
+ const candidates = Array.isArray(results) ? results : [];
511
+ let orderedPool: QmdSearchResult[] | undefined;
512
+ const resolveOrderedPool = (): QmdSearchResult[] => {
513
+ if (orderedPool) return orderedPool;
514
+ const boosted =
515
+ caps.recallReasoningTraceBoost && typeof retrievalQuery === "string"
516
+ ? applyReasoningTraceBoost(candidates, {
517
+ enabled: true,
518
+ query: retrievalQuery,
519
+ })
520
+ : candidates;
521
+ orderedPool = this.applyMmrToQmdResults(sectionId, boosted, caps);
522
+ return orderedPool;
523
+ };
524
+
525
+ return {
526
+ get appliedResults(): QmdSearchResult[] {
527
+ if (safeLimit === 0 || candidates.length === 0) return [];
528
+ return resolveOrderedPool().slice(0, safeLimit);
529
+ },
530
+ get headroomResults(): QmdSearchResult[] {
531
+ if (candidates.length === 0) return [];
532
+ return resolveOrderedPool().slice(safeLimit);
533
+ },
534
+ };
535
+ }
536
+
537
+ diversifyAndLimitRecallResults(
538
+ sectionId: string,
539
+ results: QmdSearchResult[],
540
+ limit: number,
541
+ retrievalQuery?: string,
542
+ caps: CapabilitySet = resolveCapabilities(this.getConfig()),
543
+ ): QmdSearchResult[] {
544
+ return this.diversifyRecallResultsWithHeadroom(
545
+ sectionId,
546
+ results,
547
+ limit,
548
+ retrievalQuery,
549
+ caps,
550
+ ).appliedResults;
516
551
  }
517
552
 
518
553
  /**
@@ -28,12 +28,16 @@ function memory(path: string, status: string): MemoryFile {
28
28
  };
29
29
  }
30
30
 
31
- async function makeCoordinator(memoryDir: string): Promise<RecallSearchPipelineCoordinator> {
31
+ async function makeCoordinator(
32
+ memoryDir: string,
33
+ extractionScopeClassificationEnabled = true,
34
+ ): Promise<RecallSearchPipelineCoordinator> {
32
35
  const config = parseConfig({
33
36
  openaiApiKey: "sk-test",
34
37
  memoryDir,
35
38
  workspaceDir: path.join(memoryDir, "workspace"),
36
39
  namespaces: true,
40
+ extractionScopeClassificationEnabled,
37
41
  });
38
42
  const deps = {
39
43
  config,
@@ -104,6 +108,76 @@ test("recall safety derives sourceConnector exclusively from the hydrated memory
104
108
  }
105
109
  });
106
110
 
111
+ test("recall safety partitions tool-scoped memories by requesting connector", async () => {
112
+ const memoryDir = await mkdtemp(path.join(os.tmpdir(), "remnic-connector-partition-"));
113
+ try {
114
+ const coordinator = await makeCoordinator(memoryDir);
115
+ const memories = [
116
+ {
117
+ path: "facts/same-tool.md",
118
+ content: "Use the search tool with a path.",
119
+ frontmatter: { status: "active", sourceConnector: "chatgpt", toolScoped: true },
120
+ },
121
+ {
122
+ path: "facts/other-tool.md",
123
+ content: "Use the search tool with a path.",
124
+ frontmatter: { status: "active", sourceConnector: "pi", toolScoped: true },
125
+ },
126
+ {
127
+ path: "facts/portable.md",
128
+ content: "Prefer focused searches.",
129
+ frontmatter: { status: "active", sourceConnector: "pi" },
130
+ },
131
+ {
132
+ path: "facts/legacy.md",
133
+ content: "Use the search tool with a path.",
134
+ frontmatter: { status: "active", sourceConnector: "pi" },
135
+ },
136
+ {
137
+ path: "facts/unattributed-tool.md",
138
+ content: "Use the search tool with a path.",
139
+ frontmatter: { status: "active", toolScoped: true },
140
+ },
141
+ ] as unknown as MemoryFile[];
142
+ const results = memories.map((candidate, index) => ({
143
+ ...result("default", candidate.path),
144
+ ...(index === 1 ? { sourceConnector: "chatgpt" } : {}),
145
+ }));
146
+ const memoryByPath = new Map(
147
+ memories.map((candidate) => [`default\0${candidate.path}`, candidate]),
148
+ );
149
+
150
+ const safe = coordinator.filterSearchResultsByRecallSafety(results, memoryByPath, {
151
+ requestingConnector: "chatgpt",
152
+ });
153
+
154
+ assert.deepEqual(
155
+ safe.map((candidate) => candidate.path),
156
+ [
157
+ "facts/same-tool.md",
158
+ "facts/portable.md",
159
+ "facts/legacy.md",
160
+ "facts/unattributed-tool.md",
161
+ ],
162
+ );
163
+ assert.equal(safe[0]?.sourceConnector, "chatgpt");
164
+ assert.equal(results[1]?.sourceConnector, "chatgpt");
165
+ assert.equal(
166
+ coordinator.filterSearchResultsByRecallSafety(results, memoryByPath).length,
167
+ results.length,
168
+ );
169
+ const gateDisabled = await makeCoordinator(memoryDir, false);
170
+ assert.equal(
171
+ gateDisabled.filterSearchResultsByRecallSafety(results, memoryByPath, {
172
+ requestingConnector: "chatgpt",
173
+ }).length,
174
+ results.length,
175
+ );
176
+ } finally {
177
+ await rm(memoryDir, { recursive: true, force: true });
178
+ }
179
+ });
180
+
107
181
  function scopedCandidatesStub(
108
182
  seed: QmdSearchResult[],
109
183
  ): RecallSearchPipelineDeps["searchScopedMemoryCandidates"] {