@remnic/core 9.3.690 → 9.3.691

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 (281) hide show
  1. package/dist/access-boundary.d.ts +5 -5
  2. package/dist/access-boundary.js +18 -18
  3. package/dist/access-cli.js +44 -44
  4. package/dist/access-http.d.ts +5 -5
  5. package/dist/access-http.js +24 -24
  6. package/dist/access-mcp.d.ts +5 -5
  7. package/dist/access-mcp.js +21 -21
  8. package/dist/access-operations.d.ts +5 -5
  9. package/dist/access-operations.js +20 -20
  10. package/dist/access-schema.js +3 -3
  11. package/dist/{access-service-Dujr3MTm.d.ts → access-service-CKnFdxH-.d.ts} +2 -2
  12. package/dist/access-service.d.ts +5 -5
  13. package/dist/access-service.js +17 -17
  14. package/dist/access-surface-catalog.d.ts +5 -5
  15. package/dist/action-confidence.d.ts +1 -1
  16. package/dist/active-memory-bridge.d.ts +1 -1
  17. package/dist/active-recall.d.ts +1 -1
  18. package/dist/active-recall.js +1 -1
  19. package/dist/adapters/index.js +4 -4
  20. package/dist/adapters/registry.js +2 -2
  21. package/dist/{auto-sync-NUQWSFQD.js → auto-sync-RWXT6P5M.js} +5 -5
  22. package/dist/behavior-learner.d.ts +1 -1
  23. package/dist/behavior-signals.d.ts +1 -1
  24. package/dist/bootstrap.d.ts +4 -4
  25. package/dist/briefing.d.ts +1 -1
  26. package/dist/briefing.js +5 -5
  27. package/dist/buffer-surprise-report.d.ts +1 -1
  28. package/dist/buffer.d.ts +1 -1
  29. package/dist/calibration.d.ts +1 -1
  30. package/dist/calibration.js +2 -2
  31. package/dist/capabilities.d.ts +1 -1
  32. package/dist/{catalog-CKPtJ114.d.ts → catalog-BEWLjdOr.d.ts} +1 -1
  33. package/dist/causal-behavior.d.ts +1 -1
  34. package/dist/causal-consolidation.d.ts +1 -1
  35. package/dist/causal-consolidation.js +8 -8
  36. package/dist/{chunk-GTDH3IUH.js → chunk-2D27ODNX.js} +2 -2
  37. package/dist/{chunk-3K37VPM3.js → chunk-3BRA3N5A.js} +2 -2
  38. package/dist/{chunk-RTFAZOIR.js → chunk-3VVH6ZQW.js} +2 -2
  39. package/dist/{chunk-FIVDN2SM.js → chunk-4RGWCRIJ.js} +4 -4
  40. package/dist/{chunk-AGJH5ISO.js → chunk-5KBNNUXS.js} +2 -2
  41. package/dist/{chunk-X7RLU5CR.js → chunk-66HROLW5.js} +2 -2
  42. package/dist/{chunk-NSVXK7M5.js → chunk-7UVDIWLL.js} +4 -4
  43. package/dist/{chunk-UPIBE2DK.js → chunk-ADUAF5EV.js} +2 -2
  44. package/dist/{chunk-LLONI6PY.js → chunk-AFWEUTMS.js} +2 -2
  45. package/dist/{chunk-CWE74HRG.js → chunk-D3DNGQNQ.js} +3 -3
  46. package/dist/{chunk-ZUDM75KG.js → chunk-DCWIQFNA.js} +4 -4
  47. package/dist/{chunk-NGFEWFNK.js → chunk-DQHZA7Y3.js} +1 -1
  48. package/dist/chunk-DQHZA7Y3.js.map +1 -0
  49. package/dist/{chunk-OBXTMFZQ.js → chunk-ECZPWSB5.js} +2 -2
  50. package/dist/{chunk-BFVPIKDY.js → chunk-GCOSQBQ2.js} +3 -3
  51. package/dist/{chunk-LXIEXSHU.js → chunk-IPJD7WJH.js} +2 -2
  52. package/dist/{chunk-KQAFEZQX.js → chunk-IPLYGWQF.js} +5 -5
  53. package/dist/{chunk-MDYG7VI7.js → chunk-IREVVFTM.js} +10 -1
  54. package/dist/{chunk-MDYG7VI7.js.map → chunk-IREVVFTM.js.map} +1 -1
  55. package/dist/{chunk-RKNJBZ55.js → chunk-JBPKEARU.js} +4 -4
  56. package/dist/{chunk-WROKD3XC.js → chunk-K7I24ZO2.js} +24 -24
  57. package/dist/{chunk-Z7KILAOU.js → chunk-KO6OL4I7.js} +20 -20
  58. package/dist/{chunk-SB6CQTKP.js → chunk-MCV2DD6F.js} +2 -2
  59. package/dist/{chunk-3FC6LW6T.js → chunk-MRFVMSTR.js} +2 -2
  60. package/dist/{chunk-WDXCNJSF.js → chunk-MXZWKOOR.js} +2 -2
  61. package/dist/{chunk-XKUKJIOY.js → chunk-NCRDCTEJ.js} +7 -7
  62. package/dist/{chunk-RGNEARXW.js → chunk-NUZ3N445.js} +7 -7
  63. package/dist/{chunk-CP2NZQLT.js → chunk-OOO7ZKOD.js} +6 -6
  64. package/dist/{chunk-PHZKALOE.js → chunk-QFG23CRE.js} +2 -2
  65. package/dist/{chunk-UDJLF3BO.js → chunk-QLRYXOAD.js} +2 -2
  66. package/dist/{chunk-ZU7N3S6V.js → chunk-QNG35H27.js} +2 -2
  67. package/dist/{chunk-A4HH2EWA.js → chunk-QVG4LAQO.js} +2 -2
  68. package/dist/{chunk-54PVJDO5.js → chunk-SAC5V6JT.js} +2 -2
  69. package/dist/{chunk-CE6CBRCV.js → chunk-TJ5IIQIR.js} +56 -45
  70. package/dist/chunk-TJ5IIQIR.js.map +1 -0
  71. package/dist/{chunk-OMKUJTVJ.js → chunk-TSGREOYY.js} +5 -5
  72. package/dist/{chunk-2N6UNJSX.js → chunk-U2OBZSGG.js} +2 -2
  73. package/dist/{chunk-BKAMHZYR.js → chunk-UOCLRM74.js} +2 -2
  74. package/dist/{chunk-A7UZR6RA.js → chunk-UTUYAPLY.js} +14 -1
  75. package/dist/chunk-UTUYAPLY.js.map +1 -0
  76. package/dist/{chunk-TYF3D4MS.js → chunk-UUMYB3FR.js} +2 -2
  77. package/dist/{chunk-CUNTLEJP.js → chunk-VFVG4NS2.js} +30 -9
  78. package/dist/chunk-VFVG4NS2.js.map +1 -0
  79. package/dist/{chunk-46URPRE6.js → chunk-VH2DHBHG.js} +2 -2
  80. package/dist/{chunk-UD5OKH4J.js → chunk-W4ELOUNX.js} +2 -2
  81. package/dist/{chunk-GR77Z2BM.js → chunk-WIKNVFBS.js} +2 -2
  82. package/dist/{chunk-67MMWC74.js → chunk-ZLXGFAML.js} +2 -2
  83. package/dist/{cli-BkDp6WNi.d.ts → cli-CrSW_KRq.d.ts} +3 -3
  84. package/dist/cli.d.ts +6 -6
  85. package/dist/cli.js +38 -38
  86. package/dist/compounding/engine.d.ts +1 -1
  87. package/dist/compounding/engine.js +5 -5
  88. package/dist/compounding/preference-consolidator.d.ts +1 -1
  89. package/dist/compression-optimizer.d.ts +1 -1
  90. package/dist/config.d.ts +1 -1
  91. package/dist/config.js +1 -1
  92. package/dist/connectors/codex-materialize-runner.d.ts +1 -1
  93. package/dist/connectors/codex-materialize-runner.js +5 -5
  94. package/dist/connectors/codex-materialize.d.ts +1 -1
  95. package/dist/connectors/index.d.ts +1 -1
  96. package/dist/connectors/index.js +5 -5
  97. package/dist/consolidation-provenance-check.d.ts +1 -1
  98. package/dist/consolidation-undo.d.ts +1 -1
  99. package/dist/contradiction/index.d.ts +1 -1
  100. package/dist/contradiction/index.js +4 -4
  101. package/dist/conversation-index/backend.d.ts +1 -1
  102. package/dist/conversation-index/backend.js +2 -2
  103. package/dist/conversation-index/chunker.d.ts +1 -1
  104. package/dist/conversation-index/faiss-adapter.d.ts +1 -1
  105. package/dist/conversation-index/indexer.d.ts +1 -1
  106. package/dist/conversation-index/search.d.ts +1 -1
  107. package/dist/day-summary.d.ts +1 -1
  108. package/dist/delinearize.d.ts +1 -1
  109. package/dist/direct-answer-wiring.d.ts +1 -1
  110. package/dist/direct-answer.d.ts +1 -1
  111. package/dist/embedding-fallback.d.ts +1 -1
  112. package/dist/enrichment/index.d.ts +1 -1
  113. package/dist/entity-retrieval.d.ts +1 -1
  114. package/dist/entity-retrieval.js +5 -5
  115. package/dist/entity-schema.d.ts +1 -1
  116. package/dist/event-time.d.ts +35 -0
  117. package/dist/event-time.js +325 -0
  118. package/dist/event-time.js.map +1 -0
  119. package/dist/explicit-capture.d.ts +4 -4
  120. package/dist/extraction-judge-telemetry.d.ts +1 -1
  121. package/dist/extraction-judge-training.d.ts +1 -1
  122. package/dist/extraction-judge.d.ts +1 -1
  123. package/dist/extraction-judge.js +3 -3
  124. package/dist/extraction.d.ts +1 -1
  125. package/dist/extraction.js +3 -3
  126. package/dist/fallback-llm.d.ts +1 -1
  127. package/dist/fallback-llm.js +2 -2
  128. package/dist/identity-continuity.d.ts +1 -1
  129. package/dist/importance.d.ts +1 -1
  130. package/dist/index.d.ts +9 -9
  131. package/dist/index.js +72 -72
  132. package/dist/intent.d.ts +1 -1
  133. package/dist/lcm/engine.d.ts +1 -1
  134. package/dist/lcm/index.d.ts +1 -1
  135. package/dist/lcm/tools.d.ts +1 -1
  136. package/dist/lifecycle.d.ts +1 -1
  137. package/dist/live-connectors-runner.d.ts +1 -1
  138. package/dist/local-llm.d.ts +1 -1
  139. package/dist/maintenance/memory-governance.d.ts +1 -1
  140. package/dist/maintenance/memory-governance.js +5 -5
  141. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +5 -5
  142. package/dist/maintenance/rebuild-memory-projection.js +6 -6
  143. package/dist/mcp-memory-inspector-app.d.ts +5 -5
  144. package/dist/memory-action-policy.d.ts +1 -1
  145. package/dist/memory-cache.d.ts +1 -1
  146. package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
  147. package/dist/memory-projection-store.d.ts +1 -1
  148. package/dist/memory-provenance.d.ts +1 -1
  149. package/dist/memory-worth-outcomes.d.ts +1 -1
  150. package/dist/models-json.d.ts +1 -1
  151. package/dist/namespaces/migrate.d.ts +2 -2
  152. package/dist/namespaces/migrate.js +10 -10
  153. package/dist/namespaces/principal.d.ts +1 -1
  154. package/dist/namespaces/search.d.ts +1 -1
  155. package/dist/namespaces/search.js +4 -4
  156. package/dist/namespaces/storage.d.ts +2 -2
  157. package/dist/namespaces/storage.js +5 -5
  158. package/dist/native-knowledge.d.ts +1 -1
  159. package/dist/operator-toolkit.d.ts +1 -1
  160. package/dist/operator-toolkit.js +14 -14
  161. package/dist/{orchestrator-B7ixmUkP.d.ts → orchestrator-DvswGK76.d.ts} +3 -3
  162. package/dist/orchestrator.d.ts +4 -4
  163. package/dist/orchestrator.js +34 -34
  164. package/dist/patterns-cli.d.ts +1 -1
  165. package/dist/policy-runtime.d.ts +1 -1
  166. package/dist/provenance.d.ts +1 -1
  167. package/dist/qmd-recall-cache.d.ts +1 -1
  168. package/dist/qmd.d.ts +1 -1
  169. package/dist/recall-disclosure-escalation.d.ts +1 -1
  170. package/dist/recall-explain-renderer.d.ts +1 -1
  171. package/dist/recall-explain-renderer.js +3 -3
  172. package/dist/recall-planner-llm.d.ts +1 -1
  173. package/dist/recall-planner-llm.js +2 -2
  174. package/dist/recall-state.d.ts +1 -1
  175. package/dist/recall-tag-filter.d.ts +1 -1
  176. package/dist/recall-xray-cli.d.ts +1 -1
  177. package/dist/recall-xray-cli.js +4 -4
  178. package/dist/recall-xray-renderer.d.ts +1 -1
  179. package/dist/recall-xray-renderer.js +3 -3
  180. package/dist/recall-xray.d.ts +1 -1
  181. package/dist/recall-xray.js +2 -2
  182. package/dist/resolve-auth-token.d.ts +1 -1
  183. package/dist/resume-bundles.js +2 -2
  184. package/dist/retrieval-agents.d.ts +1 -1
  185. package/dist/retrieval-tiers.d.ts +1 -1
  186. package/dist/routing/engine.d.ts +1 -1
  187. package/dist/routing/store.d.ts +1 -1
  188. package/dist/search/embed-helper.d.ts +1 -1
  189. package/dist/search/factory.d.ts +1 -1
  190. package/dist/search/factory.js +3 -3
  191. package/dist/search/index.d.ts +1 -1
  192. package/dist/search/index.js +3 -3
  193. package/dist/search/lancedb-backend.d.ts +1 -1
  194. package/dist/search/meilisearch-backend.d.ts +1 -1
  195. package/dist/search/noop-backend.d.ts +1 -1
  196. package/dist/search/orama-backend.d.ts +1 -1
  197. package/dist/search/port.d.ts +1 -1
  198. package/dist/search/remote-backend.d.ts +1 -1
  199. package/dist/{semantic-consolidation-CWch5uM7.d.ts → semantic-consolidation-D5U0Mrdb.d.ts} +1 -1
  200. package/dist/semantic-consolidation.d.ts +2 -2
  201. package/dist/semantic-consolidation.js +6 -6
  202. package/dist/semantic-rule-promotion.js +5 -5
  203. package/dist/semantic-rule-verifier.d.ts +1 -1
  204. package/dist/semantic-rule-verifier.js +5 -5
  205. package/dist/session-observer-bands.d.ts +1 -1
  206. package/dist/session-observer-state.d.ts +1 -1
  207. package/dist/shared-context/manager.d.ts +1 -1
  208. package/dist/signal.d.ts +1 -1
  209. package/dist/storage.d.ts +3 -1
  210. package/dist/storage.js +4 -4
  211. package/dist/summarizer.d.ts +1 -1
  212. package/dist/summarizer.js +3 -3
  213. package/dist/summary-snapshot.d.ts +1 -1
  214. package/dist/temporal-supersession.d.ts +1 -1
  215. package/dist/temporal-supersession.js +2 -2
  216. package/dist/temporal-validity.d.ts +22 -2
  217. package/dist/temporal-validity.js +3 -1
  218. package/dist/threading.d.ts +1 -1
  219. package/dist/tier-migration.d.ts +1 -1
  220. package/dist/tier-routing.d.ts +1 -1
  221. package/dist/topics.d.ts +1 -1
  222. package/dist/transcript.d.ts +1 -1
  223. package/dist/transfer/autodetect.js +1 -1
  224. package/dist/transfer/backup.js +1 -1
  225. package/dist/transfer/capsule-export.js +2 -2
  226. package/dist/{types-Dm5xxVrr.d.ts → types-2NoBoRBM.d.ts} +38 -0
  227. package/dist/types.d.ts +1 -1
  228. package/dist/types.js +1 -1
  229. package/dist/utility-runtime.d.ts +1 -1
  230. package/dist/verified-recall.js +5 -5
  231. package/package.json +2 -2
  232. package/src/bitemporal-frontmatter.test.ts +177 -0
  233. package/src/config.ts +13 -0
  234. package/src/event-time.test.ts +514 -0
  235. package/src/event-time.ts +548 -0
  236. package/src/orchestrator.ts +27 -1
  237. package/src/storage.ts +34 -0
  238. package/src/temporal-validity.ts +34 -0
  239. package/src/types.ts +38 -0
  240. package/dist/chunk-A7UZR6RA.js.map +0 -1
  241. package/dist/chunk-CE6CBRCV.js.map +0 -1
  242. package/dist/chunk-CUNTLEJP.js.map +0 -1
  243. package/dist/chunk-NGFEWFNK.js.map +0 -1
  244. /package/dist/{auto-sync-NUQWSFQD.js.map → auto-sync-RWXT6P5M.js.map} +0 -0
  245. /package/dist/{chunk-GTDH3IUH.js.map → chunk-2D27ODNX.js.map} +0 -0
  246. /package/dist/{chunk-3K37VPM3.js.map → chunk-3BRA3N5A.js.map} +0 -0
  247. /package/dist/{chunk-RTFAZOIR.js.map → chunk-3VVH6ZQW.js.map} +0 -0
  248. /package/dist/{chunk-FIVDN2SM.js.map → chunk-4RGWCRIJ.js.map} +0 -0
  249. /package/dist/{chunk-AGJH5ISO.js.map → chunk-5KBNNUXS.js.map} +0 -0
  250. /package/dist/{chunk-X7RLU5CR.js.map → chunk-66HROLW5.js.map} +0 -0
  251. /package/dist/{chunk-NSVXK7M5.js.map → chunk-7UVDIWLL.js.map} +0 -0
  252. /package/dist/{chunk-UPIBE2DK.js.map → chunk-ADUAF5EV.js.map} +0 -0
  253. /package/dist/{chunk-LLONI6PY.js.map → chunk-AFWEUTMS.js.map} +0 -0
  254. /package/dist/{chunk-CWE74HRG.js.map → chunk-D3DNGQNQ.js.map} +0 -0
  255. /package/dist/{chunk-ZUDM75KG.js.map → chunk-DCWIQFNA.js.map} +0 -0
  256. /package/dist/{chunk-OBXTMFZQ.js.map → chunk-ECZPWSB5.js.map} +0 -0
  257. /package/dist/{chunk-BFVPIKDY.js.map → chunk-GCOSQBQ2.js.map} +0 -0
  258. /package/dist/{chunk-LXIEXSHU.js.map → chunk-IPJD7WJH.js.map} +0 -0
  259. /package/dist/{chunk-KQAFEZQX.js.map → chunk-IPLYGWQF.js.map} +0 -0
  260. /package/dist/{chunk-RKNJBZ55.js.map → chunk-JBPKEARU.js.map} +0 -0
  261. /package/dist/{chunk-WROKD3XC.js.map → chunk-K7I24ZO2.js.map} +0 -0
  262. /package/dist/{chunk-Z7KILAOU.js.map → chunk-KO6OL4I7.js.map} +0 -0
  263. /package/dist/{chunk-SB6CQTKP.js.map → chunk-MCV2DD6F.js.map} +0 -0
  264. /package/dist/{chunk-3FC6LW6T.js.map → chunk-MRFVMSTR.js.map} +0 -0
  265. /package/dist/{chunk-WDXCNJSF.js.map → chunk-MXZWKOOR.js.map} +0 -0
  266. /package/dist/{chunk-XKUKJIOY.js.map → chunk-NCRDCTEJ.js.map} +0 -0
  267. /package/dist/{chunk-RGNEARXW.js.map → chunk-NUZ3N445.js.map} +0 -0
  268. /package/dist/{chunk-CP2NZQLT.js.map → chunk-OOO7ZKOD.js.map} +0 -0
  269. /package/dist/{chunk-PHZKALOE.js.map → chunk-QFG23CRE.js.map} +0 -0
  270. /package/dist/{chunk-UDJLF3BO.js.map → chunk-QLRYXOAD.js.map} +0 -0
  271. /package/dist/{chunk-ZU7N3S6V.js.map → chunk-QNG35H27.js.map} +0 -0
  272. /package/dist/{chunk-A4HH2EWA.js.map → chunk-QVG4LAQO.js.map} +0 -0
  273. /package/dist/{chunk-54PVJDO5.js.map → chunk-SAC5V6JT.js.map} +0 -0
  274. /package/dist/{chunk-OMKUJTVJ.js.map → chunk-TSGREOYY.js.map} +0 -0
  275. /package/dist/{chunk-2N6UNJSX.js.map → chunk-U2OBZSGG.js.map} +0 -0
  276. /package/dist/{chunk-BKAMHZYR.js.map → chunk-UOCLRM74.js.map} +0 -0
  277. /package/dist/{chunk-TYF3D4MS.js.map → chunk-UUMYB3FR.js.map} +0 -0
  278. /package/dist/{chunk-46URPRE6.js.map → chunk-VH2DHBHG.js.map} +0 -0
  279. /package/dist/{chunk-UD5OKH4J.js.map → chunk-W4ELOUNX.js.map} +0 -0
  280. /package/dist/{chunk-GR77Z2BM.js.map → chunk-WIKNVFBS.js.map} +0 -0
  281. /package/dist/{chunk-67MMWC74.js.map → chunk-ZLXGFAML.js.map} +0 -0
