@remnic/core 9.23.2 → 9.23.4

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 (211) hide show
  1. package/dist/access-admin-ops-surface.d.ts +6 -5
  2. package/dist/access-admin-ops-surface.js +36 -33
  3. package/dist/access-boundary.d.ts +6 -5
  4. package/dist/access-boundary.js +36 -33
  5. package/dist/access-cli.js +92 -90
  6. package/dist/access-cli.js.map +1 -1
  7. package/dist/access-http.d.ts +7 -6
  8. package/dist/access-http.js +46 -43
  9. package/dist/access-identity-continuity-surface.d.ts +4 -4
  10. package/dist/access-identity-continuity-surface.js +36 -33
  11. package/dist/access-lcm-surface.d.ts +6 -5
  12. package/dist/access-lcm-surface.js +36 -33
  13. package/dist/access-mcp.d.ts +6 -5
  14. package/dist/access-mcp.js +41 -38
  15. package/dist/access-namespace-preflight.js +36 -33
  16. package/dist/access-observe-write-surface.d.ts +6 -5
  17. package/dist/access-observe-write-surface.js +36 -33
  18. package/dist/access-operations-batch.js +38 -35
  19. package/dist/access-operations.d.ts +6 -5
  20. package/dist/access-operations.js +40 -37
  21. package/dist/access-recall-concurrency.d.ts +6 -5
  22. package/dist/access-recall-concurrency.js +36 -33
  23. package/dist/access-recall-response.d.ts +6 -5
  24. package/dist/access-recall-response.js +36 -33
  25. package/dist/access-recall-surface.d.ts +6 -5
  26. package/dist/access-recall-surface.js +36 -33
  27. package/dist/access-schema.js +4 -4
  28. package/dist/{access-service-CKEROeFP.d.ts → access-service-Pl-h7x4p.d.ts} +6 -3
  29. package/dist/access-service.d.ts +8 -7
  30. package/dist/access-service.js +36 -33
  31. package/dist/access-surface-catalog.d.ts +6 -5
  32. package/dist/access-wearables-meetings-surface.d.ts +2 -2
  33. package/dist/active-recall.js +1 -1
  34. package/dist/adapters/index.js +7 -7
  35. package/dist/adapters/registry.js +3 -3
  36. package/dist/bootstrap.d.ts +4 -4
  37. package/dist/briefing.d.ts +1 -1
  38. package/dist/briefing.js +7 -7
  39. package/dist/buffer.d.ts +1 -1
  40. package/dist/{capsule-crypto-7FJQINUR.js → capsule-crypto-YO5QJ6L3.js} +2 -2
  41. package/dist/causal-behavior.js +2 -2
  42. package/dist/causal-chain.js +2 -2
  43. package/dist/causal-consolidation.js +10 -10
  44. package/dist/causal-retrieval.js +2 -2
  45. package/dist/causal-trajectory-graph.js +2 -2
  46. package/dist/causal-trajectory.js +1 -1
  47. package/dist/{chunk-L2DPF4DF.js → chunk-3SHB4YAW.js} +4 -4
  48. package/dist/{chunk-ATEAL5EI.js → chunk-3UD5ZAUA.js} +2 -2
  49. package/dist/{chunk-ES5IHQ6M.js → chunk-4E3DWNTJ.js} +2 -2
  50. package/dist/{chunk-QCKQEBIY.js → chunk-5XMJ2P62.js} +5 -5
  51. package/dist/{chunk-WZVIB5BK.js → chunk-6MFMTNY4.js} +38 -29
  52. package/dist/chunk-6MFMTNY4.js.map +1 -0
  53. package/dist/{chunk-7CPOZH6Y.js → chunk-AJ7QCSIS.js} +2 -2
  54. package/dist/{chunk-M6LJXJ3J.js → chunk-AT7XL2JJ.js} +3 -3
  55. package/dist/{chunk-2NLLXCJG.js → chunk-BXLOS5AJ.js} +2 -2
  56. package/dist/{chunk-NRV4Y3PM.js → chunk-CAGPP5NB.js} +1 -1
  57. package/dist/{chunk-XGEFGNL5.js → chunk-CNUZ2PN2.js} +13 -9
  58. package/dist/chunk-CNUZ2PN2.js.map +1 -0
  59. package/dist/chunk-D5ILARSD.js +60 -0
  60. package/dist/chunk-D5ILARSD.js.map +1 -0
  61. package/dist/{chunk-X7Y7WX73.js → chunk-DQEMWVMT.js} +1 -1
  62. package/dist/{chunk-P2BLHUL2.js → chunk-EHOTE26K.js} +5 -5
  63. package/dist/{chunk-DLKRXYRL.js → chunk-EXH5AK46.js} +6 -6
  64. package/dist/{chunk-JNIJBXVK.js → chunk-FPJWQZ35.js} +2 -2
  65. package/dist/{chunk-XWPFZX6S.js → chunk-GCQIMJFH.js} +97 -26
  66. package/dist/chunk-GCQIMJFH.js.map +1 -0
  67. package/dist/{chunk-GD3QOBMB.js → chunk-H2M4YA6K.js} +2 -2
  68. package/dist/{chunk-3ZW6ZQO6.js → chunk-HVYOZAQ7.js} +6 -6
  69. package/dist/{chunk-3UOSVTFR.js → chunk-JRQBPN63.js} +8 -8
  70. package/dist/{chunk-3L5O7SMT.js → chunk-JVOA5VDZ.js} +3 -3
  71. package/dist/{chunk-WWZ35GWW.js → chunk-K3C6CJOF.js} +2 -2
  72. package/dist/{chunk-4PQ4KLLK.js → chunk-KYP5FSPG.js} +6 -6
  73. package/dist/{chunk-227UFSEQ.js → chunk-LEPOP46W.js} +4 -4
  74. package/dist/{chunk-V2XVMCP6.js → chunk-M2PG7OTI.js} +2 -2
  75. package/dist/{chunk-HSSIWAZP.js → chunk-NSRTLSBX.js} +114 -98
  76. package/dist/{chunk-HSSIWAZP.js.map → chunk-NSRTLSBX.js.map} +1 -1
  77. package/dist/{chunk-MU7ZHSZE.js → chunk-PO5LSKQO.js} +2 -2
  78. package/dist/{chunk-6TWXQ4E2.js → chunk-POHSSW2T.js} +2 -2
  79. package/dist/{chunk-AU7Q3LSC.js → chunk-RKNJBZ55.js} +7 -7
  80. package/dist/{chunk-QE63OHLB.js → chunk-RPOSRICW.js} +5 -5
  81. package/dist/{chunk-ZN4UZWMT.js → chunk-RSLXMGFP.js} +2 -2
  82. package/dist/{chunk-7I7AYIUQ.js → chunk-SPWOLGXT.js} +5 -5
  83. package/dist/{chunk-E3ZMFFQZ.js → chunk-TMX4MBSK.js} +2 -2
  84. package/dist/{chunk-SVZGA2MK.js → chunk-UZ7HGRHK.js} +2 -2
  85. package/dist/{chunk-JYIFGGEM.js → chunk-UZGJFIIG.js} +2 -2
  86. package/dist/{chunk-IPLYGWQF.js → chunk-VDX2J7OX.js} +6 -6
  87. package/dist/{chunk-CUUY5CC4.js → chunk-W3BKLKG6.js} +2 -2
  88. package/dist/{chunk-HNZKVLAN.js → chunk-W6ROK2KU.js} +2 -2
  89. package/dist/chunk-XJTYLU6J.js +261 -0
  90. package/dist/chunk-XJTYLU6J.js.map +1 -0
  91. package/dist/{chunk-5FZQ74K5.js → chunk-XPLTZEJU.js} +2 -2
  92. package/dist/{chunk-MAXVH44E.js → chunk-Z54EM5YZ.js} +7 -7
  93. package/dist/{chunk-KXGE7L62.js → chunk-ZLDMAGCB.js} +59 -59
  94. package/dist/{cli-BrwT9YMD.d.ts → cli-DuMB83Mw.d.ts} +3 -3
  95. package/dist/cli.d.ts +7 -6
  96. package/dist/cli.js +66 -64
  97. package/dist/compounding/engine.d.ts +1 -1
  98. package/dist/compounding/engine.js +7 -7
  99. package/dist/config.js +1 -1
  100. package/dist/connectors/codex-materialize-runner.js +7 -7
  101. package/dist/connectors/index.js +7 -7
  102. package/dist/consolidation-provenance-check.d.ts +1 -1
  103. package/dist/consolidation-undo.d.ts +1 -1
  104. package/dist/contradiction/index.d.ts +1 -1
  105. package/dist/conversation-index/backend.js +2 -2
  106. package/dist/corpus-watermark.d.ts +227 -0
  107. package/dist/corpus-watermark.js +106 -0
  108. package/dist/entity-retrieval.d.ts +1 -1
  109. package/dist/entity-retrieval.js +7 -7
  110. package/dist/explicit-capture.d.ts +4 -4
  111. package/dist/extraction.js +1 -1
  112. package/dist/{graph-edge-decay-Z6ENALU2.js → graph-edge-decay-GF3ZSGSP.js} +4 -4
  113. package/dist/graph-edge-decay-GF3ZSGSP.js.map +1 -0
  114. package/dist/graph-snapshot.js +3 -3
  115. package/dist/graph.js +2 -2
  116. package/dist/index.d.ts +12 -11
  117. package/dist/index.js +136 -134
  118. package/dist/lcm/engine.js +3 -3
  119. package/dist/lcm/index.js +6 -6
  120. package/dist/maintenance/memory-governance.js +7 -7
  121. package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +1 -1
  122. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +7 -7
  123. package/dist/maintenance/rebuild-memory-projection.d.ts +1 -1
  124. package/dist/maintenance/rebuild-memory-projection.js +8 -8
  125. package/dist/{maintenance-C98njYb8.d.ts → maintenance-DGvDB1xF.d.ts} +1 -1
  126. package/dist/mcp-memory-inspector-app.d.ts +6 -5
  127. package/dist/memory-worth-outcomes.d.ts +1 -1
  128. package/dist/namespaces/migrate.d.ts +1 -1
  129. package/dist/namespaces/migrate.js +14 -14
  130. package/dist/namespaces/search.js +6 -6
  131. package/dist/namespaces/storage.d.ts +1 -1
  132. package/dist/namespaces/storage.js +7 -7
  133. package/dist/operator-doctor-corpus.d.ts +44 -0
  134. package/dist/operator-doctor-corpus.js +91 -0
  135. package/dist/operator-doctor-corpus.js.map +1 -0
  136. package/dist/operator-toolkit.d.ts +1 -1
  137. package/dist/operator-toolkit.js +22 -20
  138. package/dist/orchestration/compression-guideline-coordinator.d.ts +1 -1
  139. package/dist/orchestration/maintenance.d.ts +2 -2
  140. package/dist/orchestration/maintenance.js +12 -12
  141. package/dist/{orchestrator-C9ZVppNh.d.ts → orchestrator-RXHefhAy.d.ts} +3 -3
  142. package/dist/orchestrator.d.ts +4 -4
  143. package/dist/orchestrator.js +91 -89
  144. package/dist/resume-bundles.js +1 -1
  145. package/dist/search/factory.js +5 -5
  146. package/dist/search/index.js +9 -9
  147. package/dist/semantic-consolidation.js +8 -8
  148. package/dist/semantic-rule-promotion.js +7 -7
  149. package/dist/semantic-rule-verifier.js +7 -7
  150. package/dist/{service-DgFWlZ-r.d.ts → service-BrWqlsZ4.d.ts} +1 -1
  151. package/dist/{storage-XGawwqXE.d.ts → storage-DgNVexXm.d.ts} +24 -1
  152. package/dist/storage.d.ts +1 -1
  153. package/dist/storage.js +6 -6
  154. package/dist/temporal-supersession.d.ts +1 -1
  155. package/dist/tier-migration.d.ts +1 -1
  156. package/dist/transfer/autodetect.js +1 -1
  157. package/dist/transfer/backup.js +2 -2
  158. package/dist/transfer/capsule-export.js +3 -3
  159. package/dist/transfer/capsule-import.js +2 -2
  160. package/dist/verified-recall.js +7 -7
  161. package/package.json +12 -2
  162. package/src/access-http.test.ts +4 -2
  163. package/src/access-service.ts +5 -0
  164. package/src/corpus-watermark.test.ts +840 -0
  165. package/src/corpus-watermark.ts +531 -0
  166. package/src/operator-doctor-corpus.test.ts +171 -0
  167. package/src/operator-doctor-corpus.ts +95 -0
  168. package/src/operator-toolkit.ts +3 -3
  169. package/src/recall/archive-scoring.ts +18 -0
  170. package/src/storage/memory-read-store.ts +91 -22
  171. package/src/storage.ts +27 -2
  172. package/dist/chunk-WZVIB5BK.js.map +0 -1
  173. package/dist/chunk-XGEFGNL5.js.map +0 -1
  174. package/dist/chunk-XWPFZX6S.js.map +0 -1
  175. /package/dist/{capsule-crypto-7FJQINUR.js.map → capsule-crypto-YO5QJ6L3.js.map} +0 -0
  176. /package/dist/{chunk-L2DPF4DF.js.map → chunk-3SHB4YAW.js.map} +0 -0
  177. /package/dist/{chunk-ATEAL5EI.js.map → chunk-3UD5ZAUA.js.map} +0 -0
  178. /package/dist/{chunk-ES5IHQ6M.js.map → chunk-4E3DWNTJ.js.map} +0 -0
  179. /package/dist/{chunk-QCKQEBIY.js.map → chunk-5XMJ2P62.js.map} +0 -0
  180. /package/dist/{chunk-7CPOZH6Y.js.map → chunk-AJ7QCSIS.js.map} +0 -0
  181. /package/dist/{chunk-M6LJXJ3J.js.map → chunk-AT7XL2JJ.js.map} +0 -0
  182. /package/dist/{chunk-2NLLXCJG.js.map → chunk-BXLOS5AJ.js.map} +0 -0
  183. /package/dist/{chunk-NRV4Y3PM.js.map → chunk-CAGPP5NB.js.map} +0 -0
  184. /package/dist/{chunk-X7Y7WX73.js.map → chunk-DQEMWVMT.js.map} +0 -0
  185. /package/dist/{chunk-P2BLHUL2.js.map → chunk-EHOTE26K.js.map} +0 -0
  186. /package/dist/{chunk-DLKRXYRL.js.map → chunk-EXH5AK46.js.map} +0 -0
  187. /package/dist/{chunk-JNIJBXVK.js.map → chunk-FPJWQZ35.js.map} +0 -0
  188. /package/dist/{chunk-GD3QOBMB.js.map → chunk-H2M4YA6K.js.map} +0 -0
  189. /package/dist/{chunk-3ZW6ZQO6.js.map → chunk-HVYOZAQ7.js.map} +0 -0
  190. /package/dist/{chunk-3UOSVTFR.js.map → chunk-JRQBPN63.js.map} +0 -0
  191. /package/dist/{chunk-3L5O7SMT.js.map → chunk-JVOA5VDZ.js.map} +0 -0
  192. /package/dist/{chunk-WWZ35GWW.js.map → chunk-K3C6CJOF.js.map} +0 -0
  193. /package/dist/{chunk-4PQ4KLLK.js.map → chunk-KYP5FSPG.js.map} +0 -0
  194. /package/dist/{chunk-227UFSEQ.js.map → chunk-LEPOP46W.js.map} +0 -0
  195. /package/dist/{chunk-V2XVMCP6.js.map → chunk-M2PG7OTI.js.map} +0 -0
  196. /package/dist/{chunk-MU7ZHSZE.js.map → chunk-PO5LSKQO.js.map} +0 -0
  197. /package/dist/{chunk-6TWXQ4E2.js.map → chunk-POHSSW2T.js.map} +0 -0
  198. /package/dist/{chunk-AU7Q3LSC.js.map → chunk-RKNJBZ55.js.map} +0 -0
  199. /package/dist/{chunk-QE63OHLB.js.map → chunk-RPOSRICW.js.map} +0 -0
  200. /package/dist/{chunk-ZN4UZWMT.js.map → chunk-RSLXMGFP.js.map} +0 -0
  201. /package/dist/{chunk-7I7AYIUQ.js.map → chunk-SPWOLGXT.js.map} +0 -0
  202. /package/dist/{chunk-E3ZMFFQZ.js.map → chunk-TMX4MBSK.js.map} +0 -0
  203. /package/dist/{chunk-SVZGA2MK.js.map → chunk-UZ7HGRHK.js.map} +0 -0
  204. /package/dist/{chunk-JYIFGGEM.js.map → chunk-UZGJFIIG.js.map} +0 -0
  205. /package/dist/{chunk-IPLYGWQF.js.map → chunk-VDX2J7OX.js.map} +0 -0
  206. /package/dist/{chunk-CUUY5CC4.js.map → chunk-W3BKLKG6.js.map} +0 -0
  207. /package/dist/{chunk-HNZKVLAN.js.map → chunk-W6ROK2KU.js.map} +0 -0
  208. /package/dist/{chunk-5FZQ74K5.js.map → chunk-XPLTZEJU.js.map} +0 -0
  209. /package/dist/{chunk-MAXVH44E.js.map → chunk-Z54EM5YZ.js.map} +0 -0
  210. /package/dist/{chunk-KXGE7L62.js.map → chunk-ZLDMAGCB.js.map} +0 -0
  211. /package/dist/{graph-edge-decay-Z6ENALU2.js.map → corpus-watermark.js.map} +0 -0
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  compareVerifiedSemanticRuleResults,
3
3
  searchVerifiedSemanticRules
