@remnic/core 9.69.51 → 9.69.53

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 (515) hide show
  1. package/dist/access-admin-ops-surface.d.ts +14 -14
  2. package/dist/access-admin-ops-surface.js +46 -46
  3. package/dist/access-authorization-probe.d.ts +14 -14
  4. package/dist/access-authorization-probe.js +47 -47
  5. package/dist/access-boundary.d.ts +14 -14
  6. package/dist/access-boundary.js +46 -46
  7. package/dist/access-cli.js +92 -92
  8. package/dist/access-coding-context-resolution.d.ts +1 -1
  9. package/dist/access-extraction-force-flush.d.ts +14 -14
  10. package/dist/access-extraction-force-flush.js +46 -46
  11. package/dist/access-health-types.d.ts +1 -1
  12. package/dist/access-http-briefing.d.ts +14 -14
  13. package/dist/access-http-briefing.js +47 -47
  14. package/dist/access-http-lcm-compaction.d.ts +14 -14
  15. package/dist/access-http-lifecycle-flush.d.ts +14 -14
  16. package/dist/access-http-offline-stream.d.ts +14 -14
  17. package/dist/access-http-query.d.ts +2 -2
  18. package/dist/access-http-query.js +48 -48
  19. package/dist/access-http.d.ts +15 -15
  20. package/dist/access-http.js +62 -62
  21. package/dist/access-identity-continuity-surface.d.ts +11 -11
  22. package/dist/access-identity-continuity-surface.js +46 -46
  23. package/dist/access-lcm-surface.d.ts +14 -14
  24. package/dist/access-lcm-surface.js +46 -46
  25. package/dist/access-mcp-shared-context-tools.d.ts +14 -14
  26. package/dist/access-mcp.d.ts +14 -14
  27. package/dist/access-mcp.js +55 -55
  28. package/dist/access-memory-search-fanout.d.ts +2 -2
  29. package/dist/{access-namespace-preflight-C1q3XuAc.d.ts → access-namespace-preflight-U9RAdxqZ.d.ts} +1 -1
  30. package/dist/access-namespace-preflight.d.ts +3 -3
  31. package/dist/access-namespace-preflight.js +46 -46
  32. package/dist/access-observe-transcript.d.ts +11 -11
  33. package/dist/access-observe-write-category.d.ts +3 -3
  34. package/dist/access-observe-write-category.js +2 -2
  35. package/dist/access-observe-write-surface.d.ts +14 -14
  36. package/dist/access-observe-write-surface.js +46 -46
  37. package/dist/access-offline-manifest.d.ts +11 -11
  38. package/dist/access-offline-manifest.js +5 -5
  39. package/dist/access-operations-batch.js +47 -47
  40. package/dist/access-operations.d.ts +14 -14
  41. package/dist/access-operations.js +54 -54
  42. package/dist/access-recall-concurrency.d.ts +14 -14
  43. package/dist/access-recall-concurrency.js +46 -46
  44. package/dist/access-recall-response.d.ts +14 -14
  45. package/dist/access-recall-response.js +46 -46
  46. package/dist/access-recall-surface.d.ts +14 -14
  47. package/dist/access-recall-surface.js +46 -46
  48. package/dist/access-schema.d.ts +114 -114
  49. package/dist/{access-service-BZaC-RZw.d.ts → access-service-H-qEdnSs.d.ts} +73 -73
  50. package/dist/access-service-helpers.d.ts +14 -14
  51. package/dist/access-service.d.ts +14 -14
  52. package/dist/access-service.js +46 -46
  53. package/dist/access-surface-catalog.d.ts +14 -14
  54. package/dist/access-surface-catalog.js +48 -48
  55. package/dist/access-wearables-meetings-surface.d.ts +4 -4
  56. package/dist/action-confidence.d.ts +1 -1
  57. package/dist/active-memory-bridge.d.ts +1 -1
  58. package/dist/active-recall.d.ts +1 -1
  59. package/dist/active-recall.js +72 -1
  60. package/dist/active-recall.js.map +1 -1
  61. package/dist/activity/digest.d.ts +1 -1
  62. package/dist/ambient-provenance.d.ts +1 -1
  63. package/dist/artifact-search.d.ts +1 -1
  64. package/dist/{auto-sync-DG5KEOF5.js → auto-sync-CWSZDLLW.js} +6 -6
  65. package/dist/background-generation.d.ts +1 -1
  66. package/dist/behavior-learner.d.ts +1 -1
  67. package/dist/behavior-signals.d.ts +1 -1
  68. package/dist/bootstrap.d.ts +11 -11
  69. package/dist/briefing-window.d.ts +2 -2
  70. package/dist/briefing.d.ts +2 -2
  71. package/dist/briefing.js +9 -9
  72. package/dist/buffer-surprise-report.d.ts +1 -1
  73. package/dist/buffer-turn-helpers.d.ts +1 -1
  74. package/dist/buffer.d.ts +2 -2
  75. package/dist/buffer.js +4 -4
  76. package/dist/bulk-import/index.d.ts +3 -3
  77. package/dist/calibration.d.ts +1 -1
  78. package/dist/capabilities.d.ts +1 -1
  79. package/dist/{catalog-DK2eHhax.d.ts → catalog-BuMyYPUn.d.ts} +1 -1
  80. package/dist/causal-behavior.d.ts +1 -1
  81. package/dist/causal-consolidation.d.ts +1 -1
  82. package/dist/causal-consolidation.js +16 -16
  83. package/dist/causal-trajectory-graph.d.ts +1 -1
  84. package/dist/{chunk-2ERLN25A.js → chunk-2HJKAVAS.js} +5 -5
  85. package/dist/{chunk-CKBA2MWS.js → chunk-2QZJ4P27.js} +2 -2
  86. package/dist/{chunk-ETNC6TT6.js → chunk-43IQRLEF.js} +2 -2
  87. package/dist/{chunk-PQWICTRO.js → chunk-4UVJ6EIT.js} +1 -1
  88. package/dist/chunk-4UVJ6EIT.js.map +1 -0
  89. package/dist/{chunk-DQSVGTKB.js → chunk-6UEM5EOB.js} +2 -2
  90. package/dist/{chunk-JGPG5UHM.js → chunk-7QVYVSEH.js} +2 -2
  91. package/dist/{chunk-HEKWNWNL.js → chunk-7RKAE6Y4.js} +3 -3
  92. package/dist/{chunk-UP3226JC.js → chunk-A4TQFNRX.js} +5 -5
  93. package/dist/{chunk-T73ZC7C5.js → chunk-AH44WTLJ.js} +2 -2
  94. package/dist/{chunk-SZ75IB2T.js → chunk-AQWGCHIV.js} +6 -6
  95. package/dist/{chunk-Q6OC4UUT.js → chunk-ARRKSBQU.js} +5 -5
  96. package/dist/{chunk-6Z4OLQUO.js → chunk-AYHNTYVG.js} +2 -2
  97. package/dist/{chunk-XHDQQ2TT.js → chunk-BCXZ4BDS.js} +2 -2
  98. package/dist/{chunk-VLR4S5GF.js → chunk-CO7KBRPF.js} +3 -3
  99. package/dist/{chunk-JHUODJRW.js → chunk-D2N3PMAE.js} +2 -2
  100. package/dist/{chunk-7SJCSDQ3.js → chunk-D7VT2LED.js} +2 -2
  101. package/dist/{chunk-X25NTN3W.js → chunk-DI52XAKG.js} +2 -2
  102. package/dist/{chunk-EUP4AXIW.js → chunk-DZP2XMZC.js} +2 -2
  103. package/dist/{chunk-BULK6DGB.js → chunk-EQNZC3BH.js} +2 -2
  104. package/dist/{chunk-OIK3YL2P.js → chunk-EVQ33D3N.js} +4 -4
  105. package/dist/{chunk-MNF6PTNL.js → chunk-EYK3UHAP.js} +2 -2
  106. package/dist/{chunk-VSN2DMQK.js → chunk-G2DF5MI7.js} +4 -4
  107. package/dist/{chunk-JIWZVOQM.js → chunk-G7S37WD4.js} +2 -2
  108. package/dist/{chunk-2G2CVN2T.js → chunk-HUQMVI3A.js} +147 -58
  109. package/dist/chunk-HUQMVI3A.js.map +1 -0
  110. package/dist/{chunk-6HCJWCA4.js → chunk-IEOBAOA6.js} +6 -6
  111. package/dist/{chunk-UDAUULK2.js → chunk-IGEZE6QB.js} +5 -5
  112. package/dist/{chunk-SGHGCFVV.js → chunk-JE334SIA.js} +10 -10
  113. package/dist/{chunk-XFXVIXDI.js → chunk-JE4H2QBO.js} +2 -2
  114. package/dist/{chunk-33SX6K3N.js → chunk-JMZQS6OS.js} +2 -2
  115. package/dist/{chunk-BMAYH7F4.js → chunk-K7FXR75S.js} +514 -381
  116. package/dist/chunk-K7FXR75S.js.map +1 -0
  117. package/dist/{chunk-3RABJOGD.js → chunk-KH2D26LQ.js} +5 -5
  118. package/dist/{chunk-AH3OIMS7.js → chunk-KQQEZTH6.js} +2 -2
  119. package/dist/{chunk-QRSC37NC.js → chunk-M7HFDWOS.js} +3 -3
  120. package/dist/{chunk-2EICZYIG.js → chunk-MTJUIIM4.js} +2 -2
  121. package/dist/{chunk-ST7FDKZT.js → chunk-MWVYHNSU.js} +2 -2
  122. package/dist/{chunk-NXSNFPYI.js → chunk-MXTCV3B5.js} +2 -2
  123. package/dist/{chunk-O4JFBEUL.js → chunk-O7OVWKT4.js} +2 -2
  124. package/dist/{chunk-RIP2AOZW.js → chunk-QWQB7TOB.js} +19 -19
  125. package/dist/{chunk-PYTSGD5M.js → chunk-RSMNPYBM.js} +2 -2
  126. package/dist/{chunk-MYDA2GA2.js → chunk-RUUJXAGT.js} +2 -2
  127. package/dist/{chunk-YJJMJH6J.js → chunk-SEQ6DWXD.js} +11 -11
  128. package/dist/{chunk-SCM4VYJW.js → chunk-SLGD36MM.js} +3 -3
  129. package/dist/{chunk-KAPYPTPS.js → chunk-SOOWBRMH.js} +13 -13
  130. package/dist/{chunk-JG4AP36X.js → chunk-SPFNGHHP.js} +2 -2
  131. package/dist/{chunk-7TTOX6NW.js → chunk-SPWNCGSM.js} +2 -2
  132. package/dist/{chunk-3QZRSEAM.js → chunk-SZ7IVZGD.js} +2 -2
  133. package/dist/{chunk-IGDEKECC.js → chunk-TQT4AOPO.js} +4 -4
  134. package/dist/{chunk-NVW5ISEJ.js → chunk-TS66MUUJ.js} +50 -50
  135. package/dist/{chunk-6ZMIASYT.js → chunk-U2SK45U3.js} +2 -2
  136. package/dist/{chunk-72AV2H3R.js → chunk-U3NBO4IX.js} +39 -3
  137. package/dist/chunk-U3NBO4IX.js.map +1 -0
  138. package/dist/{chunk-SMI2G3MA.js → chunk-UCH2RWFX.js} +2 -2
  139. package/dist/{chunk-A33DLYNY.js → chunk-UDJMJNBK.js} +2 -2
  140. package/dist/{chunk-DLXBMXIB.js → chunk-UJBIWY5M.js} +5 -5
  141. package/dist/{chunk-25HSEIEM.js → chunk-ULQVG6G3.js} +2 -2
  142. package/dist/{chunk-EBJL6HGR.js → chunk-UVZBDIJX.js} +211 -1
  143. package/dist/chunk-UVZBDIJX.js.map +1 -0
  144. package/dist/{chunk-XRUOO7OT.js → chunk-VGO57TU7.js} +5 -5
  145. package/dist/{chunk-LX7KIJQF.js → chunk-VMKAA5SU.js} +2 -2
  146. package/dist/{chunk-KBHDV7P3.js → chunk-VUV472VH.js} +12 -12
  147. package/dist/{chunk-LZI6FWZW.js → chunk-WH7RINGG.js} +4 -4
  148. package/dist/{chunk-FDDCZDBI.js → chunk-WN4HFL4K.js} +4 -4
  149. package/dist/{chunk-ISA5U5AP.js → chunk-WUJD4CHZ.js} +4 -4
  150. package/dist/{chunk-UVEBBXB5.js → chunk-X7WAM3IY.js} +2 -2
  151. package/dist/{chunk-NROI5XMG.js → chunk-XPFJSUOR.js} +5 -5
  152. package/dist/{chunk-2SZBCM2S.js → chunk-Y4G6LHJW.js} +2 -2
  153. package/dist/{chunk-JXSOB3SA.js → chunk-Y7LZ5V7N.js} +2 -2
  154. package/dist/{chunk-YSBYNCCN.js → chunk-YLPCEUXP.js} +3 -3
  155. package/dist/{chunk-RFIJH2OE.js → chunk-YUHGJBQK.js} +2 -2
  156. package/dist/{chunk-DX63RFDJ.js → chunk-ZADYEZY4.js} +2 -2
  157. package/dist/{chunk-TNFDWJRS.js → chunk-ZANEMAEV.js} +2 -2
  158. package/dist/{cli-BHDMJqJS.d.ts → cli-VGDSn2zY.d.ts} +5 -5
  159. package/dist/cli.d.ts +16 -16
  160. package/dist/cli.js +75 -75
  161. package/dist/coding/export-okf-codegraph.d.ts +1 -1
  162. package/dist/coding/export-okf-codegraph.js +9 -9
  163. package/dist/coding/pre-action-gate.d.ts +1 -1
  164. package/dist/compounding/engine.d.ts +2 -2
  165. package/dist/compounding/engine.js +8 -8
  166. package/dist/compounding/preference-consolidator.d.ts +1 -1
  167. package/dist/compression-optimizer.d.ts +1 -1
  168. package/dist/config.d.ts +1 -1
  169. package/dist/config.js +72 -1
  170. package/dist/connectors/codex-materialize-runner.d.ts +1 -1
  171. package/dist/connectors/codex-materialize-runner.js +12 -12
  172. package/dist/connectors/codex-materialize.d.ts +1 -1
  173. package/dist/connectors/index.d.ts +1 -1
  174. package/dist/connectors/index.js +16 -16
  175. package/dist/consolidation-provenance-check.d.ts +2 -2
  176. package/dist/consolidation-undo.d.ts +2 -2
  177. package/dist/contradiction/index.d.ts +4 -4
  178. package/dist/converge-config.d.ts +1 -1
  179. package/dist/convergence-refresh.d.ts +2 -2
  180. package/dist/convergence-refresh.js +10 -10
  181. package/dist/conversation-index/backend.d.ts +1 -1
  182. package/dist/conversation-index/chunker.d.ts +1 -1
  183. package/dist/conversation-index/faiss-adapter.d.ts +1 -1
  184. package/dist/conversation-index/indexer.d.ts +1 -1
  185. package/dist/conversation-index/search.d.ts +1 -1
  186. package/dist/corpus-watermark.d.ts +1 -1
  187. package/dist/corpus-watermark.js +10 -10
  188. package/dist/cross-lingual-recall.d.ts +1 -1
  189. package/dist/day-summary.d.ts +1 -1
  190. package/dist/deep-recall-http-glue.d.ts +14 -14
  191. package/dist/deep-recall-mcp-tools.d.ts +14 -14
  192. package/dist/deep-recall-policy-llm.d.ts +2 -2
  193. package/dist/deep-recall-seeds.d.ts +1 -1
  194. package/dist/delinearize.d.ts +1 -1
  195. package/dist/dependency-propagation-config.d.ts +1 -1
  196. package/dist/{dependency-propagation-delivery-BMkR4gmY.d.ts → dependency-propagation-delivery-BrhPjAHQ.d.ts} +1 -1
  197. package/dist/direct-answer-wiring.d.ts +1 -1
  198. package/dist/direct-answer.d.ts +1 -1
  199. package/dist/directory-sidecars.d.ts +30 -7
  200. package/dist/directory-sidecars.js +5 -1
  201. package/dist/embedding-fallback.d.ts +1 -1
  202. package/dist/enrichment/index.d.ts +1 -1
  203. package/dist/entity-origin-fields.d.ts +1 -1
  204. package/dist/entity-retrieval.d.ts +2 -2
  205. package/dist/entity-retrieval.js +8 -8
  206. package/dist/entity-schema.d.ts +1 -1
  207. package/dist/episodic-context.d.ts +1 -1
  208. package/dist/eval-trajectory-contracts.d.ts +1 -1
  209. package/dist/eval-trajectory-store.d.ts +1 -1
  210. package/dist/eval-trajectory.d.ts +1 -1
  211. package/dist/explicit-capture.d.ts +11 -11
  212. package/dist/external-wiki-access.d.ts +14 -14
  213. package/dist/external-wiki-access.js +47 -47
  214. package/dist/external-wiki-collection-registration.d.ts +1 -1
  215. package/dist/external-wiki-collection.d.ts +1 -1
  216. package/dist/external-wiki-mcp-tools.d.ts +14 -14
  217. package/dist/extraction-error-classification.d.ts +1 -1
  218. package/dist/extraction-evidence-class.d.ts +1 -1
  219. package/dist/extraction-faithfulness.d.ts +2 -2
  220. package/dist/extraction-judge-telemetry.d.ts +2 -2
  221. package/dist/extraction-judge-training.d.ts +2 -2
  222. package/dist/extraction-judge.d.ts +2 -2
  223. package/dist/extraction-judge.js +2 -2
  224. package/dist/extraction-liveness.d.ts +1 -1
  225. package/dist/extraction-normalization.d.ts +1 -1
  226. package/dist/extraction-prompt.d.ts +1 -1
  227. package/dist/extraction-source-grounding-rules.d.ts +1 -1
  228. package/dist/extraction-source-grounding.d.ts +1 -1
  229. package/dist/extraction-span-config.d.ts +1 -1
  230. package/dist/extraction-span-materialize.d.ts +1 -1
  231. package/dist/extraction-span-wire.d.ts +1 -1
  232. package/dist/extraction.d.ts +2 -2
  233. package/dist/extraction.js +18 -18
  234. package/dist/fallback-llm-codex-subscription.d.ts +1 -1
  235. package/dist/fallback-llm.d.ts +1 -1
  236. package/dist/{generic-recall-paths-BCRtXU32.d.ts → generic-recall-paths-C0J1Oxb7.d.ts} +1 -1
  237. package/dist/graph-append-error.d.ts +1 -1
  238. package/dist/graph-dashboard-diff.d.ts +1 -1
  239. package/dist/graph-dashboard-key.d.ts +1 -1
  240. package/dist/graph-dashboard-parser.d.ts +1 -1
  241. package/dist/graph-edge-reinforcement.d.ts +1 -1
  242. package/dist/graph-jsonl.d.ts +1 -1
  243. package/dist/graph-path-reconstruction.d.ts +1 -1
  244. package/dist/graph-path-scoring.d.ts +1 -1
  245. package/dist/graph-snapshot.d.ts +1 -1
  246. package/dist/graph.d.ts +1 -1
  247. package/dist/harmonic-retrieval.js +2 -2
  248. package/dist/importance.d.ts +1 -1
  249. package/dist/importers/index.d.ts +1 -1
  250. package/dist/importers/test-utils.d.ts +1 -1
  251. package/dist/in-flight-reads.d.ts +1 -1
  252. package/dist/{index-DMNTW4W6.d.ts → index-B735x-tK.d.ts} +3 -3
  253. package/dist/index.d.ts +702 -702
  254. package/dist/index.js +165 -165
  255. package/dist/intent.d.ts +1 -1
  256. package/dist/lcm/engine.d.ts +1 -1
  257. package/dist/lcm/index.d.ts +1 -1
  258. package/dist/lcm/tools.d.ts +1 -1
  259. package/dist/lifecycle.d.ts +1 -1
  260. package/dist/live-connectors-runner.d.ts +1 -1
  261. package/dist/{local-llm-BXYC-mbU.d.ts → local-llm-BkkEK9rn.d.ts} +1 -1
  262. package/dist/local-llm-helpers.d.ts +2 -2
  263. package/dist/local-llm.d.ts +2 -2
  264. package/dist/local-model-endpoint.d.ts +1 -1
  265. package/dist/location/index.d.ts +5 -5
  266. package/dist/location/index.js +12 -12
  267. package/dist/maintenance/memory-governance.d.ts +1 -1
  268. package/dist/maintenance/memory-governance.js +8 -8
  269. package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +2 -2
  270. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +8 -8
  271. package/dist/maintenance/rebuild-memory-projection.d.ts +2 -2
  272. package/dist/maintenance/rebuild-memory-projection.js +9 -9
  273. package/dist/{maintenance-zJiLsKBY.d.ts → maintenance-CLBIvVxg.d.ts} +3 -3
  274. package/dist/mcp-memory-inspector-app.d.ts +14 -14
  275. package/dist/memory-action-policy.d.ts +1 -1
  276. package/dist/memory-browse-http-glue.d.ts +14 -14
  277. package/dist/memory-browse-mcp-tools.d.ts +14 -14
  278. package/dist/memory-browse-operations.js +47 -47
  279. package/dist/memory-browse.d.ts +1 -1
  280. package/dist/memory-browse.js +5 -5
  281. package/dist/memory-cache.d.ts +1 -1
  282. package/dist/memory-controller.d.ts +1 -1
  283. package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
  284. package/dist/memory-projection-store.d.ts +1 -1
  285. package/dist/memory-provenance.d.ts +1 -1
  286. package/dist/memory-snapshot.d.ts +1 -1
  287. package/dist/memory-subject-cli.d.ts +14 -14
  288. package/dist/memory-subject.d.ts +14 -14
  289. package/dist/memory-worth-outcomes.d.ts +2 -2
  290. package/dist/models-json.d.ts +1 -1
  291. package/dist/namespaces/migrate.d.ts +3 -3
  292. package/dist/namespaces/migrate.js +9 -9
  293. package/dist/namespaces/principal.d.ts +1 -1
  294. package/dist/namespaces/search.d.ts +1 -1
  295. package/dist/namespaces/storage.d.ts +3 -3
  296. package/dist/namespaces/storage.js +8 -8
  297. package/dist/native-knowledge.d.ts +1 -1
  298. package/dist/offline-sync-impression-drain.d.ts +1 -1
  299. package/dist/offline-sync-impression-drain.js +3 -3
  300. package/dist/operator-doctor-corpus.d.ts +1 -1
  301. package/dist/operator-doctor-corpus.js +13 -13
  302. package/dist/operator-doctor-replica.d.ts +1 -1
  303. package/dist/operator-toolkit.d.ts +3 -3
  304. package/dist/operator-toolkit.js +36 -36
  305. package/dist/orchestration/compression-guideline-coordinator.d.ts +2 -2
  306. package/dist/orchestration/maintenance.d.ts +4 -4
  307. package/dist/orchestration/maintenance.js +19 -19
  308. package/dist/{orchestrator-BTqT3F6X.d.ts → orchestrator-iexgVLow.d.ts} +13 -11
  309. package/dist/orchestrator.d.ts +11 -11
  310. package/dist/orchestrator.js +92 -92
  311. package/dist/patterns-cli.d.ts +1 -1
  312. package/dist/{pipeline-CgO2Sd4O.d.ts → pipeline-DvtDtyo9.d.ts} +1 -1
  313. package/dist/policy-runtime.d.ts +1 -1
  314. package/dist/proactive-contention.d.ts +2 -2
  315. package/dist/provenance.d.ts +1 -1
  316. package/dist/{public-http-Dk1EA9ix.d.ts → public-http-P0cnHzYB.d.ts} +1 -1
  317. package/dist/{qmd-CwxtVz64.d.ts → qmd-CBYBJ6HW.d.ts} +1 -1
  318. package/dist/qmd-preflight.d.ts +2 -2
  319. package/dist/qmd-recall-cache.d.ts +1 -1
  320. package/dist/qmd.d.ts +2 -2
  321. package/dist/recall-concurrency-config.d.ts +1 -1
  322. package/dist/recall-disclosure-escalation.d.ts +1 -1
  323. package/dist/recall-explain-renderer.d.ts +1 -1
  324. package/dist/recall-explain-renderer.js +3 -3
  325. package/dist/recall-memory-map.d.ts +1 -1
  326. package/dist/recall-navigate-access.d.ts +1 -1
  327. package/dist/recall-navigate-access.js +2 -2
  328. package/dist/recall-navigate-disclosure.d.ts +1 -1
  329. package/dist/recall-navigate-disclosure.js +2 -2
  330. package/dist/recall-navigate.d.ts +1 -1
  331. package/dist/recall-navigate.js +2 -2
  332. package/dist/recall-navigation-http-glue.d.ts +14 -14
  333. package/dist/recall-navigation-mcp-tools.d.ts +14 -14
  334. package/dist/recall-navigation-operations.js +47 -47
  335. package/dist/recall-navigation-renderer.d.ts +1 -1
  336. package/dist/recall-navigation.d.ts +1 -1
  337. package/dist/recall-navigation.js +46 -46
  338. package/dist/recall-planner-llm.d.ts +1 -1
  339. package/dist/recall-state-view-admission.d.ts +2 -2
  340. package/dist/recall-state-view-admission.js +5 -5
  341. package/dist/recall-state-view-anchors.d.ts +1 -1
  342. package/dist/recall-state-view-anchors.js +2 -2
  343. package/dist/recall-state.d.ts +1 -1
  344. package/dist/recall-tag-filter.d.ts +1 -1
  345. package/dist/recall-timings.d.ts +1 -1
  346. package/dist/recall-xray-cli.d.ts +1 -1
  347. package/dist/recall-xray-cli.js +4 -4
  348. package/dist/recall-xray-renderer.d.ts +1 -1
  349. package/dist/recall-xray-renderer.js +3 -3
  350. package/dist/recall-xray.d.ts +1 -1
  351. package/dist/recall-xray.js +2 -2
  352. package/dist/reconcile/cursor.d.ts +1 -1
  353. package/dist/reconcile/manifest.d.ts +1 -1
  354. package/dist/reconcile/manifest.js +1 -1
  355. package/dist/reconcile/plan.d.ts +1 -1
  356. package/dist/replay/normalizers/chatgpt.d.ts +1 -1
  357. package/dist/replay/normalizers/claude.d.ts +1 -1
  358. package/dist/replay/normalizers/openclaw.d.ts +1 -1
  359. package/dist/replay/normalizers/shared.d.ts +1 -1
  360. package/dist/replay/runner.d.ts +1 -1
  361. package/dist/replay/types.d.ts +1 -1
  362. package/dist/replica-divergence.d.ts +1 -1
  363. package/dist/replica-peers-config.d.ts +1 -1
  364. package/dist/resolve-auth-token.d.ts +1 -1
  365. package/dist/resume-bundles.js +72 -2
  366. package/dist/retrieval-agents.d.ts +2 -2
  367. package/dist/retrieval-tiers.d.ts +1 -1
  368. package/dist/routing/engine.d.ts +1 -1
  369. package/dist/routing/store.d.ts +1 -1
  370. package/dist/salvage-envelope.d.ts +1 -1
  371. package/dist/schemas.d.ts +160 -160
  372. package/dist/{scope-profiles-Bg1rB-Dp.d.ts → scope-profiles-BN1Dgfha.d.ts} +1 -1
  373. package/dist/search/embed-helper.d.ts +1 -1
  374. package/dist/search/factory.d.ts +1 -1
  375. package/dist/search/index.d.ts +1 -1
  376. package/dist/search/lancedb-backend.d.ts +1 -1
  377. package/dist/search/meilisearch-backend.d.ts +1 -1
  378. package/dist/search/noop-backend.d.ts +1 -1
  379. package/dist/search/orama-backend.d.ts +1 -1
  380. package/dist/search/port.d.ts +1 -1
  381. package/dist/search/remote-backend.d.ts +1 -1
  382. package/dist/{semantic-consolidation-DEzRyeyn.d.ts → semantic-consolidation-D--qe0eE.d.ts} +1 -1
  383. package/dist/semantic-consolidation.d.ts +2 -2
  384. package/dist/semantic-consolidation.js +13 -13
  385. package/dist/semantic-rule-promotion.js +8 -8
  386. package/dist/semantic-rule-verifier.d.ts +1 -1
  387. package/dist/semantic-rule-verifier.js +8 -8
  388. package/dist/{service-DGEIDOeD.d.ts → service-VealHeqO.d.ts} +2 -2
  389. package/dist/session-observer-bands.d.ts +1 -1
  390. package/dist/session-observer-state.d.ts +1 -1
  391. package/dist/shared-context/manager.d.ts +9 -9
  392. package/dist/signal.d.ts +1 -1
  393. package/dist/source-agent-qualifier.d.ts +1 -1
  394. package/dist/source-agent-qualifier.js +17 -17
  395. package/dist/standup/build.js +9 -9
  396. package/dist/{storage-DNQWtOSM.d.ts → storage-CMm-3aD3.d.ts} +1 -1
  397. package/dist/storage.d.ts +2 -2
  398. package/dist/storage.js +7 -7
  399. package/dist/subject-config.d.ts +1 -1
  400. package/dist/summarizer.d.ts +1 -1
  401. package/dist/summarizer.js +1 -1
  402. package/dist/summary-snapshot.d.ts +1 -1
  403. package/dist/support-passport/index.d.ts +17 -17
  404. package/dist/support-passport/index.js +49 -49
  405. package/dist/{tagging-CPVwgadt.d.ts → tagging-BjsNFKWz.d.ts} +2 -2
  406. package/dist/temporal-supersession.d.ts +2 -2
  407. package/dist/temporal-timeline-recall.d.ts +1 -1
  408. package/dist/temporal-validity.d.ts +1 -1
  409. package/dist/threading.d.ts +1 -1
  410. package/dist/tier-migration.d.ts +2 -2
  411. package/dist/tier-routing.d.ts +1 -1
  412. package/dist/topics.d.ts +1 -1
  413. package/dist/transcript.d.ts +1 -1
  414. package/dist/transfer/export-okf.d.ts +1 -1
  415. package/dist/transfer/export-okf.js +8 -8
  416. package/dist/transfer/types.d.ts +78 -78
  417. package/dist/trust-score-stage.d.ts +1 -1
  418. package/dist/trust-score.d.ts +1 -1
  419. package/dist/{types-DCB90q3g.d.ts → types-Du6VdoAg.d.ts} +22 -1
  420. package/dist/types.d.ts +1 -1
  421. package/dist/types.js +1 -1
  422. package/dist/utility-runtime.d.ts +1 -1
  423. package/dist/verified-recall.js +8 -8
  424. package/dist/who-knows-cli.d.ts +14 -14
  425. package/dist/who-knows-cli.js +9 -9
  426. package/dist/who-knows.d.ts +14 -14
  427. package/dist/who-knows.js +8 -8
  428. package/dist/write-envelope.d.ts +1 -1
  429. package/package.json +2 -2
  430. package/src/config.ts +3 -4
  431. package/src/directory-sidecars.test.ts +113 -0
  432. package/src/directory-sidecars.ts +70 -8
  433. package/src/experience/session-experience-mining.test.ts +186 -0
  434. package/src/experience/session-experience-mining.ts +90 -0
  435. package/src/lifecycle/seed-graduation-config-types.ts +22 -0
  436. package/src/lifecycle/seed-graduation.test.ts +160 -1
  437. package/src/lifecycle/seed-graduation.ts +7 -9
  438. package/src/orchestration/lifecycle-policy-coordinator.ts +12 -0
  439. package/src/orchestration/persistence-index.ts +50 -0
  440. package/src/orchestration/recall-recognition-index.test.ts +249 -0
  441. package/src/orchestration/recall-recognition-index.ts +169 -0
  442. package/src/orchestrator.ts +1 -0
  443. package/src/procedural/procedure-miner.ts +8 -6
  444. package/src/testing/subjects/recall-recognition-index.test.ts +97 -0
  445. package/src/types.ts +4 -6
  446. package/dist/chunk-2G2CVN2T.js.map +0 -1
  447. package/dist/chunk-72AV2H3R.js.map +0 -1
  448. package/dist/chunk-BMAYH7F4.js.map +0 -1
  449. package/dist/chunk-EBJL6HGR.js.map +0 -1
  450. package/dist/chunk-PQWICTRO.js.map +0 -1
  451. /package/dist/{auto-sync-DG5KEOF5.js.map → auto-sync-CWSZDLLW.js.map} +0 -0
  452. /package/dist/{chunk-2ERLN25A.js.map → chunk-2HJKAVAS.js.map} +0 -0
  453. /package/dist/{chunk-CKBA2MWS.js.map → chunk-2QZJ4P27.js.map} +0 -0
  454. /package/dist/{chunk-ETNC6TT6.js.map → chunk-43IQRLEF.js.map} +0 -0
  455. /package/dist/{chunk-DQSVGTKB.js.map → chunk-6UEM5EOB.js.map} +0 -0
  456. /package/dist/{chunk-JGPG5UHM.js.map → chunk-7QVYVSEH.js.map} +0 -0
  457. /package/dist/{chunk-HEKWNWNL.js.map → chunk-7RKAE6Y4.js.map} +0 -0
  458. /package/dist/{chunk-UP3226JC.js.map → chunk-A4TQFNRX.js.map} +0 -0
  459. /package/dist/{chunk-T73ZC7C5.js.map → chunk-AH44WTLJ.js.map} +0 -0
  460. /package/dist/{chunk-SZ75IB2T.js.map → chunk-AQWGCHIV.js.map} +0 -0
  461. /package/dist/{chunk-Q6OC4UUT.js.map → chunk-ARRKSBQU.js.map} +0 -0
  462. /package/dist/{chunk-6Z4OLQUO.js.map → chunk-AYHNTYVG.js.map} +0 -0
  463. /package/dist/{chunk-XHDQQ2TT.js.map → chunk-BCXZ4BDS.js.map} +0 -0
  464. /package/dist/{chunk-VLR4S5GF.js.map → chunk-CO7KBRPF.js.map} +0 -0
  465. /package/dist/{chunk-JHUODJRW.js.map → chunk-D2N3PMAE.js.map} +0 -0
  466. /package/dist/{chunk-7SJCSDQ3.js.map → chunk-D7VT2LED.js.map} +0 -0
  467. /package/dist/{chunk-X25NTN3W.js.map → chunk-DI52XAKG.js.map} +0 -0
  468. /package/dist/{chunk-EUP4AXIW.js.map → chunk-DZP2XMZC.js.map} +0 -0
  469. /package/dist/{chunk-BULK6DGB.js.map → chunk-EQNZC3BH.js.map} +0 -0
  470. /package/dist/{chunk-OIK3YL2P.js.map → chunk-EVQ33D3N.js.map} +0 -0
  471. /package/dist/{chunk-MNF6PTNL.js.map → chunk-EYK3UHAP.js.map} +0 -0
  472. /package/dist/{chunk-VSN2DMQK.js.map → chunk-G2DF5MI7.js.map} +0 -0
  473. /package/dist/{chunk-JIWZVOQM.js.map → chunk-G7S37WD4.js.map} +0 -0
  474. /package/dist/{chunk-6HCJWCA4.js.map → chunk-IEOBAOA6.js.map} +0 -0
  475. /package/dist/{chunk-UDAUULK2.js.map → chunk-IGEZE6QB.js.map} +0 -0
  476. /package/dist/{chunk-SGHGCFVV.js.map → chunk-JE334SIA.js.map} +0 -0
  477. /package/dist/{chunk-XFXVIXDI.js.map → chunk-JE4H2QBO.js.map} +0 -0
  478. /package/dist/{chunk-33SX6K3N.js.map → chunk-JMZQS6OS.js.map} +0 -0
  479. /package/dist/{chunk-3RABJOGD.js.map → chunk-KH2D26LQ.js.map} +0 -0
  480. /package/dist/{chunk-AH3OIMS7.js.map → chunk-KQQEZTH6.js.map} +0 -0
  481. /package/dist/{chunk-QRSC37NC.js.map → chunk-M7HFDWOS.js.map} +0 -0
  482. /package/dist/{chunk-2EICZYIG.js.map → chunk-MTJUIIM4.js.map} +0 -0
  483. /package/dist/{chunk-ST7FDKZT.js.map → chunk-MWVYHNSU.js.map} +0 -0
  484. /package/dist/{chunk-NXSNFPYI.js.map → chunk-MXTCV3B5.js.map} +0 -0
  485. /package/dist/{chunk-O4JFBEUL.js.map → chunk-O7OVWKT4.js.map} +0 -0
  486. /package/dist/{chunk-RIP2AOZW.js.map → chunk-QWQB7TOB.js.map} +0 -0
  487. /package/dist/{chunk-PYTSGD5M.js.map → chunk-RSMNPYBM.js.map} +0 -0
  488. /package/dist/{chunk-MYDA2GA2.js.map → chunk-RUUJXAGT.js.map} +0 -0
  489. /package/dist/{chunk-YJJMJH6J.js.map → chunk-SEQ6DWXD.js.map} +0 -0
  490. /package/dist/{chunk-SCM4VYJW.js.map → chunk-SLGD36MM.js.map} +0 -0
  491. /package/dist/{chunk-KAPYPTPS.js.map → chunk-SOOWBRMH.js.map} +0 -0
  492. /package/dist/{chunk-JG4AP36X.js.map → chunk-SPFNGHHP.js.map} +0 -0
  493. /package/dist/{chunk-7TTOX6NW.js.map → chunk-SPWNCGSM.js.map} +0 -0
  494. /package/dist/{chunk-3QZRSEAM.js.map → chunk-SZ7IVZGD.js.map} +0 -0
  495. /package/dist/{chunk-IGDEKECC.js.map → chunk-TQT4AOPO.js.map} +0 -0
  496. /package/dist/{chunk-NVW5ISEJ.js.map → chunk-TS66MUUJ.js.map} +0 -0
  497. /package/dist/{chunk-6ZMIASYT.js.map → chunk-U2SK45U3.js.map} +0 -0
  498. /package/dist/{chunk-SMI2G3MA.js.map → chunk-UCH2RWFX.js.map} +0 -0
  499. /package/dist/{chunk-A33DLYNY.js.map → chunk-UDJMJNBK.js.map} +0 -0
  500. /package/dist/{chunk-DLXBMXIB.js.map → chunk-UJBIWY5M.js.map} +0 -0
  501. /package/dist/{chunk-25HSEIEM.js.map → chunk-ULQVG6G3.js.map} +0 -0
  502. /package/dist/{chunk-XRUOO7OT.js.map → chunk-VGO57TU7.js.map} +0 -0
  503. /package/dist/{chunk-LX7KIJQF.js.map → chunk-VMKAA5SU.js.map} +0 -0
  504. /package/dist/{chunk-KBHDV7P3.js.map → chunk-VUV472VH.js.map} +0 -0
  505. /package/dist/{chunk-LZI6FWZW.js.map → chunk-WH7RINGG.js.map} +0 -0
  506. /package/dist/{chunk-FDDCZDBI.js.map → chunk-WN4HFL4K.js.map} +0 -0
  507. /package/dist/{chunk-ISA5U5AP.js.map → chunk-WUJD4CHZ.js.map} +0 -0
  508. /package/dist/{chunk-UVEBBXB5.js.map → chunk-X7WAM3IY.js.map} +0 -0
  509. /package/dist/{chunk-NROI5XMG.js.map → chunk-XPFJSUOR.js.map} +0 -0
  510. /package/dist/{chunk-2SZBCM2S.js.map → chunk-Y4G6LHJW.js.map} +0 -0
  511. /package/dist/{chunk-JXSOB3SA.js.map → chunk-Y7LZ5V7N.js.map} +0 -0
  512. /package/dist/{chunk-YSBYNCCN.js.map → chunk-YLPCEUXP.js.map} +0 -0
  513. /package/dist/{chunk-RFIJH2OE.js.map → chunk-YUHGJBQK.js.map} +0 -0
  514. /package/dist/{chunk-DX63RFDJ.js.map → chunk-ZADYEZY4.js.map} +0 -0
  515. /package/dist/{chunk-TNFDWJRS.js.map → chunk-ZANEMAEV.js.map} +0 -0
