@remnic/core 9.3.683 → 9.3.685

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 (440) hide show
  1. package/dist/access-boundary.d.ts +5 -4
  2. package/dist/access-boundary.js +27 -26
  3. package/dist/access-cli.js +75 -75
  4. package/dist/access-http.d.ts +5 -4
  5. package/dist/access-http.js +32 -31
  6. package/dist/access-mcp.d.ts +5 -4
  7. package/dist/access-mcp.js +29 -28
  8. package/dist/access-operations.d.ts +5 -4
  9. package/dist/access-operations.js +28 -27
  10. package/dist/{access-service-DvA6jyHL.d.ts → access-service-DeKrlYU_.d.ts} +2 -11
  11. package/dist/access-service.d.ts +5 -4
  12. package/dist/access-service.js +26 -25
  13. package/dist/access-surface-catalog.d.ts +5 -4
  14. package/dist/action-confidence.d.ts +1 -1
  15. package/dist/active-memory-bridge.d.ts +1 -1
  16. package/dist/active-recall.d.ts +1 -1
  17. package/dist/active-recall.js +3 -3
  18. package/dist/adapters/index.js +4 -4
  19. package/dist/adapters/registry.js +2 -2
  20. package/dist/{auto-sync-5CJBJMPZ.js → auto-sync-NUQWSFQD.js} +7 -7
  21. package/dist/behavior-learner.d.ts +1 -1
  22. package/dist/behavior-signals.d.ts +1 -1
  23. package/dist/bootstrap.d.ts +4 -3
  24. package/dist/bootstrap.js +2 -2
  25. package/dist/boxes.js +2 -2
  26. package/dist/briefing.d.ts +1 -1
  27. package/dist/briefing.js +5 -4
  28. package/dist/buffer-surprise-report.d.ts +1 -1
  29. package/dist/buffer.d.ts +1 -1
  30. package/dist/buffer.js +2 -2
  31. package/dist/calibration.d.ts +1 -1
  32. package/dist/calibration.js +4 -4
  33. package/dist/capabilities.d.ts +1 -1
  34. package/dist/catalog-COqWZlZ6.d.ts +456 -0
  35. package/dist/causal-behavior.d.ts +1 -1
  36. package/dist/causal-behavior.js +4 -4
  37. package/dist/causal-chain.js +4 -4
  38. package/dist/causal-consolidation.d.ts +1 -1
  39. package/dist/causal-consolidation.js +13 -12
  40. package/dist/causal-consolidation.js.map +1 -1
  41. package/dist/causal-retrieval.js +4 -4
  42. package/dist/causal-trajectory-graph.js +1 -1
  43. package/dist/causal-trajectory.js +1 -1
  44. package/dist/{chunk-UJDV2NLT.js → chunk-2KAYTPPT.js} +12 -12
  45. package/dist/{chunk-QUA2JPH2.js → chunk-2SJCWLQD.js} +3 -3
  46. package/dist/{chunk-YTWNKQ2G.js → chunk-3FC6LW6T.js} +2 -2
  47. package/dist/{chunk-I75DF4FZ.js → chunk-4FE2K57M.js} +3 -3
  48. package/dist/{chunk-L5MUA6Q7.js → chunk-4N3TFFPH.js} +2 -2
  49. package/dist/{chunk-BTVX7ZXZ.js → chunk-4NFVPDIL.js} +4 -4
  50. package/dist/{chunk-OUWAQVDJ.js → chunk-5CEJH5ZN.js} +2 -2
  51. package/dist/{chunk-IUZWBCJX.js → chunk-6GJS4BFH.js} +10 -7
  52. package/dist/chunk-6GJS4BFH.js.map +1 -0
  53. package/dist/{chunk-UAODC6GJ.js → chunk-6O6A6YUO.js} +4 -4
  54. package/dist/{chunk-HQ6NIBL6.js → chunk-7FL4CNPV.js} +2 -2
  55. package/dist/{chunk-5VDJMYTF.js → chunk-7WWURLG6.js} +3 -3
  56. package/dist/{chunk-QWRC7GIO.js → chunk-A4HH2EWA.js} +5 -5
  57. package/dist/{chunk-4SKKVWLQ.js → chunk-AGJH5ISO.js} +2 -2
  58. package/dist/{chunk-APJQ6UEA.js → chunk-AGNBY3VG.js} +4 -4
  59. package/dist/{chunk-I3HSKQT7.js → chunk-B43NZNMG.js} +68 -106
  60. package/dist/chunk-B43NZNMG.js.map +1 -0
  61. package/dist/{chunk-NQMBSSWW.js → chunk-B4XVLHJA.js} +3 -3
  62. package/dist/{chunk-GSTYVG5L.js → chunk-BFVPIKDY.js} +3 -3
  63. package/dist/{chunk-TY5NT3T3.js → chunk-BLIWOONZ.js} +51 -43
  64. package/dist/chunk-BLIWOONZ.js.map +1 -0
  65. package/dist/{chunk-AJU4PJGY.js → chunk-BVKCV2ZY.js} +2 -2
  66. package/dist/{chunk-QVWM4C24.js → chunk-BZISAF67.js} +9 -10
  67. package/dist/chunk-BZISAF67.js.map +1 -0
  68. package/dist/{chunk-EG4TCVMU.js → chunk-CTOQEZSN.js} +2 -2
  69. package/dist/{chunk-7OGJQP7T.js → chunk-DCWIQFNA.js} +4 -4
  70. package/dist/{chunk-MHQC2WU2.js → chunk-DKTSR7EK.js} +2 -2
  71. package/dist/{chunk-RN7MUWON.js → chunk-EHISUJFN.js} +2 -2
  72. package/dist/{chunk-WLEB7WCG.js → chunk-EO5QWINU.js} +2 -2
  73. package/dist/{chunk-XKXKSQU7.js → chunk-EXM3CQTZ.js} +2 -2
  74. package/dist/{chunk-TOQEZ63C.js → chunk-FE6DQUNJ.js} +9 -9
  75. package/dist/{chunk-LCC5EZTT.js → chunk-FIVDN2SM.js} +4 -4
  76. package/dist/{chunk-452WDNFO.js → chunk-GG6AJN7A.js} +2 -2
  77. package/dist/{chunk-O2WELT5C.js → chunk-GS55WYRL.js} +3 -3
  78. package/dist/{chunk-OHX52AOS.js → chunk-GTDH3IUH.js} +2 -2
  79. package/dist/{chunk-IBTZEBUD.js → chunk-HYNHLBKA.js} +2 -2
  80. package/dist/{chunk-V254FAT5.js → chunk-IIDSFFE5.js} +2 -2
  81. package/dist/{chunk-EVWIEEKZ.js → chunk-IQ7WCZRW.js} +2 -2
  82. package/dist/{chunk-B5XMS73R.js → chunk-IQVQJJL7.js} +2 -2
  83. package/dist/{chunk-M4I3TREG.js → chunk-JPCKLFWK.js} +29 -30
  84. package/dist/{chunk-M4I3TREG.js.map → chunk-JPCKLFWK.js.map} +1 -1
  85. package/dist/{chunk-6RHNCKHG.js → chunk-K43PI6DQ.js} +2 -2
  86. package/dist/{chunk-OIF36KGD.js → chunk-KCQA46NR.js} +2 -2
  87. package/dist/{chunk-2LDBXPLB.js → chunk-KF74X62T.js} +1 -1
  88. package/dist/{chunk-MAV46GWQ.js → chunk-KYYL4U6X.js} +2 -2
  89. package/dist/{chunk-6GC5SGFE.js → chunk-L24JROPR.js} +2 -2
  90. package/dist/{chunk-6VP3YUCS.js → chunk-LLONI6PY.js} +2 -2
  91. package/dist/{chunk-Q5ZU3RNY.js → chunk-LQ6JI4VH.js} +2 -2
  92. package/dist/{chunk-ODWI5XU2.js → chunk-MCQDSY4G.js} +3 -3
  93. package/dist/{chunk-HP5FMB6L.js → chunk-MDJURR27.js} +2 -2
  94. package/dist/{chunk-FMSDA2D3.js → chunk-NGFEWFNK.js} +1 -1
  95. package/dist/chunk-NGFEWFNK.js.map +1 -0
  96. package/dist/{chunk-2ODBA7MQ.js → chunk-NU3CSQ4H.js} +5 -5
  97. package/dist/chunk-NU3CSQ4H.js.map +1 -0
  98. package/dist/{chunk-T2PO5MUF.js → chunk-O7GOFAM3.js} +2 -2
  99. package/dist/{chunk-Z2OXSMZK.js → chunk-OBXTMFZQ.js} +3 -3
  100. package/dist/{chunk-FDSOMA6M.js → chunk-OFUULUSY.js} +8 -9
  101. package/dist/{chunk-FDSOMA6M.js.map → chunk-OFUULUSY.js.map} +1 -1
  102. package/dist/{chunk-KV6CX4ON.js → chunk-OV4D5T7V.js} +3 -3
  103. package/dist/{chunk-KACIOX42.js → chunk-PH3HOKYW.js} +2 -2
  104. package/dist/{chunk-NHFXF4ZO.js → chunk-PK6RGRSD.js} +2 -2
  105. package/dist/{chunk-C3IW2F5Z.js → chunk-PLBIPT6I.js} +2 -2
  106. package/dist/{chunk-QY7YA7OL.js → chunk-PNLCEFE4.js} +2 -2
  107. package/dist/{chunk-AGRPGAKR.js → chunk-PONNZ54D.js} +2 -2
  108. package/dist/{chunk-XZ4WBBB5.js → chunk-PWFWCGOO.js} +2 -2
  109. package/dist/{chunk-G7Z3C2X6.js → chunk-QANVLERJ.js} +4 -4
  110. package/dist/{chunk-W4RVMTHR.js → chunk-QRDOSYOR.js} +2 -2
  111. package/dist/{chunk-6IMKOIZ6.js → chunk-R6OVFAX6.js} +2 -2
  112. package/dist/{chunk-2QSZNTDO.js → chunk-RKNJBZ55.js} +4 -4
  113. package/dist/{chunk-JOASJWQR.js → chunk-SANZHXY2.js} +2 -2
  114. package/dist/{chunk-7DTASS5T.js → chunk-SJHM6I4J.js} +2 -2
  115. package/dist/{chunk-H4BDNIKQ.js → chunk-SQGPGC76.js} +14 -24
  116. package/dist/{chunk-H4BDNIKQ.js.map → chunk-SQGPGC76.js.map} +1 -1
  117. package/dist/{chunk-B2B2IHUH.js → chunk-STOEE37X.js} +4 -4
  118. package/dist/{chunk-GKKAXVAJ.js → chunk-U33LWTQQ.js} +1 -7
  119. package/dist/chunk-U33LWTQQ.js.map +1 -0
  120. package/dist/{chunk-GNAMDNGT.js → chunk-U7D7NP4J.js} +5 -5
  121. package/dist/{chunk-DRD2Q7HQ.js → chunk-UFS7OXGL.js} +2 -2
  122. package/dist/{chunk-H3HDXD3U.js → chunk-UPTZYUYJ.js} +2 -2
  123. package/dist/{chunk-3IND7N4X.js → chunk-UTYBJR7M.js} +2 -2
  124. package/dist/{chunk-LN4YGHTM.js → chunk-UUH4YQOF.js} +2 -2
  125. package/dist/{chunk-6VF75M3X.js → chunk-VGUOEDTU.js} +2 -2
  126. package/dist/{chunk-44VFF3BB.js → chunk-VILEUJXC.js} +2 -2
  127. package/dist/{chunk-7SI52C65.js → chunk-VL7DP3OW.js} +2 -2
  128. package/dist/{chunk-7DHTMOND.js → chunk-VQ34TERH.js} +2 -2
  129. package/dist/{chunk-H6PMGMNP.js → chunk-VX6OBUDW.js} +2 -2
  130. package/dist/{chunk-EW5KFXHL.js → chunk-WDXCNJSF.js} +7 -7
  131. package/dist/{chunk-ARLRTZZZ.js → chunk-WIHPNY65.js} +79 -3
  132. package/dist/chunk-WIHPNY65.js.map +1 -0
  133. package/dist/{chunk-X6IRLNOO.js → chunk-WIWPSQYU.js} +2 -2
  134. package/dist/{chunk-DOCTITOP.js → chunk-WRFKZEO6.js} +2 -2
  135. package/dist/{chunk-E6ZDCOHM.js → chunk-XBZQRZ6G.js} +2 -2
  136. package/dist/{chunk-7YX23JBA.js → chunk-XHYGJVXL.js} +2 -2
  137. package/dist/{chunk-JD4SCARD.js → chunk-YN4ZT4CW.js} +1 -1
  138. package/dist/{chunk-YXWAILM4.js → chunk-YOI3ELXF.js} +2 -2
  139. package/dist/{chunk-XCAZF7KQ.js → chunk-ZA2S2VLL.js} +2 -2
  140. package/dist/{chunk-BEUDU7Y4.js → chunk-ZCWIH4LH.js} +2 -2
  141. package/dist/chunk-ZPQVJEVQ.js +184 -0
  142. package/dist/chunk-ZPQVJEVQ.js.map +1 -0
  143. package/dist/{chunk-WEPMT6SC.js → chunk-ZPTISBQU.js} +8 -8
  144. package/dist/{cli-feUe-x3I.d.ts → cli-D3-Q5Uod.d.ts} +3 -3
  145. package/dist/cli.d.ts +6 -5
  146. package/dist/cli.js +54 -54
  147. package/dist/compounding/engine.d.ts +1 -1
  148. package/dist/compounding/engine.js +6 -5
  149. package/dist/compounding/preference-consolidator.d.ts +1 -1
  150. package/dist/compounding/preference-consolidator.js +1 -1
  151. package/dist/compression-optimizer.d.ts +1 -1
  152. package/dist/config.d.ts +1 -1
  153. package/dist/config.js +3 -3
  154. package/dist/connectors/codex-materialize-runner.d.ts +1 -1
  155. package/dist/connectors/codex-materialize-runner.js +6 -5
  156. package/dist/connectors/codex-materialize.d.ts +1 -1
  157. package/dist/connectors/codex-materialize.js +2 -2
  158. package/dist/connectors/index.d.ts +1 -1
  159. package/dist/connectors/index.js +9 -9
  160. package/dist/consolidation-provenance-check.d.ts +1 -1
  161. package/dist/consolidation-undo.d.ts +1 -1
  162. package/dist/contradiction/index.d.ts +1 -1
  163. package/dist/contradiction/index.js +3 -3
  164. package/dist/{contradiction-scan-AZTGFMPY.js → contradiction-scan-HWGEOUDS.js} +3 -3
  165. package/dist/conversation-index/backend.d.ts +1 -1
  166. package/dist/conversation-index/backend.js +5 -5
  167. package/dist/conversation-index/chunker.d.ts +1 -1
  168. package/dist/conversation-index/cleanup.js +2 -2
  169. package/dist/conversation-index/faiss-adapter.d.ts +1 -1
  170. package/dist/conversation-index/faiss-adapter.js +2 -2
  171. package/dist/conversation-index/indexer.d.ts +1 -1
  172. package/dist/conversation-index/indexer.js +2 -2
  173. package/dist/conversation-index/search.d.ts +1 -1
  174. package/dist/conversation-index/search.js +2 -2
  175. package/dist/day-summary.d.ts +1 -1
  176. package/dist/day-summary.js +2 -2
  177. package/dist/delinearize.d.ts +1 -1
  178. package/dist/direct-answer-wiring.d.ts +1 -1
  179. package/dist/direct-answer.d.ts +1 -1
  180. package/dist/embedding-fallback.d.ts +1 -1
  181. package/dist/embedding-fallback.js +2 -2
  182. package/dist/enrichment/index.d.ts +1 -1
  183. package/dist/entity-retrieval.d.ts +1 -1
  184. package/dist/entity-retrieval.js +7 -5
  185. package/dist/entity-schema.d.ts +1 -1
  186. package/dist/explicit-capture.d.ts +4 -3
  187. package/dist/explicit-capture.js +1 -1
  188. package/dist/extraction-judge-telemetry.d.ts +1 -1
  189. package/dist/extraction-judge-telemetry.js +2 -2
  190. package/dist/extraction-judge-training.d.ts +1 -1
  191. package/dist/extraction-judge-training.js +2 -2
  192. package/dist/extraction-judge.d.ts +1 -1
  193. package/dist/extraction-judge.js +5 -5
  194. package/dist/extraction.d.ts +1 -1
  195. package/dist/extraction.js +9 -9
  196. package/dist/fallback-llm.d.ts +1 -1
  197. package/dist/fallback-llm.js +4 -4
  198. package/dist/{first-start-migration-FF7YFGRP.js → first-start-migration-PG5HBC3K.js} +4 -4
  199. package/dist/{graph-edge-decay-KSVJGCZW.js → graph-edge-decay-D7OESCBR.js} +2 -2
  200. package/dist/graph-snapshot.js +2 -2
  201. package/dist/graph.js +1 -1
  202. package/dist/identity-continuity.d.ts +1 -1
  203. package/dist/importance.d.ts +1 -1
  204. package/dist/index.d.ts +9 -8
  205. package/dist/index.js +112 -112
  206. package/dist/intent.d.ts +1 -1
  207. package/dist/lcm/archive.js +2 -2
  208. package/dist/lcm/engine.d.ts +1 -1
  209. package/dist/lcm/engine.js +5 -5
  210. package/dist/lcm/index.d.ts +1 -1
  211. package/dist/lcm/index.js +8 -8
  212. package/dist/lcm/schema.js +2 -2
  213. package/dist/lcm/summarizer.js +3 -3
  214. package/dist/lcm/tools.d.ts +1 -1
  215. package/dist/lifecycle.d.ts +1 -1
  216. package/dist/live-connectors-runner.d.ts +1 -1
  217. package/dist/local-llm.d.ts +1 -1
  218. package/dist/local-llm.js +2 -2
  219. package/dist/logger.js +1 -1
  220. package/dist/maintenance/memory-governance.d.ts +1 -1
  221. package/dist/maintenance/memory-governance.js +6 -4
  222. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +6 -4
  223. package/dist/maintenance/rebuild-memory-projection.js +8 -6
  224. package/dist/mcp-memory-inspector-app.d.ts +5 -4
  225. package/dist/memory-action-policy.d.ts +1 -1
  226. package/dist/memory-cache.d.ts +1 -1
  227. package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
  228. package/dist/memory-projection-store.d.ts +1 -1
  229. package/dist/memory-provenance.d.ts +1 -1
  230. package/dist/memory-worth-outcomes.d.ts +1 -1
  231. package/dist/model-registry.js +2 -2
  232. package/dist/models-json.d.ts +1 -1
  233. package/dist/models-json.js +2 -2
  234. package/dist/namespaces/migrate.d.ts +2 -1
  235. package/dist/namespaces/migrate.js +18 -17
  236. package/dist/namespaces/principal.d.ts +1 -1
  237. package/dist/namespaces/search.d.ts +1 -1
  238. package/dist/namespaces/search.js +13 -13
  239. package/dist/namespaces/storage.d.ts +43 -2
  240. package/dist/namespaces/storage.js +6 -4
  241. package/dist/native-knowledge.d.ts +1 -1
  242. package/dist/native-knowledge.js +2 -2
  243. package/dist/negative.js +2 -2
  244. package/dist/operator-toolkit.d.ts +1 -1
  245. package/dist/operator-toolkit.js +24 -24
  246. package/dist/{orchestrator-7zPqGupX.d.ts → orchestrator-CA6ouzBn.d.ts} +5 -466
  247. package/dist/orchestrator.d.ts +4 -3
  248. package/dist/orchestrator.js +68 -67
  249. package/dist/patterns-cli.d.ts +1 -1
  250. package/dist/policy-runtime.d.ts +1 -1
  251. package/dist/profiling.js +2 -2
  252. package/dist/provenance.d.ts +94 -0
  253. package/dist/provenance.js +17 -0
  254. package/dist/qmd-recall-cache.d.ts +1 -1
  255. package/dist/qmd.d.ts +1 -1
  256. package/dist/qmd.js +2 -2
  257. package/dist/recall-disclosure-escalation.d.ts +1 -1
  258. package/dist/recall-explain-renderer.d.ts +1 -1
  259. package/dist/recall-explain-renderer.js +3 -3
  260. package/dist/recall-planner-llm.d.ts +1 -1
  261. package/dist/recall-planner-llm.js +4 -4
  262. package/dist/recall-qos.js +2 -2
  263. package/dist/recall-state.d.ts +1 -1
  264. package/dist/recall-state.js +2 -2
  265. package/dist/recall-tag-filter.d.ts +1 -1
  266. package/dist/recall-xray-cli.d.ts +1 -1
  267. package/dist/recall-xray-cli.js +4 -4
  268. package/dist/recall-xray-renderer.d.ts +1 -1
  269. package/dist/recall-xray-renderer.js +3 -3
  270. package/dist/recall-xray.d.ts +1 -1
  271. package/dist/recall-xray.js +2 -2
  272. package/dist/relevance.js +2 -2
  273. package/dist/{resolution-IDTEBJFS.js → resolution-MN36NW5P.js} +3 -3
  274. package/dist/resolution-MN36NW5P.js.map +1 -0
  275. package/dist/resolve-auth-token.d.ts +1 -1
  276. package/dist/resolve-provider-secret.js +2 -2
  277. package/dist/resume-bundles.js +5 -5
  278. package/dist/retrieval-agents.d.ts +1 -1
  279. package/dist/retrieval-agents.js +2 -2
  280. package/dist/retrieval-tiers.d.ts +1 -1
  281. package/dist/routing/engine.d.ts +1 -1
  282. package/dist/routing/store.d.ts +1 -1
  283. package/dist/routing/store.js +2 -2
  284. package/dist/search/embed-helper.d.ts +1 -1
  285. package/dist/search/embed-helper.js +2 -2
  286. package/dist/search/factory.d.ts +1 -1
  287. package/dist/search/factory.js +12 -12
  288. package/dist/search/index.d.ts +1 -1
  289. package/dist/search/index.js +14 -14
  290. package/dist/search/lancedb-backend.d.ts +1 -1
  291. package/dist/search/lancedb-backend.js +2 -2
  292. package/dist/search/meilisearch-backend.d.ts +1 -1
  293. package/dist/search/meilisearch-backend.js +2 -2
  294. package/dist/search/noop-backend.d.ts +1 -1
  295. package/dist/search/orama-backend.d.ts +1 -1
  296. package/dist/search/orama-backend.js +2 -2
  297. package/dist/search/port.d.ts +1 -1
  298. package/dist/search/remote-backend.d.ts +1 -1
  299. package/dist/search/remote-backend.js +2 -2
  300. package/dist/{semantic-consolidation-BX9Z9_aK.d.ts → semantic-consolidation-CWch5uM7.d.ts} +1 -1
  301. package/dist/semantic-consolidation.d.ts +2 -2
  302. package/dist/semantic-consolidation.js +7 -6
  303. package/dist/semantic-rule-promotion.js +6 -4
  304. package/dist/semantic-rule-verifier.d.ts +1 -1
  305. package/dist/semantic-rule-verifier.js +6 -4
  306. package/dist/session-observer-bands.d.ts +1 -1
  307. package/dist/session-observer-state.d.ts +1 -1
  308. package/dist/session-observer-state.js +2 -2
  309. package/dist/session-transcript-migration.js +2 -2
  310. package/dist/shared-context/manager.d.ts +1 -1
  311. package/dist/shared-context/manager.js +2 -2
  312. package/dist/signal.d.ts +1 -1
  313. package/dist/storage.d.ts +5 -1
  314. package/dist/storage.js +5 -3
  315. package/dist/summarizer.d.ts +1 -1
  316. package/dist/summarizer.js +7 -7
  317. package/dist/summary-snapshot.d.ts +1 -1
  318. package/dist/temporal-supersession.d.ts +1 -1
  319. package/dist/temporal-supersession.js +2 -2
  320. package/dist/temporal-validity.d.ts +1 -1
  321. package/dist/threading.d.ts +1 -1
  322. package/dist/threading.js +2 -2
  323. package/dist/tier-migration.d.ts +1 -1
  324. package/dist/tier-routing.d.ts +1 -1
  325. package/dist/topics.d.ts +1 -1
  326. package/dist/transcript.d.ts +1 -1
  327. package/dist/transcript.js +2 -2
  328. package/dist/transfer/import-sqlite.js +2 -2
  329. package/dist/{types-D3pm4NhH.d.ts → types-Dm5xxVrr.d.ts} +61 -1
  330. package/dist/types.d.ts +1 -1
  331. package/dist/types.js +1 -1
  332. package/dist/utility-runtime.d.ts +1 -1
  333. package/dist/verified-recall.js +7 -5
  334. package/package.json +2 -2
  335. package/src/access-http.ts +1 -1
  336. package/src/access-mcp.ts +1 -1
  337. package/src/access-service.ts +1 -11
  338. package/src/cli.ts +1 -1
  339. package/src/config.test.ts +112 -0
  340. package/src/config.ts +5 -5
  341. package/src/explicit-capture.ts +3 -12
  342. package/src/logger.ts +13 -4
  343. package/src/namespaces/catalog.test.ts +2 -2
  344. package/src/namespaces/storage.ts +81 -0
  345. package/src/orchestrator.ts +22 -64
  346. package/src/provenance-frontmatter.test.ts +596 -0
  347. package/src/provenance.ts +305 -0
  348. package/src/storage.ts +41 -41
  349. package/src/types.ts +76 -0
  350. package/dist/chunk-2ODBA7MQ.js.map +0 -1
  351. package/dist/chunk-ARLRTZZZ.js.map +0 -1
  352. package/dist/chunk-FMSDA2D3.js.map +0 -1
  353. package/dist/chunk-GKKAXVAJ.js.map +0 -1
  354. package/dist/chunk-I3HSKQT7.js.map +0 -1
  355. package/dist/chunk-IUZWBCJX.js.map +0 -1
  356. package/dist/chunk-PHK3HARR.js +0 -32
  357. package/dist/chunk-PHK3HARR.js.map +0 -1
  358. package/dist/chunk-QVWM4C24.js.map +0 -1
  359. package/dist/chunk-TY5NT3T3.js.map +0 -1
  360. /package/dist/{auto-sync-5CJBJMPZ.js.map → auto-sync-NUQWSFQD.js.map} +0 -0
  361. /package/dist/{chunk-UJDV2NLT.js.map → chunk-2KAYTPPT.js.map} +0 -0
  362. /package/dist/{chunk-QUA2JPH2.js.map → chunk-2SJCWLQD.js.map} +0 -0
  363. /package/dist/{chunk-YTWNKQ2G.js.map → chunk-3FC6LW6T.js.map} +0 -0
  364. /package/dist/{chunk-I75DF4FZ.js.map → chunk-4FE2K57M.js.map} +0 -0
  365. /package/dist/{chunk-L5MUA6Q7.js.map → chunk-4N3TFFPH.js.map} +0 -0
  366. /package/dist/{chunk-BTVX7ZXZ.js.map → chunk-4NFVPDIL.js.map} +0 -0
  367. /package/dist/{chunk-OUWAQVDJ.js.map → chunk-5CEJH5ZN.js.map} +0 -0
  368. /package/dist/{chunk-UAODC6GJ.js.map → chunk-6O6A6YUO.js.map} +0 -0
  369. /package/dist/{chunk-HQ6NIBL6.js.map → chunk-7FL4CNPV.js.map} +0 -0
  370. /package/dist/{chunk-5VDJMYTF.js.map → chunk-7WWURLG6.js.map} +0 -0
  371. /package/dist/{chunk-QWRC7GIO.js.map → chunk-A4HH2EWA.js.map} +0 -0
  372. /package/dist/{chunk-4SKKVWLQ.js.map → chunk-AGJH5ISO.js.map} +0 -0
  373. /package/dist/{chunk-APJQ6UEA.js.map → chunk-AGNBY3VG.js.map} +0 -0
  374. /package/dist/{chunk-NQMBSSWW.js.map → chunk-B4XVLHJA.js.map} +0 -0
  375. /package/dist/{chunk-GSTYVG5L.js.map → chunk-BFVPIKDY.js.map} +0 -0
  376. /package/dist/{chunk-AJU4PJGY.js.map → chunk-BVKCV2ZY.js.map} +0 -0
  377. /package/dist/{chunk-EG4TCVMU.js.map → chunk-CTOQEZSN.js.map} +0 -0
  378. /package/dist/{chunk-7OGJQP7T.js.map → chunk-DCWIQFNA.js.map} +0 -0
  379. /package/dist/{chunk-MHQC2WU2.js.map → chunk-DKTSR7EK.js.map} +0 -0
  380. /package/dist/{chunk-RN7MUWON.js.map → chunk-EHISUJFN.js.map} +0 -0
  381. /package/dist/{chunk-WLEB7WCG.js.map → chunk-EO5QWINU.js.map} +0 -0
  382. /package/dist/{chunk-XKXKSQU7.js.map → chunk-EXM3CQTZ.js.map} +0 -0
  383. /package/dist/{chunk-TOQEZ63C.js.map → chunk-FE6DQUNJ.js.map} +0 -0
  384. /package/dist/{chunk-LCC5EZTT.js.map → chunk-FIVDN2SM.js.map} +0 -0
  385. /package/dist/{chunk-452WDNFO.js.map → chunk-GG6AJN7A.js.map} +0 -0
  386. /package/dist/{chunk-O2WELT5C.js.map → chunk-GS55WYRL.js.map} +0 -0
  387. /package/dist/{chunk-OHX52AOS.js.map → chunk-GTDH3IUH.js.map} +0 -0
  388. /package/dist/{chunk-IBTZEBUD.js.map → chunk-HYNHLBKA.js.map} +0 -0
  389. /package/dist/{chunk-V254FAT5.js.map → chunk-IIDSFFE5.js.map} +0 -0
  390. /package/dist/{chunk-EVWIEEKZ.js.map → chunk-IQ7WCZRW.js.map} +0 -0
  391. /package/dist/{chunk-B5XMS73R.js.map → chunk-IQVQJJL7.js.map} +0 -0
  392. /package/dist/{chunk-6RHNCKHG.js.map → chunk-K43PI6DQ.js.map} +0 -0
  393. /package/dist/{chunk-OIF36KGD.js.map → chunk-KCQA46NR.js.map} +0 -0
  394. /package/dist/{chunk-2LDBXPLB.js.map → chunk-KF74X62T.js.map} +0 -0
  395. /package/dist/{chunk-MAV46GWQ.js.map → chunk-KYYL4U6X.js.map} +0 -0
  396. /package/dist/{chunk-6GC5SGFE.js.map → chunk-L24JROPR.js.map} +0 -0
  397. /package/dist/{chunk-6VP3YUCS.js.map → chunk-LLONI6PY.js.map} +0 -0
  398. /package/dist/{chunk-Q5ZU3RNY.js.map → chunk-LQ6JI4VH.js.map} +0 -0
  399. /package/dist/{chunk-ODWI5XU2.js.map → chunk-MCQDSY4G.js.map} +0 -0
  400. /package/dist/{chunk-HP5FMB6L.js.map → chunk-MDJURR27.js.map} +0 -0
  401. /package/dist/{chunk-T2PO5MUF.js.map → chunk-O7GOFAM3.js.map} +0 -0
  402. /package/dist/{chunk-Z2OXSMZK.js.map → chunk-OBXTMFZQ.js.map} +0 -0
  403. /package/dist/{chunk-KV6CX4ON.js.map → chunk-OV4D5T7V.js.map} +0 -0
  404. /package/dist/{chunk-KACIOX42.js.map → chunk-PH3HOKYW.js.map} +0 -0
  405. /package/dist/{chunk-NHFXF4ZO.js.map → chunk-PK6RGRSD.js.map} +0 -0
  406. /package/dist/{chunk-C3IW2F5Z.js.map → chunk-PLBIPT6I.js.map} +0 -0
  407. /package/dist/{chunk-QY7YA7OL.js.map → chunk-PNLCEFE4.js.map} +0 -0
  408. /package/dist/{chunk-AGRPGAKR.js.map → chunk-PONNZ54D.js.map} +0 -0
  409. /package/dist/{chunk-XZ4WBBB5.js.map → chunk-PWFWCGOO.js.map} +0 -0
  410. /package/dist/{chunk-G7Z3C2X6.js.map → chunk-QANVLERJ.js.map} +0 -0
  411. /package/dist/{chunk-W4RVMTHR.js.map → chunk-QRDOSYOR.js.map} +0 -0
  412. /package/dist/{chunk-6IMKOIZ6.js.map → chunk-R6OVFAX6.js.map} +0 -0
  413. /package/dist/{chunk-2QSZNTDO.js.map → chunk-RKNJBZ55.js.map} +0 -0
  414. /package/dist/{chunk-JOASJWQR.js.map → chunk-SANZHXY2.js.map} +0 -0
  415. /package/dist/{chunk-7DTASS5T.js.map → chunk-SJHM6I4J.js.map} +0 -0
  416. /package/dist/{chunk-B2B2IHUH.js.map → chunk-STOEE37X.js.map} +0 -0
  417. /package/dist/{chunk-GNAMDNGT.js.map → chunk-U7D7NP4J.js.map} +0 -0
  418. /package/dist/{chunk-DRD2Q7HQ.js.map → chunk-UFS7OXGL.js.map} +0 -0
  419. /package/dist/{chunk-H3HDXD3U.js.map → chunk-UPTZYUYJ.js.map} +0 -0
  420. /package/dist/{chunk-3IND7N4X.js.map → chunk-UTYBJR7M.js.map} +0 -0
  421. /package/dist/{chunk-LN4YGHTM.js.map → chunk-UUH4YQOF.js.map} +0 -0
  422. /package/dist/{chunk-6VF75M3X.js.map → chunk-VGUOEDTU.js.map} +0 -0
  423. /package/dist/{chunk-44VFF3BB.js.map → chunk-VILEUJXC.js.map} +0 -0
  424. /package/dist/{chunk-7SI52C65.js.map → chunk-VL7DP3OW.js.map} +0 -0
  425. /package/dist/{chunk-7DHTMOND.js.map → chunk-VQ34TERH.js.map} +0 -0
  426. /package/dist/{chunk-H6PMGMNP.js.map → chunk-VX6OBUDW.js.map} +0 -0
  427. /package/dist/{chunk-EW5KFXHL.js.map → chunk-WDXCNJSF.js.map} +0 -0
  428. /package/dist/{chunk-X6IRLNOO.js.map → chunk-WIWPSQYU.js.map} +0 -0
  429. /package/dist/{chunk-DOCTITOP.js.map → chunk-WRFKZEO6.js.map} +0 -0
  430. /package/dist/{chunk-E6ZDCOHM.js.map → chunk-XBZQRZ6G.js.map} +0 -0
  431. /package/dist/{chunk-7YX23JBA.js.map → chunk-XHYGJVXL.js.map} +0 -0
  432. /package/dist/{chunk-JD4SCARD.js.map → chunk-YN4ZT4CW.js.map} +0 -0
  433. /package/dist/{chunk-YXWAILM4.js.map → chunk-YOI3ELXF.js.map} +0 -0
  434. /package/dist/{chunk-XCAZF7KQ.js.map → chunk-ZA2S2VLL.js.map} +0 -0
  435. /package/dist/{chunk-BEUDU7Y4.js.map → chunk-ZCWIH4LH.js.map} +0 -0
  436. /package/dist/{chunk-WEPMT6SC.js.map → chunk-ZPTISBQU.js.map} +0 -0
  437. /package/dist/{contradiction-scan-AZTGFMPY.js.map → contradiction-scan-HWGEOUDS.js.map} +0 -0
  438. /package/dist/{first-start-migration-FF7YFGRP.js.map → first-start-migration-PG5HBC3K.js.map} +0 -0
  439. /package/dist/{graph-edge-decay-KSVJGCZW.js.map → graph-edge-decay-D7OESCBR.js.map} +0 -0
  440. /package/dist/{resolution-IDTEBJFS.js.map → provenance.js.map} +0 -0
