@remnic/core 9.3.682 → 9.3.684

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 (256) hide show
  1. package/dist/access-boundary.d.ts +4 -4
  2. package/dist/access-boundary.js +12 -11
  3. package/dist/access-cli.js +29 -29
  4. package/dist/access-http.d.ts +4 -4
  5. package/dist/access-http.js +17 -16
  6. package/dist/access-mcp.d.ts +4 -4
  7. package/dist/access-mcp.js +14 -13
  8. package/dist/access-operations.d.ts +4 -4
  9. package/dist/access-operations.js +13 -12
  10. package/dist/{access-service-DvA6jyHL.d.ts → access-service-D-siI-xJ.d.ts} +2 -2
  11. package/dist/access-service.d.ts +4 -4
  12. package/dist/access-service.js +11 -10
  13. package/dist/access-surface-catalog.d.ts +4 -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 +2 -2
  18. package/dist/adapters/index.js +4 -4
  19. package/dist/adapters/registry.js +2 -2
  20. package/dist/behavior-learner.d.ts +1 -1
  21. package/dist/behavior-signals.d.ts +1 -1
  22. package/dist/bootstrap.d.ts +3 -3
  23. package/dist/briefing.d.ts +1 -1
  24. package/dist/briefing.js +4 -3
  25. package/dist/buffer-surprise-report.d.ts +1 -1
  26. package/dist/buffer.d.ts +1 -1
  27. package/dist/calibration.d.ts +1 -1
  28. package/dist/capabilities.d.ts +1 -1
  29. package/dist/causal-behavior.d.ts +1 -1
  30. package/dist/causal-consolidation.d.ts +1 -1
  31. package/dist/causal-consolidation.js +5 -4
  32. package/dist/causal-consolidation.js.map +1 -1
  33. package/dist/{chunk-O2WELT5C.js → chunk-2IBGHRIO.js} +2 -2
  34. package/dist/{chunk-I3HSKQT7.js → chunk-2L3KLWOV.js} +27 -27
  35. package/dist/{chunk-V254FAT5.js → chunk-3EVIMVQU.js} +2 -2
  36. package/dist/{chunk-H4BDNIKQ.js → chunk-3MY4W5V4.js} +8 -8
  37. package/dist/{chunk-3IND7N4X.js → chunk-3Z7NPD5T.js} +2 -2
  38. package/dist/{chunk-TY5NT3T3.js → chunk-53FDU4CE.js} +13 -8
  39. package/dist/chunk-53FDU4CE.js.map +1 -0
  40. package/dist/{chunk-QVWM4C24.js → chunk-5N5DXYDW.js} +6 -6
  41. package/dist/{chunk-FDSOMA6M.js → chunk-5OE4PYY5.js} +4 -4
  42. package/dist/{chunk-IUZWBCJX.js → chunk-6QM24CP7.js} +9 -6
  43. package/dist/chunk-6QM24CP7.js.map +1 -0
  44. package/dist/{chunk-H6PMGMNP.js → chunk-6VMIHVGO.js} +2 -2
  45. package/dist/{chunk-APJQ6UEA.js → chunk-AGNBY3VG.js} +4 -4
  46. package/dist/{chunk-GSTYVG5L.js → chunk-BFVPIKDY.js} +3 -3
  47. package/dist/{chunk-EG4TCVMU.js → chunk-DQY7NJ5L.js} +2 -2
  48. package/dist/{chunk-ARLRTZZZ.js → chunk-FMEKEF47.js} +2 -2
  49. package/dist/{chunk-NHFXF4ZO.js → chunk-FYEVFGJD.js} +2 -2
  50. package/dist/{chunk-OHX52AOS.js → chunk-GTDH3IUH.js} +2 -2
  51. package/dist/{chunk-ODWI5XU2.js → chunk-GWKCEM3S.js} +2 -2
  52. package/dist/{chunk-UAODC6GJ.js → chunk-J2FBJ63F.js} +3 -3
  53. package/dist/{chunk-KV6CX4ON.js → chunk-K6ZN34WC.js} +2 -2
  54. package/dist/{chunk-6VP3YUCS.js → chunk-LLONI6PY.js} +2 -2
  55. package/dist/{chunk-GNAMDNGT.js → chunk-LXH3DIF2.js} +4 -4
  56. package/dist/{chunk-TOQEZ63C.js → chunk-M3FWYURP.js} +5 -5
  57. package/dist/{chunk-B2B2IHUH.js → chunk-M6BVYHBU.js} +2 -2
  58. package/dist/{chunk-FMSDA2D3.js → chunk-NGFEWFNK.js} +1 -1
  59. package/dist/chunk-NGFEWFNK.js.map +1 -0
  60. package/dist/{chunk-QUA2JPH2.js → chunk-NHQGDVJF.js} +3 -3
  61. package/dist/{chunk-KACIOX42.js → chunk-OMLIFZ4I.js} +2 -2
  62. package/dist/{chunk-M4I3TREG.js → chunk-OXNOINIP.js} +21 -21
  63. package/dist/{chunk-2QSZNTDO.js → chunk-RKNJBZ55.js} +4 -4
  64. package/dist/{chunk-UJDV2NLT.js → chunk-ROHLEUTH.js} +4 -4
  65. package/dist/{chunk-WEPMT6SC.js → chunk-V25ZAOSB.js} +5 -5
  66. package/dist/{chunk-L5MUA6Q7.js → chunk-WI7JKV2T.js} +2 -2
  67. package/dist/{chunk-NQMBSSWW.js → chunk-WRE3JPAW.js} +2 -2
  68. package/dist/{chunk-I75DF4FZ.js → chunk-XEA4Z7JU.js} +2 -2
  69. package/dist/{chunk-G7Z3C2X6.js → chunk-XWEXT4XU.js} +2 -2
  70. package/dist/chunk-ZPQVJEVQ.js +184 -0
  71. package/dist/chunk-ZPQVJEVQ.js.map +1 -0
  72. package/dist/{cli-feUe-x3I.d.ts → cli-ooj6JQBS.d.ts} +3 -3
  73. package/dist/cli.d.ts +5 -5
  74. package/dist/cli.js +32 -32
  75. package/dist/compounding/engine.d.ts +1 -1
  76. package/dist/compounding/engine.js +4 -3
  77. package/dist/compounding/preference-consolidator.d.ts +1 -1
  78. package/dist/compression-optimizer.d.ts +1 -1
  79. package/dist/config.d.ts +1 -1
  80. package/dist/config.js +2 -2
  81. package/dist/connectors/codex-materialize-runner.d.ts +1 -1
  82. package/dist/connectors/codex-materialize-runner.js +4 -3
  83. package/dist/connectors/codex-materialize.d.ts +1 -1
  84. package/dist/connectors/index.d.ts +1 -1
  85. package/dist/connectors/index.js +7 -7
  86. package/dist/consolidation-provenance-check.d.ts +1 -1
  87. package/dist/consolidation-undo.d.ts +1 -1
  88. package/dist/contradiction/index.d.ts +1 -1
  89. package/dist/conversation-index/backend.d.ts +1 -1
  90. package/dist/conversation-index/chunker.d.ts +1 -1
  91. package/dist/conversation-index/faiss-adapter.d.ts +1 -1
  92. package/dist/conversation-index/indexer.d.ts +1 -1
  93. package/dist/conversation-index/search.d.ts +1 -1
  94. package/dist/day-summary.d.ts +1 -1
  95. package/dist/delinearize.d.ts +1 -1
  96. package/dist/direct-answer-wiring.d.ts +1 -1
  97. package/dist/direct-answer.d.ts +1 -1
  98. package/dist/embedding-fallback.d.ts +1 -1
  99. package/dist/enrichment/index.d.ts +1 -1
  100. package/dist/entity-retrieval.d.ts +1 -1
  101. package/dist/entity-retrieval.js +5 -3
  102. package/dist/entity-schema.d.ts +1 -1
  103. package/dist/explicit-capture.d.ts +3 -3
  104. package/dist/extraction-judge-telemetry.d.ts +1 -1
  105. package/dist/extraction-judge-training.d.ts +1 -1
  106. package/dist/extraction-judge.d.ts +1 -1
  107. package/dist/extraction.d.ts +1 -1
  108. package/dist/fallback-llm.d.ts +1 -1
  109. package/dist/{first-start-migration-FF7YFGRP.js → first-start-migration-PG5HBC3K.js} +4 -4
  110. package/dist/identity-continuity.d.ts +1 -1
  111. package/dist/importance.d.ts +1 -1
  112. package/dist/index.d.ts +8 -8
  113. package/dist/index.js +79 -79
  114. package/dist/intent.d.ts +1 -1
  115. package/dist/lcm/engine.d.ts +1 -1
  116. package/dist/lcm/engine.js +2 -2
  117. package/dist/lcm/index.d.ts +1 -1
  118. package/dist/lcm/index.js +5 -5
  119. package/dist/lcm/tools.d.ts +1 -1
  120. package/dist/lifecycle.d.ts +1 -1
  121. package/dist/live-connectors-runner.d.ts +1 -1
  122. package/dist/local-llm.d.ts +1 -1
  123. package/dist/maintenance/memory-governance.d.ts +1 -1
  124. package/dist/maintenance/memory-governance.js +5 -3
  125. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +5 -3
  126. package/dist/maintenance/rebuild-memory-projection.js +6 -4
  127. package/dist/mcp-memory-inspector-app.d.ts +4 -4
  128. package/dist/memory-action-policy.d.ts +1 -1
  129. package/dist/memory-cache.d.ts +1 -1
  130. package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
  131. package/dist/memory-projection-store.d.ts +1 -1
  132. package/dist/memory-provenance.d.ts +1 -1
  133. package/dist/memory-worth-outcomes.d.ts +1 -1
  134. package/dist/models-json.d.ts +1 -1
  135. package/dist/namespaces/migrate.d.ts +1 -1
  136. package/dist/namespaces/migrate.js +8 -7
  137. package/dist/namespaces/principal.d.ts +1 -1
  138. package/dist/namespaces/search.d.ts +1 -1
  139. package/dist/namespaces/search.js +3 -3
  140. package/dist/namespaces/storage.d.ts +1 -1
  141. package/dist/namespaces/storage.js +5 -3
  142. package/dist/native-knowledge.d.ts +1 -1
  143. package/dist/operator-toolkit.d.ts +1 -1
  144. package/dist/operator-toolkit.js +11 -11
  145. package/dist/{orchestrator-7zPqGupX.d.ts → orchestrator-DIDDvwDw.d.ts} +2 -2
  146. package/dist/orchestrator.d.ts +3 -3
  147. package/dist/orchestrator.js +23 -22
  148. package/dist/patterns-cli.d.ts +1 -1
  149. package/dist/policy-runtime.d.ts +1 -1
  150. package/dist/provenance.d.ts +94 -0
  151. package/dist/provenance.js +17 -0
  152. package/dist/provenance.js.map +1 -0
  153. package/dist/qmd-recall-cache.d.ts +1 -1
  154. package/dist/qmd.d.ts +1 -1
  155. package/dist/recall-disclosure-escalation.d.ts +1 -1
  156. package/dist/recall-explain-renderer.d.ts +1 -1
  157. package/dist/recall-explain-renderer.js +3 -3
  158. package/dist/recall-planner-llm.d.ts +1 -1
  159. package/dist/recall-state.d.ts +1 -1
  160. package/dist/recall-tag-filter.d.ts +1 -1
  161. package/dist/recall-xray-cli.d.ts +1 -1
  162. package/dist/recall-xray-cli.js +4 -4
  163. package/dist/recall-xray-renderer.d.ts +1 -1
  164. package/dist/recall-xray-renderer.js +3 -3
  165. package/dist/recall-xray.d.ts +1 -1
  166. package/dist/recall-xray.js +2 -2
  167. package/dist/resolve-auth-token.d.ts +1 -1
  168. package/dist/resume-bundles.js +3 -3
  169. package/dist/retrieval-agents.d.ts +1 -1
  170. package/dist/retrieval-tiers.d.ts +1 -1
  171. package/dist/routing/engine.d.ts +1 -1
  172. package/dist/routing/store.d.ts +1 -1
  173. package/dist/schemas.d.ts +22 -22
  174. package/dist/search/embed-helper.d.ts +1 -1
  175. package/dist/search/factory.d.ts +1 -1
  176. package/dist/search/factory.js +2 -2
  177. package/dist/search/index.d.ts +1 -1
  178. package/dist/search/index.js +4 -4
  179. package/dist/search/lancedb-backend.d.ts +1 -1
  180. package/dist/search/meilisearch-backend.d.ts +1 -1
  181. package/dist/search/noop-backend.d.ts +1 -1
  182. package/dist/search/orama-backend.d.ts +1 -1
  183. package/dist/search/port.d.ts +1 -1
  184. package/dist/search/remote-backend.d.ts +1 -1
  185. package/dist/{semantic-consolidation-BX9Z9_aK.d.ts → semantic-consolidation-CWch5uM7.d.ts} +1 -1
  186. package/dist/semantic-consolidation.d.ts +2 -2
  187. package/dist/semantic-consolidation.js +5 -4
  188. package/dist/semantic-rule-promotion.js +5 -3
  189. package/dist/semantic-rule-verifier.d.ts +1 -1
  190. package/dist/semantic-rule-verifier.js +5 -3
  191. package/dist/session-observer-bands.d.ts +1 -1
  192. package/dist/session-observer-state.d.ts +1 -1
  193. package/dist/shared-context/manager.d.ts +1 -1
  194. package/dist/signal.d.ts +1 -1
  195. package/dist/storage.d.ts +1 -1
  196. package/dist/storage.js +4 -2
  197. package/dist/summarizer.d.ts +1 -1
  198. package/dist/summary-snapshot.d.ts +1 -1
  199. package/dist/temporal-supersession.d.ts +1 -1
  200. package/dist/temporal-validity.d.ts +1 -1
  201. package/dist/threading.d.ts +1 -1
  202. package/dist/tier-migration.d.ts +1 -1
  203. package/dist/tier-routing.d.ts +1 -1
  204. package/dist/topics.d.ts +1 -1
  205. package/dist/transcript.d.ts +1 -1
  206. package/dist/transfer/import-sqlite.js +2 -2
  207. package/dist/transfer/types.d.ts +12 -12
  208. package/dist/{types-D3pm4NhH.d.ts → types-Dm5xxVrr.d.ts} +61 -1
  209. package/dist/types.d.ts +1 -1
  210. package/dist/types.js +1 -1
  211. package/dist/utility-runtime.d.ts +1 -1
  212. package/dist/verified-recall.js +5 -3
  213. package/package.json +2 -2
  214. package/src/config.test.ts +112 -0
  215. package/src/config.ts +5 -5
  216. package/src/provenance-frontmatter.test.ts +596 -0
  217. package/src/provenance.ts +305 -0
  218. package/src/storage.ts +5 -5
  219. package/src/types.ts +76 -0
  220. package/dist/chunk-FMSDA2D3.js.map +0 -1
  221. package/dist/chunk-IUZWBCJX.js.map +0 -1
  222. package/dist/chunk-PHK3HARR.js +0 -32
  223. package/dist/chunk-PHK3HARR.js.map +0 -1
  224. package/dist/chunk-TY5NT3T3.js.map +0 -1
  225. /package/dist/{chunk-O2WELT5C.js.map → chunk-2IBGHRIO.js.map} +0 -0
  226. /package/dist/{chunk-I3HSKQT7.js.map → chunk-2L3KLWOV.js.map} +0 -0
  227. /package/dist/{chunk-V254FAT5.js.map → chunk-3EVIMVQU.js.map} +0 -0
  228. /package/dist/{chunk-H4BDNIKQ.js.map → chunk-3MY4W5V4.js.map} +0 -0
  229. /package/dist/{chunk-3IND7N4X.js.map → chunk-3Z7NPD5T.js.map} +0 -0
  230. /package/dist/{chunk-QVWM4C24.js.map → chunk-5N5DXYDW.js.map} +0 -0
  231. /package/dist/{chunk-FDSOMA6M.js.map → chunk-5OE4PYY5.js.map} +0 -0
  232. /package/dist/{chunk-H6PMGMNP.js.map → chunk-6VMIHVGO.js.map} +0 -0
  233. /package/dist/{chunk-APJQ6UEA.js.map → chunk-AGNBY3VG.js.map} +0 -0
  234. /package/dist/{chunk-GSTYVG5L.js.map → chunk-BFVPIKDY.js.map} +0 -0
  235. /package/dist/{chunk-EG4TCVMU.js.map → chunk-DQY7NJ5L.js.map} +0 -0
  236. /package/dist/{chunk-ARLRTZZZ.js.map → chunk-FMEKEF47.js.map} +0 -0
  237. /package/dist/{chunk-NHFXF4ZO.js.map → chunk-FYEVFGJD.js.map} +0 -0
  238. /package/dist/{chunk-OHX52AOS.js.map → chunk-GTDH3IUH.js.map} +0 -0
  239. /package/dist/{chunk-ODWI5XU2.js.map → chunk-GWKCEM3S.js.map} +0 -0
  240. /package/dist/{chunk-UAODC6GJ.js.map → chunk-J2FBJ63F.js.map} +0 -0
  241. /package/dist/{chunk-KV6CX4ON.js.map → chunk-K6ZN34WC.js.map} +0 -0
  242. /package/dist/{chunk-6VP3YUCS.js.map → chunk-LLONI6PY.js.map} +0 -0
  243. /package/dist/{chunk-GNAMDNGT.js.map → chunk-LXH3DIF2.js.map} +0 -0
  244. /package/dist/{chunk-TOQEZ63C.js.map → chunk-M3FWYURP.js.map} +0 -0
  245. /package/dist/{chunk-B2B2IHUH.js.map → chunk-M6BVYHBU.js.map} +0 -0
  246. /package/dist/{chunk-QUA2JPH2.js.map → chunk-NHQGDVJF.js.map} +0 -0
  247. /package/dist/{chunk-KACIOX42.js.map → chunk-OMLIFZ4I.js.map} +0 -0
  248. /package/dist/{chunk-M4I3TREG.js.map → chunk-OXNOINIP.js.map} +0 -0
  249. /package/dist/{chunk-2QSZNTDO.js.map → chunk-RKNJBZ55.js.map} +0 -0
  250. /package/dist/{chunk-UJDV2NLT.js.map → chunk-ROHLEUTH.js.map} +0 -0
  251. /package/dist/{chunk-WEPMT6SC.js.map → chunk-V25ZAOSB.js.map} +0 -0
  252. /package/dist/{chunk-L5MUA6Q7.js.map → chunk-WI7JKV2T.js.map} +0 -0
  253. /package/dist/{chunk-NQMBSSWW.js.map → chunk-WRE3JPAW.js.map} +0 -0
  254. /package/dist/{chunk-I75DF4FZ.js.map → chunk-XEA4Z7JU.js.map} +0 -0
  255. /package/dist/{chunk-G7Z3C2X6.js.map → chunk-XWEXT4XU.js.map} +0 -0
  256. /package/dist/{first-start-migration-FF7YFGRP.js.map → first-start-migration-PG5HBC3K.js.map} +0 -0