@@ -1,5 +1,5 @@
1
- import { W as WhoKnowsResult } from './access-service-BZaC-RZw.js';
2
- import './types-DCB90q3g.js';
1
+ import { W as WhoKnowsResult } from './access-service-H-qEdnSs.js';
2
+ import './types-Du6VdoAg.js';
3
3
  import './message-parts/index.js';
4
4
  import './bounded-jsonl-state.js';
5
5
  import './operator-doctor-types.js';
@@ -17,13 +17,13 @@ import './active-context-config.js';
17
17
  import './local-llm-config.js';
18
18
  import './semantic-merge-config.js';
19
19
  import './types-continuity.js';
20
- import './orchestrator-BTqT3F6X.js';
20
+ import './orchestrator-iexgVLow.js';
21
21
  import './recall-state.js';
22
22
  import './utils/serialize-mutations.js';
23
23
  import './search/port.js';
24
24
  import './included-memories.js';
25
25
  import './briefing.js';
26
- import './storage-DNQWtOSM.js';
26
+ import './storage-CMm-3aD3.js';
27
27
  import './corpus-read-cancellation.js';
28
28
  import './artifact-search.js';
29
29
  import './active-context-transform.js';
@@ -39,7 +39,7 @@ import './write-envelope.js';
39
39
  import './structured-attributes.js';