@@ -6,9 +6,9 @@ import {
6
6
  shouldFilterSupersededFromRecall,
7
7
  shouldSupersedeExisting,
8
8
  supersessionKeysForFact
9
- } from "./chunk-YTWNKQ2G.js";
9
+ } from "./chunk-3FC6LW6T.js";
10
10
  import "./chunk-MDYG7VI7.js";
11
- import "./chunk-2ODBA7MQ.js";
11
+ import "./chunk-NU3CSQ4H.js";
12
12
  import "./chunk-PZ5AY32C.js";
13
13
  export {
14
14
  applyTemporalSupersession,
@@ -1,4 +1,4 @@
1
- import { j as MemoryFrontmatter } from './types-D3pm4NhH.js';
1
+ import { j as MemoryFrontmatter } from './types-Dm5xxVrr.js';
2
2
  import './types-ByK7T3L6.js';
3
3
  import './index-DJ9QWMw-.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { Z as BufferTurn, as as ConversationThread } from './types-D3pm4NhH.js';
1
+ import { Z as BufferTurn, au as ConversationThread } from './types-Dm5xxVrr.js';
2
2
  import './types-ByK7T3L6.js';
3
3
  import './index-DJ9QWMw-.js';
4
4
 
package/dist/threading.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  ThreadingManager
3
- } from "./chunk-W4RVMTHR.js";
3
+ } from "./chunk-QRDOSYOR.js";
4
4
  import "./chunk-FF4KLI5W.js";