@@ -7,12 +7,15 @@ import {
7
7
  import {
8
8
  openclawReplayNormalizer
9
9
  } from "./chunk-7F7Z6MOS.js";
10
+ import {
11
+ exportSqlite
12
+ } from "./chunk-7VFZTJ7K.js";
10
13
  import {
11
14
  importMarkdownBundle
12
15
  } from "./chunk-HDDRVXX4.js";
13
16
  import {
14
17
  importSqlite
15
- } from "./chunk-APJQ6UEA.js";
18
+ } from "./chunk-AGNBY3VG.js";
16
19
  import {
17
20
  detectImportFormat
18
21
  } from "./chunk-OZKVVUJB.js";
@@ -28,9 +31,6 @@ import {
28
31
  import {
29
32
  exportMarkdownBundle
30
33
  } from "./chunk-765K3SAT.js";
31
- import {
32
- exportSqlite
33
- } from "./chunk-7VFZTJ7K.js";
34
34
  import {
35
35
  TailscaleHelper
36
36
  } from "./chunk-EEC4PCG5.js";
@@ -44,12 +44,12 @@ import {
44
44
  } from "./chunk-HOJZMQ4J.js";
45
45
  import {
46
46
  rebuildMemoryLifecycleLedger
47
- } from "./chunk-H6PMGMNP.js";
47
+ } from "./chunk-6VMIHVGO.js";
48
48
  import {
49
49
  rebuildMemoryProjection,
50
50
  repairMemoryProjection,
51
51
  verifyMemoryProjection
52
- } from "./chunk-UAODC6GJ.js";
52
+ } from "./chunk-J2FBJ63F.js";
53
53
  import {
54
54
  rebuildObservations
55
55
  } from "./chunk-LZZNTPLR.js";