40
40
  import './buffer.js';
41
41
  import './extraction-faithfulness.js';
42
- import './local-llm-BXYC-mbU.js';
42
+ import './local-llm-BkkEK9rn.js';
43
43
  import './model-registry.js';
44
44
  import './fallback-llm.js';
45
45
  import './fallback-llm-codex-subscription.js';
@@ -48,8 +48,8 @@ import './resolve-provider-secret.js';
48
48
  import './transcript.js';
49
49
  import './session-integrity.js';
50
50
  import './summarizer.js';
51
- import './maintenance-zJiLsKBY.js';
52
- import './catalog-DK2eHhax.js';
51
+ import './maintenance-CLBIvVxg.js';
52
+ import './catalog-BuMyYPUn.js';
53
53
  import './namespaces/search.js';
54
54
  import './compounding/engine.js';
55
55
  import './shared-context/manager.js';
@@ -59,7 +59,7 @@ import './utility-runtime.js';
59
59
  import './tier-routing.js';
60
60
  import './lifecycle.js';
61
61
  import './orchestration/compression-guideline-coordinator.js';
62
- import './semantic-consolidation-DEzRyeyn.js';
62
+ import './semantic-consolidation-D--qe0eE.js';
63
63
  import './connectors/codex-materialize.js';
64
64
  import './logger.js';