5
- import "./chunk-2ODBA7MQ.js";
5
+ import "./chunk-NU3CSQ4H.js";
6
6
  import "./chunk-PZ5AY32C.js";
7
7
  export {
8
8
  ThreadingManager
@@ -1,4 +1,4 @@
1
- import { g as MemoryFile } from './types-D3pm4NhH.js';
1
+ import { g as MemoryFile } from './types-Dm5xxVrr.js';
2
2
  import { StorageManager } from './storage.js';
3
3
  import { MemoryTier } from './tier-routing.js';
4
4
  import { SearchBackend } from './search/port.js';
@@ -1,4 +1,4 @@
1
- import { g as MemoryFile } from './types-D3pm4NhH.js';
1
+ import { g as MemoryFile } from './types-Dm5xxVrr.js';
2
2
  import { LifecycleSignals } from './lifecycle.js';
3
3
  import './types-ByK7T3L6.js';
4
4
  import './index-DJ9QWMw-.js';
package/dist/topics.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { g as MemoryFile, T as TopicScore } from './types-D3pm4NhH.js';
1
+ import { g as MemoryFile, T as TopicScore } from './types-Dm5xxVrr.js';
2
2
  import './types-ByK7T3L6.js';
3
3
  import './index-DJ9QWMw-.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { P as PluginConfig, _ as TranscriptEntry, $ as Checkpoint } from './types-D3pm4NhH.js';
1
+ import { P as PluginConfig, _ as TranscriptEntry, $ as Checkpoint } from './types-Dm5xxVrr.js';
2
2
  import { SessionIntegrityReport } from './session-integrity.js';
3
3
  import './types-ByK7T3L6.js';
4
4
  import './index-DJ9QWMw-.js';
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  TranscriptManager,
3
3
  utcDayRange
4
- } from "./chunk-AGRPGAKR.js";
4
+ } from "./chunk-PONNZ54D.js";
5
5
  import "./chunk-S4DDLTPX.js";