@@ -74,18 +74,18 @@ import {
74
74
  } from "./chunk-EVWIEEKZ.js";
75
75
  import {
76
76
  promoteSemanticRuleFromMemory
77
- } from "./chunk-3IND7N4X.js";
77
+ } from "./chunk-3Z7NPD5T.js";
78
78
  import {
79
79
  buildResumeBundleFromState,
80
80
  getResumeBundleStatus,
81
81
  recordResumeBundle
82
- } from "./chunk-ODWI5XU2.js";
82
+ } from "./chunk-GWKCEM3S.js";
83
83
  import {
84
84
  resolveAgentAccessAuthToken
85
85
  } from "./chunk-TGQ2NTWH.js";
86
86
  import {
87
87
  parseXrayCliOptions
88
- } from "./chunk-GSTYVG5L.js";
88
+ } from "./chunk-BFVPIKDY.js";
89
89
  import {
90
90
  collectPatternMemories,
91
91
  explainPatternMemory,
@@ -102,12 +102,12 @@ import {
102
102
  runOperatorInventory,
103
103
  runOperatorRepair,
104
104
  runOperatorSetup
105
- } from "./chunk-TOQEZ63C.js";
105
+ } from "./chunk-M3FWYURP.js";
106
106
  import {
107
107
  listNamespaces,
108
108
  runNamespaceMigration,
109
109
  verifyNamespaces
110
- } from "./chunk-QUA2JPH2.js";
110
+ } from "./chunk-NHQGDVJF.js";
111
111
  import {
112
112
  GraphDashboardServer
113
113
  } from "./chunk-YNDLCWXS.js";
@@ -128,13 +128,13 @@ import {
128
128
  } from "./chunk-TERNBNJB.js";
129
129
  import {
130
130
  searchVerifiedEpisodes
131
- } from "./chunk-I75DF4FZ.js";
131
+ } from "./chunk-XEA4Z7JU.js";
132
132
  import {
133
133
  ThreadingManager
134
134
  } from "./chunk-W4RVMTHR.js";
135
135
  import {
136
136
  searchVerifiedSemanticRules
137
- } from "./chunk-KACIOX42.js";
137
+ } from "./chunk-OMLIFZ4I.js";
138
138
  import {
139
139
  getWorkProductLedgerStatus,
140
140
  recordWorkProductLedgerEntry,
@@ -210,22 +210,22 @@ import {
210
210
  } from "./chunk-UQ7RN5HK.js";
211
211
  import {
212
212
  parseConfig
213
- } from "./chunk-IUZWBCJX.js";
213
+ } from "./chunk-6QM24CP7.js";
214
214
  import {
215
215
  getAbstractionNodeStoreStatus
216
216
  } from "./chunk-OADWQ5CR.js";
217
217
  import {
218
218
  EngramAccessHttpServer
219
- } from "./chunk-QVWM4C24.js";
219
+ } from "./chunk-5N5DXYDW.js";
220
220
  import {
221
221
  WearablesInputError
222
222
  } from "./chunk-7WV3F5DQ.js";
223
223
  import {
224
224
  EngramMcpServer
225
- } from "./chunk-FDSOMA6M.js";
225
+ } from "./chunk-5OE4PYY5.js";
226
226
  import {
227
227
  EngramAccessService
228
- } from "./chunk-H4BDNIKQ.js";
228
+ } from "./chunk-3MY4W5V4.js";
229
229
  import {
230
230
  WorkStorage
231
231
  } from "./chunk-GDB4J2H3.js";
@@ -233,7 +233,7 @@ import {
233
233
  parseRecallExplainFormat,
234
234
  renderRecallExplain,
235
235
  renderXray
236
- } from "./chunk-OHX52AOS.js";
236
+ } from "./chunk-GTDH3IUH.js";
237
237
  import {
238
238
  getTrustZoneStoreStatus,
239
239
  promoteTrustZoneRecord,
@@ -247,7 +247,7 @@ import {
247
247
  readMemoryGovernanceRunArtifact,
248
248
  restoreMemoryGovernanceRun,
249
249
  runMemoryGovernance
250
- } from "./chunk-L5MUA6Q7.js";
250
+ } from "./chunk-WI7JKV2T.js";
251
251
  import {
252
252
  analyzeGraphHealth
253
253
  } from "./chunk-2LDBXPLB.js";
@@ -260,7 +260,7 @@ import {
260
260
  import {
261
261
  RECALL_DISCLOSURE_LEVELS,
262
262
  isRecallDisclosure
263
- } from "./chunk-FMSDA2D3.js";
263
+ } from "./chunk-NGFEWFNK.js";
264
264
  import {
265
265
  RECALL_FALLBACK_DIRS
266
266
  } from "./chunk-VS2IYZRU.js";
@@ -7311,4 +7311,4 @@ export {
7311
7311
  listMemoryMarkdownFilePaths,
7312
7312
  registerCli
7313
7313
  };
7314
- //# sourceMappingURL=chunk-M4I3TREG.js.map
7314
+ //# sourceMappingURL=chunk-OXNOINIP.js.map
@@ -1,3 +1,6 @@
1
+ import {
2
+ ClaudeCodeAdapter
3
+ } from "./chunk-J64TK33U.js";
1
4
  import {
2
5
  CodexAdapter
3
6
  } from "./chunk-RSUYKGGZ.js";
