@remnic/core 9.3.683 → 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 (254) 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 +64 -64
  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/search/embed-helper.d.ts +1 -1
  174. package/dist/search/factory.d.ts +1 -1
  175. package/dist/search/factory.js +2 -2
  176. package/dist/search/index.d.ts +1 -1
  177. package/dist/search/index.js +4 -4
  178. package/dist/search/lancedb-backend.d.ts +1 -1
  179. package/dist/search/meilisearch-backend.d.ts +1 -1
  180. package/dist/search/noop-backend.d.ts +1 -1
  181. package/dist/search/orama-backend.d.ts +1 -1
  182. package/dist/search/port.d.ts +1 -1
  183. package/dist/search/remote-backend.d.ts +1 -1
  184. package/dist/{semantic-consolidation-BX9Z9_aK.d.ts → semantic-consolidation-CWch5uM7.d.ts} +1 -1
  185. package/dist/semantic-consolidation.d.ts +2 -2
  186. package/dist/semantic-consolidation.js +5 -4
  187. package/dist/semantic-rule-promotion.js +5 -3
  188. package/dist/semantic-rule-verifier.d.ts +1 -1
  189. package/dist/semantic-rule-verifier.js +5 -3
  190. package/dist/session-observer-bands.d.ts +1 -1
  191. package/dist/session-observer-state.d.ts +1 -1
  192. package/dist/shared-context/manager.d.ts +1 -1
  193. package/dist/signal.d.ts +1 -1
  194. package/dist/storage.d.ts +1 -1
  195. package/dist/storage.js +4 -2
  196. package/dist/summarizer.d.ts +1 -1
  197. package/dist/summary-snapshot.d.ts +1 -1
  198. package/dist/temporal-supersession.d.ts +1 -1
  199. package/dist/temporal-validity.d.ts +1 -1
  200. package/dist/threading.d.ts +1 -1
  201. package/dist/tier-migration.d.ts +1 -1
  202. package/dist/tier-routing.d.ts +1 -1
  203. package/dist/topics.d.ts +1 -1
  204. package/dist/transcript.d.ts +1 -1
  205. package/dist/transfer/import-sqlite.js +2 -2
  206. package/dist/{types-D3pm4NhH.d.ts → types-Dm5xxVrr.d.ts} +61 -1
  207. package/dist/types.d.ts +1 -1
  208. package/dist/types.js +1 -1
  209. package/dist/utility-runtime.d.ts +1 -1
  210. package/dist/verified-recall.js +5 -3
  211. package/package.json +2 -2
  212. package/src/config.test.ts +112 -0
  213. package/src/config.ts +5 -5
  214. package/src/provenance-frontmatter.test.ts +596 -0
  215. package/src/provenance.ts +305 -0
  216. package/src/storage.ts +5 -5
  217. package/src/types.ts +76 -0
  218. package/dist/chunk-FMSDA2D3.js.map +0 -1
  219. package/dist/chunk-IUZWBCJX.js.map +0 -1
  220. package/dist/chunk-PHK3HARR.js +0 -32
  221. package/dist/chunk-PHK3HARR.js.map +0 -1
  222. package/dist/chunk-TY5NT3T3.js.map +0 -1
  223. /package/dist/{chunk-O2WELT5C.js.map → chunk-2IBGHRIO.js.map} +0 -0
  224. /package/dist/{chunk-I3HSKQT7.js.map → chunk-2L3KLWOV.js.map} +0 -0
  225. /package/dist/{chunk-V254FAT5.js.map → chunk-3EVIMVQU.js.map} +0 -0
  226. /package/dist/{chunk-H4BDNIKQ.js.map → chunk-3MY4W5V4.js.map} +0 -0
  227. /package/dist/{chunk-3IND7N4X.js.map → chunk-3Z7NPD5T.js.map} +0 -0
  228. /package/dist/{chunk-QVWM4C24.js.map → chunk-5N5DXYDW.js.map} +0 -0
  229. /package/dist/{chunk-FDSOMA6M.js.map → chunk-5OE4PYY5.js.map} +0 -0
  230. /package/dist/{chunk-H6PMGMNP.js.map → chunk-6VMIHVGO.js.map} +0 -0
  231. /package/dist/{chunk-APJQ6UEA.js.map → chunk-AGNBY3VG.js.map} +0 -0
  232. /package/dist/{chunk-GSTYVG5L.js.map → chunk-BFVPIKDY.js.map} +0 -0
  233. /package/dist/{chunk-EG4TCVMU.js.map → chunk-DQY7NJ5L.js.map} +0 -0
  234. /package/dist/{chunk-ARLRTZZZ.js.map → chunk-FMEKEF47.js.map} +0 -0
  235. /package/dist/{chunk-NHFXF4ZO.js.map → chunk-FYEVFGJD.js.map} +0 -0
  236. /package/dist/{chunk-OHX52AOS.js.map → chunk-GTDH3IUH.js.map} +0 -0
  237. /package/dist/{chunk-ODWI5XU2.js.map → chunk-GWKCEM3S.js.map} +0 -0
  238. /package/dist/{chunk-UAODC6GJ.js.map → chunk-J2FBJ63F.js.map} +0 -0
  239. /package/dist/{chunk-KV6CX4ON.js.map → chunk-K6ZN34WC.js.map} +0 -0
  240. /package/dist/{chunk-6VP3YUCS.js.map → chunk-LLONI6PY.js.map} +0 -0
  241. /package/dist/{chunk-GNAMDNGT.js.map → chunk-LXH3DIF2.js.map} +0 -0
  242. /package/dist/{chunk-TOQEZ63C.js.map → chunk-M3FWYURP.js.map} +0 -0
  243. /package/dist/{chunk-B2B2IHUH.js.map → chunk-M6BVYHBU.js.map} +0 -0
  244. /package/dist/{chunk-QUA2JPH2.js.map → chunk-NHQGDVJF.js.map} +0 -0
  245. /package/dist/{chunk-KACIOX42.js.map → chunk-OMLIFZ4I.js.map} +0 -0
  246. /package/dist/{chunk-M4I3TREG.js.map → chunk-OXNOINIP.js.map} +0 -0
  247. /package/dist/{chunk-2QSZNTDO.js.map → chunk-RKNJBZ55.js.map} +0 -0
  248. /package/dist/{chunk-UJDV2NLT.js.map → chunk-ROHLEUTH.js.map} +0 -0
  249. /package/dist/{chunk-WEPMT6SC.js.map → chunk-V25ZAOSB.js.map} +0 -0
  250. /package/dist/{chunk-L5MUA6Q7.js.map → chunk-WI7JKV2T.js.map} +0 -0
  251. /package/dist/{chunk-NQMBSSWW.js.map → chunk-WRE3JPAW.js.map} +0 -0
  252. /package/dist/{chunk-I75DF4FZ.js.map → chunk-XEA4Z7JU.js.map} +0 -0
  253. /package/dist/{chunk-G7Z3C2X6.js.map → chunk-XWEXT4XU.js.map} +0 -0
  254. /package/dist/{first-start-migration-FF7YFGRP.js.map → first-start-migration-PG5HBC3K.js.map} +0 -0
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";
4
+ } from "./chunk-XEA4Z7JU.js";
5
5
  import "./chunk-HQ6NIBL6.js";
6
- import "./chunk-TY5NT3T3.js";
6
+ import "./chunk-53FDU4CE.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,7 +24,9 @@ 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";
29
+ import "./chunk-JUC24CTX.js";
28
30
  import "./chunk-2ODBA7MQ.js";
29
31
  import "./chunk-ZBJMUXZH.js";
30
32
  import "./chunk-PZ5AY32C.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remnic/core",
3
- "version": "9.3.683",
3
+ "version": "9.3.684",
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.684"
2935
2935
  },
2936
2936
  "peerDependenciesMeta": {
2937
2937
  "@remnic/coding-graph": {
@@ -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).