6
6
  import "./chunk-KFY3SGN7.js";
7
7
  import "./chunk-FF4KLI5W.js";
8
- import "./chunk-2ODBA7MQ.js";
8
+ import "./chunk-NU3CSQ4H.js";
9
9
  import "./chunk-PZ5AY32C.js";
10
10
  export {
11
11
  TranscriptManager,
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  importSqlite
3
- } from "../chunk-APJQ6UEA.js";
4
- import "../chunk-G4IAEX6D.js";
3
+ } from "../chunk-AGNBY3VG.js";
5
4
  import "../chunk-Z734BLO3.js";
5
+ import "../chunk-G4IAEX6D.js";
6
6
  import "../chunk-6KYMPV2O.js";
7
7
  import "../chunk-GCGJW34D.js";
8
8
  import "../chunk-PZ5AY32C.js";
@@ -704,6 +704,28 @@ interface ProceduralConfig {
704
704
  /** Max procedure memories to inject on task-initiation recall (1–10). */
705
705
  recallMaxProcedures: number;
706
706
  }
707
+ /**
708
+ * Claim-level provenance spans (issue #1575). Controls whether extracted
709
+ * facts carry verbatim source-utterance excerpts and the strength tag that
710
+ * downstream features (faithfulness gate #1576, correction UX #1580/#1583,
711
+ * tombstone matching #1579, TrustScore #1577) consume.
712
+ *
713
+ * PR 1 parses the block + schema only; the extraction prompt and validator
714
+ * land in PR 2. When `enabled` is false, extraction prompt/output are
715
+ * byte-identical to pre-feature behavior (rule 39).
716
+ */
717
+ interface ProvenanceConfig {
718
+ /** Emit provenance spans on new extractions. Default true. */
719
+ enabled: boolean;
720
+ /** Maximum characters stored per quote; longer quotes truncate at a word boundary. Default 300. */
721
+ maxQuoteChars: number;
722
+ /**
723
+ * When true, facts whose quote cannot be located are routed to
724
+ * `pending_review` instead of `active`. Stays false until #1576 lands and
725
+ * the bench shows the gate is safe (rule 48).
726
+ */
727
+ requireSpans: boolean;
728
+ }
707
729
  /**
708
730
  * Coding-agent mode config (issue #569).
709
731
  *
@@ -1214,6 +1236,12 @@ interface PluginConfig {
1214
1236
  */
1215
1237
  dreamsPhases: DreamsPhasesConfig;
1216
1238
  procedural: ProceduralConfig;
1239
+ /**
1240
+ * Claim-level provenance spans (issue #1575). Parsed from the
1241
+ * `provenance` config block; see `ProvenanceConfig` for the documented
1242
+ * defaults. PR 1 parses + persists only; extraction wiring lands in PR 2.
1243
+ */
1244
+ provenance: ProvenanceConfig;
1217
1245
  /**
1218
1246
  * Wearable transcript ingestion (Limitless / Bee / Omi connectors).
1219
1247
  * Disabled by default; see docs/wearables.md.
@@ -2646,6 +2674,14 @@ interface MemoryFrontmatter {
2646
2674
  * is absent.
2647
2675
  */
2648
2676
  last_reinforced_at?: string;
2677
+ /** Literal source-utterance excerpts backing this fact (issue #1575). */
2678
+ sources?: ProvenanceSource[];
2679
+ /**
2680
+ * Coarse provenance strength: `"verified"` (span located in source text),
2681
+ * `"unverified"` (span present but not locatable), or `"none"` (no span
2682
+ * recorded). Readers treat absent as `"none"` for legacy memories.
2683
+ */
2684
+ provenance?: "verified" | "unverified" | "none";
2649
2685
  }
2650
2686
  /** Memory link relationship types */
2651
2687
  type MemoryLinkType = "follows" | "references" | "contradicts" | "supports" | "related";
@@ -2656,6 +2692,30 @@ interface MemoryLink {
2656
2692
  strength: number;
2657
2693
  reason?: string;
2658
2694
  }