4
- } from "./chunk-CUUY5CC4.js";
4
+ } from "./chunk-W3BKLKG6.js";
5
5
  import "./chunk-ZBJMUXZH.js";
6
- import "./chunk-XWPFZX6S.js";
7
- import "./chunk-2QMKMVHH.js";
6
+ import "./chunk-GCQIMJFH.js";
8
7
  import "./chunk-UHVXE24Y.js";
8
+ import "./chunk-2QMKMVHH.js";
9
9
  import "./chunk-DEBHXHJR.js";
10
10
  import "./chunk-DNHVPZOD.js";
11
11
  import "./chunk-6CIAGZ6X.js";
@@ -20,13 +20,13 @@ import "./chunk-ILGC6JH6.js";
20
20
  import "./chunk-SCU65EZI.js";
21
21
  import "./chunk-3CSX3ETE.js";
22
22
  import "./chunk-RL6NEVXT.js";
23
- import "./chunk-LDXUBPMO.js";
24
23
  import "./chunk-DM2T26WE.js";
25
- import "./chunk-JYIJNNN3.js";
26
- import "./chunk-AAD2ZS6P.js";
24
+ import "./chunk-LDXUBPMO.js";
27
25
  import "./chunk-CGASUJVP.js";
28
26
  import "./chunk-R3DJVOSM.js";