@@ -7,9 +10,6 @@ import {
7
10
  import {
8
11
  ReplitAdapter
9
12
  } from "./chunk-TMSXWOBZ.js";
10
- import {
11
- ClaudeCodeAdapter
12
- } from "./chunk-J64TK33U.js";
13
13
 
14
14
  // src/adapters/registry.ts
15
15
  var AdapterRegistry = class {
@@ -53,4 +53,4 @@ var AdapterRegistry = class {
53
53
  export {
54
54
  AdapterRegistry
55
55
  };
56
- //# sourceMappingURL=chunk-2QSZNTDO.js.map
56
+ //# sourceMappingURL=chunk-RKNJBZ55.js.map
@@ -1,3 +1,6 @@
1
+ import {
2
+ MeilisearchBackend
3
+ } from "./chunk-DOCTITOP.js";
1
4
  import {
2
5
  NoopSearchBackend
3
6
  } from "./chunk-CYEPCZN5.js";
@@ -13,9 +16,6 @@ import {
13
16
  import {
14
17
  LanceDbBackend
15
18
  } from "./chunk-OUWAQVDJ.js";
16
- import {
17
- MeilisearchBackend
18
- } from "./chunk-DOCTITOP.js";
19
19
  import {
20
20
  createConversationIndexBackend
21
21
  } from "./chunk-7OGJQP7T.js";
@@ -170,4 +170,4 @@ export {
170
170
  createConversationSearchBackend,
171
171
  createConversationIndexRuntime
172
172
  };
173
- //# sourceMappingURL=chunk-UJDV2NLT.js.map
173
+ //# sourceMappingURL=chunk-ROHLEUTH.js.map
@@ -1,3 +1,7 @@
1
+ import {
2
+ ensureLcmStateDir,
3
+ openLcmDatabase
4
+ } from "./chunk-MAV46GWQ.js";
1
5
  import {
2
6
  LcmSummarizer
3
7
  } from "./chunk-5VDJMYTF.js";
@@ -13,10 +17,6 @@ import {
13
17
  import {
14
18
  assembleCompressedHistory
15
19
  } from "./chunk-KCYE2MZM.js";
16
- import {
17
- ensureLcmStateDir,
18
- openLcmDatabase
19
- } from "./chunk-MAV46GWQ.js";
20
20
  import {
21
21
  log
22
22
  } from "./chunk-2ODBA7MQ.js";
@@ -513,4 +513,4 @@ export {
513
513
  extractLcmConfig,
514
514
  LcmEngine
515
515
  };
516
- //# sourceMappingURL=chunk-WEPMT6SC.js.map
516
+ //# sourceMappingURL=chunk-V25ZAOSB.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  StorageManager
3
- } from "./chunk-TY5NT3T3.js";
3
+ } from "./chunk-53FDU4CE.js";
4
4
  import {
5
5
  assertPathInsideRoot
6
6
  } from "./chunk-5GPPACXK.js";
@@ -751,4 +751,4 @@ export {
751
751
  listMemoryGovernanceRuns,
752
752
  readMemoryGovernanceRunArtifact
753
753
  };
754
- //# sourceMappingURL=chunk-L5MUA6Q7.js.map
754
+ //# sourceMappingURL=chunk-WI7JKV2T.js.map
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  compareEntityTimestamps,
6
6
  normalizeEntityName
7
- } from "./chunk-TY5NT3T3.js";
7
+ } from "./chunk-53FDU4CE.js";
8
8
  import {
9
9
  sanitizeMemoryContent
10
10
  } from "./chunk-FVQJYWH7.js";
@@ -679,4 +679,4 @@ export {
679
679
  entityIndexVersion,
680
680
  entityRecentTranscriptLookbackHours
681
681
  };
682
- //# sourceMappingURL=chunk-NQMBSSWW.js.map
682
+ //# sourceMappingURL=chunk-WRE3JPAW.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-HQ6NIBL6.js";
4
4
  import {
5
5
  StorageManager
6
- } from "./chunk-TY5NT3T3.js";
6
+ } from "./chunk-53FDU4CE.js";
7
7
  import {
8
8
  getCachedEpisodeMap,
9
9
  setCachedEpisodeMap
@@ -107,4 +107,4 @@ export {
107
107
  compareVerifiedEpisodeResults,
108
108
  searchVerifiedEpisodes
109
109
  };
110
- //# sourceMappingURL=chunk-I75DF4FZ.js.map
110
+ //# sourceMappingURL=chunk-XEA4Z7JU.js.map
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-3UXOZBHV.js";
8
8
  import {
9
9
  StorageManager
10
- } from "./chunk-TY5NT3T3.js";
10
+ } from "./chunk-53FDU4CE.js";
11
11
  import {
12
12
  isSafeRouteNamespace
13
13
  } from "./chunk-U3PN77QT.js";
@@ -118,4 +118,4 @@ export {
118
118
  runCodexMaterialize,
119
119
  runPostConsolidationMaterialize
120
120
  };
