@remnic/core 9.52.2 → 9.53.0

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 (255) hide show
  1. package/dist/access-admin-ops-surface.d.ts +5 -5
  2. package/dist/access-admin-ops-surface.js +22 -22
  3. package/dist/access-authorization-probe.d.ts +5 -5
  4. package/dist/access-authorization-probe.js +23 -23
  5. package/dist/access-boundary.d.ts +5 -5
  6. package/dist/access-boundary.js +22 -22
  7. package/dist/access-cli.js +54 -54
  8. package/dist/access-extraction-force-flush.d.ts +5 -5
  9. package/dist/access-extraction-force-flush.js +22 -22
  10. package/dist/access-http-lcm-compaction.d.ts +5 -5
  11. package/dist/access-http-lifecycle-flush.d.ts +5 -5
  12. package/dist/access-http-offline-stream.d.ts +5 -5
  13. package/dist/access-http-query.js +22 -22
  14. package/dist/access-http.d.ts +5 -5
  15. package/dist/access-http.js +29 -29
  16. package/dist/access-identity-continuity-surface.d.ts +4 -4
  17. package/dist/access-identity-continuity-surface.js +22 -22
  18. package/dist/access-lcm-surface.d.ts +5 -5
  19. package/dist/access-lcm-surface.js +22 -22
  20. package/dist/access-mcp.d.ts +5 -5
  21. package/dist/access-mcp.js +27 -27
  22. package/dist/access-namespace-preflight.js +22 -22
  23. package/dist/access-observe-write-surface.d.ts +5 -5
  24. package/dist/access-observe-write-surface.js +22 -22
  25. package/dist/access-offline-manifest.d.ts +4 -4
  26. package/dist/access-offline-manifest.js +8 -4
  27. package/dist/access-operations-batch.js +24 -24
  28. package/dist/access-operations.d.ts +8 -8
  29. package/dist/access-operations.js +26 -26
  30. package/dist/access-recall-concurrency.d.ts +5 -5
  31. package/dist/access-recall-concurrency.js +22 -22
  32. package/dist/access-recall-response.d.ts +5 -5
  33. package/dist/access-recall-response.js +22 -22
  34. package/dist/access-recall-surface.d.ts +5 -5
  35. package/dist/access-recall-surface.js +22 -22
  36. package/dist/access-schema.d.ts +88 -88
  37. package/dist/{access-service-Cbk3bNbD.d.ts → access-service-CgCjvbQu.d.ts} +3 -3
  38. package/dist/access-service-helpers.d.ts +5 -5
  39. package/dist/access-service.d.ts +5 -5
  40. package/dist/access-service.js +22 -22
  41. package/dist/access-surface-catalog.d.ts +5 -5
  42. package/dist/access-wearables-meetings-surface.d.ts +2 -2
  43. package/dist/active-recall.js +4 -4
  44. package/dist/{auto-sync-QFQGOEO2.js → auto-sync-JXEW7444.js} +6 -6
  45. package/dist/bootstrap.d.ts +4 -4
  46. package/dist/briefing.d.ts +1 -1
  47. package/dist/briefing.js +12 -12
  48. package/dist/buffer.d.ts +1 -1
  49. package/dist/causal-consolidation.js +13 -13
  50. package/dist/{chunk-MLXZD4WM.js → chunk-2GFK22OZ.js} +2 -2
  51. package/dist/{chunk-D5YOZ66N.js → chunk-3DWTDC54.js} +20 -20
  52. package/dist/{chunk-RANKJI5T.js → chunk-3JLPGJ43.js} +2 -2
  53. package/dist/chunk-5FVVY2EB.js +27 -0
  54. package/dist/chunk-5FVVY2EB.js.map +1 -0
  55. package/dist/{chunk-GXSOUIA4.js → chunk-5WQMORU5.js} +4 -4
  56. package/dist/{chunk-J272WKX2.js → chunk-6HPHEFXT.js} +2 -2
  57. package/dist/{chunk-B6LZ4IBH.js → chunk-6LAPLZOS.js} +2 -2
  58. package/dist/{chunk-WD5B5AIE.js → chunk-6R4G7N4S.js} +118 -173
  59. package/dist/chunk-6R4G7N4S.js.map +1 -0
  60. package/dist/{chunk-VXCNQYTC.js → chunk-APPFNGX6.js} +2 -2
  61. package/dist/{chunk-RMHMUUBW.js → chunk-AY43LBE4.js} +104 -48
  62. package/dist/{chunk-RMHMUUBW.js.map → chunk-AY43LBE4.js.map} +1 -1
  63. package/dist/{chunk-GXFSQ6SD.js → chunk-C4ZNGVK3.js} +2 -2
  64. package/dist/{chunk-JSEJH2YQ.js → chunk-CGVHPCP2.js} +2 -2
  65. package/dist/{chunk-BQIFZ2MP.js → chunk-CX5SW2EW.js} +41 -24
  66. package/dist/chunk-CX5SW2EW.js.map +1 -0
  67. package/dist/{chunk-TEMSWHQD.js → chunk-DZD576ZU.js} +5 -5
  68. package/dist/{chunk-AMTEYNYK.js → chunk-EVWWT3KE.js} +4 -4
  69. package/dist/{chunk-XAPMEU3K.js → chunk-FHFERRYE.js} +2 -2
  70. package/dist/{chunk-P2KBDJJ6.js → chunk-G2LUMAUF.js} +4 -3
  71. package/dist/{chunk-P2KBDJJ6.js.map → chunk-G2LUMAUF.js.map} +1 -1
  72. package/dist/{chunk-AXIDQG5A.js → chunk-G4T7L557.js} +5 -5
  73. package/dist/{chunk-7M6NYQWB.js → chunk-G7Z6EENO.js} +4 -4
  74. package/dist/{chunk-YXKVLYXU.js → chunk-HWRD23DW.js} +2 -2
  75. package/dist/{chunk-SOEN6KCF.js → chunk-IBKR2TFR.js} +2 -2
  76. package/dist/{chunk-R3DJVOSM.js → chunk-JDSVLVCG.js} +8 -1
  77. package/dist/chunk-JDSVLVCG.js.map +1 -0
  78. package/dist/{chunk-F4EU6VUC.js → chunk-JDZPNCMA.js} +2 -2
  79. package/dist/{chunk-DLG5V6ND.js → chunk-K4QS7LXU.js} +4 -7
  80. package/dist/chunk-K4QS7LXU.js.map +1 -0
  81. package/dist/{chunk-BAKXNQ3C.js → chunk-KRTY3ENI.js} +2 -2
  82. package/dist/{chunk-NK5RGJ65.js → chunk-L4DLLKPN.js} +2 -2
  83. package/dist/{chunk-VFSAWRMZ.js → chunk-LJS7KUPV.js} +2 -2
  84. package/dist/{chunk-JJRVPWFY.js → chunk-MLPTFODV.js} +166 -37
  85. package/dist/chunk-MLPTFODV.js.map +1 -0
  86. package/dist/{chunk-NOEMGE56.js → chunk-NH5IR2WM.js} +2 -2
  87. package/dist/{chunk-5V6IXHPI.js → chunk-NSVDUN76.js} +2 -2
  88. package/dist/{chunk-IARXXZU4.js → chunk-P7XI2AQ3.js} +2 -2
  89. package/dist/{chunk-W7Y5JDVB.js → chunk-PDDTI7IC.js} +4 -4
  90. package/dist/{chunk-QINJITDS.js → chunk-PX2LSHYM.js} +2 -2
  91. package/dist/{chunk-O5FFBO2M.js → chunk-QAVH6X2A.js} +2 -2
  92. package/dist/{chunk-HDIUYMSB.js → chunk-QWGE2PUH.js} +6 -6
  93. package/dist/{chunk-X57M2Q4I.js → chunk-RDJRFDJY.js} +3 -3
  94. package/dist/{chunk-RYLEDKQ2.js → chunk-RUMNY5DT.js} +3 -3
  95. package/dist/{chunk-BKIFTXHR.js → chunk-RZ4XGKOJ.js} +2 -2
  96. package/dist/{chunk-66SE3BNH.js → chunk-SUPEYLH2.js} +2 -2
  97. package/dist/{chunk-BF6SXNQJ.js → chunk-T2JHZWH6.js} +20 -20
  98. package/dist/{chunk-VHFXP27N.js → chunk-THPPCISA.js} +60 -23
  99. package/dist/chunk-THPPCISA.js.map +1 -0
  100. package/dist/{chunk-QPOHMO6M.js → chunk-UES4BHA2.js} +2 -2
  101. package/dist/{chunk-X7XEDOSL.js → chunk-VLL43QEQ.js} +8 -8
  102. package/dist/{chunk-QBSFOKY6.js → chunk-VOELBUS4.js} +4 -4
  103. package/dist/{chunk-2LY6GIIE.js → chunk-WDBX6VER.js} +2 -2
  104. package/dist/{chunk-BMEYMKWX.js → chunk-WM65LU67.js} +2 -2
  105. package/dist/{chunk-WLRD2TXF.js → chunk-WOPA3SGI.js} +4 -4
  106. package/dist/{chunk-5UZ6UCOZ.js → chunk-XUAMCLY4.js} +3 -3
  107. package/dist/{chunk-7HXZJAID.js → chunk-YGLY6QFV.js} +3 -3
  108. package/dist/{chunk-2OIQDTDC.js → chunk-ZPJ4QSGP.js} +2 -2
  109. package/dist/{chunk-3OY7KXHM.js → chunk-ZYLC7NFO.js} +3 -3
  110. package/dist/{cli-DMAFI0qt.d.ts → cli-D-HiEYhl.d.ts} +3 -3
  111. package/dist/cli.d.ts +6 -6
  112. package/dist/cli.js +41 -41
  113. package/dist/compounding/engine.d.ts +1 -1
  114. package/dist/compounding/engine.js +13 -13
  115. package/dist/config.js +4 -4
  116. package/dist/connectors/codex-materialize-runner.js +12 -12
  117. package/dist/connectors/index.js +12 -12
  118. package/dist/consolidation-provenance-check.d.ts +1 -1
  119. package/dist/consolidation-undo.d.ts +1 -1
  120. package/dist/content-hash.d.ts +12 -2
  121. package/dist/content-hash.js +9 -3
  122. package/dist/contradiction/index.d.ts +1 -1
  123. package/dist/contradiction/index.js +3 -3
  124. package/dist/convergence-refresh.d.ts +1 -1
  125. package/dist/convergence-refresh.js +14 -14
  126. package/dist/corpus-watermark.js +14 -14
  127. package/dist/entity-retrieval.d.ts +1 -1
  128. package/dist/entity-retrieval.js +12 -12
  129. package/dist/explicit-capture.d.ts +4 -4
  130. package/dist/explicit-capture.js +8 -8
  131. package/dist/external-wiki-access.d.ts +5 -5
  132. package/dist/external-wiki-access.js +23 -23
  133. package/dist/external-wiki-mcp-tools.d.ts +5 -5
  134. package/dist/extraction-normalization.js +2 -2
  135. package/dist/extraction-source-grounding.js +3 -3
  136. package/dist/extraction.js +16 -16
  137. package/dist/{forget-HDS4N6CG.js → forget-EHGGJZLX.js} +3 -2
  138. package/dist/{forget-HDS4N6CG.js.map → forget-EHGGJZLX.js.map} +1 -1
  139. package/dist/harmonic-construction.js +2 -2
  140. package/dist/harmonic-retrieval.js +4 -4
  141. package/dist/index.d.ts +684 -684
  142. package/dist/index.js +66 -66
  143. package/dist/maintenance/memory-governance.js +12 -12
  144. package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +1 -1
  145. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +12 -12
  146. package/dist/maintenance/rebuild-memory-projection.d.ts +1 -1
  147. package/dist/maintenance/rebuild-memory-projection.js +13 -13
  148. package/dist/{maintenance-kBII2qUI.d.ts → maintenance-CN_Ct-Hr.d.ts} +1 -1
  149. package/dist/mcp-memory-inspector-app.d.ts +5 -5
  150. package/dist/memory-worth-outcomes.d.ts +1 -1
  151. package/dist/namespaces/migrate.d.ts +1 -1
  152. package/dist/namespaces/migrate.js +13 -13
  153. package/dist/namespaces/storage.d.ts +1 -1
  154. package/dist/namespaces/storage.js +12 -12
  155. package/dist/operator-doctor-corpus.js +15 -15
  156. package/dist/operator-toolkit.d.ts +1 -1
  157. package/dist/operator-toolkit.js +20 -20
  158. package/dist/orchestration/compression-guideline-coordinator.d.ts +1 -1
  159. package/dist/orchestration/maintenance.d.ts +2 -2
  160. package/dist/orchestration/maintenance.js +17 -17
  161. package/dist/{orchestrator-DHy5LtTy.d.ts → orchestrator-B3Xe8qu0.d.ts} +3 -3
  162. package/dist/orchestrator.d.ts +4 -4
  163. package/dist/orchestrator.js +54 -54
  164. package/dist/provenance.js +2 -2
  165. package/dist/reconcile/manifest.d.ts +3 -1
  166. package/dist/reconcile/manifest.js +7 -3
  167. package/dist/{resolution-MDPNOEG6.js → resolution-MMOD5WC4.js} +4 -4
  168. package/dist/resume-bundles.js +5 -5
  169. package/dist/salvage-envelope.js +3 -3
  170. package/dist/schemas.d.ts +116 -116
  171. package/dist/semantic-consolidation.js +13 -13
  172. package/dist/semantic-rule-promotion.js +12 -12
  173. package/dist/semantic-rule-verifier.js +12 -12
  174. package/dist/{service-PT2_z7xm.d.ts → service-CQGEqL1g.d.ts} +1 -1
  175. package/dist/shared-context/manager.d.ts +8 -8
  176. package/dist/source-agent-qualifier.js +14 -14
  177. package/dist/{storage-BmVudhk4.d.ts → storage-DmkCjo0l.d.ts} +36 -32
  178. package/dist/storage.d.ts +1 -1
  179. package/dist/storage.js +14 -14
  180. package/dist/structured-attributes.d.ts +3 -1
  181. package/dist/structured-attributes.js +3 -1
  182. package/dist/tier-migration.d.ts +1 -1
  183. package/dist/transfer/types.d.ts +66 -66
  184. package/dist/verified-recall.js +12 -12
  185. package/dist/write-envelope.js +2 -2
  186. package/package.json +2 -2
  187. package/src/access-offline-manifest.ts +1 -0
  188. package/src/access-service-offline-file-content.test.ts +1 -0
  189. package/src/content-hash.ts +34 -1
  190. package/src/dedup/index.test.ts +56 -38
  191. package/src/dedup/index.ts +85 -38
  192. package/src/lifecycle/tombstones.test.ts +763 -16
  193. package/src/lifecycle/tombstones.ts +217 -50
  194. package/src/reconcile/manifest.test.ts +158 -1
  195. package/src/reconcile/manifest.ts +76 -22
  196. package/src/storage/content-hash-index.ts +56 -40
  197. package/src/storage/entity-ref-repair.ts +3 -3
  198. package/src/storage/memory-read-store.ts +9 -0
  199. package/src/storage/tombstone-blocked-capture-index.ts +4 -9
  200. package/src/storage-contract/content-hash.test.ts +13 -0
  201. package/src/storage-fact-hash-index-defer.test.ts +1 -1
  202. package/src/storage.ts +107 -93
  203. package/src/structured-attributes.ts +11 -0
  204. package/dist/chunk-BQIFZ2MP.js.map +0 -1
  205. package/dist/chunk-DLG5V6ND.js.map +0 -1
  206. package/dist/chunk-JJRVPWFY.js.map +0 -1
  207. package/dist/chunk-R3DJVOSM.js.map +0 -1
  208. package/dist/chunk-VHFXP27N.js.map +0 -1
  209. package/dist/chunk-W5H6ZRPT.js +0 -14
  210. package/dist/chunk-W5H6ZRPT.js.map +0 -1
  211. package/dist/chunk-WD5B5AIE.js.map +0 -1
  212. /package/dist/{auto-sync-QFQGOEO2.js.map → auto-sync-JXEW7444.js.map} +0 -0
  213. /package/dist/{chunk-MLXZD4WM.js.map → chunk-2GFK22OZ.js.map} +0 -0
  214. /package/dist/{chunk-D5YOZ66N.js.map → chunk-3DWTDC54.js.map} +0 -0
  215. /package/dist/{chunk-RANKJI5T.js.map → chunk-3JLPGJ43.js.map} +0 -0
  216. /package/dist/{chunk-GXSOUIA4.js.map → chunk-5WQMORU5.js.map} +0 -0
  217. /package/dist/{chunk-J272WKX2.js.map → chunk-6HPHEFXT.js.map} +0 -0
  218. /package/dist/{chunk-B6LZ4IBH.js.map → chunk-6LAPLZOS.js.map} +0 -0
  219. /package/dist/{chunk-VXCNQYTC.js.map → chunk-APPFNGX6.js.map} +0 -0
  220. /package/dist/{chunk-GXFSQ6SD.js.map → chunk-C4ZNGVK3.js.map} +0 -0
  221. /package/dist/{chunk-JSEJH2YQ.js.map → chunk-CGVHPCP2.js.map} +0 -0
  222. /package/dist/{chunk-TEMSWHQD.js.map → chunk-DZD576ZU.js.map} +0 -0
  223. /package/dist/{chunk-AMTEYNYK.js.map → chunk-EVWWT3KE.js.map} +0 -0
  224. /package/dist/{chunk-XAPMEU3K.js.map → chunk-FHFERRYE.js.map} +0 -0
  225. /package/dist/{chunk-AXIDQG5A.js.map → chunk-G4T7L557.js.map} +0 -0
  226. /package/dist/{chunk-7M6NYQWB.js.map → chunk-G7Z6EENO.js.map} +0 -0
  227. /package/dist/{chunk-YXKVLYXU.js.map → chunk-HWRD23DW.js.map} +0 -0
  228. /package/dist/{chunk-SOEN6KCF.js.map → chunk-IBKR2TFR.js.map} +0 -0
  229. /package/dist/{chunk-F4EU6VUC.js.map → chunk-JDZPNCMA.js.map} +0 -0
  230. /package/dist/{chunk-BAKXNQ3C.js.map → chunk-KRTY3ENI.js.map} +0 -0
  231. /package/dist/{chunk-NK5RGJ65.js.map → chunk-L4DLLKPN.js.map} +0 -0
  232. /package/dist/{chunk-VFSAWRMZ.js.map → chunk-LJS7KUPV.js.map} +0 -0
  233. /package/dist/{chunk-NOEMGE56.js.map → chunk-NH5IR2WM.js.map} +0 -0
  234. /package/dist/{chunk-5V6IXHPI.js.map → chunk-NSVDUN76.js.map} +0 -0
  235. /package/dist/{chunk-IARXXZU4.js.map → chunk-P7XI2AQ3.js.map} +0 -0
  236. /package/dist/{chunk-W7Y5JDVB.js.map → chunk-PDDTI7IC.js.map} +0 -0
  237. /package/dist/{chunk-QINJITDS.js.map → chunk-PX2LSHYM.js.map} +0 -0
  238. /package/dist/{chunk-O5FFBO2M.js.map → chunk-QAVH6X2A.js.map} +0 -0
  239. /package/dist/{chunk-HDIUYMSB.js.map → chunk-QWGE2PUH.js.map} +0 -0
  240. /package/dist/{chunk-X57M2Q4I.js.map → chunk-RDJRFDJY.js.map} +0 -0
  241. /package/dist/{chunk-RYLEDKQ2.js.map → chunk-RUMNY5DT.js.map} +0 -0
  242. /package/dist/{chunk-BKIFTXHR.js.map → chunk-RZ4XGKOJ.js.map} +0 -0
  243. /package/dist/{chunk-66SE3BNH.js.map → chunk-SUPEYLH2.js.map} +0 -0
  244. /package/dist/{chunk-BF6SXNQJ.js.map → chunk-T2JHZWH6.js.map} +0 -0
  245. /package/dist/{chunk-QPOHMO6M.js.map → chunk-UES4BHA2.js.map} +0 -0
  246. /package/dist/{chunk-X7XEDOSL.js.map → chunk-VLL43QEQ.js.map} +0 -0
  247. /package/dist/{chunk-QBSFOKY6.js.map → chunk-VOELBUS4.js.map} +0 -0
  248. /package/dist/{chunk-2LY6GIIE.js.map → chunk-WDBX6VER.js.map} +0 -0
  249. /package/dist/{chunk-BMEYMKWX.js.map → chunk-WM65LU67.js.map} +0 -0
  250. /package/dist/{chunk-WLRD2TXF.js.map → chunk-WOPA3SGI.js.map} +0 -0
  251. /package/dist/{chunk-5UZ6UCOZ.js.map → chunk-XUAMCLY4.js.map} +0 -0
  252. /package/dist/{chunk-7HXZJAID.js.map → chunk-YGLY6QFV.js.map} +0 -0
  253. /package/dist/{chunk-2OIQDTDC.js.map → chunk-ZPJ4QSGP.js.map} +0 -0
  254. /package/dist/{chunk-3OY7KXHM.js.map → chunk-ZYLC7NFO.js.map} +0 -0
  255. /package/dist/{resolution-MDPNOEG6.js.map → resolution-MMOD5WC4.js.map} +0 -0