65
65
  import './embedding-fallback.js';
@@ -81,17 +81,17 @@ import './conversation-index/chunker.js';
81
81
  import './conversation-index/backend.js';
82
82
  import './faiss-adapter-BHecI1fF.js';
83
83
  import './runtime/child-process.js';
84
- import './dependency-propagation-delivery-BMkR4gmY.js';
84
+ import './dependency-propagation-delivery-BrhPjAHQ.js';
85
85
  import './namespaces/storage.js';
86
86
  import './threading.js';
87
- import './scope-profiles-Bg1rB-Dp.js';
87
+ import './scope-profiles-BN1Dgfha.js';
88
88
  import './graph-DRkl22KE.js';
89
89
  import './graph-write-lock.js';
90
90
  import './recall-xray.js';
91
91
  import './memory-provenance.js';
92
92
  import './user-model.js';
93
93
  import './recall-context-composition.js';
94
- import './generic-recall-paths-BCRtXU32.js';
94
+ import './generic-recall-paths-C0J1Oxb7.js';
95
95
  import './live-connectors-runner.js';
96
96
  import './framework-CNDn2164.js';
97
97
  import './relevance.js';
@@ -99,7 +99,7 @@ import './negative.js';
99
99
  import './session-observer-state.js';
100
100
  import './semantic-BalR6EXU.js';