@@ -18,7 +18,7 @@ import {
18
18
  } from "./chunk-EHISUJFN.js";
19
19
  import {
20
20
  createConversationIndexBackend
21
- } from "./chunk-ZUDM75KG.js";
21
+ } from "./chunk-DCWIQFNA.js";
22
22
  import {
23
23
  FaissConversationIndexAdapter
24
24
  } from "./chunk-XBZQRZ6G.js";
@@ -170,4 +170,4 @@ export {
170
170
  createConversationSearchBackend,
171
171
  createConversationIndexRuntime
172
172
  };
173
- //# sourceMappingURL=chunk-TYF3D4MS.js.map
173
+ //# sourceMappingURL=chunk-UUMYB3FR.js.map
@@ -19,7 +19,11 @@ import {
19
19
  import {
20
20
  SPECULATIVE_TTL_DAYS,
21
21
  confidenceTier
22
- } from "./chunk-NGFEWFNK.js";
22
+ } from "./chunk-DQHZA7Y3.js";
23
+ import {
24
+ normalizeProjectionPreview,
25
+ normalizeProjectionTags
26
+ } from "./chunk-SCU65EZI.js";
23
27
  import {
24
28
  readProjectedGovernanceRecord,
25
29
  readProjectedMemoryBrowse,
@@ -37,13 +41,6 @@ import {
37
41
  sortMemoryLifecycleEvents,
38
42
  toMemoryPathRel
39
43
  } from "./chunk-RULE4VG5.js";
40
- import {
41
- normalizeProjectionPreview,
42
- normalizeProjectionTags
43
- } from "./chunk-SCU65EZI.js";
44
- import {
45
- rotateMarkdownFileToArchive
46
- } from "./chunk-DM2T26WE.js";
47
44
  import {
48
45
  closeContinuityIncidentRecord,
49
46
  createContinuityIncidentRecord,
@@ -53,6 +50,9 @@ import {
53
50
  serializeContinuityIncident,
54
51
  upsertContinuityLoopInMarkdown
55
52
  } from "./chunk-LDXUBPMO.js";
53
+ import {
54
+ rotateMarkdownFileToArchive
55
+ } from "./chunk-DM2T26WE.js";
56
56
  import {
57
57
  sanitizeMemoryContent
58
58
  } from "./chunk-FVQJYWH7.js";
@@ -258,6 +258,18 @@ function serializeFrontmatter(fm) {
258
258
  if (fm.archivedAt) lines.push(`archivedAt: ${fm.archivedAt}`);
259
259
  if (fm.valid_at) lines.push(`validAt: ${fm.valid_at}`);
260
260
  if (fm.invalid_at) lines.push(`invalidAt: ${fm.invalid_at}`);
261
+ if (fm.observedAt) {
262
+ const validated = normalizeMemoryWriteTimestamp("observedAt", fm.observedAt);
263
+ if (validated) lines.push(`observedAt: ${validated}`);
264
+ }
265
+ if (fm.eventTimeSource) {
266
+ if (fm.eventTimeSource !== "extracted" && fm.eventTimeSource !== "assumed") {
267
+ throw new Error(
268
+ `serializeFrontmatter: invalid eventTimeSource ${JSON.stringify(fm.eventTimeSource)} \u2014 expected "extracted" | "assumed"`
269
+ );
270
+ }
271
+ lines.push(`eventTimeSource: ${fm.eventTimeSource}`);
272
+ }
261
273
  if (fm.forgottenAt) lines.push(`forgottenAt: ${fm.forgottenAt}`);
262
274
  if (fm.forgottenReason) lines.push(`forgottenReason: ${JSON.stringify(fm.forgottenReason)}`);
263
275
  if (fm.lifecycleState) lines.push(`lifecycleState: ${fm.lifecycleState}`);
@@ -604,6 +616,9 @@ function parseFrontmatter(raw) {
604
616
  // Issue #680 — explicit fact lifecycle round-trip.
605
617
  valid_at: fm.validAt || void 0,
606
618
  invalid_at: fm.invalidAt || void 0,
619
+ // Issue #1578 — bi-temporal ingestion provenance round-trip.
620
+ observedAt: fm.observedAt || void 0,
621
+ eventTimeSource: fm.eventTimeSource === "extracted" || fm.eventTimeSource === "assumed" ? fm.eventTimeSource : void 0,
607
622
  forgottenAt: fm.forgottenAt || void 0,
608
623
  forgottenReason: parseFrontmatterStringValue(fm.forgottenReason),
609
624
  lifecycleState: fm.lifecycleState || void 0,
@@ -2575,6 +2590,10 @@ var StorageManager = class _StorageManager {
2575
2590
  const conf = options.confidence ?? 0.8;
2576
2591
  const tier = confidenceTier(conf);
2577
2592
  const validAt = normalizeMemoryWriteTimestamp("validAt", options.validAt);
2593
+ const observedAt = normalizeMemoryWriteTimestamp(
2594
+ "observedAt",
2595
+ options.observedAt
2596
+ );
2578
2597
  let expiresAt;
2579
2598
  if (typeof options.expiresAt === "string" && options.expiresAt.length > 0) {
2580
2599
  expiresAt = options.expiresAt;
@@ -2605,6 +2624,8 @@ var StorageManager = class _StorageManager {
2605
2624
  sourceTurnId: options.sourceTurnId,
2606
2625
  memoryKind: options.memoryKind,
2607
2626
  valid_at: validAt,
2627
+ observedAt,
2628
+ eventTimeSource: options.eventTimeSource,
2608
2629
  structuredAttributes: options.structuredAttributes
2609
2630
  };
2610
2631
  if (options.status !== void 0) {
@@ -5580,4 +5601,4 @@ export {
5580
5601
  serializeEntityFile,
5581
5602
  StorageManager
5582
5603
  };
5583
- //# sourceMappingURL=chunk-CUNTLEJP.js.map
5604
+ //# sourceMappingURL=chunk-VFVG4NS2.js.map