2695
+ /**
2696
+ * A verbatim source-utterance excerpt that grounds an extracted fact
2697
+ * (issue #1575). Emitted by the PR 2 extraction validator; round-tripped
2698
+ * through storage in PR 1.
2699
+ *
2700
+ * `quote` is the only strictly-required field — without it the entry is
2701
+ * meaningless and is dropped on read. `charStart` / `charEnd` are
2702
+ * best-effort offsets within the buffered turn text at write time and
2703
+ * form a half-open interval [charStart, charEnd) (rule 35).
2704
+ */
2705
+ interface ProvenanceSource {
2706
+ /** Session key of the source turn (e.g. `project/<name>/<ts>`). */
2707
+ sessionKey: string;
2708
+ /** Host-supplied turn identifier, when one was provided. */
2709
+ turnId?: string;
2710
+ /** ISO 8601 timestamp of the source turn. */
2711
+ observedAt: string;
2712
+ /** Verbatim utterance excerpt, capped at `provenance.maxQuoteChars`. */
2713
+ quote: string;
2714
+ /** Offset within the buffered turn text where the quote begins, when located. */
2715
+ charStart?: number;
2716
+ /** Half-open end offset within the buffered turn text (rule 35). */
2717
+ charEnd?: number;
2718
+ }
2659
2719
  interface ConversationThread {
2660
2720
  id: string;
2661
2721
  title: string;
@@ -3274,4 +3334,4 @@ interface HourlySummary {
3274
3334
  generatedAt: string;
3275
3335
  }
3276
3336
 
3277
- export { type Checkpoint as $, type ActiveRecallChatType as A, type BehaviorSignalEvent as B, type CompressionGuidelineOptimizerState as C, type MemorySummary as D, type EntityStructuredSection as E, type FileHygieneConfig as F, type GatewayConfig as G, type RecallPlanMode as H, type ImportanceScore as I, type IdentityInjectionMode as J, type RecallDisclosure as K, type LiveConnectorsConfig as L, type MemoryCategory as M, type BriefingSections as N, type BriefingFollowup as O, type PluginConfig as P, type QmdSearchResult as Q, type RecallTierExplain as R, type BriefingFocus as S, type TopicScore as T, type CalendarSource as U, type CalendarEvent as V, type BriefingActiveThread as W, type BriefingResult as X, type BriefingRecentEntity as Y, type BufferTurn as Z, type TranscriptEntry as _, type ActiveRecallQueryMode as a, type WearableFetchOptions as a$, type HourlySummary as a0, type SessionObserverBandConfig as a1, type LifecycleState as a2, type VerificationState as a3, type PolicyClass as a4, type ImportanceLevel as a5, type SecretRef as a6, type AgentAccessAuthToken as a7, type CompressionGuidelineOptimizerEventCounts as a8, type CompressionGuidelineOptimizerActionSummary as a9, type WearableNativeMemory as aA, type WearableMemoryMode as aB, type WearableSourceConnector as aC, type WearablesConfig as aD, type WearableSyncSummary as aE, type WearableSourceStatus as aF, type WearableDayTranscript as aG, type WearableCorrectionRule as aH, type CodingContext as aI, type BootstrapOptions as aJ, type BootstrapResult as aK, type ConsolidationObservation as aL, type EntityTimelineEntry as aM, type CodingModeConfig as aN, type WearableCleanupSettings as aO, type WearableDayTranscriptMeta as aP, type BriefingConfig as aQ, type BriefingOpenCommitment as aR, type BriefingWindow as aS, type CodexCompatConfig as aT, DEFAULT_RECALL_DISCLOSURE as aU, type ExtractedFact as aV, type MemoryActionEligibilitySource as aW, type MemoryObservation as aX, type MemoryScope as aY, RECALL_DISCLOSURE_LEVELS as aZ, type WearableAuthCheck as a_, type CompressionGuidelineOptimizerRuleUpdate as aa, type MemoryActionType as ab, type EntityMention as ac, type EntitySchemaDefinition as ad, type EntitySchemaSectionDefinition as ae, type ExtractionResult as af, type ConsolidationResult as ag, type DaySummaryResult as ah, type MemoryIntent as ai, type QmdSearchExplain as aj, type MemoryActionEligibilityContext as ak, type MemoryActionPolicyResult as al, type MemoryLifecycleEventType as am, type MemoryLifecycleStateSummary as an, type ModelProviderConfig as ao, type NativeKnowledgeConfig as ap, type RetrievalTier as aq, type SignalScanResult as ar, type ConversationThread as as, type ScopeProfileLayerId as at, type ScopeProfilePromotionTarget as au, type DreamsStatusResult as av, type DreamsPhase as aw, type DreamsRunResult as ax, type WearableConversation as ay, type WearableSourceSettings as az, type ActiveRecallPromptStyle as b, type PrincipalRule as b$, type WearableFetchPage as b0, type WearableNativeMemoryPage as b1, type WearableTranscriptSegment as b2, isRecallDisclosure as b3, type AgentAccessHttpConfig as b4, type AgentDefaultsConfig as b5, type AgentPersona as b6, type BehaviorLoopAdjustment as b7, type BehaviorSignalDirection as b8, type BehaviorSignalType as b9, type ExtractedProcedureStep as bA, type ExtractedQuestion as bB, type ExtractedReasoningTrace as bC, type ExtractedReasoningTraceStep as bD, type ExtractedRelationship as bE, type ExtractionPassSource as bF, type GitHubLiveConnectorConfig as bG, type GmailLiveConnectorConfig as bH, type GoogleDriveLiveConnectorConfig as bI, type HeartbeatConfig as bJ, type HeartbeatDetectionMode as bK, type LlmTraceCallback as bL, type LlmTraceEvent as bM, type MemoryActionOutcome as bN, type MemoryActionPolicyDecision as bO, type MemoryActionStatus as bP, type MemoryLinkType as bQ, type MemoryOsPresetName as bR, type ModelApi as bS, type ModelDefinitionConfig as bT, type ModelProviderAuthMode as bU, type NamespacePolicy as bV, type NativeKnowledgeFolderRuleConfig as bW, type NativeKnowledgeObsidianVaultConfig as bX, type NativeKnowledgeOpenClawWorkspaceConfig as bY, type NotionLiveConnectorConfig as bZ, type PrincipalFromSessionKeyMode as b_, type BriefingCalendarSourceError as ba, type BufferEntryState as bb, type CaptureMode as bc, type CodexCliReasoningEffort as bd, type CodexCompactionFlushMode as be, type CodexConnectorConfig as bf, type CodingKnowledgeConfig as bg, type CompressionGuidelineActivationState as bh, type CompressionGuidelineOptimizerSourceWindow as bi, type ConfidenceTier as bj, type ConsolidationAction as bk, type ConsolidationItem as bl, type ContinuityIncidentState as bm, type ContinuityLoopCadence as bn, type ContinuityLoopStatus as bo, type ContradictionScanConfig as bp, type CronConversationRecallMode as bq, type CronRecallMode as br, type DreamingConfig as bs, type DreamingNarrativePromptStyle as bt, type DreamsDeepSleepConfig as bu, type DreamsLightSleepConfig as bv, type DreamsPhaseStatus as bw, type DreamsPhasesConfig as bx, type DreamsRemConfig as by, type EngramTraceEvent as bz, type ActiveRecallThinking as c, type ProceduralConfig as c0, type QuestionEntry as c1, type ReasoningEffort as c2, type RecallPipelineConfig as c3, type RecallSectionConfig as c4, type RecallTraceEvent as c5, type RelevanceFeedback as c6, SPECULATIVE_TTL_DAYS as c7, type ScopeProfileAutoPromoteConfig as c8, type ScopeProfileConfig as c9, type ScopeProfileTeamProjectConfig as ca, type ScopeTeamConfig as cb, type ScoredEntity as cc, type SemanticChunkingConfigShape as cd, type SignalLevel as ce, type SlotBehaviorConfig as cf, type SlotMismatchMode as cg, type TriggerMode as ch, confidenceTier as ci, type ActiveRecallModelFallbackPolicy as d, type BehaviorLoopPolicyState as e, type AgentPersonaModelConfig as f, type MemoryFile as g, type MemoryStatus as h, type MemoryLink as i, type MemoryFrontmatter as j, type BufferState as k, type MetaState as l, type MemoryActionEvent as m, type MemoryLifecycleEvent as n, type BufferSurpriseEvent as o, type ContinuityIncidentOpenInput as p, type ContinuityIncidentRecord as q, type ContinuityIncidentCloseInput as r, type ContinuityImprovementLoop as s, type ContinuityLoopUpsertInput as t, type ContinuityLoopReviewInput as u, type EntityRelationship as v, type EntityActivityEntry as w, type EntityFile as x, type AccessTrackingEntry as y, type MemoryProjectionCurrentState as z };
3337
+ export { type Checkpoint as $, type ActiveRecallChatType as A, type BehaviorSignalEvent as B, type CompressionGuidelineOptimizerState as C, type MemorySummary as D, type EntityStructuredSection as E, type FileHygieneConfig as F, type GatewayConfig as G, type RecallPlanMode as H, type ImportanceScore as I, type IdentityInjectionMode as J, type RecallDisclosure as K, type LiveConnectorsConfig as L, type MemoryCategory as M, type BriefingSections as N, type BriefingFollowup as O, type PluginConfig as P, type QmdSearchResult as Q, type RecallTierExplain as R, type BriefingFocus as S, type TopicScore as T, type CalendarSource as U, type CalendarEvent as V, type BriefingActiveThread as W, type BriefingResult as X, type BriefingRecentEntity as Y, type BufferTurn as Z, type TranscriptEntry as _, type ActiveRecallQueryMode as a, RECALL_DISCLOSURE_LEVELS as a$, type HourlySummary as a0, type SessionObserverBandConfig as a1, type LifecycleState as a2, type VerificationState as a3, type PolicyClass as a4, type ImportanceLevel as a5, type SecretRef as a6, type AgentAccessAuthToken as a7, type CompressionGuidelineOptimizerEventCounts as a8, type CompressionGuidelineOptimizerActionSummary as a9, type WearableConversation as aA, type WearableSourceSettings as aB, type WearableNativeMemory as aC, type WearableMemoryMode as aD, type WearableSourceConnector as aE, type WearablesConfig as aF, type WearableSyncSummary as aG, type WearableSourceStatus as aH, type WearableDayTranscript as aI, type WearableCorrectionRule as aJ, type CodingContext as aK, type BootstrapOptions as aL, type BootstrapResult as aM, type ConsolidationObservation as aN, type EntityTimelineEntry as aO, type CodingModeConfig as aP, type WearableCleanupSettings as aQ, type WearableDayTranscriptMeta as aR, type BriefingConfig as aS, type BriefingOpenCommitment as aT, type BriefingWindow as aU, type CodexCompatConfig as aV, DEFAULT_RECALL_DISCLOSURE as aW, type ExtractedFact as aX, type MemoryActionEligibilitySource as aY, type MemoryObservation as aZ, type MemoryScope as a_, type CompressionGuidelineOptimizerRuleUpdate as aa, type MemoryActionType as ab, type EntityMention as ac, type EntitySchemaDefinition as ad, type EntitySchemaSectionDefinition as ae, type ExtractionResult as af, type ConsolidationResult as ag, type DaySummaryResult as ah, type MemoryIntent as ai, type QmdSearchExplain as aj, type MemoryActionEligibilityContext as ak, type MemoryActionPolicyResult as al, type MemoryLifecycleEventType as am, type MemoryLifecycleStateSummary as an, type ModelProviderConfig as ao, type NativeKnowledgeConfig as ap, type ProvenanceConfig as aq, type ProvenanceSource as ar, type RetrievalTier as as, type SignalScanResult as at, type ConversationThread as au, type ScopeProfileLayerId as av, type ScopeProfilePromotionTarget as aw, type DreamsStatusResult as ax, type DreamsPhase as ay, type DreamsRunResult as az, type ActiveRecallPromptStyle as b, type NotionLiveConnectorConfig as b$, type WearableAuthCheck as b0, type WearableFetchOptions as b1, type WearableFetchPage as b2, type WearableNativeMemoryPage as b3, type WearableTranscriptSegment as b4, isRecallDisclosure as b5, type AgentAccessHttpConfig as b6, type AgentDefaultsConfig as b7, type AgentPersona as b8, type BehaviorLoopAdjustment as b9, type DreamsRemConfig as bA, type EngramTraceEvent as bB, type ExtractedProcedureStep as bC, type ExtractedQuestion as bD, type ExtractedReasoningTrace as bE, type ExtractedReasoningTraceStep as bF, type ExtractedRelationship as bG, type ExtractionPassSource as bH, type GitHubLiveConnectorConfig as bI, type GmailLiveConnectorConfig as bJ, type GoogleDriveLiveConnectorConfig as bK, type HeartbeatConfig as bL, type HeartbeatDetectionMode as bM, type LlmTraceCallback as bN, type LlmTraceEvent as bO, type MemoryActionOutcome as bP, type MemoryActionPolicyDecision as bQ, type MemoryActionStatus as bR, type MemoryLinkType as bS, type MemoryOsPresetName as bT, type ModelApi as bU, type ModelDefinitionConfig as bV, type ModelProviderAuthMode as bW, type NamespacePolicy as bX, type NativeKnowledgeFolderRuleConfig as bY, type NativeKnowledgeObsidianVaultConfig as bZ, type NativeKnowledgeOpenClawWorkspaceConfig as b_, type BehaviorSignalDirection as ba, type BehaviorSignalType as bb, type BriefingCalendarSourceError as bc, type BufferEntryState as bd, type CaptureMode as be, type CodexCliReasoningEffort as bf, type CodexCompactionFlushMode as bg, type CodexConnectorConfig as bh, type CodingKnowledgeConfig as bi, type CompressionGuidelineActivationState as bj, type CompressionGuidelineOptimizerSourceWindow as bk, type ConfidenceTier as bl, type ConsolidationAction as bm, type ConsolidationItem as bn, type ContinuityIncidentState as bo, type ContinuityLoopCadence as bp, type ContinuityLoopStatus as bq, type ContradictionScanConfig as br, type CronConversationRecallMode as bs, type CronRecallMode as bt, type DreamingConfig as bu, type DreamingNarrativePromptStyle as bv, type DreamsDeepSleepConfig as bw, type DreamsLightSleepConfig as bx, type DreamsPhaseStatus as by, type DreamsPhasesConfig as bz, type ActiveRecallThinking as c, type PrincipalFromSessionKeyMode as c0, type PrincipalRule as c1, type ProceduralConfig as c2, type QuestionEntry as c3, type ReasoningEffort as c4, type RecallPipelineConfig as c5, type RecallSectionConfig as c6, type RecallTraceEvent as c7, type RelevanceFeedback as c8, SPECULATIVE_TTL_DAYS as c9, type ScopeProfileAutoPromoteConfig as ca, type ScopeProfileConfig as cb, type ScopeProfileTeamProjectConfig as cc, type ScopeTeamConfig as cd, type ScoredEntity as ce, type SemanticChunkingConfigShape as cf, type SignalLevel as cg, type SlotBehaviorConfig as ch, type SlotMismatchMode as ci, type TriggerMode as cj, confidenceTier as ck, type ActiveRecallModelFallbackPolicy as d, type BehaviorLoopPolicyState as e, type AgentPersonaModelConfig as f, type MemoryFile as g, type MemoryStatus as h, type MemoryLink as i, type MemoryFrontmatter as j, type BufferState as k, type MetaState as l, type MemoryActionEvent as m, type MemoryLifecycleEvent as n, type BufferSurpriseEvent as o, type ContinuityIncidentOpenInput as p, type ContinuityIncidentRecord as q, type ContinuityIncidentCloseInput as r, type ContinuityImprovementLoop as s, type ContinuityLoopUpsertInput as t, type ContinuityLoopReviewInput as u, type EntityRelationship as v, type EntityActivityEntry as w, type EntityFile as x, type AccessTrackingEntry as y, type MemoryProjectionCurrentState as z };
package/dist/types.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import './types-ByK7T3L6.js';
2
2
  import './index-DJ9QWMw-.js';
3
- export { y as AccessTrackingEntry, A as ActiveRecallChatType, d as ActiveRecallModelFallbackPolicy, b as ActiveRecallPromptStyle, a as ActiveRecallQueryMode, c as ActiveRecallThinking, a7 as AgentAccessAuthToken, b4 as AgentAccessHttpConfig, b5 as AgentDefaultsConfig, b6 as AgentPersona, f as AgentPersonaModelConfig, b7 as BehaviorLoopAdjustment, e as BehaviorLoopPolicyState, b8 as BehaviorSignalDirection, B as BehaviorSignalEvent, b9 as BehaviorSignalType, aJ as BootstrapOptions, aK as BootstrapResult, W as BriefingActiveThread, ba as BriefingCalendarSourceError, aQ as BriefingConfig, S as BriefingFocus, O as BriefingFollowup, aR as BriefingOpenCommitment, Y as BriefingRecentEntity, X as BriefingResult, N as BriefingSections, aS as BriefingWindow, bb as BufferEntryState, k as BufferState, o as BufferSurpriseEvent, Z as BufferTurn, V as CalendarEvent, U as CalendarSource, bc as CaptureMode, $ as Checkpoint, bd as CodexCliReasoningEffort, be as CodexCompactionFlushMode, aT as CodexCompatConfig, bf as CodexConnectorConfig, aI as CodingContext, bg as CodingKnowledgeConfig, aN as CodingModeConfig, bh as CompressionGuidelineActivationState, a9 as CompressionGuidelineOptimizerActionSummary, a8 as CompressionGuidelineOptimizerEventCounts, aa as CompressionGuidelineOptimizerRuleUpdate, bi as CompressionGuidelineOptimizerSourceWindow, C as CompressionGuidelineOptimizerState, bj as ConfidenceTier, bk as ConsolidationAction, bl as ConsolidationItem, aL as ConsolidationObservation, ag as ConsolidationResult, s as ContinuityImprovementLoop, r as ContinuityIncidentCloseInput, p as ContinuityIncidentOpenInput, q as ContinuityIncidentRecord, bm as ContinuityIncidentState, bn as ContinuityLoopCadence, u as ContinuityLoopReviewInput, bo as ContinuityLoopStatus, t as ContinuityLoopUpsertInput, bp as ContradictionScanConfig, as as ConversationThread, bq as CronConversationRecallMode, br as CronRecallMode, aU as DEFAULT_RECALL_DISCLOSURE, ah as DaySummaryResult, bs as DreamingConfig, bt as DreamingNarrativePromptStyle, bu as DreamsDeepSleepConfig, bv as DreamsLightSleepConfig, aw as DreamsPhase, bw as DreamsPhaseStatus, bx as DreamsPhasesConfig, by as DreamsRemConfig, ax as DreamsRunResult, av as DreamsStatusResult, bz as EngramTraceEvent, w as EntityActivityEntry, x as EntityFile, ac as EntityMention, v as EntityRelationship, ad as EntitySchemaDefinition, ae as EntitySchemaSectionDefinition, E as EntityStructuredSection, aM as EntityTimelineEntry, aV as ExtractedFact, bA as ExtractedProcedureStep, bB as ExtractedQuestion, bC as ExtractedReasoningTrace, bD as ExtractedReasoningTraceStep, bE as ExtractedRelationship, bF as ExtractionPassSource, af as ExtractionResult, F as FileHygieneConfig, G as GatewayConfig, bG as GitHubLiveConnectorConfig, bH as GmailLiveConnectorConfig, bI as GoogleDriveLiveConnectorConfig, bJ as HeartbeatConfig, bK as HeartbeatDetectionMode, a0 as HourlySummary, J as IdentityInjectionMode, a5 as ImportanceLevel, I as ImportanceScore, a2 as LifecycleState, L as LiveConnectorsConfig, bL as LlmTraceCallback, bM as LlmTraceEvent, ak as MemoryActionEligibilityContext, aW as MemoryActionEligibilitySource, m as MemoryActionEvent, bN as MemoryActionOutcome, bO as MemoryActionPolicyDecision, al as MemoryActionPolicyResult, bP as MemoryActionStatus, ab as MemoryActionType, M as MemoryCategory, g as MemoryFile, j as MemoryFrontmatter, ai as MemoryIntent, n as MemoryLifecycleEvent, am as MemoryLifecycleEventType, an as MemoryLifecycleStateSummary, i as MemoryLink, bQ as MemoryLinkType, aX as MemoryObservation, bR as MemoryOsPresetName, z as MemoryProjectionCurrentState, aY as MemoryScope, h as MemoryStatus, D as MemorySummary, l as MetaState, bS as ModelApi, bT as ModelDefinitionConfig, bU as ModelProviderAuthMode, ao as ModelProviderConfig, bV as NamespacePolicy, ap as NativeKnowledgeConfig, bW as NativeKnowledgeFolderRuleConfig, bX as NativeKnowledgeObsidianVaultConfig, bY as NativeKnowledgeOpenClawWorkspaceConfig, bZ as NotionLiveConnectorConfig, P as PluginConfig, a4 as PolicyClass, b_ as PrincipalFromSessionKeyMode, b$ as PrincipalRule, c0 as ProceduralConfig, aj as QmdSearchExplain, Q as QmdSearchResult, c1 as QuestionEntry, aZ as RECALL_DISCLOSURE_LEVELS, c2 as ReasoningEffort, K as RecallDisclosure, c3 as RecallPipelineConfig, H as RecallPlanMode, c4 as RecallSectionConfig, R as RecallTierExplain, c5 as RecallTraceEvent, c6 as RelevanceFeedback, aq as RetrievalTier, c7 as SPECULATIVE_TTL_DAYS, c8 as ScopeProfileAutoPromoteConfig, c9 as ScopeProfileConfig, at as ScopeProfileLayerId, au as ScopeProfilePromotionTarget, ca as ScopeProfileTeamProjectConfig, cb as ScopeTeamConfig, cc as ScoredEntity, a6 as SecretRef, cd as SemanticChunkingConfigShape, a1 as SessionObserverBandConfig, ce as SignalLevel, ar as SignalScanResult, cf as SlotBehaviorConfig, cg as SlotMismatchMode, T as TopicScore, _ as TranscriptEntry, ch as TriggerMode, a3 as VerificationState, ci as confidenceTier, b3 as isRecallDisclosure } from './types-D3pm4NhH.js';
3
+ export { y as AccessTrackingEntry, A as ActiveRecallChatType, d as ActiveRecallModelFallbackPolicy, b as ActiveRecallPromptStyle, a as ActiveRecallQueryMode, c as ActiveRecallThinking, a7 as AgentAccessAuthToken, b6 as AgentAccessHttpConfig, b7 as AgentDefaultsConfig, b8 as AgentPersona, f as AgentPersonaModelConfig, b9 as BehaviorLoopAdjustment, e as BehaviorLoopPolicyState, ba as BehaviorSignalDirection, B as BehaviorSignalEvent, bb as BehaviorSignalType, aL as BootstrapOptions, aM as BootstrapResult, W as BriefingActiveThread, bc as BriefingCalendarSourceError, aS as BriefingConfig, S as BriefingFocus, O as BriefingFollowup, aT as BriefingOpenCommitment, Y as BriefingRecentEntity, X as BriefingResult, N as BriefingSections, aU as BriefingWindow, bd as BufferEntryState, k as BufferState, o as BufferSurpriseEvent, Z as BufferTurn, V as CalendarEvent, U as CalendarSource, be as CaptureMode, $ as Checkpoint, bf as CodexCliReasoningEffort, bg as CodexCompactionFlushMode, aV as CodexCompatConfig, bh as CodexConnectorConfig, aK as CodingContext, bi as CodingKnowledgeConfig, aP as CodingModeConfig, bj as CompressionGuidelineActivationState, a9 as CompressionGuidelineOptimizerActionSummary, a8 as CompressionGuidelineOptimizerEventCounts, aa as CompressionGuidelineOptimizerRuleUpdate, bk as CompressionGuidelineOptimizerSourceWindow, C as CompressionGuidelineOptimizerState, bl as ConfidenceTier, bm as ConsolidationAction, bn as ConsolidationItem, aN as ConsolidationObservation, ag as ConsolidationResult, s as ContinuityImprovementLoop, r as ContinuityIncidentCloseInput, p as ContinuityIncidentOpenInput, q as ContinuityIncidentRecord, bo as ContinuityIncidentState, bp as ContinuityLoopCadence, u as ContinuityLoopReviewInput, bq as ContinuityLoopStatus, t as ContinuityLoopUpsertInput, br as ContradictionScanConfig, au as ConversationThread, bs as CronConversationRecallMode, bt as CronRecallMode, aW as DEFAULT_RECALL_DISCLOSURE, ah as DaySummaryResult, bu as DreamingConfig, bv as DreamingNarrativePromptStyle, bw as DreamsDeepSleepConfig, bx as DreamsLightSleepConfig, ay as DreamsPhase, by as DreamsPhaseStatus, bz as DreamsPhasesConfig, bA as DreamsRemConfig, az as DreamsRunResult, ax as DreamsStatusResult, bB as EngramTraceEvent, w as EntityActivityEntry, x as EntityFile, ac as EntityMention, v as EntityRelationship, ad as EntitySchemaDefinition, ae as EntitySchemaSectionDefinition, E as EntityStructuredSection, aO as EntityTimelineEntry, aX as ExtractedFact, bC as ExtractedProcedureStep, bD as ExtractedQuestion, bE as ExtractedReasoningTrace, bF as ExtractedReasoningTraceStep, bG as ExtractedRelationship, bH as ExtractionPassSource, af as ExtractionResult, F as FileHygieneConfig, G as GatewayConfig, bI as GitHubLiveConnectorConfig, bJ as GmailLiveConnectorConfig, bK as GoogleDriveLiveConnectorConfig, bL as HeartbeatConfig, bM as HeartbeatDetectionMode, a0 as HourlySummary, J as IdentityInjectionMode, a5 as ImportanceLevel, I as ImportanceScore, a2 as LifecycleState, L as LiveConnectorsConfig, bN as LlmTraceCallback, bO as LlmTraceEvent, ak as MemoryActionEligibilityContext, aY as MemoryActionEligibilitySource, m as MemoryActionEvent, bP as MemoryActionOutcome, bQ as MemoryActionPolicyDecision, al as MemoryActionPolicyResult, bR as MemoryActionStatus, ab as MemoryActionType, M as MemoryCategory, g as MemoryFile, j as MemoryFrontmatter, ai as MemoryIntent, n as MemoryLifecycleEvent, am as MemoryLifecycleEventType, an as MemoryLifecycleStateSummary, i as MemoryLink, bS as MemoryLinkType, aZ as MemoryObservation, bT as MemoryOsPresetName, z as MemoryProjectionCurrentState, a_ as MemoryScope, h as MemoryStatus, D as MemorySummary, l as MetaState, bU as ModelApi, bV as ModelDefinitionConfig, bW as ModelProviderAuthMode, ao as ModelProviderConfig, bX as NamespacePolicy, ap as NativeKnowledgeConfig, bY as NativeKnowledgeFolderRuleConfig, bZ as NativeKnowledgeObsidianVaultConfig, b_ as NativeKnowledgeOpenClawWorkspaceConfig, b$ as NotionLiveConnectorConfig, P as PluginConfig, a4 as PolicyClass, c0 as PrincipalFromSessionKeyMode, c1 as PrincipalRule, c2 as ProceduralConfig, aq as ProvenanceConfig, ar as ProvenanceSource, aj as QmdSearchExplain, Q as QmdSearchResult, c3 as QuestionEntry, a$ as RECALL_DISCLOSURE_LEVELS, c4 as ReasoningEffort, K as RecallDisclosure, c5 as RecallPipelineConfig, H as RecallPlanMode, c6 as RecallSectionConfig, R as RecallTierExplain, c7 as RecallTraceEvent, c8 as RelevanceFeedback, as as RetrievalTier, c9 as SPECULATIVE_TTL_DAYS, ca as ScopeProfileAutoPromoteConfig, cb as ScopeProfileConfig, av as ScopeProfileLayerId, aw as ScopeProfilePromotionTarget, cc as ScopeProfileTeamProjectConfig, cd as ScopeTeamConfig, ce as ScoredEntity, a6 as SecretRef, cf as SemanticChunkingConfigShape, a1 as SessionObserverBandConfig, cg as SignalLevel, at as SignalScanResult, ch as SlotBehaviorConfig, ci as SlotMismatchMode, T as TopicScore, _ as TranscriptEntry, cj as TriggerMode, a3 as VerificationState, ck as confidenceTier, b5 as isRecallDisclosure } from './types-Dm5xxVrr.js';
package/dist/types.js CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  SPECULATIVE_TTL_DAYS,
5
5
  confidenceTier,
6
6
  isRecallDisclosure
7
- } from "./chunk-FMSDA2D3.js";
7
+ } from "./chunk-NGFEWFNK.js";
8
8
  import "./chunk-PZ5AY32C.js";