121
- //# sourceMappingURL=chunk-G7Z3C2X6.js.map
121
+ //# sourceMappingURL=chunk-XWEXT4XU.js.map
@@ -0,0 +1,184 @@
1
+ import {
2
+ readEnvVar
3
+ } from "./chunk-JUC24CTX.js";
4
+
5
+ // src/provenance.ts
6
+ import { z } from "zod";
7
+
8
+ // src/connectors/coerce.ts
9
+ function coerceBool(value) {
10
+ if (typeof value === "boolean") return value;
11
+ if (typeof value === "string") {
12
+ const v = value.trim().toLowerCase();
13
+ if (["false", "0", "no", "off"].includes(v)) return false;
14
+ if (["true", "1", "yes", "on"].includes(v)) return true;
15
+ }
16
+ return void 0;
17
+ }
18
+ function coerceInstallExtension(value) {
19
+ return coerceBool(value);
20
+ }
21
+ function coerceNumber(value) {
22
+ if (typeof value === "number") {
23
+ return Number.isFinite(value) ? value : void 0;
24
+ }
25
+ if (typeof value === "string") {
26
+ const trimmed = value.trim();
27
+ if (trimmed.length === 0) return void 0;
28
+ const n = Number(trimmed);
29
+ return Number.isFinite(n) ? n : void 0;
30
+ }
31
+ return void 0;
32
+ }
33
+
34
+ // src/provenance.ts
35
+ var PROVENANCE_SOURCE_KEY_ORDER = [
36
+ "sessionKey",
37
+ "turnId",
38
+ "observedAt",
39
+ "quote",
40
+ "charStart",
41
+ "charEnd"
42
+ ];
43
+ function canonicalProvenanceSource(src) {
44
+ const out = {};
45
+ for (const key of PROVENANCE_SOURCE_KEY_ORDER) {
46
+ const value = src[key];
47
+ if (value !== void 0) out[key] = value;
48
+ }
49
+ return out;
50
+ }
51
+ function serializeProvenanceFields(fm, lines) {
52
+ let hasValidSources = false;
53
+ if (fm.sources && fm.sources.length > 0) {
54
+ const canonical = [];
55
+ for (const src of fm.sources) {
56
+ const result = ProvenanceSourceSchema.safeParse(src);
57
+ if (result.success) canonical.push(canonicalProvenanceSource(result.data));
58
+ }
59
+ if (canonical.length > 0) {
60
+ lines.push(`sources: ${JSON.stringify(canonical)}`);
61
+ hasValidSources = true;
62
+ }
63
+ }
64
+ const tag = (fm.provenance === "verified" || fm.provenance === "unverified") && !hasValidSources ? "none" : fm.provenance;
65
+ if (tag) {
66
+ lines.push(`provenance: ${tag}`);
67
+ }
68
+ }
69
+ function parseProvenanceTag(raw) {
70
+ if (raw === void 0) return void 0;
71
+ const trimmed = raw.trim();
72
+ if (trimmed.length === 0) return void 0;
73
+ if (trimmed === "verified" || trimmed === "unverified" || trimmed === "none") {
74
+ return trimmed;
75
+ }
76
+ return void 0;
77
+ }
78
+ function reconcileProvenanceRead(tag, sources) {
79
+ if ((tag === "verified" || tag === "unverified") && (!sources || sources.length === 0)) {
80
+ return "none";
81
+ }
82
+ return tag;
83
+ }
84
+ function isStrictIsoTimestamp(s) {
85
+ const m = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/.exec(s);
86
+ if (!m) return false;
87
+ const y = Number(m[1]), mo = Number(m[2]), da = Number(m[3]);
88
+ const h = Number(m[4]), mi = Number(m[5]), se = Number(m[6]);
89
+ const d = new Date(Date.UTC(y, mo - 1, da, h, mi, se));
90
+ return !Number.isNaN(Date.parse(s)) && d.getUTCFullYear() === y && d.getUTCMonth() === mo - 1 && d.getUTCDate() === da && d.getUTCHours() === h && d.getUTCMinutes() === mi && d.getUTCSeconds() === se;
91
+ }
92
+ var ProvenanceSourceSchema = z.object({
93
+ sessionKey: z.string().min(1),
94
+ observedAt: z.string().min(1).refine(isStrictIsoTimestamp, "must be a valid ISO 8601 timestamp (YYYY-MM-DDTHH:MM:SS[Z|\xB1HH:MM], no calendar overflow)"),
95
+ quote: z.string().min(1),
96
+ turnId: z.string().min(1).optional(),
97
+ charStart: z.number().finite().nonnegative().int().optional(),
98
+ charEnd: z.number().finite().nonnegative().int().optional()
99
+ }).refine(
100
+ (src) => src.charStart === void 0 || src.charEnd === void 0 || src.charEnd >= src.charStart,
101
+ { message: "charEnd must be >= charStart (half-open interval, rule 35)" }
102
+ );
103
+ function parseProvenanceSources(raw) {
104
+ if (raw === void 0) return void 0;
105
+ const trimmed = raw.trim();
106
+ if (trimmed.length === 0) return void 0;
107
+ let parsed;
108
+ try {
109
+ parsed = JSON.parse(trimmed);
110
+ } catch {
111
+ return void 0;
112
+ }
113
+ if (!Array.isArray(parsed)) return void 0;
114
+ const sources = [];
115
+ for (const entry of parsed) {
116
+ const result = ProvenanceSourceSchema.safeParse(entry);
117
+ if (result.success) sources.push(result.data);
118
+ }
119
+ return sources.length > 0 ? sources : void 0;
120
+ }
121
+ function parseProvenanceConfig(raw) {
122
+ if (raw !== void 0 && (raw === null || typeof raw !== "object" || Array.isArray(raw))) {
123
+ throw new Error(
124
+ `provenance must be an object (got ${JSON.stringify(raw)}). Use provenance: { enabled: false } to opt out; omit the key to use the default-on behavior (issue #1575).`
125
+ );
126
+ }
127
+ const rawProvenance = raw && typeof raw === "object" && !Array.isArray(raw) ? raw : {};
128
+ return {
129
+ enabled: (() => {
130
+ if (rawProvenance.enabled === void 0) {
131
+ const envEnabled = readEnvVar("REMNIC_PROVENANCE_ENABLED") ?? readEnvVar("ENGRAM_PROVENANCE_ENABLED");
132
+ if (envEnabled !== void 0) {
133
+ const coerced2 = coerceBool(envEnabled);
134
+ if (coerced2 === void 0) {
135
+ throw new Error(
136
+ `REMNIC_PROVENANCE_ENABLED must be a boolean-like value (true/false/1/0/yes/no/on/off); got ${JSON.stringify(envEnabled)}`
137
+ );
138
+ }
139
+ return coerced2;
140
+ }
141
+ return true;
142
+ }
143
+ const coerced = coerceBool(rawProvenance.enabled);
144
+ if (coerced === void 0) {
145
+ throw new Error(
146
+ `provenance.enabled must be a boolean or one of "true"/"false"/"1"/"0"/"yes"/"no"/"on"/"off" (got ${JSON.stringify(rawProvenance.enabled)}). Omit the key to use the default-on behavior (issue #1575).`
147
+ );
148
+ }
149
+ return coerced;
150
+ })(),
151
+ maxQuoteChars: (() => {
152
+ if (rawProvenance.maxQuoteChars === void 0) return 300;
153
+ const rawCap = coerceNumber(rawProvenance.maxQuoteChars);
154
+ if (rawCap === void 0 || !Number.isFinite(rawCap) || rawCap < 1 || !Number.isInteger(rawCap)) {
155
+ throw new Error(
156
+ `provenance.maxQuoteChars must be a positive integer >= 1 (got ${JSON.stringify(rawProvenance.maxQuoteChars)}).`
157
+ );
158
+ }
159
+ return rawCap;
160
+ })(),
161
+ requireSpans: (() => {
162
+ if (rawProvenance.requireSpans === void 0) return false;
163
+ const coerced = coerceBool(rawProvenance.requireSpans);
164
+ if (coerced === void 0) {
165
+ throw new Error(
166
+ `provenance.requireSpans must be a boolean or one of "true"/"false"/"1"/"0"/"yes"/"no"/"on"/"off" (got ${JSON.stringify(rawProvenance.requireSpans)}).`
167
+ );
168
+ }
169
+ return coerced;
170
+ })()
171
+ };
172
+ }
173
+
174
+ export {
175
+ coerceBool,
176
+ coerceInstallExtension,
177
+ coerceNumber,
178
+ serializeProvenanceFields,
179
+ parseProvenanceTag,
180
+ reconcileProvenanceRead,
181
+ parseProvenanceSources,
182
+ parseProvenanceConfig
183
+ };
184
+ //# sourceMappingURL=chunk-ZPQVJEVQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/provenance.ts","../src/connectors/coerce.ts"],"sourcesContent":["/**\n * Claim-level provenance spans (issue #1575 PR 1).\n *\n * Centralizes the parse/serialize logic for the `sources` array and the\n * coarse `provenance` strength tag, plus the `provenance` config-block\n * parser. Extracted from `storage.ts` and `config.ts` so those files keep\n * only thin delegation call-sites — the frontmatter round-trip and config\n * parsing growth lives here (issue #1520 ratchet discipline).\n *\n * Contract:\n * - When no provenance fields are present, output is byte-identical to\n * pre-feature behavior (rule 39).\n * - Corrupt `sources` lines / unknown `provenance` tags drop to\n * `undefined` on read so a malformed frontmatter never poisons\n * downstream readers (rule 34 spirit — drop corrupt rather than poison).\n * - Validation lives on the write path; this module only parses.\n * - Invariant (review round 5, cursor thread KQN): a `verified` or\n * `unverified` tag is NEVER persisted/read without surviving sources —\n * without excerpts the tag is indistinguishable from a grounded fact to\n * downstream faithfulness/correction/TrustScore surfaces. The invariant\n * is enforced symmetrically: `serializeProvenanceFields` (write) and\n * `reconcileProvenanceRead` (read) both downgrade the tag to `none`\n * when no source survives.\n */\n\nimport { z } from \"zod\";\n\nimport { coerceBool, coerceNumber } from \"./connectors/coerce.js\";\nimport { readEnvVar } from \"./runtime/env.js\";\nimport type { MemoryFrontmatter, ProvenanceConfig, ProvenanceSource } from \"./types.js\";\n\n/**\n * Canonical key order for a serialized `ProvenanceSource` (issue #1575).\n * Deterministic emission (rule 38) — readers and the byte-identical-when-off\n * contract (rule 39) depend on this order never drifting.\n */\nconst PROVENANCE_SOURCE_KEY_ORDER = [\n \"sessionKey\",\n \"turnId\",\n \"observedAt\",\n \"quote\",\n \"charStart\",\n \"charEnd\",\n] as const;\n\n/**\n * Build a single `ProvenanceSource` object whose keys appear in the canonical\n * order, omitting absent optional fields. The result is what gets fed to\n * `JSON.stringify` so the on-disk line is deterministic.\n */\nfunction canonicalProvenanceSource(src: ProvenanceSource): Record<string, unknown> {\n const out: Record<string, unknown> = {};\n for (const key of PROVENANCE_SOURCE_KEY_ORDER) {\n const value = src[key];\n if (value !== undefined) out[key] = value;\n }\n return out;\n}\n\n/**\n * Serialize the `sources` array (issue #1575) as a single JSON line, matching\n * the `structuredAttributes` precedent. Each entry is rebuilt in canonical key\n * order (rule 38) so the output is byte-stable. The `provenance` enum is\n * emitted bare (same style as `status`) — only the three documented values\n * are ever written.\n *\n * Verified-requires-evidence invariant (review round 5, cursor thread KQN):\n * a `verified`/`unverified` tag is downgraded to `none` whenever no source\n * survives write validation — whether sources were absent, an empty array,\n * or all entries failed the schema. This covers all three failure shapes the\n * earlier 3-branch logic left open (`{provenance:\"verified\"}`,\n * `{sources:[],provenance:\"verified\"}`, `{sources:[invalid…],provenance:\"verified\"}`).\n */\nexport function serializeProvenanceFields(fm: MemoryFrontmatter, lines: string[]): void {\n let hasValidSources = false;\n if (fm.sources && fm.sources.length > 0) {\n // Validate each entry against the same schema used on read so invalid\n // in-memory sources are dropped at write time, not silently lost on the\n // next read (review thread 4 — write-path validation parity).\n const canonical: Record<string, unknown>[] = [];\n for (const src of fm.sources) {\n const result = ProvenanceSourceSchema.safeParse(src);\n if (result.success) canonical.push(canonicalProvenanceSource(result.data));\n }\n if (canonical.length > 0) {\n lines.push(`sources: ${JSON.stringify(canonical)}`);\n hasValidSources = true;\n }\n }\n // A verified/unverified tag requires surviving evidence; without it the\n // tag is meaningless downstream (faithfulness/TrustScore cannot distinguish\n // it from a grounded fact). Downgrade to \"none\" regardless of WHY no source\n // survived (absent / empty / all-invalid) — single invariant, all cases.\n const tag =\n (fm.provenance === \"verified\" || fm.provenance === \"unverified\") && !hasValidSources\n ? \"none\"\n : fm.provenance;\n if (tag) {\n lines.push(`provenance: ${tag}`);\n }\n}\n\n/**\n * Parse the coarse `provenance` strength tag (issue #1575). Returns\n * `undefined` for missing/blank/unknown values so a corrupt or hand-edited\n * field fails safely to the legacy-equivalent `\"none\"` semantics on read\n * (rule 34 spirit — drop corrupt rather than poison).\n */\nexport function parseProvenanceTag(\n raw: string | undefined,\n): \"verified\" | \"unverified\" | \"none\" | undefined {\n if (raw === undefined) return undefined;\n const trimmed = raw.trim();\n if (trimmed.length === 0) return undefined;\n if (trimmed === \"verified\" || trimmed === \"unverified\" || trimmed === \"none\") {\n return trimmed;\n }\n return undefined;\n}\n\n/**\n * Enforce the verified-requires-evidence invariant on the READ path.\n * `parseProvenanceTag` and `parseProvenanceSources` are independent (they\n * parse separate frontmatter lines), so a hand-edited or imported memory may\n * carry `provenance: verified` with no surviving `sources` — a corrupt line,\n * an empty array, or all-invalid entries. Downgrade such a tag to `none` so\n * the in-memory object never exposes an ungrounded \"verified\" fact\n * (review round 5, cursor thread KQN — read-path parity with the write-path\n * downgrade in `serializeProvenanceFields`). `none`/`undefined` tags pass\n * through unchanged.\n */\nexport function reconcileProvenanceRead(\n tag: \"verified\" | \"unverified\" | \"none\" | undefined,\n sources: ProvenanceSource[] | undefined,\n): \"verified\" | \"unverified\" | \"none\" | undefined {\n if ((tag === \"verified\" || tag === \"unverified\") && (!sources || sources.length === 0)) {\n return \"none\";\n }\n return tag;\n}\n\n/**\n * Strict ISO-8601 timestamp check (review round 6, codex thread OXPAp).\n * `Date.parse` accepts non-ISO strings (bare years like `\"123\"`) and\n * silently normalizes calendar overflow (`2026-02-30` -> March 2, hour 25\n * -> next day), so malformed provenance survives as if valid. Require the\n * full `YYYY-MM-DDTHH:MM:SS[.fff](Z|±HH:MM)` shape and reject overflow via a\n * `Date.UTC` round-trip component check — the offset does not affect whether\n * a wall-clock field overflows, so this is correct for any timezone suffix.\n */\nfunction isStrictIsoTimestamp(s: string): boolean {\n const m = /^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2})(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$/.exec(s);\n if (!m) return false;\n const y = Number(m[1]), mo = Number(m[2]), da = Number(m[3]);\n const h = Number(m[4]), mi = Number(m[5]), se = Number(m[6]);\n // Date.UTC normalizes overflow (Feb 30 -> Mar 2); a component round-trip\n // catches what Date.parse silently accepts.\n const d = new Date(Date.UTC(y, mo - 1, da, h, mi, se));\n // The component round-trip validates wall-clock overflow (Feb 30 -> Mar 2);\n // Date.parse additionally rejects impossible timezone offsets such as\n // +99:99, which the regex accepts but the runtime treats as NaN\n // (codex thread OXQ0e).\n return (\n !Number.isNaN(Date.parse(s)) &&\n d.getUTCFullYear() === y &&\n d.getUTCMonth() === mo - 1 &&\n d.getUTCDate() === da &&\n d.getUTCHours() === h &&\n d.getUTCMinutes() === mi &&\n d.getUTCSeconds() === se\n );\n}\n\n/**\n * Zod schema for a single `ProvenanceSource` entry (issue #1575). Parsed\n * JSON from frontmatter is external data, so each entry is validated here\n * rather than trusted via a cast (rule: no inline-cast-access on parsed\n * blobs). `safeParse` lets us drop corrupt entries individually instead of\n * failing the whole field.\n */\nconst ProvenanceSourceSchema = z\n .object({\n sessionKey: z.string().min(1),\n observedAt: z\n .string()\n .min(1)\n .refine(isStrictIsoTimestamp, \"must be a valid ISO 8601 timestamp (YYYY-MM-DDTHH:MM:SS[Z|±HH:MM], no calendar overflow)\"),\n quote: z.string().min(1),\n turnId: z.string().min(1).optional(),\n charStart: z.number().finite().nonnegative().int().optional(),\n charEnd: z.number().finite().nonnegative().int().optional(),\n })\n .refine(\n (src) => src.charStart === undefined || src.charEnd === undefined || src.charEnd >= src.charStart,\n { message: \"charEnd must be >= charStart (half-open interval, rule 35)\" },\n );\n\n/**\n * Parse the `sources` array (issue #1575) from its single-line JSON form.\n * Mirrors `parseStructuredAttributes` (JSON.parse) but validates each entry\n * against `ProvenanceSourceSchema` and DROPS corrupt ones rather than\n * poisoning downstream readers — the same \"drop corrupt rather than poison\"\n * contract as `parseMemoryWorthCounterField`. If no entry survives, the\n * whole field is `undefined` (legacy-equivalent).\n */\nexport function parseProvenanceSources(raw: string | undefined): ProvenanceSource[] | undefined {\n if (raw === undefined) return undefined;\n const trimmed = raw.trim();\n if (trimmed.length === 0) return undefined;\n let parsed: unknown;\n try {\n parsed = JSON.parse(trimmed);\n } catch {\n return undefined;\n }\n if (!Array.isArray(parsed)) return undefined;\n const sources: ProvenanceSource[] = [];\n for (const entry of parsed) {\n const result = ProvenanceSourceSchema.safeParse(entry);\n if (result.success) sources.push(result.data);\n }\n return sources.length > 0 ? sources : undefined;\n}\n\n/**\n * Parse the `provenance` config block (issue #1575 PR 1). Validates the\n * shape before applying defaults — a shorthand like `provenance: false` must\n * reject loudly rather than normalize to `{}` and silently enable the feature\n * (rule 51). Booleans coerce via `coerceBool` (rule 36); numeric cap clamps\n * at 1 (rule 28). `REMNIC_PROVENANCE_ENABLED` / `ENGRAM_PROVENANCE_ENABLED`\n * are honored only when the `enabled` key is omitted (explicit config wins).\n *\n * Schema-default note (review rounds 1–3, settled): `provenance.enabled` has\n * NO `\"default\"` in any plugin.json schema. OpenClaw's loader runs\n * `applyDefaults: true` before exposing `api.pluginConfig` (src/index.ts:1345,\n * PR #1593 round 8), so a schema default would be materialized into the\n * merged config and mask the `REMNIC_`/`ENGRAM_` env override. The code-level\n * default-on here (`return true` when `enabled` is omitted) supplies the\n * default-on behavior without that materialization. This matches the\n * emitLegacyTools/namespaceCatalogEnabled precedent, which omits the env\n * override only after a raw-vs-effective split — overkill for a single\n * boolean, so this field uses the simpler omit-the-default approach.\n */\nexport function parseProvenanceConfig(raw: unknown): ProvenanceConfig {\n if (\n raw !== undefined &&\n (raw === null || typeof raw !== \"object\" || Array.isArray(raw))\n ) {\n throw new Error(\n `provenance must be an object (got ${JSON.stringify(raw)}). Use provenance: { enabled: false } to opt out; omit the key to use the default-on behavior (issue #1575).`,\n );\n }\n const rawProvenance =\n raw && typeof raw === \"object\" && !Array.isArray(raw)\n ? (raw as Record<string, unknown>)\n : {};\n return {\n enabled: (() => {\n if (rawProvenance.enabled === undefined) {\n const envEnabled =\n readEnvVar(\"REMNIC_PROVENANCE_ENABLED\") ?? readEnvVar(\"ENGRAM_PROVENANCE_ENABLED\");\n if (envEnabled !== undefined) {\n const coerced = coerceBool(envEnabled);\n if (coerced === undefined) {\n throw new Error(\n `REMNIC_PROVENANCE_ENABLED must be a boolean-like value (true/false/1/0/yes/no/on/off); got ${JSON.stringify(envEnabled)}`,\n );\n }\n return coerced;\n }\n return true;\n }\n const coerced = coerceBool(rawProvenance.enabled);\n if (coerced === undefined) {\n throw new Error(\n `provenance.enabled must be a boolean or one of \"true\"/\"false\"/\"1\"/\"0\"/\"yes\"/\"no\"/\"on\"/\"off\" (got ${JSON.stringify(rawProvenance.enabled)}). Omit the key to use the default-on behavior (issue #1575).`,\n );\n }\n return coerced;\n })(),\n maxQuoteChars: (() => {\n if (rawProvenance.maxQuoteChars === undefined) return 300;\n const rawCap = coerceNumber(rawProvenance.maxQuoteChars);\n // Reject present-but-invalid rather than silently widening the cap\n // (AGENTS.md input-validation rule — a typo should not persist more\n // text than the operator configured).\n if (rawCap === undefined || !Number.isFinite(rawCap) || rawCap < 1 || !Number.isInteger(rawCap)) {\n throw new Error(\n `provenance.maxQuoteChars must be a positive integer >= 1 (got ${JSON.stringify(rawProvenance.maxQuoteChars)}).`,\n );\n }\n return rawCap;\n })(),\n requireSpans: (() => {\n if (rawProvenance.requireSpans === undefined) return false;\n const coerced = coerceBool(rawProvenance.requireSpans);\n if (coerced === undefined) {\n throw new Error(\n `provenance.requireSpans must be a boolean or one of \"true\"/\"false\"/\"1\"/\"0\"/\"yes\"/\"no\"/\"on\"/\"off\" (got ${JSON.stringify(rawProvenance.requireSpans)}).`,\n );\n }\n return coerced;\n })(),\n };\n}\n","/**\n * Shared boolean coercion helpers.\n *\n * Extracted from connectors/index.ts so that both config.ts and\n * connectors/index.ts can import them without creating a circular dependency.\n */\n\n/**\n * Generic boolean coercion: converts string representations of booleans\n * (e.g. from CLI `--config someFlag=false`) to proper boolean values.\n * Accepts the same truthy/falsy strings that common shells and env vars use.\n *\n * Returns `undefined` when the value is neither a boolean nor a recognised\n * string, so callers can fall back to a default.\n *\n * CLAUDE.md gotcha #36: String \"false\" is truthy in JavaScript.\n * CLAUDE.md gotcha #28: Coerce CLI values to expected types at input boundaries.\n */\nexport function coerceBool(value: unknown): boolean | undefined {\n if (typeof value === \"boolean\") return value;\n if (typeof value === \"string\") {\n const v = value.trim().toLowerCase();\n if ([\"false\", \"0\", \"no\", \"off\"].includes(v)) return false;\n if ([\"true\", \"1\", \"yes\", \"on\"].includes(v)) return true;\n }\n return undefined;\n}\n\n/**\n * Coerce the `installExtension` config value from a string (e.g. from CLI\n * `--config installExtension=false`) to a proper boolean.\n *\n * Delegates to the generic `coerceBool` helper. Kept for backward compatibility.\n */\nexport function coerceInstallExtension(value: unknown): boolean | undefined {\n return coerceBool(value);\n}\n\n/**\n * Generic numeric coercion: accepts a finite number or a string that\n * parses cleanly to one. Returns `undefined` otherwise so callers can\n * fall back to a default.\n *\n * Rules:\n * - number: returned as-is only if finite (NaN / ±Infinity → undefined).\n * - string: trimmed, parsed with `Number()`. Returns `undefined` on\n * empty, NaN, or Infinity.\n *\n * CLAUDE.md gotcha #28: Coerce CLI values to expected types at input boundaries.\n */\nexport function coerceNumber(value: unknown): number | undefined {\n if (typeof value === \"number\") {\n return Number.isFinite(value) ? value : undefined;\n }\n if (typeof value === \"string\") {\n const trimmed = value.trim();\n if (trimmed.length === 0) return undefined;\n const n = Number(trimmed);\n return Number.isFinite(n) ? n : undefined;\n }\n return undefined;\n}\n"],"mappings":"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","names":["coerced"]}
@@ -1,13 +1,13 @@
1
1
  import { CompoundingPromotionReport } from './compounding/engine.js';