101
101
  import './replay/types.js';
102
- import './service-DGEIDOeD.js';
102
+ import './service-VealHeqO.js';
103
103
  import './extraction-judge.js';
104
104
  import './lcm/engine.js';
105
105
  import './lcm/archive.js';
@@ -122,7 +122,7 @@ import './types-B1VHaf2w.js';
122
122
  import './transfer/capsule-import.js';
123
123
  import './transfer/types.js';
124
124
  import './recall-navigation.js';
125
- import './access-namespace-preflight-C1q3XuAc.js';
125
+ import './access-namespace-preflight-U9RAdxqZ.js';
126
126
  import './access-token-capabilities.js';
127
127
  import 'node:async_hooks';
128
128
  import './recall-explain-renderer.js';
@@ -130,7 +130,7 @@ import './access-citation.js';
130
130
  import './access-health-types.js';
131
131
  import './corpus-watermark.js';
132
132
  import './replica-divergence.js';
133
- import './tagging-CPVwgadt.js';
133
+ import './tagging-BjsNFKWz.js';
134
134
  import './explicit-capture.js';
135
135
  import './access-wearables-meetings-surface.js';
136
136
  import './deep-recall.js';
@@ -4,9 +4,9 @@ import {
4
4
  renderWhoKnows,
5
5
  renderWhoKnowsJson,
6
6
  renderWhoKnowsText
7
- } from "./chunk-7TTOX6NW.js";
8
- import "./chunk-ETNC6TT6.js";
9
- import "./chunk-RIP2AOZW.js";
7
+ } from "./chunk-SPWNCGSM.js";
8
+ import "./chunk-43IQRLEF.js";
9
+ import "./chunk-QWQB7TOB.js";
10
10
  import "./chunk-UHVXE24Y.js";
11
11
  import "./chunk-46WM6JX2.js";
12
12
  import "./chunk-D5F7TKMH.js";
@@ -25,14 +25,16 @@ import "./chunk-F4TWWUMP.js";
25
25
  import "./chunk-72A4L5JJ.js";
26
26
  import "./chunk-A7Q43EUZ.js";
27
27
  import "./chunk-S2V7RUCL.js";
28
- import "./chunk-PQWICTRO.js";
28
+ import "./chunk-4UVJ6EIT.js";
29
29
  import "./chunk-MRPOZBJC.js";
30
30
  import "./chunk-S2HLHAZ4.js";
31
31
  import "./chunk-DM2T26WE.js";
32
32
  import "./chunk-LDXUBPMO.js";
33
+ import "./chunk-S45INSV3.js";
33
34
  import "./chunk-J3IWHCMF.js";
34
35
  import "./chunk-AAD2ZS6P.js";
35
36
  import "./chunk-DUJYRVUD.js";
37
+ import "./chunk-ZIKENA2C.js";
36
38
  import "./chunk-PCEYGOSL.js";
37
39
  import "./chunk-SCU65EZI.js";
38
40
  import "./chunk-3ONXXHQO.js";
@@ -52,15 +54,13 @@ import "./chunk-ZLQ37WJX.js";
52
54
  import "./chunk-IUM3VSHI.js";