9
9
  export {
10
10
  DEFAULT_RECALL_DISCLOSURE,
@@ -1,5 +1,5 @@
1
1
  import { TierRoutingPolicy } from './tier-routing.js';
2
- import './types-D3pm4NhH.js';
2
+ import './types-Dm5xxVrr.js';
3
3
  import './types-ByK7T3L6.js';
4
4
  import './index-DJ9QWMw-.js';
5
5
  import './lifecycle.js';
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  compareVerifiedEpisodeResults,
3
3
  searchVerifiedEpisodes
4
- } from "./chunk-I75DF4FZ.js";
5
- import "./chunk-HQ6NIBL6.js";
6
- import "./chunk-TY5NT3T3.js";
4
+ } from "./chunk-4FE2K57M.js";
5
+ import "./chunk-7FL4CNPV.js";
6
+ import "./chunk-BLIWOONZ.js";
7
7
  import "./chunk-M7XQSUBB.js";
8
8
  import "./chunk-5UZXUTVO.js";
9
9
  import "./chunk-5GPPACXK.js";
10
10
  import "./chunk-J6A3CX5N.js";
11
- import "./chunk-FMSDA2D3.js";
11
+ import "./chunk-NGFEWFNK.js";
12
12
  import "./chunk-MB5RSUW6.js";