29
27
  import "./chunk-BT7NVCML.js";
28
+ import "./chunk-JYIJNNN3.js";
29
+ import "./chunk-AAD2ZS6P.js";
30
30
  import "./chunk-G7D6GZ5J.js";
31
31
  import "./chunk-5VQJBH2G.js";
32
32
  import "./chunk-AITCS2RC.js";
@@ -44,8 +44,8 @@ import "./chunk-BJMBJZ2Y.js";
44
44
  import "./chunk-UKJAGEXH.js";
45
45
  import "./chunk-FP2373TW.js";
46
46
  import "./chunk-5I4M26Q7.js";
47
- import "./chunk-4DJQYKMN.js";
48
47
  import "./chunk-5GKPFL3S.js";
48
+ import "./chunk-4DJQYKMN.js";
49
49
  import "./chunk-PQVCH2AE.js";
50
50
  import "./chunk-EYIEWJNI.js";
51
51
  import "./chunk-JUC24CTX.js";
@@ -1,5 +1,5 @@
1
1
  import { n as BufferTurn, J as ExtractionResult, ah as ImportanceScore, x as MemoryStatus, aN as WearableConversation, aO as WearableSourceSettings, aP as WearableNativeMemory, aQ as WearableMemoryMode, aR as WearableSourceConnector, aS as WearablesConfig, aT as WearableSyncSummary, aU as WearableSourceStatus, aV as WearableDayTranscript, ay as FusedWearableConversation, aW as WearableCorrectionRule, aX as MeetingBuildInput, aY as MeetingsConfig, aD as FusedMeeting, aB as MeetingRecord, aZ as MeetingsDetectionInput, a_ as FusionConversationInput, a$ as MeetingActivitySnapshot, b0 as DetectedMeeting } from './types-Bbs0qz6b.js';