53
55
  import "./chunk-C64XATK7.js";
54
56
  import "./chunk-42JKGUFJ.js";
57
+ import "./chunk-6Q3ZTEF6.js";
55
58
  import "./chunk-ZTHGFTMW.js";
56
59
  import "./chunk-I55KAVET.js";
57
60
  import "./chunk-L2EXJQJP.js";
58
61
  import "./chunk-45GF7Y3V.js";
59
62
  import "./chunk-EP6BA7VV.js";
60
63
  import "./chunk-E2AWJ7KQ.js";
61
- import "./chunk-S45INSV3.js";
62
- import "./chunk-ZIKENA2C.js";
63
- import "./chunk-6Q3ZTEF6.js";
64
64
  import "./chunk-YCVB7X56.js";
65
65
  import "./chunk-PJKTFXE2.js";
66
66
  import "./chunk-W5BIQOAJ.js";
@@ -75,12 +75,12 @@ import "./chunk-BJMBJZ2Y.js";
75
75
  import "./chunk-UKJAGEXH.js";
76
76
  import "./chunk-FP2373TW.js";
77
77
  import "./chunk-L272A5QW.js";
78
- import "./chunk-SGHGCFVV.js";
78
+ import "./chunk-JE334SIA.js";
79
79
  import "./chunk-ZA53AZND.js";
80
+ import "./chunk-7RJUVTVF.js";
80
81
  import "./chunk-AL3UYZ5N.js";
81
82
  import "./chunk-RL6NEVXT.js";
82
83
  import "./chunk-PWPIERBM.js";
83
- import "./chunk-7RJUVTVF.js";
84
84
  import "./chunk-C7HJ3NEI.js";
85
85
  import "./chunk-NB3LRY4T.js";
86
86
  import "./chunk-5FVVY2EB.js";
@@ -1,6 +1,6 @@
1
- export { bA as WHO_KNOWS_AUTHORSHIP_BONUS, bB as WHO_KNOWS_DEFAULT_LIMIT, bC as WHO_KNOWS_MAX_EVIDENCE, bD as WHO_KNOWS_MAX_LIMIT, bE as WHO_KNOWS_MCP_TOOLS, bF as WhoKnowsEntity, bG as WhoKnowsEvidence, bH as WhoKnowsHit, bI as WhoKnowsHttpOutcome, W as WhoKnowsResult, bJ as WhoKnowsStorage, bT as computeWhoKnows, bZ as handleWhoKnowsHttpQuery, c2 as loadWhoKnowsEntities, c9 as tokenizeTopic, ca as validateWhoKnowsInput } from './access-service-BZaC-RZw.js';
2
- import './types-DCB90q3g.js';
3
- import './orchestrator-BTqT3F6X.js';
1
+ export { bA as WHO_KNOWS_AUTHORSHIP_BONUS, bB as WHO_KNOWS_DEFAULT_LIMIT, bC as WHO_KNOWS_MAX_EVIDENCE, bD as WHO_KNOWS_MAX_LIMIT, bE as WHO_KNOWS_MCP_TOOLS, bF as WhoKnowsEntity, bG as WhoKnowsEvidence, bH as WhoKnowsHit, bI as WhoKnowsHttpOutcome, W as WhoKnowsResult, bJ as WhoKnowsStorage, bT as computeWhoKnows, bZ as handleWhoKnowsHttpQuery, c2 as loadWhoKnowsEntities, c9 as tokenizeTopic, ca as validateWhoKnowsInput } from './access-service-H-qEdnSs.js';
2
+ import './types-Du6VdoAg.js';
3
+ import './orchestrator-iexgVLow.js';
4
4
  import './recall-state.js';
5
5
  import './utils/serialize-mutations.js';
6
6
  import './search/port.js';
@@ -23,7 +23,7 @@ import './semantic-merge-config.js';
23
23
  import './types-continuity.js';
24
24
  import './included-memories.js';
25
25
  import './briefing.js';
26
- import './storage-DNQWtOSM.js';
26
+ import './storage-CMm-3aD3.js';
27
27
  import './corpus-read-cancellation.js';
28
28
  import './artifact-search.js';
29
29
  import './active-context-transform.js';
@@ -39,7 +39,7 @@ import './write-envelope.js';
39
39
  import './structured-attributes.js';
40
40
  import './buffer.js';
41
41
  import './extraction-faithfulness.js';
42
- import './local-llm-BXYC-mbU.js';
42
+ import './local-llm-BkkEK9rn.js';
43
43
  import './model-registry.js';
44
44
  import './fallback-llm.js';
45
45
  import './fallback-llm-codex-subscription.js';
@@ -48,8 +48,8 @@ import './resolve-provider-secret.js';
48
48
  import './transcript.js';
49
49
  import './session-integrity.js';
50
50
  import './summarizer.js';
51
- import './maintenance-zJiLsKBY.js';
52
- import './catalog-DK2eHhax.js';
51
+ import './maintenance-CLBIvVxg.js';
52
+ import './catalog-BuMyYPUn.js';
53
53
  import './namespaces/search.js';
54
54
  import './compounding/engine.js';
55
55
  import './shared-context/manager.js';
@@ -59,7 +59,7 @@ import './utility-runtime.js';
59
59
  import './tier-routing.js';
60
60
  import './lifecycle.js';
61
61
  import './orchestration/compression-guideline-coordinator.js';
62
- import './semantic-consolidation-DEzRyeyn.js';
62
+ import './semantic-consolidation-D--qe0eE.js';
63
63
  import './connectors/codex-materialize.js';
64
64
  import './logger.js';
65
65
  import './embedding-fallback.js';
@@ -81,17 +81,17 @@ import './conversation-index/chunker.js';
81
81
  import './conversation-index/backend.js';
82
82
  import './faiss-adapter-BHecI1fF.js';
83
83
  import './runtime/child-process.js';
84
- import './dependency-propagation-delivery-BMkR4gmY.js';
84
+ import './dependency-propagation-delivery-BrhPjAHQ.js';
85
85
  import './namespaces/storage.js';
86
86
  import './threading.js';
87
- import './scope-profiles-Bg1rB-Dp.js';
87
+ import './scope-profiles-BN1Dgfha.js';
88
88
  import './graph-DRkl22KE.js';
89
89
  import './graph-write-lock.js';
90
90
  import './recall-xray.js';
91
91
  import './memory-provenance.js';
92
92
  import './user-model.js';
93
93
  import './recall-context-composition.js';
94
- import './generic-recall-paths-BCRtXU32.js';
94
+ import './generic-recall-paths-C0J1Oxb7.js';
95
95
  import './live-connectors-runner.js';
96
96
  import './framework-CNDn2164.js';
97
97
  import './relevance.js';
@@ -99,7 +99,7 @@ import './negative.js';
99
99
  import './session-observer-state.js';
100
100
  import './semantic-BalR6EXU.js';
101
101
  import './replay/types.js';
102
- import './service-DGEIDOeD.js';
102
+ import './service-VealHeqO.js';
103
103
  import './extraction-judge.js';
104
104
  import './lcm/engine.js';
105
105
  import './lcm/archive.js';
@@ -122,7 +122,7 @@ import './types-B1VHaf2w.js';
122
122
  import './transfer/capsule-import.js';
123
123
  import './transfer/types.js';
124
124
  import './recall-navigation.js';
125
- import './access-namespace-preflight-C1q3XuAc.js';
125
+ import './access-namespace-preflight-U9RAdxqZ.js';
126
126
  import './access-token-capabilities.js';
127
127
  import 'node:async_hooks';
128
128
  import './recall-explain-renderer.js';
@@ -130,7 +130,7 @@ import './access-citation.js';
130
130
  import './access-health-types.js';
131
131
  import './corpus-watermark.js';
132
132
  import './replica-divergence.js';
133
- import './tagging-CPVwgadt.js';
133
+ import './tagging-BjsNFKWz.js';
134
134
  import './explicit-capture.js';
135
135
  import './access-wearables-meetings-surface.js';
136
136
  import './deep-recall.js';
package/dist/who-knows.js CHANGED
@@ -9,8 +9,8 @@ import {
9
9
  loadWhoKnowsEntities,
10
10
  tokenizeTopic,
11
11
  validateWhoKnowsInput
12
- } from "./chunk-ETNC6TT6.js";
13
- import "./chunk-RIP2AOZW.js";
12
+ } from "./chunk-43IQRLEF.js";
13
+ import "./chunk-QWQB7TOB.js";
14
14
  import "./chunk-UHVXE24Y.js";
15
15
  import "./chunk-46WM6JX2.js";
16
16
  import "./chunk-D5F7TKMH.js";
@@ -29,14 +29,16 @@ import "./chunk-F4TWWUMP.js";
29
29
  import "./chunk-72A4L5JJ.js";
30
30
  import "./chunk-A7Q43EUZ.js";
31
31
  import "./chunk-S2V7RUCL.js";
32
- import "./chunk-PQWICTRO.js";
32
+ import "./chunk-4UVJ6EIT.js";
33
33
  import "./chunk-MRPOZBJC.js";
34
34
  import "./chunk-S2HLHAZ4.js";
35
35
  import "./chunk-DM2T26WE.js";
36
36
  import "./chunk-LDXUBPMO.js";
37
+ import "./chunk-S45INSV3.js";
37
38
  import "./chunk-J3IWHCMF.js";
38
39
  import "./chunk-AAD2ZS6P.js";
39
40
  import "./chunk-DUJYRVUD.js";
41
+ import "./chunk-ZIKENA2C.js";
40
42
  import "./chunk-PCEYGOSL.js";