13
13
  import "./chunk-6KYMPV2O.js";
14
14
  import "./chunk-AWJ2FHCF.js";
@@ -24,8 +24,10 @@ import "./chunk-J2HSAU72.js";
24
24
  import "./chunk-A6XUJE5D.js";
25
25
  import "./chunk-P7FMDTKL.js";
26
26
  import "./chunk-VS2IYZRU.js";
27
+ import "./chunk-ZPQVJEVQ.js";
27
28
  import "./chunk-4DJQYKMN.js";
28
- import "./chunk-2ODBA7MQ.js";
29
+ import "./chunk-JUC24CTX.js";
30
+ import "./chunk-NU3CSQ4H.js";
29
31
  import "./chunk-ZBJMUXZH.js";
30
32
  import "./chunk-PZ5AY32C.js";
31
33
  export {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remnic/core",
3
- "version": "9.3.683",
3
+ "version": "9.3.685",
4
4
  "description": "Framework-agnostic Remnic memory engine — orchestrator, storage, extraction, search, trust zones",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -2931,7 +2931,7 @@
2931
2931
  "core"
2932
2932
  ],
2933
2933
  "peerDependencies": {
2934
- "@remnic/coding-graph": "^9.3.683"
2934
+ "@remnic/coding-graph": "^9.3.685"
2935
2935
  },
2936
2936
  "peerDependenciesMeta": {
2937
2937
  "@remnic/coding-graph": {
@@ -1707,7 +1707,7 @@ export class EngramAccessHttpServer {
1707
1707
  // extraction write path. Record it so QMD maintenance / writtenSince
1708
1708
  // don't miss the write. Best-effort and failure-tolerant.
1709
1709
  onMergedMemoryWritten: (namespace, storageDir) => {
1710
- this.service.recordCatalogWrite(namespace, storageDir);
1710
+ // #1522: catalog touch handled at the storage chokepoint.
1711
1711
  },
1712
1712
  });
1713
1713
  this.respondJson(res, 200, result);
package/src/access-mcp.ts CHANGED
@@ -3231,7 +3231,7 @@ export class EngramMcpServer {
3231
3231
  // extraction write path. Record it so QMD maintenance / writtenSince
3232
3232
  // don't miss the write. Best-effort and failure-tolerant.
3233
3233
  onMergedMemoryWritten: (namespace, storageDir) => {
3234
- this.service.recordCatalogWrite(namespace, storageDir);
3234
+ // #1522: catalog touch handled at the storage chokepoint.
3235
3235
  },
3236
3236
  });
3237
3237
  }
@@ -7646,17 +7646,7 @@ export class EngramAccessService {
7646
7646
  return this.orchestrator.storage;
7647
7647
  }
7648
7648
 
7649
- /**
7650
- * Best-effort catalog write touch delegate (issue #1499 sweep). HTTP/MCP
7651
- * surfaces resolve a per-namespace storage and write through it directly (e.g.
7652
- * a contradiction merge), bypassing the extraction write path that owns
7653
- * `markCatalogWrite`. They call this to record the write so a (possibly
7654
- * dynamic) namespace's `lastWriteAt` stays accurate and QMD maintenance does
7655
- * not miss it. Fire-and-forget and failure-tolerant on the orchestrator side.
7656
- */
7657
- recordCatalogWrite(namespace?: string, storageDir?: string): void {
7658
- this.orchestrator.recordCatalogWrite(namespace, storageDir);
7659
- }
7649
+ // #1522: recordCatalogWrite removed — catalog touch handled at the storage chokepoint.
7660
7650
 
7661
7651
  get configRef(): PluginConfig {
7662
7652
  return this.orchestrator.config;
package/src/cli.ts CHANGED
@@ -8999,7 +8999,7 @@ export function registerCli(
8999
8999
  // bypassing the extraction write path. Record it so QMD maintenance /
9000
9000
  // writtenSince don't miss the write. Best-effort and failure-tolerant.
9001
9001
  onMergedMemoryWritten: (namespace, storageDir) => {
9002
- orchestrator.recordCatalogWrite(namespace, storageDir);
9002
+ // #1522: catalog touch handled at the storage chokepoint.
9003
9003
  },
9004
9004
  });
9005
9005
  console.log(result.message);
@@ -1920,3 +1920,115 @@ test("parseConfig schema-default-detection round-4 contract (round 8: runtimeSet
1920
1920
  );
1921
1921
  });
1922
1922
  });