2
- import { M as MemoryWriteResult, F as FusionArtifactStore, a as MeetingRecordStore, b as MeetingRecordSummary } from './storage-XGawwqXE.js';
2
+ import { M as MemoryWriteResult, F as FusionArtifactStore, a as MeetingRecordStore, b as MeetingRecordSummary } from './storage-DgNVexXm.js';
3
3
  import { SealedMemoryEnvelope } from './write-envelope.js';
4
4
  import { JudgeCandidate, JudgeBatchResult } from './extraction-judge.js';
5
5
 
@@ -1712,7 +1712,30 @@ declare class StorageManager {
1712
1712
  * fallback map. Called by invalidateColdMemoriesCache(). */
1713
1713
  private bumpColdWriteVersion;
1714
1714
  private normalizeMemoryReadBatchSize;
1715
- private collectActiveMemoryPaths;
1715
+ /**
1716
+ * Public cheap active-memory path scan (issue #2149 corpus watermark). Lists
1717
+ * active memory file paths without parsing frontmatter — safe on a 100k+
1718
+ * corpus, unlike readAllMemories().
1719
+ */
1720
+ collectActiveMemoryPaths(options?: {
1721
+ propagateReadErrors?: boolean;
1722
+ }): Promise<string[]>;
1723
+ /**
1724
+ * Public cheap cold-tier path scan (issue #2156 finding D corpus census).
1725
+ * Lists demoted-but-reachable memory paths under `cold/` without parsing
1726
+ * frontmatter, so the divergence watermark counts the cold tier too.
1727
+ */
1728
+ collectColdMemoryPaths(options?: {
1729
+ propagateReadErrors?: boolean;
1730
+ }): Promise<string[]>;
1731
+ /**
1732
+ * Combined hot+cold corpus-mutation sentinel (issue #2156). Changes whenever
1733
+ * EITHER tier is written, so a divergence census can bracket its hot/cold scan
1734
+ * and detect a tier migration (write-cold-then-unlink-hot) racing the walkers,
1735
+ * then retry for a consistent snapshot instead of caching a transient
1736
+ * double-count or miss.
1737
+ */
1738
+ getCorpusScanVersion(): string;
1716
1739
  private readParsedMemoriesFromPaths;
1717
1740
  private readWindowUpdatedMs;
1718
1741
  private filterWindowPathsByUpdatedAfter;
package/dist/storage.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import './types-Bbs0qz6b.js';
2
- export { C as ContentHashIndex, t as ContentHashIndexLockOptions, u as FactHashIndexNotAuthoritativeError, v as MemoryLifecycleEventWriteOptions, M as MemoryWriteResult, R as ReextractJobRequest, w as SealedWriteExtras, S as StorageManager, W as WriteMemoryOptions, x as buildEntitySchemaCacheKey, y as compareEntityTimestamps, z as compileEntityFacts, A as countEntityStructuredFacts, B as fingerprintEntityStructuredFacts, D as isEntitySynthesisStale, E as isValidBufferSurpriseEvent, G as normalizeEntityName, H as normalizeFrontmatterForPath, I as normalizeStructuredSectionFacts, p as parseEntityFile, J as parseFrontmatter, K as parseFrontmatterStringValue, s as serializeEntityFile } from './storage-XGawwqXE.js';
2
+ export { C as ContentHashIndex, t as ContentHashIndexLockOptions, u as FactHashIndexNotAuthoritativeError, v as MemoryLifecycleEventWriteOptions, M as MemoryWriteResult, R as ReextractJobRequest, w as SealedWriteExtras, S as StorageManager, W as WriteMemoryOptions, x as buildEntitySchemaCacheKey, y as compareEntityTimestamps, z as compileEntityFacts, A as countEntityStructuredFacts, B as fingerprintEntityStructuredFacts, D as isEntitySynthesisStale, E as isValidBufferSurpriseEvent, G as normalizeEntityName, H as normalizeFrontmatterForPath, I as normalizeStructuredSectionFacts, p as parseEntityFile, J as parseFrontmatter, K as parseFrontmatterStringValue, s as serializeEntityFile } from './storage-DgNVexXm.js';
3
3
  import './page-versioning.js';
4
4
  import './consolidation-operator.js';
5
5
  import './memory-projection-store.js';
package/dist/storage.js CHANGED
@@ -16,9 +16,9 @@ import {
16
16
  parseFrontmatter,
17
17
  parseFrontmatterStringValue,
18
18
  serializeEntityFile
19
- } from "./chunk-XWPFZX6S.js";
20
- import "./chunk-2QMKMVHH.js";
19
+ } from "./chunk-GCQIMJFH.js";
21
20
  import "./chunk-UHVXE24Y.js";