41
43
  import "./chunk-SCU65EZI.js";
42
44
  import "./chunk-3ONXXHQO.js";
@@ -56,15 +58,13 @@ import "./chunk-ZLQ37WJX.js";
56
58
  import "./chunk-IUM3VSHI.js";
57
59
  import "./chunk-C64XATK7.js";
58
60
  import "./chunk-42JKGUFJ.js";
61
+ import "./chunk-6Q3ZTEF6.js";
59
62
  import "./chunk-ZTHGFTMW.js";
60
63
  import "./chunk-I55KAVET.js";
61
64
  import "./chunk-L2EXJQJP.js";
62
65
  import "./chunk-45GF7Y3V.js";
63
66
  import "./chunk-EP6BA7VV.js";
64
67
  import "./chunk-E2AWJ7KQ.js";
65
- import "./chunk-S45INSV3.js";
66
- import "./chunk-ZIKENA2C.js";
67
- import "./chunk-6Q3ZTEF6.js";
68
68
  import "./chunk-YCVB7X56.js";
69
69
  import "./chunk-PJKTFXE2.js";
70
70
  import "./chunk-W5BIQOAJ.js";
@@ -79,12 +79,12 @@ import "./chunk-BJMBJZ2Y.js";
79
79
  import "./chunk-UKJAGEXH.js";
80
80
  import "./chunk-FP2373TW.js";
81
81
  import "./chunk-L272A5QW.js";
82
- import "./chunk-SGHGCFVV.js";
82
+ import "./chunk-JE334SIA.js";
83
83
  import "./chunk-ZA53AZND.js";
84
+ import "./chunk-7RJUVTVF.js";
84
85
  import "./chunk-AL3UYZ5N.js";
85
86
  import "./chunk-RL6NEVXT.js";
86
87
  import "./chunk-PWPIERBM.js";
87
- import "./chunk-7RJUVTVF.js";
88
88
  import "./chunk-C7HJ3NEI.js";
89
89
  import "./chunk-NB3LRY4T.js";
90
90
  import "./chunk-5FVVY2EB.js";
@@ -1,4 +1,4 @@
1
- import { u as MemoryCategory, N as MemorySubject } from './types-DCB90q3g.js';
1
+ import { u as MemoryCategory, N as MemorySubject } from './types-Du6VdoAg.js';
2
2
  import './message-parts/index.js';
3
3
  import './bounded-jsonl-state.js';
4
4
  import './operator-doctor-types.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remnic/core",
3
- "version": "9.69.51",
3
+ "version": "9.69.53",
4
4
  "description": "Framework-agnostic Remnic memory engine — orchestrator, storage, extraction, search, trust zones",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -3307,7 +3307,7 @@
3307
3307
  "core"
3308
3308
  ],
3309
3309
  "peerDependencies": {
3310
- "@remnic/coding-graph": "^9.69.51"
3310
+ "@remnic/coding-graph": "^9.69.53"
3311
3311
  },