1923
+
1924
+ // ---------------------------------------------------------------------------
1925
+ // Issue #1575 PR 1 — provenance config block: defaults + coercion.
1926
+ //
1927
+ // The characterization test pins the documented defaults table from the issue
1928
+ // so a future edit to the parsing defaults is caught here rather than in a
1929
+ // downstream extraction test. Env-var reads are isolated so the REMNIC_/
1930
+ // ENGRAM_ override path is exercised deterministically.
1931
+ // ---------------------------------------------------------------------------
1932
+
1933
+ test("parseConfig provenance defaults deep-equal the documented table (issue #1575)", () => {
1934
+ const prevEnabled = process.env.REMNIC_PROVENANCE_ENABLED;
1935
+ const prevEngram = process.env.ENGRAM_PROVENANCE_ENABLED;
1936
+ delete process.env.REMNIC_PROVENANCE_ENABLED;
1937
+ delete process.env.ENGRAM_PROVENANCE_ENABLED;
1938
+ try {
1939
+ const result = parseConfig({ openaiApiKey: "sk-test" });
1940
+ assert.deepEqual(result.provenance, {
1941
+ enabled: true,
1942
+ maxQuoteChars: 300,
1943
+ requireSpans: false,
1944
+ });
1945
+ } finally {
1946
+ if (prevEnabled !== undefined) process.env.REMNIC_PROVENANCE_ENABLED = prevEnabled;
1947
+ if (prevEngram !== undefined) process.env.ENGRAM_PROVENANCE_ENABLED = prevEngram;
1948
+ }
1949
+ });
1950
+
1951
+ test("parseConfig provenance.enabled coerces boolean-like strings and rejects garbage (issue #1575)", () => {
1952
+ for (const v of [true, "true", "1", "yes", "on"] as const) {
1953
+ const result = parseConfig({ provenance: { enabled: v } });
1954
+ assert.equal(result.provenance.enabled, true, `enabled ${JSON.stringify(v)} -> true`);
1955
+ }
1956
+ for (const v of [false, "false", "0", "no", "off"] as const) {
1957
+ const result = parseConfig({ provenance: { enabled: v } });
1958
+ assert.equal(result.provenance.enabled, false, `enabled ${JSON.stringify(v)} -> false`);
1959
+ }
1960
+ assert.throws(
1961
+ () => parseConfig({ provenance: { enabled: "definitely" } }),
1962
+ /provenance\.enabled/,
1963
+ );
1964
+ });
1965
+
1966
+ test("parseConfig provenance.maxQuoteChars rejects present-but-invalid (issue #1575)", () => {
1967
+ assert.equal(parseConfig({ provenance: { maxQuoteChars: 500 } }).provenance.maxQuoteChars, 500);
1968
+ // String coercion (CLI --config style).
1969
+ assert.equal(parseConfig({ provenance: { maxQuoteChars: "150" } }).provenance.maxQuoteChars, 150);
1970
+ // Omitted key uses the documented default.
1971
+ assert.equal(parseConfig({}).provenance.maxQuoteChars, 300);
1972
+ // Present-but-invalid values are rejected loudly (review thread 3 / AGENTS.md input-validation).
1973
+ for (const v of [0, -5, "garbage", 3.7, Infinity, null] as unknown[]) {
1974
+ assert.throws(
1975
+ () => parseConfig({ provenance: { maxQuoteChars: v } }),
1976
+ /provenance\.maxQuoteChars must be a positive integer/,
1977
+ );
1978
+ }
1979
+ });
1980
+
1981
+ test("parseConfig provenance.requireSpans defaults false and coerces (issue #1575)", () => {
1982
+ assert.equal(parseConfig({}).provenance.requireSpans, false);
1983
+ assert.equal(parseConfig({ provenance: { requireSpans: true } }).provenance.requireSpans, true);
1984
+ assert.equal(parseConfig({ provenance: { requireSpans: "true" } }).provenance.requireSpans, true);
1985
+ assert.equal(parseConfig({ provenance: { requireSpans: "no" } }).provenance.requireSpans, false);
1986
+ // Present-but-invalid values are rejected loudly (review thread 2 / AGENTS.md input-validation).
1987
+ assert.throws(
1988
+ () => parseConfig({ provenance: { requireSpans: "treu" } }),
1989
+ /provenance\.requireSpans must be a boolean/,
1990
+ );
1991
+ });
1992
+
1993
+ test("parseConfig provenance non-object shape rejects loudly (issue #1575)", () => {
1994
+ for (const v of [false, null, "true", 0, []] as unknown[]) {
1995
+ assert.throws(
1996
+ () => parseConfig({ provenance: v } as Record<string, unknown>),
1997
+ /provenance must be an object/,
1998
+ );
1999
+ }
2000
+ });
2001
+
2002
+ test("parseConfig provenance.enabled honors REMNIC_/ENGRAM_ env fallback (issue #1575)", () => {
2003
+ const prevR = process.env.REMNIC_PROVENANCE_ENABLED;
2004
+ const prevE = process.env.ENGRAM_PROVENANCE_ENABLED;
2005
+ delete process.env.REMNIC_PROVENANCE_ENABLED;
2006
+ delete process.env.ENGRAM_PROVENANCE_ENABLED;
2007
+ try {
2008
+ process.env.ENGRAM_PROVENANCE_ENABLED = "off";
2009
+ assert.equal(parseConfig({}).provenance.enabled, false, "ENGRAM_ fallback flips to false");
2010
+ delete process.env.ENGRAM_PROVENANCE_ENABLED;
2011
+ process.env.REMNIC_PROVENANCE_ENABLED = "yes";
2012
+ assert.equal(parseConfig({}).provenance.enabled, true, "REMNIC_ takes precedence");
2013
+ process.env.ENGRAM_PROVENANCE_ENABLED = "off";
2014
+ assert.equal(
2015
+ parseConfig({}).provenance.enabled,
2016
+ true,
2017
+ "REMNIC_ wins over ENGRAM_ when both set",
2018
+ );
2019
+ delete process.env.REMNIC_PROVENANCE_ENABLED;
2020
+ delete process.env.ENGRAM_PROVENANCE_ENABLED;
2021
+ // Explicit config wins over env.
2022
+ process.env.REMNIC_PROVENANCE_ENABLED = "off";
2023
+ assert.equal(
2024
+ parseConfig({ provenance: { enabled: true } }).provenance.enabled,
2025
+ true,
2026
+ "explicit config beats env",
2027
+ );
2028
+ } finally {
2029
+ if (prevR !== undefined) process.env.REMNIC_PROVENANCE_ENABLED = prevR;
2030
+ else delete process.env.REMNIC_PROVENANCE_ENABLED;
2031
+ if (prevE !== undefined) process.env.ENGRAM_PROVENANCE_ENABLED = prevE;
2032
+ else delete process.env.ENGRAM_PROVENANCE_ENABLED;
2033
+ }
2034
+ });
package/src/config.ts CHANGED
@@ -45,6 +45,7 @@ import {
45
45
  resolveNamespaceCatalogEnabled,
46
46
  } from "./emit-legacy-tools.js";
47
47
  import { parseWearablesConfig } from "./wearables/config.js";
48
+ import { parseProvenanceConfig } from "./provenance.js";
48
49
  import { parseCodingKnowledgeConfig } from "./coding/coding-knowledge-config.js";
49
50
  const DEFAULT_MEMORY_DIR = path.join(
50
51
  resolveHomeDir(),
@@ -1471,18 +1472,16 @@ export function parseConfig(
1471
1472
  recallMaxProcedures,
1472
1473
  };
1473
1474
 
1474
- // Wearable transcript ingestion (Limitless / Bee / Omi). Parsing is
1475
- // delegated to the wearables module; it follows the same loud-reject
1476
- // conventions as the `procedural` block above.
1475
+ // Wearable transcript ingestion (Limitless / Bee / Omi) delegated to the wearables module.
1477
1476
  const wearables = parseWearablesConfig(cfg.wearables);
1478
1477
 
1478
+ const provenance = parseProvenanceConfig(cfg.provenance);
1479
1479
  // Coding-agent project/branch scoping (issue #569)
1480
1480
  const rawCodingMode =
1481
1481
  cfg.codingMode && typeof cfg.codingMode === "object" && !Array.isArray(cfg.codingMode)
1482
1482
  ? (cfg.codingMode as Record<string, unknown>)
1483
1483
  : {};
1484
- // Default: projectScope=true (enabled), branchScope=false (opt-in).
1485
- // `coerceBool` treats "false"/"0"/"no"/"off" as false (CLAUDE.md #36).
1484
+ // Default: projectScope=true, branchScope=false (opt-in; CLAUDE.md #36).
1486
1485
  const codingProjectScopeRaw = coerceBool(rawCodingMode.projectScope);
1487
1486
  const codingBranchScopeRaw = coerceBool(rawCodingMode.branchScope);
1488
1487
  const codingGlobalFallbackRaw = coerceBool(rawCodingMode.globalFallback);
@@ -2431,6 +2430,7 @@ export function parseConfig(
2431
2430
  dreamsPhases,
2432
2431
  procedural,
2433
2432
  wearables,
2433
+ provenance,
2434
2434
  // At-rest encryption (issue #690 PR 3/4)
2435
2435
  // coerceBool handles CLI string inputs: `--config secureStoreEnabled=true`
2436
2436
  // arrives as the string "true" which `=== true` would reject (CLAUDE.md #36).
@@ -435,15 +435,8 @@ export async function persistExplicitCapture(
435
435
  expiresAt: candidate.expiresAt,
436
436
  source: source === "inline" ? "explicit-inline" : "explicit",
437
437
  });
438
- // Record the catalog write touch (issue #1499, round 5 codex P2). Explicit
439
- // captures bypass the extraction write path, so without this their namespace
440
- // never updates `lastWriteAt`. An undefined namespace means the DEFAULT root
441
- // (round 6, codex P2), which recordCatalogWrite resolves. The method is an
442
- // optional best-effort hook — guard so Orchestrator-like callers without it
443
- // don't break (rule #33). Best-effort and failure-tolerant.
444
- if (typeof orchestrator.recordCatalogWrite === "function") {
445
- orchestrator.recordCatalogWrite(resolvedNamespace, storage.dir);
446
- }
438
+ // #1522: catalog touch handled at the storage chokepoint the StorageManager's
439
+ // post-write hook records the namespace touch automatically.
447
440
 
448
441
  const created = new Date().toISOString();
449
442
  const event: MemoryLifecycleEvent = {
@@ -559,9 +552,7 @@ export async function queueExplicitCaptureForReview(
559
552
  // `writeMemory` returns an id. If the later pending-review frontmatter update
560
553
  // fails, the memory file is still durable and must not disappear from
561
554
  // writtenSince/maintenance scheduling. Guarded optional hook (rule #33).
562
- if (typeof orchestrator.recordCatalogWrite === "function") {
563
- orchestrator.recordCatalogWrite(queueNamespace, storage.dir);
564
- }
555
+ // #1522: catalog touch handled at the storage chokepoint.
565
556
  }
566
557
  const event: MemoryLifecycleEvent = {
567
558
  eventId: `mle-${randomUUID()}`,
package/src/logger.ts CHANGED
@@ -15,11 +15,20 @@ const NOOP_LOGGER: LoggerBackend = {
15
15
  let _backend: LoggerBackend = NOOP_LOGGER;
16
16
  let _debug = false;
17
17
 
18
+ // Late-bind console.* rather than capturing references at module import
19
+ // time. In production this is behaviour-identical to the pre-bound
20
+ // `.bind(console)` form — `console.info(msg, ...)` resolves `this` to
21
+ // `console` whether called directly or via an arrow wrapper — but it lets
22
+ // harnesses that swap console methods (e.g. runCli in @remnic/cli) route
23
+ // logger output through their capture sinks. With the old pre-bound form,
24
+ // any command that called initLogger() pinned the logger to the original
25
+ // console methods before the harness could swap them, so log.warn /
26
+ // log.info output escaped the capture buffer.
18
27
  const CONSOLE_LOGGER: LoggerBackend = {
19
- info: console.info.bind(console),
20
- warn: console.warn.bind(console),
21
- error: console.error.bind(console),
22
- debug: console.debug.bind(console),
28
+ info: (msg, ...args) => console.info(msg, ...args),
29
+ warn: (msg, ...args) => console.warn(msg, ...args),
30
+ error: (msg, ...args) => console.error(msg, ...args),
31
+ debug: (msg, ...args) => console.debug(msg, ...args),
23
32
  };
24
33
 
25
34
  export function initLogger(backend?: LoggerBackend, debug?: boolean): void {
@@ -539,7 +539,7 @@ test("register does not overwrite prior discoveredBy on an existing record", asy
539
539
 
540
540
  // A record first PRE-REGISTERED via the router's onResolve hook (config) is
541
541
  // UPGRADED to "write" by a later real write touch (round 6, codex P2 — NBPmT):
542
- // `storageFor()` fires registerResolved (config) before recordCatalogWrite runs,
542
+ // `storageFor()` fires registerResolved (config) before the storage chokepoint runs,
543
543
  // so without the upgrade `listNamespaces({ discoveredBy: "write" })` would miss a
544
544
  // genuinely-written namespace. A non-write touch (read/register) still preserves
545
545
  // provenance.
@@ -689,7 +689,7 @@ test("chunked write path contract: markWrite updates lastWriteAt for the namespa
689
689
  const ns = "project-origin-chunked";
690
690
  const storageDir = path.join(memoryDir, "namespaces", namespaceIdentityToken(ns));
691
691
  // This is exactly the call the orchestrator chunked branch now makes
692
- // (markCatalogWrite -> markWrite with discoveredBy "write" + storageDir).
692
+ // (storage chokepoint -> markWrite with discoveredBy "write" + storageDir).
693
693
  await catalog.markWrite(ns, { discoveredBy: "write", storageDir });
694
694
  const record = await catalog.getNamespaceRecord(ns);
695
695
  assert.ok(record?.lastWriteAt, "chunked write must update lastWriteAt");