21
+ import "./chunk-2QMKMVHH.js";
22
22
  import "./chunk-DEBHXHJR.js";
23
23
  import "./chunk-DNHVPZOD.js";
24
24
  import "./chunk-6CIAGZ6X.js";
@@ -33,16 +33,16 @@ import "./chunk-ILGC6JH6.js";
33
33
  import "./chunk-SCU65EZI.js";
34
34
  import "./chunk-3CSX3ETE.js";
35
35
  import "./chunk-RL6NEVXT.js";
36
- import "./chunk-LDXUBPMO.js";
37
36
  import "./chunk-DM2T26WE.js";
38
- import "./chunk-JYIJNNN3.js";
39
- import "./chunk-AAD2ZS6P.js";
37
+ import "./chunk-LDXUBPMO.js";
40
38
  import "./chunk-CGASUJVP.js";
41
39
  import {
42
40
  normalizeAttributePairs,
43
41
  stripAttributesSuffix
44
42
  } from "./chunk-R3DJVOSM.js";
45
43
  import "./chunk-BT7NVCML.js";
44
+ import "./chunk-JYIJNNN3.js";
45
+ import "./chunk-AAD2ZS6P.js";
46
46
  import "./chunk-G7D6GZ5J.js";
47
47
  import "./chunk-5VQJBH2G.js";