@@ -1,12 +1,22 @@
1
1
  import {
2
2
  summarizeReconcilePlan
3
3
  } from "./chunk-G7A5HLUS.js";
4
+ import {
5
+ DEFAULT_CITATION_FORMAT,
6
+ stripCitationForTemplate
7
+ } from "./chunk-J6A3CX5N.js";
4
8
  import {
5
9
  inferMemoryStatus
6
10
  } from "./chunk-7RJUVTVF.js";
7
11
  import {
8
12
  ContentHashIndex
9
- } from "./chunk-BQIFZ2MP.js";
13
+ } from "./chunk-CX5SW2EW.js";
14
+ import {
15
+ storedContentIdentityCandidates
16
+ } from "./chunk-JDSVLVCG.js";
17
+ import {
18
+ computeLegacyContentHash
19
+ } from "./chunk-5FVVY2EB.js";
10
20
  import {
11
21
  RECALL_FALLBACK_DIRS
12
22
  } from "./chunk-VS2IYZRU.js";
@@ -15,6 +25,7 @@ import {
15
25
  import { createHash } from "crypto";
16
26
  var RECONCILE_MANIFEST_FORMAT = "remnic-reconcile-manifest";
17
27
  var RECONCILE_MANIFEST_SCHEMA_VERSION = 1;
28
+ var CONTENT_HASH_NORMALIZER_VERSION = 4;
18
29
  var SHA256_PATTERN = /^[a-f0-9]{64}$/i;
19
30
  var MEMORY_DIRS = new Set(RECALL_FALLBACK_DIRS);
20
31
  function isMemoryPath(filePath) {
@@ -24,20 +35,32 @@ function isMemoryPath(filePath) {
24
35
  if (segments[index] === "cold" || segments[index] === "archive") index += 1;
25
36
  return MEMORY_DIRS.has(segments[index] ?? "");
26
37
  }
27
- function parsedMemoryIdentity(filePath, raw, parseMemory) {
38
+ function parsedMemoryIdentity(filePath, raw, parseMemory, citationTemplate) {
28
39
  if (!isMemoryPath(filePath)) return void 0;
29
40
  const parsed = parseMemory(Buffer.isBuffer(raw) ? raw.toString("utf8") : raw);
30
41
  if (!parsed?.frontmatter.id) return void 0;
31
- const storedHash = parsed.frontmatter.contentHash;
32
- const contentHash = storedHash && SHA256_PATTERN.test(storedHash) ? storedHash.toLowerCase() : ContentHashIndex.computeHash(parsed.content);
42
+ const storedHash = parsed.frontmatter.contentHash && SHA256_PATTERN.test(parsed.frontmatter.contentHash) ? parsed.frontmatter.contentHash.toLowerCase() : void 0;
43
+ const candidates = storedContentIdentityCandidates(
44
+ parsed.content,
45
+ (content) => stripCitationForTemplate(content, citationTemplate)
46
+ );
47
+ const bodyHash = ContentHashIndex.computeHash(candidates[0] ?? "");
48
+ const currentMatch = candidates.find(
49
+ (content) => ContentHashIndex.computeHash(content) === storedHash
50
+ );
51
+ const legacyMatch = [...candidates].reverse().find(
52
+ (content) => computeLegacyContentHash(content) === storedHash
53
+ );
54
+ const contentHash = currentMatch ? ContentHashIndex.computeHash(currentMatch) : legacyMatch ? ContentHashIndex.computeHash(legacyMatch) : storedHash ?? bodyHash;
33
55
  return {
34
56
  id: parsed.frontmatter.id,
35
57
  category: parsed.frontmatter.category,
36
58
  contentHash,
59
+ normalizerVersion: CONTENT_HASH_NORMALIZER_VERSION,
37
60
  status: inferMemoryStatus(parsed.frontmatter, filePath)
38
61
  };
39
62
  }
40
- async function buildReconcileManifestFile(file, readFile, parseMemory) {
63
+ async function buildReconcileManifestFile(file, readFile, parseMemory, citationTemplate = DEFAULT_CITATION_FORMAT) {
41
64
  let raw = null;
42
65
  if (isMemoryPath(file.path)) {
43
66
  try {
@@ -49,7 +72,7 @@ async function buildReconcileManifestFile(file, readFile, parseMemory) {
49
72
  if (raw !== null && createHash("sha256").update(raw).digest("hex") !== file.sha256.toLowerCase()) {
50
73
  raw = null;
51
74
  }
52
- const memory = raw === null ? void 0 : parsedMemoryIdentity(file.path, raw, parseMemory);
75
+ const memory = raw === null ? void 0 : parsedMemoryIdentity(file.path, raw, parseMemory, citationTemplate);
53
76
  return { ...file, ...memory ? { memory } : {} };
54
77
  }
55
78
  async function buildReconcileManifest(options) {
@@ -60,11 +83,16 @@ async function buildReconcileManifest(options) {
60
83
  const files = [];
61
84
  for (const file of options.files) {
62
85
  const cached = cachedByPath.get(file.path);
63
- if (cached?.sha256.toLowerCase() === file.sha256.toLowerCase()) {
86
+ if (cached?.sha256.toLowerCase() === file.sha256.toLowerCase() && (cached.memory === void 0 || cached.memory.normalizerVersion === CONTENT_HASH_NORMALIZER_VERSION)) {
64
87
  files.push({ ...file, ...cached.memory ? { memory: cached.memory } : {} });
65
88
  continue;
66
89
  }
67
- files.push(await buildReconcileManifestFile(file, options.readFile, options.parseMemory));
90
+ files.push(await buildReconcileManifestFile(
91
+ file,
92
+ options.readFile,
93
+ options.parseMemory,
94
+ options.citationTemplate
95
+ ));
68
96
  }
69
97
  files.sort((left, right) => left.path < right.path ? -1 : left.path > right.path ? 1 : 0);
70
98
  return {
@@ -82,10 +110,13 @@ function activeFactByPath(manifest) {
82
110
  }
83
111
  return result;
84
112
  }
85
- function contentHashRows(files) {
113
+ function memoryIdentityHashes(memory) {
114
+ return [memory.contentHash];
115
+ }
116
+ function contentHashRows(files, contentHash) {
86
117
  const rows = [];
87
118
  for (const file of files) {
88
- rows.push({ path: file.path, contentHash: file.memory.contentHash });
119
+ rows.push({ path: file.path, contentHash });
89
120
  }
90
121
  return rows;
91
122
  }
@@ -130,33 +161,39 @@ function collapseActiveFactDuplicates(plan, localManifests, peerManifests, prior
130
161
  const localByHash = /* @__PURE__ */ new Map();
131
162
  const peerByHash = /* @__PURE__ */ new Map();
132
163
  for (const file of localByPath.values()) {
133
- const hash = file.memory.contentHash;
134
- const bucket = localByHash.get(hash) ?? [];
135
- bucket.push(file);
136
- localByHash.set(hash, bucket);
164
+ for (const hash of memoryIdentityHashes(file.memory)) {
165
+ const bucket = localByHash.get(hash) ?? [];
166
+ bucket.push(file);
167
+ localByHash.set(hash, bucket);
168
+ }
137
169
  }
138
170
  for (const file of peerByPath.values()) {
139
- const hash = file.memory.contentHash;
140
- const bucket = peerByHash.get(hash) ?? [];
141
- bucket.push(file);
142
- peerByHash.set(hash, bucket);
171
+ for (const hash of memoryIdentityHashes(file.memory)) {
172
+ const bucket = peerByHash.get(hash) ?? [];
173
+ bucket.push(file);
174
+ peerByHash.set(hash, bucket);
175
+ }
143
176
  }
144
177
  const removed = /* @__PURE__ */ new Set();
145
178
  const replacements = [];
179
+ const processedPathPairs = /* @__PURE__ */ new Set();
146
180
  for (const hash of /* @__PURE__ */ new Set([...localByHash.keys(), ...peerByHash.keys()])) {
147
181
  const localCandidates = (localByHash.get(hash) ?? []).filter((file) => {
148
182
  const opposite = peerFilesByPath.get(file.path);
149
183
  const activeOpposite = peerByPath.get(file.path);
150
- return opposite === void 0 || activeOpposite?.memory.contentHash === hash;
184
+ return opposite === void 0 || activeOpposite !== void 0 && memoryIdentityHashes(activeOpposite.memory).includes(hash);
151
185
  });
152
186
  const peerCandidates = (peerByHash.get(hash) ?? []).filter((file) => {
153
187
  const opposite = localFilesByPath.get(file.path);
154
188
  const activeOpposite = localByPath.get(file.path);
155
- return opposite === void 0 || activeOpposite?.memory.contentHash === hash;
189
+ return opposite === void 0 || activeOpposite !== void 0 && memoryIdentityHashes(activeOpposite.memory).includes(hash);
156
190
  });
157
- const localPath = ContentHashIndex.resolvePathByHash(hash, contentHashRows(localCandidates));
158
- const peerPath = ContentHashIndex.resolvePathByHash(hash, contentHashRows(peerCandidates));
191
+ const localPath = ContentHashIndex.resolvePathByHash(hash, contentHashRows(localCandidates, hash));
192
+ const peerPath = ContentHashIndex.resolvePathByHash(hash, contentHashRows(peerCandidates, hash));
159
193
  if (localPath && peerPath && localPath !== peerPath) {
194
+ const pathPair = `${localPath}\0${peerPath}`;
195
+ if (processedPathPairs.has(pathPair)) continue;
196
+ processedPathPairs.add(pathPair);
160
197
  const localFile = localByPath.get(localPath);
161
198
  const peerFile = peerByPath.get(peerPath);
162
199
  if (!localFile || !peerFile) continue;
@@ -247,4 +284,4 @@ export {
247
284
  buildReconcileManifest,
248
285
  collapseActiveFactDuplicates
249
286
  };
250
- //# sourceMappingURL=chunk-VHFXP27N.js.map
287
+ //# sourceMappingURL=chunk-THPPCISA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/reconcile/manifest.ts"],"sourcesContent":["import { createHash } from \"node:crypto\";\nimport { computeLegacyContentHash, normalizeLegacyContent } from \"../content-hash.js\";\nimport { inferMemoryStatus } from \"../memory-lifecycle-ledger-utils.js\";\nimport { ContentHashIndex, type ContentHashPathEntry } from \"../storage/content-hash-index.js\";\nimport { DEFAULT_CITATION_FORMAT, stripCitationForTemplate } from \"../source-attribution.js\";\nimport { storedContentIdentityCandidates } from \"../structured-attributes.js\";\nimport type { MemoryFrontmatter, MemoryStatus } from \"../types.js\";\nimport { RECALL_FALLBACK_DIRS } from \"../utils/category-dir.js\";\nimport {\n type ReconcileFileState,\n type ReconcilePlan,\n type ReconcilePlanEntry,\n type ReconcileSemanticAgreement,\n type ReconcileSemanticChange,\n summarizeReconcilePlan,\n} from \"./plan.js\";\n\nexport const RECONCILE_MANIFEST_FORMAT = \"remnic-reconcile-manifest\";\nexport const RECONCILE_MANIFEST_SCHEMA_VERSION = 1;\nconst CONTENT_HASH_NORMALIZER_VERSION = 4;\n\nexport interface ReconcileMemoryIdentity {\n id: string;\n category: string;\n contentHash: string;\n normalizerVersion?: number;\n status: MemoryStatus;\n}\n\nexport interface ReconcileManifestFile extends ReconcileFileState {\n memory?: ReconcileMemoryIdentity;\n}\n\ntype ActiveFactManifestFile = ReconcileManifestFile & { memory: ReconcileMemoryIdentity };\n\nexport interface ReconcileManifest {\n format: typeof RECONCILE_MANIFEST_FORMAT;\n schemaVersion: typeof RECONCILE_MANIFEST_SCHEMA_VERSION;\n files: ReconcileManifestFile[];\n}\n\nexport type ReconcileMemoryParser = (\n raw: string,\n) => { frontmatter: MemoryFrontmatter; content: string } | null;\n\nexport interface BuildReconcileManifestOptions {\n files: Iterable<ReconcileFileState>;\n readFile: (file: ReconcileFileState) => Promise<Buffer | string | null>;\n parseMemory: ReconcileMemoryParser;\n cachedFiles?: Iterable<ReconcileManifestFile>;\n citationTemplate?: string;\n}\n\nconst SHA256_PATTERN = /^[a-f0-9]{64}$/i;\nconst MEMORY_DIRS = new Set(RECALL_FALLBACK_DIRS);\n\nfunction isMemoryPath(filePath: string): boolean {\n if (!filePath.endsWith(\".md\")) return false;\n const segments = filePath.split(\"/\");\n let index = 0;\n if (segments[index] === \"cold\" || segments[index] === \"archive\") index += 1;\n return MEMORY_DIRS.has(segments[index] ?? \"\");\n}\n\n\nfunction parsedMemoryIdentity(\n filePath: string,\n raw: Buffer | string,\n parseMemory: ReconcileMemoryParser,\n citationTemplate: string,\n): ReconcileMemoryIdentity | undefined {\n if (!isMemoryPath(filePath)) return undefined;\n const parsed = parseMemory(Buffer.isBuffer(raw) ? raw.toString(\"utf8\") : raw);\n if (!parsed?.frontmatter.id) return undefined;\n\n const storedHash =\n parsed.frontmatter.contentHash &&\n SHA256_PATTERN.test(parsed.frontmatter.contentHash)\n ? parsed.frontmatter.contentHash.toLowerCase()\n : undefined;\n const candidates = storedContentIdentityCandidates(parsed.content, (content) =>\n stripCitationForTemplate(content, citationTemplate)\n );\n const bodyHash = ContentHashIndex.computeHash(candidates[0] ?? \"\");\n const currentMatch = candidates.find(\n (content) => ContentHashIndex.computeHash(content) === storedHash\n );\n const legacyMatch = [...candidates].reverse().find(\n (content) => computeLegacyContentHash(content) === storedHash\n );\n const contentHash = currentMatch\n ? ContentHashIndex.computeHash(currentMatch)\n : legacyMatch\n ? ContentHashIndex.computeHash(legacyMatch)\n : storedHash ?? bodyHash;\n\n return {\n id: parsed.frontmatter.id,\n category: parsed.frontmatter.category,\n contentHash,\n normalizerVersion: CONTENT_HASH_NORMALIZER_VERSION,\n status: inferMemoryStatus(parsed.frontmatter, filePath),\n };\n}\n\nexport async function buildReconcileManifestFile(\n file: ReconcileFileState,\n readFile: (file: ReconcileFileState) => Promise<Buffer | string | null>,\n parseMemory: ReconcileMemoryParser,\n citationTemplate = DEFAULT_CITATION_FORMAT,\n): Promise<ReconcileManifestFile> {\n let raw: Buffer | string | null = null;\n if (isMemoryPath(file.path)) {\n try {\n raw = await readFile(file);\n } catch {\n raw = null;\n }\n }\n if (raw !== null && createHash(\"sha256\").update(raw).digest(\"hex\") !== file.sha256.toLowerCase()) {\n raw = null;\n }\n const memory = raw === null ? undefined : parsedMemoryIdentity(file.path, raw, parseMemory, citationTemplate);\n return { ...file, ...(memory ? { memory } : {}) };\n}\n\nexport async function buildReconcileManifest(options: BuildReconcileManifestOptions): Promise<ReconcileManifest> {\n const cachedByPath = new Map<string, ReconcileManifestFile>();\n for (const cached of options.cachedFiles ?? []) {\n cachedByPath.set(cached.path, cached);\n }\n\n const files: ReconcileManifestFile[] = [];\n for (const file of options.files) {\n const cached = cachedByPath.get(file.path);\n if (\n cached?.sha256.toLowerCase() === file.sha256.toLowerCase() &&\n (cached.memory === undefined ||\n cached.memory.normalizerVersion === CONTENT_HASH_NORMALIZER_VERSION)\n ) {\n files.push({ ...file, ...(cached.memory ? { memory: cached.memory } : {}) });\n continue;\n }\n\n files.push(await buildReconcileManifestFile(\n file,\n options.readFile,\n options.parseMemory,\n options.citationTemplate,\n ));\n }\n files.sort((left, right) => (left.path < right.path ? -1 : left.path > right.path ? 1 : 0));\n return {\n format: RECONCILE_MANIFEST_FORMAT,\n schemaVersion: RECONCILE_MANIFEST_SCHEMA_VERSION,\n files,\n };\n}\n\nfunction activeFactByPath(manifest: ReconcileManifest | undefined): Map<string, ActiveFactManifestFile> {\n const result = new Map<string, ActiveFactManifestFile>();\n for (const file of manifest?.files ?? []) {\n if (file.memory?.category === \"fact\" && file.memory.status === \"active\") {\n result.set(file.path, file as ActiveFactManifestFile);\n }\n }\n return result;\n}\n\nfunction memoryIdentityHashes(memory: ReconcileMemoryIdentity): string[] {\n return [memory.contentHash];\n}\n\nfunction contentHashRows(\n files: Iterable<ActiveFactManifestFile>,\n contentHash: string,\n): ContentHashPathEntry[] {\n const rows: ContentHashPathEntry[] = [];\n for (const file of files) {\n rows.push({ path: file.path, contentHash });\n }\n return rows;\n}\n\nfunction comparePlanEntries(left: ReconcilePlanEntry, right: ReconcilePlanEntry): number {\n if (left.namespace !== right.namespace) return left.namespace < right.namespace ? -1 : 1;\n return left.path < right.path ? -1 : left.path > right.path ? 1 : 0;\n}\n\nfunction semanticAgreementKey(agreement: ReconcileSemanticAgreement): string {\n return `${agreement.local.path}\\0${agreement.peer.path}`;\n}\n\nfunction classifySemanticChange(\n current: ReconcileSemanticAgreement,\n prior: ReconcileSemanticAgreement | undefined\n): ReconcileSemanticChange {\n if (!prior) return \"unchanged\";\n const localChanged = current.local.sha256 !== prior.local.sha256;\n const peerChanged = current.peer.sha256 !== prior.peer.sha256;\n if (localChanged && peerChanged) return \"both_modified\";\n if (localChanged) return \"local_changed\";\n if (peerChanged) return \"peer_changed\";\n return \"unchanged\";\n}\n\nexport function collapseActiveFactDuplicates(\n plan: ReconcilePlan,\n localManifests: ReadonlyMap<string, ReconcileManifest>,\n peerManifests: ReadonlyMap<string, ReconcileManifest>,\n priorSemanticAgreements?: ReadonlyMap<string, readonly ReconcileSemanticAgreement[]>,\n): ReconcilePlan {\n const entriesByNamespace = new Map<string, ReconcilePlanEntry[]>();\n for (const entry of plan.entries) {\n const entries = entriesByNamespace.get(entry.namespace) ?? [];\n entries.push({ ...entry });\n entriesByNamespace.set(entry.namespace, entries);\n }\n\n let changed = false;\n for (const namespace of new Set([...localManifests.keys(), ...peerManifests.keys()])) {\n const entries = entriesByNamespace.get(namespace) ?? [];\n const localManifest = localManifests.get(namespace);\n const peerManifest = peerManifests.get(namespace);\n const localByPath = activeFactByPath(localManifest);\n const peerByPath = activeFactByPath(peerManifest);\n const localFilesByPath = new Map((localManifest?.files ?? []).map((file) => [file.path, file]));\n const peerFilesByPath = new Map((peerManifest?.files ?? []).map((file) => [file.path, file]));\n const priorSemanticByPathPair = new Map(\n (priorSemanticAgreements?.get(namespace) ?? []).map((agreement) => [\n semanticAgreementKey(agreement),\n agreement,\n ])\n );\n const localByHash = new Map<string, ActiveFactManifestFile[]>();\n const peerByHash = new Map<string, ActiveFactManifestFile[]>();\n\n for (const file of localByPath.values()) {\n for (const hash of memoryIdentityHashes(file.memory)) {\n const bucket = localByHash.get(hash) ?? [];\n bucket.push(file);\n localByHash.set(hash, bucket);\n }\n }\n for (const file of peerByPath.values()) {\n for (const hash of memoryIdentityHashes(file.memory)) {\n const bucket = peerByHash.get(hash) ?? [];\n bucket.push(file);\n peerByHash.set(hash, bucket);\n }\n }\n\n const removed = new Set<ReconcilePlanEntry>();\n const replacements: ReconcilePlanEntry[] = [];\n const processedPathPairs = new Set<string>();\n for (const hash of new Set([...localByHash.keys(), ...peerByHash.keys()])) {\n const localCandidates = (localByHash.get(hash) ?? []).filter((file) => {\n const opposite = peerFilesByPath.get(file.path);\n const activeOpposite = peerByPath.get(file.path);\n return opposite === undefined || (\n activeOpposite !== undefined &&\n memoryIdentityHashes(activeOpposite.memory).includes(hash)\n );\n });\n const peerCandidates = (peerByHash.get(hash) ?? []).filter((file) => {\n const opposite = localFilesByPath.get(file.path);\n const activeOpposite = localByPath.get(file.path);\n return opposite === undefined || (\n activeOpposite !== undefined &&\n memoryIdentityHashes(activeOpposite.memory).includes(hash)\n );\n });\n const localPath = ContentHashIndex.resolvePathByHash(hash, contentHashRows(localCandidates, hash));\n const peerPath = ContentHashIndex.resolvePathByHash(hash, contentHashRows(peerCandidates, hash));\n\n if (localPath && peerPath && localPath !== peerPath) {\n const pathPair = `${localPath}\\0${peerPath}`;\n if (processedPathPairs.has(pathPair)) continue;\n processedPathPairs.add(pathPair);\n const localFile = localByPath.get(localPath);\n const peerFile = peerByPath.get(peerPath);\n if (!localFile || !peerFile) continue;\n const duplicatePaths = new Set([\n ...localCandidates.map((file) => file.path),\n ...peerCandidates.map((file) => file.path),\n ]);\n const authoritativeSamePathEntries = new Set(entries.filter(\n (entry) =>\n duplicatePaths.has(entry.path)\n && localFilesByPath.has(entry.path)\n && peerFilesByPath.has(entry.path)\n && entry.action !== \"identical\"\n ));\n if (authoritativeSamePathEntries.size > 0) {\n for (const entry of entries) {\n if (\n duplicatePaths.has(entry.path)\n && !authoritativeSamePathEntries.has(entry)\n && (entry.action === \"pull\" || entry.action === \"push\" || entry.action === \"identical\")\n ) {\n removed.add(entry);\n changed = true;\n }\n }\n continue;\n }\n const unsafeEntry = entries.some(\n (entry) => duplicatePaths.has(entry.path) && (entry.action === \"suppress\" || entry.action === \"conflict\")\n );\n if (unsafeEntry) continue;\n for (const entry of entries) {\n if (\n duplicatePaths.has(entry.path) &&\n (entry.action === \"pull\" || entry.action === \"push\" || entry.action === \"identical\")\n ) {\n removed.add(entry);\n }\n }\n const semanticAgreement: ReconcileSemanticAgreement = {\n local: { path: localPath, sha256: localFile.sha256 },\n peer: { path: peerPath, sha256: peerFile.sha256 },\n };\n replacements.push({\n path: localPath < peerPath ? localPath : peerPath,\n namespace,\n action: \"identical\",\n reason: \"semantic_duplicate\",\n semanticAgreement,\n semanticChange: classifySemanticChange(\n semanticAgreement,\n priorSemanticByPathPair.get(semanticAgreementKey(semanticAgreement))\n ),\n });\n changed = true;\n continue;\n }\n\n const sameSideEntries = entries.filter((entry) => {\n if (localPath && entry.reason === \"local_only\") {\n return localCandidates.some((file) => file.path === entry.path);\n }\n if (peerPath && entry.reason === \"peer_only\") {\n return peerCandidates.some((file) => file.path === entry.path);\n }\n return false;\n });\n const canonicalPath = localPath ?? peerPath;\n const hasSharedCanonical = localPath !== undefined && localPath === peerPath;\n if (!canonicalPath || sameSideEntries.length === 0 || (!hasSharedCanonical && sameSideEntries.length < 2)) {\n continue;\n }\n for (const entry of sameSideEntries) {\n if (entry.path !== canonicalPath) {\n removed.add(entry);\n changed = true;\n }\n }\n }\n\n if (removed.size > 0 || replacements.length > 0) {\n entriesByNamespace.set(\n namespace,\n [...entries.filter((entry) => !removed.has(entry)), ...replacements].sort(comparePlanEntries)\n );\n }\n }\n\n if (!changed) return plan;\n const entries = [...entriesByNamespace.values()].flat().sort(comparePlanEntries);\n return {\n entries,\n byNamespace: summarizeReconcilePlan(entries),\n converged: entries.every((entry) => entry.action === \"identical\"),\n };\n}\n"],"mappings":"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","names":["entries"]}
@@ -2,7 +2,7 @@ import {
2
2
  OPERATION_NAMES,
3
3
  getOperation,
4
4
  operationRequiresAuthorizedNamespace
5
- } from "./chunk-BF6SXNQJ.js";
5
+ } from "./chunk-T2JHZWH6.js";
6
6
  import {
7
7
  assertOperationAuthorizationAllowed
8
8
  } from "./chunk-MZWSOLMT.js";
@@ -49,4 +49,4 @@ export {
49
49
  probeOperationAuthorization,
50
50
  authorizationProbeNamespaces
51
51
  };
52
- //# sourceMappingURL=chunk-QPOHMO6M.js.map
52
+ //# sourceMappingURL=chunk-UES4BHA2.js.map
@@ -3,7 +3,7 @@ import {
3
3
  readNamespaceMaintenanceLastRanStatuses,
4
4
  readNamespaceMaintenanceStatuses,
5
5
  runNamespaceMaintenancePlan
6
- } from "./chunk-BKIFTXHR.js";
6
+ } from "./chunk-RZ4XGKOJ.js";
7
7
  import {
8
8
  analyzeSessionIntegrity,
9
9
  applySessionRepair,
@@ -14,7 +14,7 @@ import {
14
14
  } from "./chunk-CMTINOFS.js";
15
15
  import {
16
16
  summarizeCorpusAndReplica
17
- } from "./chunk-MLXZD4WM.js";
17
+ } from "./chunk-2GFK22OZ.js";
18
18
  import {
19
19
  readJudgeVerdictStats
20
20
  } from "./chunk-OZKOPQCM.js";
@@ -38,23 +38,23 @@ import {
38
38
  } from "./chunk-YBPYIAA5.js";
39
39
  import {
40
40
  parseConfig
41
- } from "./chunk-O5FFBO2M.js";
41
+ } from "./chunk-QAVH6X2A.js";
42
42
  import {
43
43
  readAggregateExtractionWatermark
44
- } from "./chunk-JSEJH2YQ.js";
44
+ } from "./chunk-CGVHPCP2.js";
45
45
  import {
46
46
  listMemoryGovernanceRuns,
47
47
  readMemoryGovernanceRunArtifact
48
- } from "./chunk-B6LZ4IBH.js";
48
+ } from "./chunk-6LAPLZOS.js";
49
49
  import {
50
50
  listNamespaces
51
- } from "./chunk-RANKJI5T.js";
51
+ } from "./chunk-3JLPGJ43.js";
52
52
  import {
53
53
  analyzeGraphHealth
54
54
  } from "./chunk-BIJAWZYW.js";
55
55
  import {
56
56
  StorageManager
57
- } from "./chunk-WD5B5AIE.js";
57
+ } from "./chunk-6R4G7N4S.js";
58
58
  import {
59
59
  lintWorkspaceFiles
60
60
  } from "./chunk-DM2T26WE.js";
@@ -1683,4 +1683,4 @@ export {
1683
1683
  runBenchmarkRecall,
1684
1684
  runOperatorRepair
1685
1685
  };
1686
- //# sourceMappingURL=chunk-X7XEDOSL.js.map
1686
+ //# sourceMappingURL=chunk-VLL43QEQ.js.map
@@ -1,6 +1,3 @@
1
- import {
2
- isSafeMemoryContent
3
- } from "./chunk-5GKPFL3S.js";
4
1
  import {
5
2
  coerceBool,
6
3
  coerceNumber
@@ -8,6 +5,9 @@ import {
8
5
  import {
9
6
  collapseWhitespace
10
7
  } from "./chunk-6MKAMLQL.js";
8
+ import {
9
+ isSafeMemoryContent
10
+ } from "./chunk-5GKPFL3S.js";
11
11
  import {
12
12
  readEnvVar
13
13
  } from "./chunk-JUC24CTX.js";
@@ -384,4 +384,4 @@ export {
384
384
  parseProvenanceConfig,
385
385
  buildFactProvenance
386
386
  };
387
- //# sourceMappingURL=chunk-QBSFOKY6.js.map
387
+ //# sourceMappingURL=chunk-VOELBUS4.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  StorageManager
3
- } from "./chunk-WD5B5AIE.js";
3
+ } from "./chunk-6R4G7N4S.js";
4
4
  import {
5
5
  keyring_exports,
6
6
  secureStoreDir
@@ -388,4 +388,4 @@ export {
388
388
  resolveNamespaceStorageRoot,
389
389
  NamespaceStorageRouter
390
390
  };
391
- //# sourceMappingURL=chunk-2LY6GIIE.js.map
391
+ //# sourceMappingURL=chunk-WDBX6VER.js.map
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-JLNBQWZ2.js";
6
6
  import {
7
7
  runPostConsolidationMaterialize
8
- } from "./chunk-NOEMGE56.js";
8
+ } from "./chunk-NH5IR2WM.js";
9
9
  import {
10
10
  isSemanticConsolidationLlmOperator
11
11
  } from "./chunk-G7D6GZ5J.js";
@@ -220,4 +220,4 @@ export {
220
220
  buildExtensionsBlockForConsolidation,
221
221
  materializeAfterSemanticConsolidation
222
222
  };
223
- //# sourceMappingURL=chunk-BMEYMKWX.js.map
223
+ //# sourceMappingURL=chunk-WM65LU67.js.map
@@ -9,14 +9,14 @@ import {
9
9
  } from "./chunk-666A3MOW.js";
10
10
  import {
11
11
  rebuildMemoryLifecycleLedger
12
- } from "./chunk-YXKVLYXU.js";
12
+ } from "./chunk-HWRD23DW.js";
13
13
  import {
14
14
  planNamespaceMaintenance,
15
15
  runNamespaceMaintenanceBatchPlan
16
- } from "./chunk-BKIFTXHR.js";
16
+ } from "./chunk-RZ4XGKOJ.js";
17
17
  import {
18
18
  rebuildMemoryProjection
19
- } from "./chunk-5UZ6UCOZ.js";
19
+ } from "./chunk-XUAMCLY4.js";
20
20
  import {
21
21
  activityDayWindow,
22
22
  activityDigestPath,
@@ -1719,4 +1719,4 @@ export {
1719
1719
  ActivitySyncScheduler,
1720
1720
  MaintenanceScheduler
1721
1721
  };
1722
- //# sourceMappingURL=chunk-WLRD2TXF.js.map
1722
+ //# sourceMappingURL=chunk-WOPA3SGI.js.map
@@ -7,10 +7,10 @@ import {
7
7
  import {
8
8
  listMemoryGovernanceRuns,
9
9
  readMemoryGovernanceRunArtifact
10
- } from "./chunk-B6LZ4IBH.js";
10
+ } from "./chunk-6LAPLZOS.js";
11
11
  import {
12
12
  StorageManager
13
- } from "./chunk-WD5B5AIE.js";
13
+ } from "./chunk-6R4G7N4S.js";
14
14
  import {
15
15
  normalizeProjectionPreview,
16
16
  normalizeProjectionTags
@@ -1001,4 +1001,4 @@ export {
1001
1001
  verifyMemoryProjection,
1002
1002
  repairMemoryProjection
1003
1003
  };
1004
- //# sourceMappingURL=chunk-5UZ6UCOZ.js.map
1004
+ //# sourceMappingURL=chunk-XUAMCLY4.js.map
@@ -4,10 +4,10 @@ import {
4
4
  } from "./chunk-M23RF3LJ.js";
5
5
  import {
6
6
  composeSalvagedEnvelope
7
- } from "./chunk-66SE3BNH.js";
7
+ } from "./chunk-SUPEYLH2.js";
8
8
  import {
9
9
  StorageManager
10
- } from "./chunk-WD5B5AIE.js";
10
+ } from "./chunk-6R4G7N4S.js";
11
11
  import {
12
12
  parseContinuityImprovementLoops
13
13
  } from "./chunk-LDXUBPMO.js";
@@ -1283,4 +1283,4 @@ export {
1283
1283
  defaultTierMigrationCycleBudget,
1284
1284
  CompoundingEngine
1285
1285
  };
1286
- //# sourceMappingURL=chunk-7HXZJAID.js.map
1286
+ //# sourceMappingURL=chunk-YGLY6QFV.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-7T4TOGMS.js";
4
4
  import {
5
5
  defineOperation
6
- } from "./chunk-BF6SXNQJ.js";
6
+ } from "./chunk-T2JHZWH6.js";
7
7
 
8
8
  // src/external-wiki-access.ts
9
9
  import { z } from "zod";
@@ -26,4 +26,4 @@ var externalWikiSearchOperation = defineOperation({
26
26
  export {
27
27
  externalWikiSearchOperation
28
28
  };
29
- //# sourceMappingURL=chunk-2OIQDTDC.js.map
29
+ //# sourceMappingURL=chunk-ZPJ4QSGP.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  externalWikiSearchOperation
3
- } from "./chunk-2OIQDTDC.js";
3
+ } from "./chunk-ZPJ4QSGP.js";
4
4
  import {
5
5
  memoryStoreRequestSchema
6
6
  } from "./chunk-NIS256NW.js";
@@ -10,7 +10,7 @@ import {
10
10
  DELTA_SUBCOMMANDS,
11
11
  defineOperation,
12
12
  isCodegraphToolName
13
- } from "./chunk-BF6SXNQJ.js";
13
+ } from "./chunk-T2JHZWH6.js";
14
14
  import {
15
15
  serializeMutations,
16
16
  withHeldFileLock
@@ -1818,4 +1818,4 @@ export {
1818
1818
  codegraphIngestTracesOperation,
1819
1819
  REGISTERED_OPERATIONS
1820
1820
  };
1821
- //# sourceMappingURL=chunk-3OY7KXHM.js.map
1821
+ //# sourceMappingURL=chunk-ZYLC7NFO.js.map
@@ -7,17 +7,17 @@ import { RebuildMemoryProjectionResult, RepairMemoryProjectionResult, VerifyMemo
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 { C as ConversationIndexCoordinator, T as TierMigrationCoordinator, O as Orchestrator } from './orchestrator-DHy5LtTy.js';
10
+ import { C as ConversationIndexCoordinator, T as TierMigrationCoordinator, O as Orchestrator } from './orchestrator-B3Xe8qu0.js';
11
11
  import { ReplayRunSummary } from './replay/runner.js';
12
12
  import { ReplaySource, ReplayTurn } from './replay/types.js';
13
13
  import { P as ProcessBatchFn } from './pipeline-D21Rs6gW.js';
14
- import { S as StorageManager } from './storage-BmVudhk4.js';
14
+ import { S as StorageManager } from './storage-DmkCjo0l.js';
15
15
  import { RebuildMemoryLifecycleLedgerResult } from './maintenance/rebuild-memory-lifecycle-ledger.js';
16
16
  import { WorkProjectStatus, WorkTaskStatus, WorkTaskPriority } from './work/types.js';
17
17
  import { RoutePatternType } from './routing/engine.js';
18
18
  import { TailscaleSyncOptions } from './network/tailscale.js';
19
19
  import { DashboardStatus } from './dashboard-runtime.js';
20
- import { f as EngramAccessService } from './access-service-Cbk3bNbD.js';
20
+ import { f as EngramAccessService } from './access-service-CgCjvbQu.js';
21
21
  import { ResolveSecretRefFn } from './resolve-auth-token.js';
22
22
  import { CompatRunner, CompatReport } from './compat/types.js';
23
23
  import { EvalBaselineDeltaReport, EvalBaselineSnapshot, EvalCiGateReport, EvalBenchmarkPackSummary, EvalHarnessStatus, EvalStoredBaselineCiGateReport } from './evals.js';
package/dist/cli.d.ts CHANGED
@@ -7,16 +7,16 @@ import './maintenance/rebuild-memory-projection.js';
7
7
  import './maintenance/rebuild-observations.js';
8
8
  import './maintenance/archive-observations.js';
9
9
  import 'node:stream';
10
- import './orchestrator-DHy5LtTy.js';
10
+ import './orchestrator-B3Xe8qu0.js';
11
11
  import './replay/runner.js';
12
12
  import './replay/types.js';
13
13
  import './pipeline-D21Rs6gW.js';
14
- export { A as AccessHttpServeCliCommandOptions, a as ArchiveObservationsCliCommandOptions, B as BulkImportCliCommandOptions, C as CliApi, b as CliCommand, c as CliProgram, d as CompatCliCommandOptions, e as ConnectorsRunCliOutputOptions, f as ConversationIndexHealthCliOrchestrator, D as DashboardStartCliCommandOptions, g as DedupeCandidate, E as ExactDedupePlan, G as GraphHealthCliCommandOptions, M as MemoryActionAuditCliCommandOptions, h as MemoryActionAuditCliNamespaceSummary, i as MemoryActionAuditCliReport, j as MemoryGovernanceCliCommandOptions, k as MemoryGovernanceReportCliCommandOptions, l as MemoryGovernanceRestoreCliCommandOptions, m as MemoryReviewDispositionCliCommandOptions, n as MemoryTimelineCliCommandOptions, o as MigrateCliOrchestrator, q as MigrateCliReport, s as MigrateObservationsCliCommandOptions, P as PolicyDiffCliReport, t as PolicyDiffEntry, u as PolicyRollbackCliReport, v as PolicyStatusCliReport, w as PolicyTuningCliOrchestrator, R as RebuildMemoryLifecycleLedgerCliCommandOptions, x as RebuildMemoryProjectionCliCommandOptions, y as RebuildObservationsCliCommandOptions, z as RepairMemoryProjectionCliCommandOptions, F as ReplayCliCommandOptions, H as ReplayCliOrchestrator, I as RouteCliCommandOptions, S as SessionIntegrityCliCommandOptions, J as SessionRepairCliCommandOptions, T as TailscaleStatusCliCommandOptions, K as TailscaleSyncCliCommandOptions, L as TierMigrateCliAdapter, N as TierMigrateCoordinatorCliAdapter, O as TierMigrateLegacyCliAdapter, Q as TierStatusCliAdapter, U as TierStatusCoordinatorCliAdapter, V as TierStatusLegacyCliAdapter, W as TrainingExportCliCommandOptions, X as VerifyMemoryProjectionCliCommandOptions, Y as WebDavServeCliCommandOptions, Z as WorkProjectCliCommandOptions, _ as WorkTaskCliCommandOptions, $ as emitConnectorsRunCliResult, a0 as filterNormalMemorySearchResults, a1 as hasDestructivePurgeFailures, a2 as isNormalRetrievalVisibleMemory, a3 as listMemoryMarkdownFilePaths, a4 as parseDurationToMs, a5 as parseStrictCliDate, a6 as planAggressiveDuplicateDeletions, a7 as planExactDuplicateDeletions, a8 as registerCli, a9 as resolveAccessPrincipalOverride, aa as resolveMemoryDirForNamespace, ab as runAbstractionNodeStatusCliCommand, ac as runAccessHttpServeCliCommand, ad as runAccessHttpStatusCliCommand, ae as runAccessHttpStopCliCommand, af as runAccessMcpServeCliCommand, ag as runArchiveObservationsCliCommand, ah as runBenchmarkBaselineReportCliCommand, ai as runBenchmarkBaselineSnapshotCliCommand, aj as runBenchmarkCiGateCliCommand, ak as runBenchmarkImportCliCommand, al as runBenchmarkStatusCliCommand, am as runBenchmarkStoredBaselineCiGateCliCommand, an as runBenchmarkValidateCliCommand, r as runBulkImportCliCommand, ao as runCausalTrajectoryStatusCliCommand, ap as runCommitmentLifecycleCliCommand, aq as runCommitmentRecordCliCommand, ar as runCommitmentSetStateCliCommand, as as runCommitmentStatusCliCommand, at as runCompatCliCommand, au as runCompoundingPromoteCliCommand, av as runConversationIndexHealthCliCommand, aw as runConversationIndexInspectCliCommand, ax as runConversationIndexRebuildCliCommand, ay as runCueAnchorStatusCliCommand, az as runDashboardStartCliCommand, aA as runDashboardStatusCliCommand, aB as runDashboardStopCliCommand, aC as runGraphHealthCliCommand, aD as runHarmonicSearchCliCommand, aE as runMemoryActionAuditCliCommand, aF as runMemoryGovernanceCliCommand, aG as runMemoryGovernanceReportCliCommand, aH as runMemoryGovernanceRestoreCliCommand, aI as runMemoryReviewDispositionCliCommand, aJ as runMemoryTimelineCliCommand, aK as runMigrateNormalizeFrontmatterCliCommand, aL as runMigrateObservationsCliCommand, aM as runMigrateRechunkCliCommand, aN as runMigrateReextractCliCommand, aO as runMigrateRescoreImportanceCliCommand, aP as runObjectiveStateStatusCliCommand, aQ as runPolicyDiffCliCommand, aR as runPolicyRollbackCliCommand, aS as runPolicyStatusCliCommand, aT as runRebuildMemoryLifecycleLedgerCliCommand, aU as runRebuildMemoryProjectionCliCommand, aV as runRebuildObservationsCliCommand, aW as runRepairMemoryProjectionCliCommand, aX as runReplayCliCommand, aY as runResumeBundleBuildCliCommand, aZ as runResumeBundleRecordCliCommand, a_ as runResumeBundleStatusCliCommand, a$ as runRouteCliCommand, b0 as runSemanticRulePromoteCliCommand, b1 as runSemanticRuleVerifyCliCommand, b2 as runSessionCheckCliCommand, b3 as runSessionRepairCliCommand, b4 as runTailscaleStatusCliCommand, b5 as runTailscaleSyncCliCommand, b6 as runTierMigrateCliCommand, b7 as runTierStatusCliCommand, b8 as runTrainingExportCliCommand, b9 as runTrustZoneDemoSeedCliCommand, ba as runTrustZonePromoteCliCommand, bb as runTrustZoneStatusCliCommand, bc as runUtilityLearningCliCommand, bd as runUtilityLearningStatusCliCommand, be as runUtilityTelemetryRecordCliCommand, bf as runUtilityTelemetryStatusCliCommand, bg as runVerifiedRecallSearchCliCommand, bh as runVerifyMemoryProjectionCliCommand, bi as runWebDavServeCliCommand, bj as runWebDavStopCliCommand, bk as runWorkProductRecallSearchCliCommand, bl as runWorkProductRecordCliCommand, bm as runWorkProductStatusCliCommand, bn as runWorkProjectCliCommand, bo as runWorkTaskCliCommand } from './cli-DMAFI0qt.js';
14
+ export { A as AccessHttpServeCliCommandOptions, a as ArchiveObservationsCliCommandOptions, B as BulkImportCliCommandOptions, C as CliApi, b as CliCommand, c as CliProgram, d as CompatCliCommandOptions, e as ConnectorsRunCliOutputOptions, f as ConversationIndexHealthCliOrchestrator, D as DashboardStartCliCommandOptions, g as DedupeCandidate, E as ExactDedupePlan, G as GraphHealthCliCommandOptions, M as MemoryActionAuditCliCommandOptions, h as MemoryActionAuditCliNamespaceSummary, i as MemoryActionAuditCliReport, j as MemoryGovernanceCliCommandOptions, k as MemoryGovernanceReportCliCommandOptions, l as MemoryGovernanceRestoreCliCommandOptions, m as MemoryReviewDispositionCliCommandOptions, n as MemoryTimelineCliCommandOptions, o as MigrateCliOrchestrator, q as MigrateCliReport, s as MigrateObservationsCliCommandOptions, P as PolicyDiffCliReport, t as PolicyDiffEntry, u as PolicyRollbackCliReport, v as PolicyStatusCliReport, w as PolicyTuningCliOrchestrator, R as RebuildMemoryLifecycleLedgerCliCommandOptions, x as RebuildMemoryProjectionCliCommandOptions, y as RebuildObservationsCliCommandOptions, z as RepairMemoryProjectionCliCommandOptions, F as ReplayCliCommandOptions, H as ReplayCliOrchestrator, I as RouteCliCommandOptions, S as SessionIntegrityCliCommandOptions, J as SessionRepairCliCommandOptions, T as TailscaleStatusCliCommandOptions, K as TailscaleSyncCliCommandOptions, L as TierMigrateCliAdapter, N as TierMigrateCoordinatorCliAdapter, O as TierMigrateLegacyCliAdapter, Q as TierStatusCliAdapter, U as TierStatusCoordinatorCliAdapter, V as TierStatusLegacyCliAdapter, W as TrainingExportCliCommandOptions, X as VerifyMemoryProjectionCliCommandOptions, Y as WebDavServeCliCommandOptions, Z as WorkProjectCliCommandOptions, _ as WorkTaskCliCommandOptions, $ as emitConnectorsRunCliResult, a0 as filterNormalMemorySearchResults, a1 as hasDestructivePurgeFailures, a2 as isNormalRetrievalVisibleMemory, a3 as listMemoryMarkdownFilePaths, a4 as parseDurationToMs, a5 as parseStrictCliDate, a6 as planAggressiveDuplicateDeletions, a7 as planExactDuplicateDeletions, a8 as registerCli, a9 as resolveAccessPrincipalOverride, aa as resolveMemoryDirForNamespace, ab as runAbstractionNodeStatusCliCommand, ac as runAccessHttpServeCliCommand, ad as runAccessHttpStatusCliCommand, ae as runAccessHttpStopCliCommand, af as runAccessMcpServeCliCommand, ag as runArchiveObservationsCliCommand, ah as runBenchmarkBaselineReportCliCommand, ai as runBenchmarkBaselineSnapshotCliCommand, aj as runBenchmarkCiGateCliCommand, ak as runBenchmarkImportCliCommand, al as runBenchmarkStatusCliCommand, am as runBenchmarkStoredBaselineCiGateCliCommand, an as runBenchmarkValidateCliCommand, r as runBulkImportCliCommand, ao as runCausalTrajectoryStatusCliCommand, ap as runCommitmentLifecycleCliCommand, aq as runCommitmentRecordCliCommand, ar as runCommitmentSetStateCliCommand, as as runCommitmentStatusCliCommand, at as runCompatCliCommand, au as runCompoundingPromoteCliCommand, av as runConversationIndexHealthCliCommand, aw as runConversationIndexInspectCliCommand, ax as runConversationIndexRebuildCliCommand, ay as runCueAnchorStatusCliCommand, az as runDashboardStartCliCommand, aA as runDashboardStatusCliCommand, aB as runDashboardStopCliCommand, aC as runGraphHealthCliCommand, aD as runHarmonicSearchCliCommand, aE as runMemoryActionAuditCliCommand, aF as runMemoryGovernanceCliCommand, aG as runMemoryGovernanceReportCliCommand, aH as runMemoryGovernanceRestoreCliCommand, aI as runMemoryReviewDispositionCliCommand, aJ as runMemoryTimelineCliCommand, aK as runMigrateNormalizeFrontmatterCliCommand, aL as runMigrateObservationsCliCommand, aM as runMigrateRechunkCliCommand, aN as runMigrateReextractCliCommand, aO as runMigrateRescoreImportanceCliCommand, aP as runObjectiveStateStatusCliCommand, aQ as runPolicyDiffCliCommand, aR as runPolicyRollbackCliCommand, aS as runPolicyStatusCliCommand, aT as runRebuildMemoryLifecycleLedgerCliCommand, aU as runRebuildMemoryProjectionCliCommand, aV as runRebuildObservationsCliCommand, aW as runRepairMemoryProjectionCliCommand, aX as runReplayCliCommand, aY as runResumeBundleBuildCliCommand, aZ as runResumeBundleRecordCliCommand, a_ as runResumeBundleStatusCliCommand, a$ as runRouteCliCommand, b0 as runSemanticRulePromoteCliCommand, b1 as runSemanticRuleVerifyCliCommand, b2 as runSessionCheckCliCommand, b3 as runSessionRepairCliCommand, b4 as runTailscaleStatusCliCommand, b5 as runTailscaleSyncCliCommand, b6 as runTierMigrateCliCommand, b7 as runTierStatusCliCommand, b8 as runTrainingExportCliCommand, b9 as runTrustZoneDemoSeedCliCommand, ba as runTrustZonePromoteCliCommand, bb as runTrustZoneStatusCliCommand, bc as runUtilityLearningCliCommand, bd as runUtilityLearningStatusCliCommand, be as runUtilityTelemetryRecordCliCommand, bf as runUtilityTelemetryStatusCliCommand, bg as runVerifiedRecallSearchCliCommand, bh as runVerifyMemoryProjectionCliCommand, bi as runWebDavServeCliCommand, bj as runWebDavStopCliCommand, bk as runWorkProductRecallSearchCliCommand, bl as runWorkProductRecordCliCommand, bm as runWorkProductStatusCliCommand, bn as runWorkProjectCliCommand, bo as runWorkTaskCliCommand } from './cli-D-HiEYhl.js';
15
15
  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-Cbk3bNbD.js';
19
+ import './access-service-CgCjvbQu.js';
20
20
  import './resolve-auth-token.js';
21
21
  import './compat/types.js';
22
22
  import './evals.js';
@@ -36,7 +36,7 @@ import './objective-state.js';
36
36
  import './trust-zones.js';
37
37
  import './session-integrity.js';
38
38
  import './recall-state.js';
39
- import './storage-BmVudhk4.js';
39
+ import './storage-DmkCjo0l.js';
40
40
  import './connectors-cli-2iaQ5tX2.js';
41
41
  import './policy-runtime.js';
42
42
  import './shared-context/manager.js';
@@ -73,7 +73,7 @@ import './fallback-llm.js';
73
73
  import './resolve-provider-secret.js';
74
74
  import './transcript.js';
75
75
  import './summarizer.js';
76
- import './maintenance-kBII2qUI.js';
76
+ import './maintenance-CN_Ct-Hr.js';
77
77
  import './catalog-D3B4RDy1.js';
78
78
  import './namespaces/search.js';
79
79
  import './utility-runtime.js';
@@ -106,7 +106,7 @@ import './relevance.js';
106
106
  import './negative.js';
107
107
  import './session-observer-state.js';
108
108
  import './semantic-TddhF0y7.js';
109
- import './service-PT2_z7xm.js';
109
+ import './service-CQGEqL1g.js';
110
110
  import './extraction-judge.js';
111
111
  import './lcm/engine.js';
112
112
  import './lcm/archive.js';