2
2
  import { MigrateObservationsResult } from './maintenance/migrate-observations.js';
3
3
  import { MemoryGovernanceRunResult, MemoryGovernanceSummary, MemoryGovernanceMetrics, MemoryGovernanceQualityScore, MemoryGovernanceReviewQueueEntry, MemoryGovernanceAppliedAction, MemoryGovernanceTransitionReport, MemoryGovernanceManifest, MemoryGovernanceRestoreManifest, RestoreMemoryGovernanceRunResult } from './maintenance/memory-governance.js';
4
- import { h as MemoryStatus, g as MemoryFile, B as BehaviorSignalEvent, Q as QmdSearchResult, m as MemoryActionEvent, n as MemoryLifecycleEvent } from './types-D3pm4NhH.js';
4
+ import { h as MemoryStatus, g as MemoryFile, B as BehaviorSignalEvent, Q as QmdSearchResult, m as MemoryActionEvent, n as MemoryLifecycleEvent } from './types-Dm5xxVrr.js';
5
5
  import { RebuildMemoryProjectionResult, RepairMemoryProjectionResult, VerifyMemoryProjectionResult } from './maintenance/rebuild-memory-projection.js';
6
6
  import { RebuildMemoryLifecycleLedgerResult } from './maintenance/rebuild-memory-lifecycle-ledger.js';