48
48
  import "./chunk-AITCS2RC.js";
@@ -60,8 +60,8 @@ import "./chunk-BJMBJZ2Y.js";
60
60
  import "./chunk-UKJAGEXH.js";
61
61
  import "./chunk-FP2373TW.js";
62
62
  import "./chunk-5I4M26Q7.js";
63
- import "./chunk-4DJQYKMN.js";
64
63
  import "./chunk-5GKPFL3S.js";
64
+ import "./chunk-4DJQYKMN.js";
65
65
  import "./chunk-PQVCH2AE.js";
66
66
  import "./chunk-EYIEWJNI.js";
67
67
  import "./chunk-JUC24CTX.js";
@@ -1,5 +1,5 @@
1
1
  import { o as MemoryFrontmatter } from './types-Bbs0qz6b.js';
2
- import { S as StorageManager } from './storage-XGawwqXE.js';
2
+ import { S as StorageManager } from './storage-DgNVexXm.js';
3
3
  import './message-parts/index.js';
4
4
  import './bounded-jsonl-state.js';
5
5
  import './types-continuity.js';
@@ -1,5 +1,5 @@
1
1
  import { M as MemoryFile } from './types-Bbs0qz6b.js';
2
- import { S as StorageManager } from './storage-XGawwqXE.js';
2
+ import { S as StorageManager } from './storage-DgNVexXm.js';
3
3
  import { MemoryTier } from './tier-routing.js';
4
4
  import { SearchBackend } from './search/port.js';
5
5
  import './message-parts/index.js';
@@ -4,8 +4,8 @@ import {
4
4
  import "../chunk-2DL3OFLD.js";
5
5
  import "../chunk-G4IAEX6D.js";
6
6
  import "../chunk-765K3SAT.js";
7
- import "../chunk-J4EB7DNW.js";
8
7
  import "../chunk-WEHSQBFR.js";
8
+ import "../chunk-J4EB7DNW.js";
9
9
  import "../chunk-UI3NYK34.js";
10
10
  import "../chunk-GCGJW34D.js";
11
11
  import "../chunk-PZ5AY32C.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  backupMemoryDir
3
- } from "../chunk-2NLLXCJG.js";
3
+ } from "../chunk-BXLOS5AJ.js";
4
4
  import "../chunk-765K3SAT.js";