3312
3312
  "peerDependenciesMeta": {
3313
3313
  "@remnic/coding-graph": {
package/src/config.ts CHANGED
@@ -34,10 +34,6 @@ import { cloneDefaultSessionObserverBands } from "./session-observer-bands.js";
34
34
  import { readEnvVar, resolveHomeDir } from "./runtime/env.js";
35
35
  import { normalizeEntitySchemas } from "./entity-schema.js";
36
36
  import { expandTildePath } from "./utils/path.js";
37
- // Finding 4 (#394): use the shared coerce helper instead of inlining the same
38
- // boolean-coercion logic that connectors/index.ts already exports. The helper
39
- // lives in connectors/coerce.ts (a tiny, dependency-free module) so neither
40
- // config.ts → connectors/index.ts nor the reverse circular import arises.
41
37
  import { coerceBool, coerceBooleanLike, coerceInstallExtension, coerceNumber } from "./connectors/coerce.js";
42
38
  import { parseSubjectRuntimeConfig } from "./subject-config.js";
43
39
  import { parseRecallStateViews } from "./recall-state-view.js";
@@ -58,6 +54,7 @@ import { parseDriftDetectionConfig } from "./preferences/drift-config.js";
58
54
  import { parseDeepRecallConfig } from "./deep-recall-config.js";
59
55
  import { parseRecallNavigationConfig } from "./recall-navigation-config.js";
60
56
  import { parseSessionExperienceConfig } from "./experience/session-experience-config.js";
57
+ import { parseSeedGraduationConfig } from "./lifecycle/seed-graduation.js";
61
58
  import { parseContradictionLocalizationConfig, parseContradictionScanConfig } from "./contradiction-config.js";
62
59
  import { parseGraphPathScoringConfig } from "./graph-path-scoring-config.js";
63
60
  import { parseWritePathDedupConfig } from "./dedup/novelty-gate.js";
@@ -639,6 +636,7 @@ const MEMORY_OS_PRESETS: Record<MemoryOsPresetName, Record<string, unknown>> = {
639
636
  // explicitly.
640
637
  procedural: { enabled: false },
641
638
  sessionExperience: { enabled: false },
639
+ seedGraduation: { enabled: false },
642
640
  recallNavigation: { enabled: false },
643
641
  },
644
642
  balanced: {
@@ -1834,6 +1832,7 @@ export function parseConfig(
1834
1832
  recallNavigation: parseRecallNavigationConfig(cfg.recallNavigation),
1835
1833
  // Session-end experience extraction (issue #2979) — default off.
1836
1834
  sessionExperience: parseSessionExperienceConfig(cfg.sessionExperience),
1835
+ seedGraduation: parseSeedGraduationConfig(cfg.seedGraduation),
1837
1836
  dependencyPropagation: parseDependencyPropagationConfig(cfg),
1838
1837
  // Temporal Supersession (issue #375)
1839
1838
  temporalSupersessionEnabled: cfg.temporalSupersessionEnabled !== false, // On by default
@@ -8,6 +8,8 @@ import { test } from "node:test";
8
8
  import {
9
9
  DIRECTORY_SIDECAR_BASENAME,
10
10
  DIRECTORY_SIDECAR_MARKER,
11
+ NEIGHBORHOOD_ABSTRACT_LABEL,
12
+ applyDirectorySidecarDrillDown,
11
13
  findDirectorySidecarsForQuery,
12
14
  loadDirectorySidecar,
13
15
  parseDirectorySidecarsEnabled,
@@ -385,3 +387,114 @@ test("write-path refresh stays inside the changed namespace and skips unrelated
385
387
  rmSync(root, { recursive: true, force: true });
386
388
  }
387
389
  });
390
+
391
+ function hit(rel: string, snippet: string, score = 1) {
392
+ return { path: rel, snippet, score };
393
+ }
394
+
395
+ test("drill-down is a no-op when disabled even if sidecars exist", async () => {
396
+ const root = store();
397
+ try {
398
+ await writeMemory(root, "facts/2026-01-02/fact-1.md", "Telescope calibration log for the north dome.");
399
+ await runDirectorySidecarMaintenance(root, true);
400
+ const incoming = [hit("facts/2026-01-02/fact-1.md", "Telescope calibration log")];
401
+ const out = await applyDirectorySidecarDrillDown("/does-not-exist", "telescope", incoming, {
402
+ enabled: false,
403
+ });
404
+ assert.deepEqual(out, incoming);
405
+ assert.equal(out[0].snippet, "Telescope calibration log");
406
+ } finally {
407
+ rmSync(root, { recursive: true, force: true });
408
+ }
409
+ });
410
+
411
+ test("drill-down attaches the neighborhood abstract to hits under a fresh sidecar", async () => {
412
+ const root = store();
413
+ try {
414
+ await writeMemory(root, "facts/2026-01-02/fact-1.md", "Telescope calibration log for the north dome.");
415
+ await writeMemory(root, "facts/2026-01-02/fact-2.md", "Mirror alignment drift measured at 3 arcmin.");
416
+ await writeMemory(root, "entities/crew-1.md", "Catering roster for the base kitchen.");
417
+ await runDirectorySidecarMaintenance(root, true);
418
+
419
+ const incoming = [
420
+ hit("facts/2026-01-02/fact-1.md", "Telescope calibration log"),
421
+ hit("entities/crew-1.md", "Catering roster"),
422
+ ];
423
+ const out = await applyDirectorySidecarDrillDown(root, "telescope calibration", incoming, {
424
+ enabled: true,
425
+ });
426
+ assert.match(out[0].snippet, new RegExp(`^${NEIGHBORHOOD_ABSTRACT_LABEL} `));
427
+ assert.match(out[0].snippet, /Telescope/i);
428
+ assert.match(out[0].snippet, /Telescope calibration log$/m);
429
+ assert.equal(out[1].snippet, "Catering roster", "unrelated hit keeps its snippet");
430
+ assert.equal(out[0].path, incoming[0].path);
431
+ assert.equal(out[1].path, incoming[1].path);
432
+ } finally {
433
+ rmSync(root, { recursive: true, force: true });
434
+ }
435
+ });
436
+
437
+ test("drill-down skips stale sidecars and does not write", async () => {
438
+ const root = store();
439
+ try {
440
+ const dayDir = path.join(root, "facts", "2026-01-02");
441
+ await writeMemory(root, "facts/2026-01-02/fact-1.md", "Boiler pressure nominal.");
442
+ await runDirectorySidecarMaintenance(root, true);
443
+ await writeMemory(root, "facts/2026-01-02/fact-2.md", "Coolant pump replaced with spare unit.");
444
+ const stale = await loadDirectorySidecar(dayDir, { refresh: false });
445
+ assert.equal(stale?.fresh, false);
446
+
447
+ const mtimeBefore = (await stat(path.join(dayDir, DIRECTORY_SIDECAR_BASENAME))).mtimeMs;
448
+ const out = await applyDirectorySidecarDrillDown(
449
+ root,
450
+ "boiler",
451
+ [hit("facts/2026-01-02/fact-1.md", "Boiler pressure nominal.")],
452
+ { enabled: true },
453
+ );
454
+ assert.equal(out[0].snippet, "Boiler pressure nominal.");
455
+ const mtimeAfter = (await stat(path.join(dayDir, DIRECTORY_SIDECAR_BASENAME))).mtimeMs;
456
+ assert.equal(mtimeAfter, mtimeBefore, "retrieval must not refresh a stale sidecar");
457
+ } finally {
458
+ rmSync(root, { recursive: true, force: true });
459
+ }
460
+ });
461
+
462
+ test("drill-down namespace scoping never attaches a foreign abstract", async () => {
463
+ const root = store();
464
+ try {
465
+ await writeMemory(root, "namespaces/alpha/facts/2026-05-01/a-1.md", "Alpha wing telescope mirror audit.");
466
+ await writeMemory(root, "namespaces/beta/facts/2026-05-01/b-1.md", "Beta wing telescope mirror audit.");
467
+ await runDirectorySidecarMaintenance(root, true);
468
+
469
+ const betaHits = [hit("namespaces/beta/facts/2026-05-01/b-1.md", "Beta wing telescope mirror audit.")];
470
+ const out = await applyDirectorySidecarDrillDown(root, "telescope mirror", betaHits, {
471
+ enabled: true,
472
+ namespace: "beta",
473
+ });
474
+ assert.match(out[0].snippet, new RegExp(`^${NEIGHBORHOOD_ABSTRACT_LABEL} `));
475
+ assert.match(out[0].snippet, /Beta wing/i);
476
+ assert.doesNotMatch(out[0].snippet, /Alpha wing/i);
477
+ } finally {
478
+ rmSync(root, { recursive: true, force: true });
479
+ }
480
+ });
481
+
482
+ test("drill-down prefers the most specific matching directory", async () => {
483
+ const root = store();
484
+ try {
485
+ await writeMemory(root, "facts/2026-01-02/fact-1.md", "Telescope calibration log for the north dome.");
486
+ await writeMemory(root, "facts/2026-01-03/fact-2.md", "Guide star acquisition failed twice.");
487
+ await runDirectorySidecarMaintenance(root, true);
488
+
489
+ const out = await applyDirectorySidecarDrillDown(
490
+ root,
491
+ "telescope calibration",
492
+ [hit("facts/2026-01-02/fact-1.md", "Telescope calibration log")],
493
+ { enabled: true },
494
+ );
495
+ assert.match(out[0].snippet, /2026-01-02/);
496
+ assert.doesNotMatch(out[0].snippet, /Guide star/);
497
+ } finally {
498
+ rmSync(root, { recursive: true, force: true });
499
+ }
500
+ });
@@ -27,12 +27,16 @@
27
27
  * sidecar path WITHOUT the marker are user content: never overwritten, never
28
28
  * removed.
29
29
  *
30
- * Layer 2 (this slice): {@link refreshDirectorySidecarsAfterWrite} refreshes
31
- * only the changed directory and its category ancestors, so a memory write
32
- * populates sidecars without walking the rest of the store. `enabled: false`
33
- * is a proven no-op (no reads, no writes). Config parsing lives here;
34
- * `parseConfig` wiring, retrieval drill-down, xray, and LLM summarization
35
- * remain later layers on #2977 (`config.ts` is at its file-size ratchet).
30
+ * Layer 2: {@link refreshDirectorySidecarsAfterWrite} refreshes only the
31
+ * changed directory and its category ancestors. `enabled: false` is a
32
+ * proven no-op (no reads, no writes).
33
+ *
34
+ * Layer 3 (this slice): {@link applyDirectorySidecarDrillDown} scores
35
+ * fresh sidecars and attaches the winning directory's abstract to hits.
36
+ * `enabled` stays a function argument — not a parseConfig key (`config.ts`
37
+ * and `types.ts` are at their file-size ratchets). Retrieval never writes.
38
+ * xray trajectory, storage write-hook, parseConfig wiring, and LLM
39
+ * summarization remain later layers on #2977.
36
40
  */
37
41
 
38
42
  import { createHash } from "node:crypto";
@@ -47,6 +51,8 @@ import { RECALL_FALLBACK_DIRS } from "./utils/category-dir.js";
47
51
 
48
52
  export const DIRECTORY_SIDECAR_BASENAME = "overview.md";
49
53
  export const DIRECTORY_SIDECAR_MARKER = "<!-- remnic-directory-sidecar -->";
54
+ /** Prefix prepended to a hit snippet when a fresh directory abstract attaches. */
55
+ export const NEIGHBORHOOD_ABSTRACT_LABEL = "Neighborhood:";
50
56
 
51
57
  const ABSTRACT_MAX_CHARS = 256;
52
58
  const OVERVIEW_MAX_CHARS = 4000;
@@ -87,6 +93,13 @@ export interface DirectorySidecarMatch extends DirectorySidecar {
87
93
  readonly score: number;
88
94
  }
89
95
 
96
+ /** Minimal hit shape drill-down mutates. Extra fields pass through. */
97
+ export interface DirectorySidecarHit {
98
+ path: string;
99
+ snippet: string;
100
+ score: number;
101
+ }
102
+
90
103
  export interface DirectorySidecarReport {
91
104
  written: string[];
92
105
  removed: string[];
@@ -435,7 +448,7 @@ export async function loadDirectorySidecar(
435
448
  export async function findDirectorySidecarsForQuery(
436
449
  memoryDir: string,
437
450
  query: string,
438
- options: { namespace?: string; limit?: number } = {},
451
+ options: { namespace?: string; limit?: number; refresh?: boolean } = {},
439
452
  ): Promise<DirectorySidecarMatch[]> {
440
453
  const scope = options.namespace ? path.join(memoryDir, "namespaces", options.namespace) : memoryDir;
441
454
  if (!isRealDirectory(scope)) return [];
@@ -447,7 +460,7 @@ export async function findDirectorySidecarsForQuery(
447
460
  const matches: DirectorySidecarMatch[] = [];
448
461
  for (const root of scopeRoots(scope)) {
449
462
  for (const dir of collectSidecarDirs(root)) {
450
- const sidecar = await loadDirectorySidecar(dir);
463
+ const sidecar = await loadDirectorySidecar(dir, { refresh: options.refresh });
451
464
  if (!sidecar) continue;
452
465
  const abstractLower = sidecar.abstract.toLowerCase();
453
466
  const overviewLower = sidecar.overview.toLowerCase();
@@ -466,3 +479,52 @@ export async function findDirectorySidecarsForQuery(
466
479
  .filter((candidate) => !matches.some((other) => other.dir.startsWith(`${candidate.dir}${path.sep}`)))
467
480
  .slice(0, limit);
468
481
  }
482
+
483
+ function attachNeighborhoodAbstract(snippet: string, abstract: string): string {
484
+ const line = `${NEIGHBORHOOD_ABSTRACT_LABEL} ${abstract}`;
485
+ if (snippet === line || snippet.startsWith(`${line}\n`)) return snippet;
486
+ return snippet.length === 0 ? line : `${line}\n${snippet}`;
487
+ }
488
+
489
+ function mostSpecificSidecarForHit(
490
+ memoryDir: string,
491
+ hitPath: string,
492
+ matches: readonly DirectorySidecarMatch[],
493
+ ): DirectorySidecarMatch | null {
494
+ if (path.basename(hitPath) === DIRECTORY_SIDECAR_BASENAME) return null;
495
+ const abs = path.isAbsolute(hitPath) ? path.resolve(hitPath) : path.resolve(memoryDir, hitPath);
496
+ let best: DirectorySidecarMatch | null = null;
497
+ for (const match of matches) {
498
+ const rel = path.relative(match.dir, abs);
499
+ if (rel === "" || rel.startsWith("..") || path.isAbsolute(rel)) continue;
500
+ if (best === null || match.dir.length > best.dir.length) best = match;
501
+ }
502
+ return best;
503
+ }
504
+
505
+ /**
506
+ * Retrieval drill-down (layer 3 of #2977): score fresh directory sidecars
507
+ * and attach the winning neighborhood abstract to hits under that directory.
508
+ * `enabled: false` (the default) returns hits unchanged with no I/O.
509
+ * Never writes. Does not reorder. parseConfig is not consulted.
510
+ */
511
+ export async function applyDirectorySidecarDrillDown<T extends DirectorySidecarHit>(
512
+ memoryDir: string,
513
+ query: string,
514
+ hits: readonly T[],
515
+ options: { enabled?: boolean; namespace?: string } = {},
516
+ ): Promise<T[]> {
517
+ if (options.enabled !== true) return [...hits];
518
+ const matches = await findDirectorySidecarsForQuery(memoryDir, query, {
519
+ namespace: options.namespace,
520
+ refresh: false,
521
+ });
522
+ const fresh = matches.filter((match) => match.fresh && match.abstract.length > 0);
523
+ if (fresh.length === 0) return [...hits];
524
+ return hits.map((hit) => {
525
+ const match = mostSpecificSidecarForHit(memoryDir, hit.path, fresh);
526
+ if (!match) return hit;
527
+ const snippet = attachNeighborhoodAbstract(hit.snippet, match.abstract);
528
+ return snippet === hit.snippet ? hit : { ...hit, snippet };
529
+ });
530
+ }