7
7
  import { RebuildObservationsResult } from './maintenance/rebuild-observations.js';
8
8
  import { ArchiveObservationsResult } from './maintenance/archive-observations.js';
9
9
  import { Writable, Readable } from 'node:stream';
10
- import { O as Orchestrator } from './orchestrator-7zPqGupX.js';
10
+ import { O as Orchestrator } from './orchestrator-DIDDvwDw.js';
11
11
  import { ReplayRunSummary } from './replay/runner.js';
12
12
  import { ReplaySource, ReplayTurn } from './replay/types.js';
13
13
  import { b as BulkImportResult } from './types-ByK7T3L6.js';
@@ -16,7 +16,7 @@ import { WorkProjectStatus, WorkTaskStatus, WorkTaskPriority } from './work/type
16
16
  import { RoutePatternType } from './routing/engine.js';
17
17
  import { TailscaleSyncOptions } from './network/tailscale.js';
18
18
  import { DashboardStatus } from './dashboard-runtime.js';
19
- import { b as EngramAccessService } from './access-service-DvA6jyHL.js';
19
+ import { b as EngramAccessService } from './access-service-D-siI-xJ.js';
20
20
  import { ResolveSecretRefFn } from './resolve-auth-token.js';
21
21
  import { CompatRunner, CompatReport } from './compat/types.js';
22
22
  import { EvalBaselineDeltaReport, EvalBaselineSnapshot, EvalCiGateReport, EvalBenchmarkPackSummary, EvalHarnessStatus, EvalStoredBaselineCiGateReport } from './evals.js';
package/dist/cli.d.ts CHANGED
@@ -1,13 +1,13 @@
1
1
  import './compounding/engine.js';
2
2
  import './maintenance/migrate-observations.js';
3
3
  import './maintenance/memory-governance.js';
4
- import './types-D3pm4NhH.js';
4
+ import './types-Dm5xxVrr.js';
5
5
  import './maintenance/rebuild-memory-projection.js';
6
6
  import './maintenance/rebuild-memory-lifecycle-ledger.js';
7
7
  import './maintenance/rebuild-observations.js';
8
8
  import './maintenance/archive-observations.js';
9
9
  import 'node:stream';
10
- import './orchestrator-7zPqGupX.js';
10
+ import './orchestrator-DIDDvwDw.js';
11
11
  import './replay/runner.js';
12
12
  import './replay/types.js';
13
13
  import './types-ByK7T3L6.js';
@@ -16,7 +16,7 @@ import './work/types.js';
16
16
  import './routing/engine.js';
17
17
  import './network/tailscale.js';
18
18
  import './dashboard-runtime.js';
19
- import './access-service-DvA6jyHL.js';
19
+ import './access-service-D-siI-xJ.js';
20
20
  import './resolve-auth-token.js';
21
21
  import './compat/types.js';
22
22
  import './evals.js';
@@ -38,7 +38,7 @@ import './trust-zones.js';
38
38
  import './session-integrity.js';
39
39
  import './recall-state.js';
40
40
  import './policy-runtime.js';