5
+ import "../chunk-DQEMWVMT.js";
5
6
  import "../chunk-J4EB7DNW.js";
6
- import "../chunk-X7Y7WX73.js";
7
7
  import "../chunk-BJMBJZ2Y.js";
8
8
  import "../chunk-UKJAGEXH.js";
9
9
  import "../chunk-FP2373TW.js";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  exportCapsule,
3
3
  isValidCapsuleSince
4
- } from "../chunk-IPLYGWQF.js";
5
- import "../chunk-J4EB7DNW.js";
4
+ } from "../chunk-VDX2J7OX.js";
6
5
  import "../chunk-WEHSQBFR.js";
7
- import "../chunk-X7Y7WX73.js";
6
+ import "../chunk-DQEMWVMT.js";
7
+ import "../chunk-J4EB7DNW.js";
8
8
  import "../chunk-BJMBJZ2Y.js";
9
9
  import "../chunk-UKJAGEXH.js";
10
10
  import "../chunk-FP2373TW.js";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  importCapsule
3
- } from "../chunk-7CPOZH6Y.js";
3
+ } from "../chunk-AJ7QCSIS.js";
4
4
  import "../chunk-5VQJBH2G.js";
5
5
  import "../chunk-AITCS2RC.js";
6
6
  import "../chunk-XMMESCPD.js";
7
7
  import "../chunk-42JKGUFJ.js";
8
8
  import "../chunk-PDJTHRAW.js";
9
9
  import "../chunk-WEHSQBFR.js";
10
- import "../chunk-X7Y7WX73.js";
10
+ import "../chunk-DQEMWVMT.js";
11
11
  import "../chunk-BJMBJZ2Y.js";
12
12
  import "../chunk-UKJAGEXH.js";
13
13
  import "../chunk-FP2373TW.js";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  compareVerifiedEpisodeResults,
3
3
  searchVerifiedEpisodes
4
- } from "./chunk-ATEAL5EI.js";
4
+ } from "./chunk-3UD5ZAUA.js";
5
5
  import "./chunk-B7RWBZXW.js";
6
6
  import "./chunk-ZBJMUXZH.js";
7
- import "./chunk-XWPFZX6S.js";
8
- import "./chunk-2QMKMVHH.js";
7
+ import "./chunk-GCQIMJFH.js";
9
8
  import "./chunk-UHVXE24Y.js";
9
+ import "./chunk-2QMKMVHH.js";
10
10
  import "./chunk-DEBHXHJR.js";
11
11
  import "./chunk-DNHVPZOD.js";
12
12
  import "./chunk-6CIAGZ6X.js";
@@ -21,13 +21,13 @@ import "./chunk-ILGC6JH6.js";
21
21
  import "./chunk-SCU65EZI.js";
22
22
  import "./chunk-3CSX3ETE.js";
23
23
  import "./chunk-RL6NEVXT.js";
24
- import "./chunk-LDXUBPMO.js";
25
24
  import "./chunk-DM2T26WE.js";
26
- import "./chunk-JYIJNNN3.js";
27
- import "./chunk-AAD2ZS6P.js";
25
+ import "./chunk-LDXUBPMO.js";
28
26
  import "./chunk-CGASUJVP.js";
29
27
  import "./chunk-R3DJVOSM.js";
30
28
  import "./chunk-BT7NVCML.js";
29
+ import "./chunk-JYIJNNN3.js";
30
+ import "./chunk-AAD2ZS6P.js";
31
31
  import "./chunk-G7D6GZ5J.js";
32
32
  import "./chunk-5VQJBH2G.js";
33
33
  import "./chunk-AITCS2RC.js";
@@ -45,8 +45,8 @@ import "./chunk-BJMBJZ2Y.js";
45
45
  import "./chunk-UKJAGEXH.js";
46
46
  import "./chunk-FP2373TW.js";
47
47
  import "./chunk-5I4M26Q7.js";
48
- import "./chunk-4DJQYKMN.js";
49
48
  import "./chunk-5GKPFL3S.js";
49
+ import "./chunk-4DJQYKMN.js";
50
50
  import "./chunk-PQVCH2AE.js";
51
51
  import "./chunk-EYIEWJNI.js";
52
52
  import "./chunk-JUC24CTX.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remnic/core",
3
- "version": "9.23.2",
3
+ "version": "9.23.4",
4
4
  "description": "Framework-agnostic Remnic memory engine — orchestrator, storage, extraction, search, trust zones",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -495,6 +495,16 @@
495
495
  "remnic-source": "./src/commitment-ledger.ts",
496
496
  "import": "./dist/commitment-ledger.js"
497
497
  },
498
+ "./corpus-watermark": {
499
+ "types": "./dist/corpus-watermark.d.ts",
500
+ "remnic-source": "./src/corpus-watermark.ts",
501
+ "import": "./dist/corpus-watermark.js"
502
+ },
503
+ "./corpus-watermark.js": {
504
+ "types": "./dist/corpus-watermark.d.ts",
505
+ "remnic-source": "./src/corpus-watermark.ts",
506
+ "import": "./dist/corpus-watermark.js"
507
+ },
498
508
  "./compat/checks": {
499
509
  "types": "./dist/compat/checks.d.ts",
500
510
  "remnic-source": "./src/compat/checks.ts",
@@ -3046,7 +3056,7 @@
3046
3056
  "core"
3047
3057
  ],
3048
3058
  "peerDependencies": {
3049
- "@remnic/coding-graph": "^9.23.2"
3059
+ "@remnic/coding-graph": "^9.23.4"
3050
3060
  },
3051
3061
  "peerDependenciesMeta": {
3052
3062
  "@remnic/coding-graph": {
@@ -1642,9 +1642,10 @@ test("HTTP externalRequestHandler runs pre-auth, can end responses, and falls th
1642
1642
  },
1643
1643
  nativeKnowledgeEnabled: false,
1644
1644
  projectionAvailable: false,
1645
+ corpus: [],
1645
1646
  }),
1646
1647
  } satisfies Pick<EngramAccessService, "health">;
1647
- const service = healthStub as EngramAccessService;
1648
+ const service = healthStub as unknown as EngramAccessService;
1648
1649
  const seen: Array<{ path: string; method: string; authorized: boolean }> = [];
1649
1650
  const server = new EngramAccessHttpServer({
1650
1651
  service,
@@ -1757,6 +1758,7 @@ test("HTTP authTokenEntriesGetter is authoritative: scope policy binds connector
1757
1758
  },
1758
1759
  nativeKnowledgeEnabled: false,
1759
1760
  projectionAvailable: false,
1761
+ corpus: [],
1760
1762
  }),
1761
1763
  } satisfies Pick<EngramAccessService, "health">;
1762
1764
  const entries = [
@@ -1765,7 +1767,7 @@ test("HTTP authTokenEntriesGetter is authoritative: scope policy binds connector
1765
1767
  { token: "remnic_xx_anon" }, // no connector — must fail closed under a policy
1766
1768
  ];
1767
1769
  const server = new EngramAccessHttpServer({
1768
- service: healthStub as EngramAccessService,
1770
+ service: healthStub as unknown as EngramAccessService,
1769
1771
  port: 0,
1770
1772
  authToken: "operator-token",
1771
1773
  // Dangerous shape on purpose: BOTH getters configured, and the string
@@ -18,6 +18,7 @@ import { resolveNamespaceCapabilities,
18
18
  resolveMemoryLifecycleCapabilities,
19
19
  resolveQmdCapabilities,
20
20
  resolveSecurityCapabilities, resolveObjectiveStateCapabilities, resolveCompressionCapabilities, resolveRecallAuxiliaryCapabilities } from "./capabilities.js";
21
+ import { CorpusWatermarkCache, computeServiceCorpusWatermarks, type CorpusWatermark } from "./corpus-watermark.js";
21
22
  import { AccessAuditAdapter, type AccessAuditConfig, type AccessAuditResult } from "./access-audit.js";
22
23
  import type { AnomalyDetectorResult } from "./recall-audit-anomaly.js";
23
24
  import { resolveGitContext } from "./coding/git-context.js";
@@ -351,6 +352,7 @@ export interface EngramAccessHealthResponse {
351
352
  qmd: EngramAccessQmdHealthResponse;
352
353
  nativeKnowledgeEnabled: boolean;
353
354
  projectionAvailable: boolean;
355
+ corpus: CorpusWatermark[];
354
356
  }
355
357
 
356
358
  export type EngramAccessQmdCollectionState =
@@ -1302,6 +1304,7 @@ export class EngramAccessService {
1302
1304
  private readonly recallInFlight = new Map<string, unknown>();
1303
1305
  private readonly budget: CrossNamespaceBudget;
1304
1306
  private readonly auditAdapter: AccessAuditAdapter | null;
1307
+ private readonly corpusWatermarkCache = new CorpusWatermarkCache();
1305
1308
 
1306
1309
  /** AccessObserveWriteSurface (access-service decomposition). Lazy; selfDeps live wiring. */
1307
1310
  private _accessObserveWriteSurface: AccessObserveWriteSurface | undefined;
@@ -2478,6 +2481,8 @@ export class EngramAccessService {
2478
2481
  ),
2479
2482
  nativeKnowledgeEnabled: this.orchestrator.config.nativeKnowledge?.enabled === true,
2480
2483
  projectionAvailable,
2484
+ corpus: await computeServiceCorpusWatermarks(this.orchestrator, {
2485
+ cache: this.corpusWatermarkCache, caps: tokenCapabilityStore.getStore() }),
2481
2486
  };
2482
2487
  }
2483
2488