41
- export { A as AccessHttpServeCliCommandOptions, a as ArchiveObservationsCliCommandOptions, B as BulkImportCliCommandOptions, C as CompatCliCommandOptions, b as ConnectorsRunCliOutputOptions, c as ConversationIndexHealthCliOrchestrator, D as DashboardStartCliCommandOptions, d as DedupeCandidate, E as ExactDedupePlan, G as GraphHealthCliCommandOptions, M as MemoryActionAuditCliCommandOptions, e as MemoryActionAuditCliNamespaceSummary, f as MemoryActionAuditCliReport, g as MemoryGovernanceCliCommandOptions, h as MemoryGovernanceReportCliCommandOptions, i as MemoryGovernanceRestoreCliCommandOptions, j as MemoryReviewDispositionCliCommandOptions, k as MemoryTimelineCliCommandOptions, l as MigrateCliOrchestrator, m as MigrateCliReport, n as MigrateObservationsCliCommandOptions, P as PolicyDiffCliReport, o as PolicyDiffEntry, q as PolicyRollbackCliReport, s as PolicyStatusCliReport, t as PolicyTuningCliOrchestrator, R as RebuildMemoryLifecycleLedgerCliCommandOptions, u as RebuildMemoryProjectionCliCommandOptions, v as RebuildObservationsCliCommandOptions, w as RepairMemoryProjectionCliCommandOptions, x as ReplayCliCommandOptions, y as ReplayCliOrchestrator, z as RouteCliCommandOptions, S as SessionIntegrityCliCommandOptions, F as SessionRepairCliCommandOptions, T as TailscaleStatusCliCommandOptions, H as TailscaleSyncCliCommandOptions, I as TierMigrationCliOrchestrator, J as TrainingExportCliCommandOptions, V as VerifyMemoryProjectionCliCommandOptions, W as WebDavServeCliCommandOptions, K as WorkProjectCliCommandOptions, L as WorkTaskCliCommandOptions, N as emitConnectorsRunCliResult, O as filterNormalMemorySearchResults, Q as hasDestructivePurgeFailures, U as isNormalRetrievalVisibleMemory, X as listMemoryMarkdownFilePaths, Y as parseDurationToMs, Z as parseStrictCliDate, _ as planAggressiveDuplicateDeletions, $ as planExactDuplicateDeletions, a0 as registerCli, a1 as resolveAccessPrincipalOverride, a2 as resolveMemoryDirForNamespace, a3 as runAbstractionNodeStatusCliCommand, a4 as runAccessHttpServeCliCommand, a5 as runAccessHttpStatusCliCommand, a6 as runAccessHttpStopCliCommand, a7 as runAccessMcpServeCliCommand, a8 as runArchiveObservationsCliCommand, a9 as runBenchmarkBaselineReportCliCommand, aa as runBenchmarkBaselineSnapshotCliCommand, ab as runBenchmarkCiGateCliCommand, ac as runBenchmarkImportCliCommand, ad as runBenchmarkStatusCliCommand, ae as runBenchmarkStoredBaselineCiGateCliCommand, af as runBenchmarkValidateCliCommand, r as runBulkImportCliCommand, ag as runCausalTrajectoryStatusCliCommand, ah as runCommitmentLifecycleCliCommand, ai as runCommitmentRecordCliCommand, aj as runCommitmentSetStateCliCommand, ak as runCommitmentStatusCliCommand, al as runCompatCliCommand, am as runCompoundingPromoteCliCommand, an as runConversationIndexHealthCliCommand, ao as runConversationIndexInspectCliCommand, ap as runConversationIndexRebuildCliCommand, aq as runCueAnchorStatusCliCommand, ar as runDashboardStartCliCommand, as as runDashboardStatusCliCommand, at as runDashboardStopCliCommand, au as runGraphHealthCliCommand, av as runHarmonicSearchCliCommand, aw as runMemoryActionAuditCliCommand, ax as runMemoryGovernanceCliCommand, ay as runMemoryGovernanceReportCliCommand, az as runMemoryGovernanceRestoreCliCommand, aA as runMemoryReviewDispositionCliCommand, aB as runMemoryTimelineCliCommand, aC as runMigrateNormalizeFrontmatterCliCommand, aD as runMigrateObservationsCliCommand, aE as runMigrateRechunkCliCommand, aF as runMigrateReextractCliCommand, aG as runMigrateRescoreImportanceCliCommand, aH as runObjectiveStateStatusCliCommand, aI as runPolicyDiffCliCommand, aJ as runPolicyRollbackCliCommand, aK as runPolicyStatusCliCommand, aL as runRebuildMemoryLifecycleLedgerCliCommand, aM as runRebuildMemoryProjectionCliCommand, aN as runRebuildObservationsCliCommand, aO as runRepairMemoryProjectionCliCommand, aP as runReplayCliCommand, aQ as runResumeBundleBuildCliCommand, aR as runResumeBundleRecordCliCommand, aS as runResumeBundleStatusCliCommand, aT as runRouteCliCommand, aU as runSemanticRulePromoteCliCommand, aV as runSemanticRuleVerifyCliCommand, aW as runSessionCheckCliCommand, aX as runSessionRepairCliCommand, aY as runTailscaleStatusCliCommand, aZ as runTailscaleSyncCliCommand, a_ as runTierMigrateCliCommand, a$ as runTierStatusCliCommand, b0 as runTrainingExportCliCommand, b1 as runTrustZoneDemoSeedCliCommand, b2 as runTrustZonePromoteCliCommand, b3 as runTrustZoneStatusCliCommand, b4 as runUtilityLearningCliCommand, b5 as runUtilityLearningStatusCliCommand, b6 as runUtilityTelemetryRecordCliCommand, b7 as runUtilityTelemetryStatusCliCommand, b8 as runVerifiedRecallSearchCliCommand, b9 as runVerifyMemoryProjectionCliCommand, ba as runWebDavServeCliCommand, bb as runWebDavStopCliCommand, bc as runWorkProductRecallSearchCliCommand, bd as runWorkProductRecordCliCommand, be as runWorkProductStatusCliCommand, bf as runWorkProjectCliCommand, bg as runWorkTaskCliCommand } from './cli-feUe-x3I.js';
41
+ export { A as AccessHttpServeCliCommandOptions, a as ArchiveObservationsCliCommandOptions, B as BulkImportCliCommandOptions, C as CompatCliCommandOptions, b as ConnectorsRunCliOutputOptions, c as ConversationIndexHealthCliOrchestrator, D as DashboardStartCliCommandOptions, d as DedupeCandidate, E as ExactDedupePlan, G as GraphHealthCliCommandOptions, M as MemoryActionAuditCliCommandOptions, e as MemoryActionAuditCliNamespaceSummary, f as MemoryActionAuditCliReport, g as MemoryGovernanceCliCommandOptions, h as MemoryGovernanceReportCliCommandOptions, i as MemoryGovernanceRestoreCliCommandOptions, j as MemoryReviewDispositionCliCommandOptions, k as MemoryTimelineCliCommandOptions, l as MigrateCliOrchestrator, m as MigrateCliReport, n as MigrateObservationsCliCommandOptions, P as PolicyDiffCliReport, o as PolicyDiffEntry, q as PolicyRollbackCliReport, s as PolicyStatusCliReport, t as PolicyTuningCliOrchestrator, R as RebuildMemoryLifecycleLedgerCliCommandOptions, u as RebuildMemoryProjectionCliCommandOptions, v as RebuildObservationsCliCommandOptions, w as RepairMemoryProjectionCliCommandOptions, x as ReplayCliCommandOptions, y as ReplayCliOrchestrator, z as RouteCliCommandOptions, S as SessionIntegrityCliCommandOptions, F as SessionRepairCliCommandOptions, T as TailscaleStatusCliCommandOptions, H as TailscaleSyncCliCommandOptions, I as TierMigrationCliOrchestrator, J as TrainingExportCliCommandOptions, V as VerifyMemoryProjectionCliCommandOptions, W as WebDavServeCliCommandOptions, K as WorkProjectCliCommandOptions, L as WorkTaskCliCommandOptions, N as emitConnectorsRunCliResult, O as filterNormalMemorySearchResults, Q as hasDestructivePurgeFailures, U as isNormalRetrievalVisibleMemory, X as listMemoryMarkdownFilePaths, Y as parseDurationToMs, Z as parseStrictCliDate, _ as planAggressiveDuplicateDeletions, $ as planExactDuplicateDeletions, a0 as registerCli, a1 as resolveAccessPrincipalOverride, a2 as resolveMemoryDirForNamespace, a3 as runAbstractionNodeStatusCliCommand, a4 as runAccessHttpServeCliCommand, a5 as runAccessHttpStatusCliCommand, a6 as runAccessHttpStopCliCommand, a7 as runAccessMcpServeCliCommand, a8 as runArchiveObservationsCliCommand, a9 as runBenchmarkBaselineReportCliCommand, aa as runBenchmarkBaselineSnapshotCliCommand, ab as runBenchmarkCiGateCliCommand, ac as runBenchmarkImportCliCommand, ad as runBenchmarkStatusCliCommand, ae as runBenchmarkStoredBaselineCiGateCliCommand, af as runBenchmarkValidateCliCommand, r as runBulkImportCliCommand, ag as runCausalTrajectoryStatusCliCommand, ah as runCommitmentLifecycleCliCommand, ai as runCommitmentRecordCliCommand, aj as runCommitmentSetStateCliCommand, ak as runCommitmentStatusCliCommand, al as runCompatCliCommand, am as runCompoundingPromoteCliCommand, an as runConversationIndexHealthCliCommand, ao as runConversationIndexInspectCliCommand, ap as runConversationIndexRebuildCliCommand, aq as runCueAnchorStatusCliCommand, ar as runDashboardStartCliCommand, as as runDashboardStatusCliCommand, at as runDashboardStopCliCommand, au as runGraphHealthCliCommand, av as runHarmonicSearchCliCommand, aw as runMemoryActionAuditCliCommand, ax as runMemoryGovernanceCliCommand, ay as runMemoryGovernanceReportCliCommand, az as runMemoryGovernanceRestoreCliCommand, aA as runMemoryReviewDispositionCliCommand, aB as runMemoryTimelineCliCommand, aC as runMigrateNormalizeFrontmatterCliCommand, aD as runMigrateObservationsCliCommand, aE as runMigrateRechunkCliCommand, aF as runMigrateReextractCliCommand, aG as runMigrateRescoreImportanceCliCommand, aH as runObjectiveStateStatusCliCommand, aI as runPolicyDiffCliCommand, aJ as runPolicyRollbackCliCommand, aK as runPolicyStatusCliCommand, aL as runRebuildMemoryLifecycleLedgerCliCommand, aM as runRebuildMemoryProjectionCliCommand, aN as runRebuildObservationsCliCommand, aO as runRepairMemoryProjectionCliCommand, aP as runReplayCliCommand, aQ as runResumeBundleBuildCliCommand, aR as runResumeBundleRecordCliCommand, aS as runResumeBundleStatusCliCommand, aT as runRouteCliCommand, aU as runSemanticRulePromoteCliCommand, aV as runSemanticRuleVerifyCliCommand, aW as runSessionCheckCliCommand, aX as runSessionRepairCliCommand, aY as runTailscaleStatusCliCommand, aZ as runTailscaleSyncCliCommand, a_ as runTierMigrateCliCommand, a$ as runTierStatusCliCommand, b0 as runTrainingExportCliCommand, b1 as runTrustZoneDemoSeedCliCommand, b2 as runTrustZonePromoteCliCommand, b3 as runTrustZoneStatusCliCommand, b4 as runUtilityLearningCliCommand, b5 as runUtilityLearningStatusCliCommand, b6 as runUtilityTelemetryRecordCliCommand, b7 as runUtilityTelemetryStatusCliCommand, b8 as runVerifiedRecallSearchCliCommand, b9 as runVerifyMemoryProjectionCliCommand, ba as runWebDavServeCliCommand, bb as runWebDavStopCliCommand, bc as runWorkProductRecallSearchCliCommand, bd as runWorkProductRecordCliCommand, be as runWorkProductStatusCliCommand, bf as runWorkProjectCliCommand, bg as runWorkTaskCliCommand } from './cli-ooj6JQBS.js';
42
42
  import './connectors-cli-2iaQ5tX2.js';
43
43
  import './storage.js';
44
44
  import './page-versioning.js';
@@ -75,7 +75,7 @@ import './lcm/archive.js';
75
75
  import './lcm/summarizer.js';
76
76
  import './lcm/dag.js';
77
77
  import './lcm/queue.js';
78
- import './semantic-consolidation-BX9Z9_aK.js';
78
+ import './semantic-consolidation-CWch5uM7.js';
79
79
  import './connectors/codex-materialize.js';
80
80
  import './logger.js';
81
81
  import './conversation-index/backend.js';