@remnic/core 10.0.14 → 10.0.16

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 (366) hide show
  1. package/dist/abstraction-nodes.js +3 -2
  2. package/dist/access-admin-ops-surface.js +34 -32
  3. package/dist/access-authorization-probe.js +35 -33
  4. package/dist/access-boundary.js +34 -32
  5. package/dist/access-cli.js +90 -88
  6. package/dist/access-cli.js.map +1 -1
  7. package/dist/access-extraction-force-flush.js +34 -32
  8. package/dist/access-http-briefing.js +35 -33
  9. package/dist/access-http-query.js +36 -34
  10. package/dist/access-http.js +53 -51
  11. package/dist/access-identity-continuity-surface.js +34 -32
  12. package/dist/access-lcm-surface.js +34 -32
  13. package/dist/access-mcp.js +45 -43
  14. package/dist/access-namespace-preflight.js +34 -32
  15. package/dist/access-observe-write-category.js +4 -3
  16. package/dist/access-observe-write-surface.js +34 -32
  17. package/dist/access-offline-manifest.js +3 -2
  18. package/dist/access-operations-batch.js +37 -35
  19. package/dist/access-operations.js +44 -42
  20. package/dist/access-recall-concurrency.js +34 -32
  21. package/dist/access-recall-response.js +34 -32
  22. package/dist/access-recall-surface.js +34 -32
  23. package/dist/access-schema.js +3 -2
  24. package/dist/access-service.js +34 -32
  25. package/dist/access-surface-catalog.js +36 -34
  26. package/dist/access-surface-catalog.js.map +1 -1
  27. package/dist/active-recall.js +14 -12
  28. package/dist/active-recall.js.map +1 -1
  29. package/dist/briefing.js +10 -8
  30. package/dist/buffer.js +2 -2
  31. package/dist/calibration.d.ts.map +1 -1
  32. package/dist/calibration.js +6 -3
  33. package/dist/calibration.js.map +1 -1
  34. package/dist/causal-behavior.js +4 -3
  35. package/dist/causal-behavior.js.map +1 -1
  36. package/dist/causal-chain.js +4 -3
  37. package/dist/causal-consolidation.js +14 -12
  38. package/dist/causal-consolidation.js.map +1 -1
  39. package/dist/causal-retrieval.js +4 -3
  40. package/dist/causal-retrieval.js.map +1 -1
  41. package/dist/causal-trajectory.js +3 -2
  42. package/dist/{chunk-63B2IZYE.js → chunk-23ZQPP2G.js} +6 -1
  43. package/dist/chunk-23ZQPP2G.js.map +1 -0
  44. package/dist/{chunk-YFMBHQRG.js → chunk-2PTH4PRL.js} +2 -2
  45. package/dist/{chunk-TITG2NBS.js → chunk-2PYHLSXK.js} +2 -2
  46. package/dist/{chunk-B6O2YLUR.js → chunk-2Z5DIDQD.js} +6 -1
  47. package/dist/chunk-2Z5DIDQD.js.map +1 -0
  48. package/dist/{chunk-KH2LKDX7.js → chunk-33G67YZF.js} +2 -2
  49. package/dist/{chunk-SWIKABKI.js → chunk-3Q3XD3NO.js} +2 -2
  50. package/dist/{chunk-4KY5GSMB.js → chunk-4PDTVVSW.js} +2 -2
  51. package/dist/{chunk-HM7RHKS4.js → chunk-4RNBLLZR.js} +2 -2
  52. package/dist/{chunk-PAZ35RJ4.js → chunk-4SCZZ3U7.js} +240 -55
  53. package/dist/chunk-4SCZZ3U7.js.map +1 -0
  54. package/dist/{chunk-Y4NKEXQT.js → chunk-5ATSXCAG.js} +3 -3
  55. package/dist/{chunk-JDZFIR2S.js → chunk-5KGYTX5O.js} +2 -2
  56. package/dist/{chunk-J7JWFZHI.js → chunk-5MLGY6IY.js} +39 -39
  57. package/dist/{chunk-NW2E4CI2.js → chunk-5SMR542T.js} +2 -2
  58. package/dist/{chunk-S7LWX2PQ.js → chunk-655FVTCD.js} +2 -2
  59. package/dist/{chunk-4OSG5Y6M.js → chunk-6YEPGWUP.js} +2 -2
  60. package/dist/{chunk-W47S5TIH.js → chunk-7VQ6AI7H.js} +2 -2
  61. package/dist/{chunk-WLMZ2L5P.js → chunk-AZDTDWS2.js} +2 -2
  62. package/dist/{chunk-G7NYVKD6.js → chunk-B2NXOVZN.js} +2 -2
  63. package/dist/{chunk-N7KYEVLK.js → chunk-BK2BVLZW.js} +2 -2
  64. package/dist/{chunk-QJ622LTI.js → chunk-BQOGQULP.js} +30 -8
  65. package/dist/chunk-BQOGQULP.js.map +1 -0
  66. package/dist/{chunk-S2I7DL5Q.js → chunk-C2RW36YR.js} +2 -2
  67. package/dist/{chunk-P5NQN4JE.js → chunk-C6JMGAMO.js} +6 -2
  68. package/dist/chunk-C6JMGAMO.js.map +1 -0
  69. package/dist/{chunk-6LG7BWKW.js → chunk-CFZ4SXXH.js} +2 -2
  70. package/dist/{chunk-JQ7XU625.js → chunk-CQOIWJ5E.js} +6 -6
  71. package/dist/{chunk-FSIMZNBC.js → chunk-CXOYUANR.js} +2 -2
  72. package/dist/{chunk-BLVHDY2U.js → chunk-DOWACHYO.js} +5 -2
  73. package/dist/chunk-DOWACHYO.js.map +1 -0
  74. package/dist/{chunk-QOZJCSFO.js → chunk-DQR2LD3V.js} +2 -2
  75. package/dist/{chunk-MATDGSJ7.js → chunk-DUPHIZBY.js} +2 -2
  76. package/dist/{chunk-EBA5DA77.js → chunk-EOU6V4IN.js} +2 -2
  77. package/dist/{chunk-5WCJLQTM.js → chunk-F2772ATT.js} +2 -2
  78. package/dist/{chunk-46EST7JO.js → chunk-F2XNSIPP.js} +2 -2
  79. package/dist/{chunk-PZHQWFR3.js → chunk-G3UUAQOD.js} +2 -2
  80. package/dist/{chunk-YE36AJL7.js → chunk-GCVDFX66.js} +2 -2
  81. package/dist/{chunk-ZV65I6ME.js → chunk-GFWRXPF6.js} +29 -26
  82. package/dist/chunk-GFWRXPF6.js.map +1 -0
  83. package/dist/{chunk-T2YX56QI.js → chunk-GQJKVQJR.js} +2 -2
  84. package/dist/{chunk-I7S55EOB.js → chunk-GUY6L6LL.js} +2 -2
  85. package/dist/{chunk-L5DAHSEZ.js → chunk-GWVNGDJW.js} +2 -2
  86. package/dist/{chunk-N45NEBOD.js → chunk-GZXXPCWJ.js} +3 -3
  87. package/dist/{chunk-EPJDSQHF.js → chunk-H5IUN433.js} +2 -2
  88. package/dist/{chunk-EUAIYYYR.js → chunk-H6FREOYX.js} +7 -7
  89. package/dist/{chunk-Q4E24IRR.js → chunk-HDN7IVIO.js} +14 -11
  90. package/dist/chunk-HDN7IVIO.js.map +1 -0
  91. package/dist/{chunk-T3FMRLWQ.js → chunk-HFSPY26A.js} +2 -2
  92. package/dist/{chunk-GH7AOMJD.js → chunk-IJMDBYCO.js} +2 -2
  93. package/dist/{chunk-4IHBN6WU.js → chunk-JKMIGCK6.js} +2 -2
  94. package/dist/{chunk-ROBHL3GL.js → chunk-JWX2Q6HS.js} +2 -2
  95. package/dist/{chunk-DPR2WTN3.js → chunk-JZTEOBOR.js} +16 -16
  96. package/dist/{chunk-4O6WRBGE.js → chunk-KJXP6RUG.js} +5 -1
  97. package/dist/chunk-KJXP6RUG.js.map +1 -0
  98. package/dist/{chunk-JIHMUOOS.js → chunk-KLJVTZ3R.js} +3 -3
  99. package/dist/{chunk-FP4JYE66.js → chunk-KW4AJ7T3.js} +2 -2
  100. package/dist/{chunk-NIRQGDYC.js → chunk-L5VCT7LU.js} +5 -1
  101. package/dist/chunk-L5VCT7LU.js.map +1 -0
  102. package/dist/{chunk-QODKDRSP.js → chunk-L6AZOEXV.js} +4 -4
  103. package/dist/{chunk-CLWBFR7Q.js → chunk-LO76EF3Y.js} +1 -1
  104. package/dist/chunk-LO76EF3Y.js.map +1 -0
  105. package/dist/{chunk-LS2FHUML.js → chunk-LQ5SS4OP.js} +3 -3
  106. package/dist/{chunk-SIIRTDJ4.js → chunk-LWFWZTWX.js} +2 -2
  107. package/dist/{chunk-BMWN7B3Y.js → chunk-LXATZLSC.js} +3 -3
  108. package/dist/{chunk-O4SGYW7H.js → chunk-MAVYEZKM.js} +2 -2
  109. package/dist/{chunk-B665A6BO.js → chunk-MJIOGYKX.js} +2 -2
  110. package/dist/{chunk-RTKV5XHL.js → chunk-MO6N4QYY.js} +2 -2
  111. package/dist/{chunk-N4C7QKOG.js → chunk-MWWAQXZ6.js} +2 -2
  112. package/dist/{chunk-LCKVXX5F.js → chunk-MXV2MY6C.js} +2 -2
  113. package/dist/{chunk-FFOVKNQV.js → chunk-NAGMQXWV.js} +2 -2
  114. package/dist/{chunk-ZJVMUBYF.js → chunk-NHUX6GXA.js} +6 -6
  115. package/dist/{chunk-CB6ANA2I.js → chunk-NZCKG25S.js} +2 -2
  116. package/dist/{chunk-UMTCNEVQ.js → chunk-O2YPCFJT.js} +11 -11
  117. package/dist/{chunk-WSGPFRBH.js → chunk-OMERTLB7.js} +3 -3
  118. package/dist/{chunk-QX6JN3O4.js → chunk-PEF5LHQU.js} +6 -6
  119. package/dist/{chunk-JYZSRNR7.js → chunk-PIITB2YZ.js} +2 -2
  120. package/dist/chunk-PPUNC7UX.js +73 -0
  121. package/dist/chunk-PPUNC7UX.js.map +1 -0
  122. package/dist/{chunk-EQWEIIKQ.js → chunk-PQM3B54K.js} +6 -1
  123. package/dist/chunk-PQM3B54K.js.map +1 -0
  124. package/dist/{chunk-UQDG3YLN.js → chunk-PRU7OF3Y.js} +3 -3
  125. package/dist/{chunk-EU534WGS.js → chunk-PVHQSLNN.js} +7 -7
  126. package/dist/{chunk-TZNDKTX5.js → chunk-Q7DWEXG2.js} +37 -33
  127. package/dist/chunk-Q7DWEXG2.js.map +1 -0
  128. package/dist/{chunk-5VC7J76U.js → chunk-QPH52AZB.js} +2 -2
  129. package/dist/{chunk-XISROV24.js → chunk-QSEUUQUF.js} +2 -2
  130. package/dist/chunk-QUIRIG2P.js +31 -0
  131. package/dist/chunk-QUIRIG2P.js.map +1 -0
  132. package/dist/{chunk-FUFAXVBA.js → chunk-RI2KCQHP.js} +6 -2
  133. package/dist/chunk-RI2KCQHP.js.map +1 -0
  134. package/dist/{chunk-O2IPAX26.js → chunk-RTTPBBAN.js} +4 -4
  135. package/dist/{chunk-W5MCEVUS.js → chunk-RYYVMZBR.js} +2 -2
  136. package/dist/{chunk-ZSH2NRDV.js → chunk-TN4EA4X4.js} +2 -2
  137. package/dist/{chunk-SS3IS2JR.js → chunk-UGYUBENJ.js} +2 -2
  138. package/dist/{chunk-GELS5Z5Z.js → chunk-V3TXIXXY.js} +3 -3
  139. package/dist/{chunk-WVADKFWV.js → chunk-VNZMZPAC.js} +2 -2
  140. package/dist/{chunk-JPTPS4OB.js → chunk-VPXIKBPX.js} +2 -2
  141. package/dist/{chunk-OP6N4H6A.js → chunk-W3FVQBGF.js} +2 -2
  142. package/dist/{chunk-W3K3HITK.js → chunk-WLT6LTQP.js} +2 -2
  143. package/dist/{chunk-GMXWTJNU.js → chunk-XKRXN63M.js} +2 -2
  144. package/dist/{chunk-KR6ZKECI.js → chunk-XYGQSDTH.js} +3 -3
  145. package/dist/{chunk-22W2XWGH.js → chunk-YBO2WGCV.js} +2 -2
  146. package/dist/{chunk-P7TOIOT7.js → chunk-YR4COAEC.js} +2 -2
  147. package/dist/{chunk-6WHJ2EAB.js → chunk-Z64TS5V4.js} +2 -2
  148. package/dist/{chunk-NHLLKEKK.js → chunk-ZAJLJ35W.js} +2 -2
  149. package/dist/cli.d.ts.map +1 -1
  150. package/dist/cli.js +73 -71
  151. package/dist/coding/export-okf-codegraph.js +9 -7
  152. package/dist/coding/export-okf-codegraph.js.map +1 -1
  153. package/dist/coding/pre-action-gate.js +4 -3
  154. package/dist/commitment-ledger.js +3 -2
  155. package/dist/compounding/engine.js +11 -9
  156. package/dist/config.js +14 -12
  157. package/dist/connectors/codex-materialize-runner.js +10 -8
  158. package/dist/connectors/index.js +10 -8
  159. package/dist/consolidation-provenance-check.d.ts.map +1 -1
  160. package/dist/consolidation-provenance-check.js +2 -1
  161. package/dist/contradiction/index.js +3 -2
  162. package/dist/convergence-refresh.js +12 -10
  163. package/dist/corpus-watermark.js +12 -10
  164. package/dist/correction/correction-planner.d.ts.map +1 -1
  165. package/dist/cue-anchors.js +4 -3
  166. package/dist/deep-recall-http-glue.js +4 -3
  167. package/dist/{dreams-ledger-567VKVOU.js → dreams-ledger-UCHHRQ4R.js} +3 -2
  168. package/dist/entity-retrieval.js +10 -8
  169. package/dist/eval-trajectory-store.js +4 -3
  170. package/dist/eval-trajectory.js +4 -3
  171. package/dist/evals.js +3 -2
  172. package/dist/external-wiki-access.js +35 -33
  173. package/dist/extraction.js +14 -12
  174. package/dist/{first-start-migration-6A5BJPDW.js → first-start-migration-QVD22WWS.js} +6 -5
  175. package/dist/{first-start-migration-6A5BJPDW.js.map → first-start-migration-QVD22WWS.js.map} +1 -1
  176. package/dist/harmonic-construction.js +5 -4
  177. package/dist/harmonic-retrieval.js +14 -12
  178. package/dist/harmonic-source-lookup.js +3 -2
  179. package/dist/index.js +90 -88
  180. package/dist/json-store.d.ts.map +1 -1
  181. package/dist/json-store.js +2 -1
  182. package/dist/location/index.js +12 -10
  183. package/dist/maintenance/dreams-ledger.d.ts.map +1 -1
  184. package/dist/maintenance/memory-governance.d.ts.map +1 -1
  185. package/dist/maintenance/memory-governance.js +10 -8
  186. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +10 -8
  187. package/dist/maintenance/rebuild-memory-projection-runner.js +12 -10
  188. package/dist/maintenance/rebuild-memory-projection.js +11 -9
  189. package/dist/memory-browse-operations.js +35 -33
  190. package/dist/namespaces/migrate.js +11 -9
  191. package/dist/namespaces/search.js +7 -6
  192. package/dist/namespaces/storage.d.ts.map +1 -1
  193. package/dist/namespaces/storage.js +10 -8
  194. package/dist/objective-state-writers.js +4 -3
  195. package/dist/objective-state.js +3 -2
  196. package/dist/offline-sync-snapshot-stream.js +3 -2
  197. package/dist/offline-sync.d.ts.map +1 -1
  198. package/dist/offline-sync.js +2 -1
  199. package/dist/operator-doctor-corpus.js +13 -11
  200. package/dist/operator-toolkit.js +25 -23
  201. package/dist/orchestration/extraction-run.d.ts +6 -20
  202. package/dist/orchestration/extraction-run.d.ts.map +1 -1
  203. package/dist/orchestration/maintenance.js +20 -18
  204. package/dist/orchestrator.js +90 -88
  205. package/dist/profiling.d.ts.map +1 -1
  206. package/dist/profiling.js +2 -1
  207. package/dist/recall-navigation-operations.js +35 -33
  208. package/dist/recall-navigation.js +34 -32
  209. package/dist/{resolution-7AY36LGJ.js → resolution-ZU5BIAJA.js} +4 -3
  210. package/dist/resume-bundles.js +19 -17
  211. package/dist/retrieval-agents.d.ts +1 -1
  212. package/dist/retrieval-agents.d.ts.map +1 -1
  213. package/dist/retrieval-agents.js +7 -1
  214. package/dist/search/document-scanner.d.ts.map +1 -1
  215. package/dist/search/document-scanner.js +2 -1
  216. package/dist/search/factory.js +6 -5
  217. package/dist/search/index.js +6 -5
  218. package/dist/search/lancedb-backend.js +3 -2
  219. package/dist/search/meilisearch-backend.js +3 -2
  220. package/dist/search/orama-backend.js +3 -2
  221. package/dist/semantic-consolidation.js +11 -9
  222. package/dist/semantic-rule-promotion.js +10 -8
  223. package/dist/semantic-rule-verifier.js +10 -8
  224. package/dist/source-agent-qualifier.js +12 -10
  225. package/dist/standup/build.js +10 -8
  226. package/dist/storage/entity-canonical-id-migration.d.ts.map +1 -1
  227. package/dist/storage/entity-store.d.ts +32 -1
  228. package/dist/storage/entity-store.d.ts.map +1 -1
  229. package/dist/storage/memory-read-store.d.ts.map +1 -1
  230. package/dist/storage/supersession-audit.d.ts.map +1 -1
  231. package/dist/storage.d.ts.map +1 -1
  232. package/dist/storage.js +9 -7
  233. package/dist/support-passport/index.js +37 -35
  234. package/dist/{tier-stats-RQM76XYY.js → tier-stats-C3IAMS4X.js} +6 -5
  235. package/dist/{tier-stats-RQM76XYY.js.map → tier-stats-C3IAMS4X.js.map} +1 -1
  236. package/dist/transcript.d.ts.map +1 -1
  237. package/dist/transcript.js +2 -1
  238. package/dist/transfer/export-okf.js +10 -8
  239. package/dist/trust-zones.js +3 -2
  240. package/dist/utility-learner.js +4 -3
  241. package/dist/utility-runtime.js +5 -4
  242. package/dist/utility-telemetry.js +3 -2
  243. package/dist/utils/macos-replication-junk.d.ts +32 -0
  244. package/dist/utils/macos-replication-junk.d.ts.map +1 -0
  245. package/dist/utils/malformed-entity-record.d.ts +24 -0
  246. package/dist/utils/malformed-entity-record.d.ts.map +1 -0
  247. package/dist/verified-recall.js +10 -8
  248. package/dist/who-knows-cli.js +11 -9
  249. package/dist/who-knows.js +10 -8
  250. package/dist/work-product-ledger.js +3 -2
  251. package/package.json +2 -2
  252. package/src/calibration.ts +3 -2
  253. package/src/cli.ts +2 -2
  254. package/src/consolidation-provenance-check.ts +2 -0
  255. package/src/correction/correction-planner.ts +3 -2
  256. package/src/json-store.ts +3 -0
  257. package/src/macos-replication-junk-scanners.test.ts +275 -0
  258. package/src/maintenance/dreams-ledger.ts +2 -0
  259. package/src/maintenance/memory-governance.ts +2 -0
  260. package/src/namespaces/storage.ts +2 -0
  261. package/src/offline-sync-macos-junk.test.ts +169 -0
  262. package/src/offline-sync.ts +7 -0
  263. package/src/orchestration/extraction-run.ts +6 -20
  264. package/src/profiling.ts +2 -1
  265. package/src/retrieval-agents.ts +29 -12
  266. package/src/search/document-scanner.ts +4 -0
  267. package/src/storage/entity-canonical-id-migration.ts +56 -13
  268. package/src/storage/entity-store.ts +173 -15
  269. package/src/storage/memory-read-store.ts +30 -5
  270. package/src/storage/supersession-audit.ts +2 -0
  271. package/src/storage.ts +3 -2
  272. package/src/transcript.ts +11 -10
  273. package/src/utils/macos-replication-junk.test.ts +46 -0
  274. package/src/utils/macos-replication-junk.ts +65 -0
  275. package/src/utils/malformed-entity-record.ts +101 -0
  276. package/dist/chunk-4O6WRBGE.js.map +0 -1
  277. package/dist/chunk-63B2IZYE.js.map +0 -1
  278. package/dist/chunk-B6O2YLUR.js.map +0 -1
  279. package/dist/chunk-BLVHDY2U.js.map +0 -1
  280. package/dist/chunk-CLWBFR7Q.js.map +0 -1
  281. package/dist/chunk-EQWEIIKQ.js.map +0 -1
  282. package/dist/chunk-FUFAXVBA.js.map +0 -1
  283. package/dist/chunk-NIRQGDYC.js.map +0 -1
  284. package/dist/chunk-P5NQN4JE.js.map +0 -1
  285. package/dist/chunk-PAZ35RJ4.js.map +0 -1
  286. package/dist/chunk-Q4E24IRR.js.map +0 -1
  287. package/dist/chunk-QJ622LTI.js.map +0 -1
  288. package/dist/chunk-TZNDKTX5.js.map +0 -1
  289. package/dist/chunk-ZV65I6ME.js.map +0 -1
  290. /package/dist/{chunk-YFMBHQRG.js.map → chunk-2PTH4PRL.js.map} +0 -0
  291. /package/dist/{chunk-TITG2NBS.js.map → chunk-2PYHLSXK.js.map} +0 -0
  292. /package/dist/{chunk-KH2LKDX7.js.map → chunk-33G67YZF.js.map} +0 -0
  293. /package/dist/{chunk-SWIKABKI.js.map → chunk-3Q3XD3NO.js.map} +0 -0
  294. /package/dist/{chunk-4KY5GSMB.js.map → chunk-4PDTVVSW.js.map} +0 -0
  295. /package/dist/{chunk-HM7RHKS4.js.map → chunk-4RNBLLZR.js.map} +0 -0
  296. /package/dist/{chunk-Y4NKEXQT.js.map → chunk-5ATSXCAG.js.map} +0 -0
  297. /package/dist/{chunk-JDZFIR2S.js.map → chunk-5KGYTX5O.js.map} +0 -0
  298. /package/dist/{chunk-J7JWFZHI.js.map → chunk-5MLGY6IY.js.map} +0 -0
  299. /package/dist/{chunk-NW2E4CI2.js.map → chunk-5SMR542T.js.map} +0 -0
  300. /package/dist/{chunk-S7LWX2PQ.js.map → chunk-655FVTCD.js.map} +0 -0
  301. /package/dist/{chunk-4OSG5Y6M.js.map → chunk-6YEPGWUP.js.map} +0 -0
  302. /package/dist/{chunk-W47S5TIH.js.map → chunk-7VQ6AI7H.js.map} +0 -0
  303. /package/dist/{chunk-WLMZ2L5P.js.map → chunk-AZDTDWS2.js.map} +0 -0
  304. /package/dist/{chunk-G7NYVKD6.js.map → chunk-B2NXOVZN.js.map} +0 -0
  305. /package/dist/{chunk-N7KYEVLK.js.map → chunk-BK2BVLZW.js.map} +0 -0
  306. /package/dist/{chunk-S2I7DL5Q.js.map → chunk-C2RW36YR.js.map} +0 -0
  307. /package/dist/{chunk-6LG7BWKW.js.map → chunk-CFZ4SXXH.js.map} +0 -0
  308. /package/dist/{chunk-JQ7XU625.js.map → chunk-CQOIWJ5E.js.map} +0 -0
  309. /package/dist/{chunk-FSIMZNBC.js.map → chunk-CXOYUANR.js.map} +0 -0
  310. /package/dist/{chunk-QOZJCSFO.js.map → chunk-DQR2LD3V.js.map} +0 -0
  311. /package/dist/{chunk-MATDGSJ7.js.map → chunk-DUPHIZBY.js.map} +0 -0
  312. /package/dist/{chunk-EBA5DA77.js.map → chunk-EOU6V4IN.js.map} +0 -0
  313. /package/dist/{chunk-5WCJLQTM.js.map → chunk-F2772ATT.js.map} +0 -0
  314. /package/dist/{chunk-46EST7JO.js.map → chunk-F2XNSIPP.js.map} +0 -0
  315. /package/dist/{chunk-PZHQWFR3.js.map → chunk-G3UUAQOD.js.map} +0 -0
  316. /package/dist/{chunk-YE36AJL7.js.map → chunk-GCVDFX66.js.map} +0 -0
  317. /package/dist/{chunk-T2YX56QI.js.map → chunk-GQJKVQJR.js.map} +0 -0
  318. /package/dist/{chunk-I7S55EOB.js.map → chunk-GUY6L6LL.js.map} +0 -0
  319. /package/dist/{chunk-L5DAHSEZ.js.map → chunk-GWVNGDJW.js.map} +0 -0
  320. /package/dist/{chunk-N45NEBOD.js.map → chunk-GZXXPCWJ.js.map} +0 -0
  321. /package/dist/{chunk-EPJDSQHF.js.map → chunk-H5IUN433.js.map} +0 -0
  322. /package/dist/{chunk-EUAIYYYR.js.map → chunk-H6FREOYX.js.map} +0 -0
  323. /package/dist/{chunk-T3FMRLWQ.js.map → chunk-HFSPY26A.js.map} +0 -0
  324. /package/dist/{chunk-GH7AOMJD.js.map → chunk-IJMDBYCO.js.map} +0 -0
  325. /package/dist/{chunk-4IHBN6WU.js.map → chunk-JKMIGCK6.js.map} +0 -0
  326. /package/dist/{chunk-ROBHL3GL.js.map → chunk-JWX2Q6HS.js.map} +0 -0
  327. /package/dist/{chunk-DPR2WTN3.js.map → chunk-JZTEOBOR.js.map} +0 -0
  328. /package/dist/{chunk-JIHMUOOS.js.map → chunk-KLJVTZ3R.js.map} +0 -0
  329. /package/dist/{chunk-FP4JYE66.js.map → chunk-KW4AJ7T3.js.map} +0 -0
  330. /package/dist/{chunk-QODKDRSP.js.map → chunk-L6AZOEXV.js.map} +0 -0
  331. /package/dist/{chunk-LS2FHUML.js.map → chunk-LQ5SS4OP.js.map} +0 -0
  332. /package/dist/{chunk-SIIRTDJ4.js.map → chunk-LWFWZTWX.js.map} +0 -0
  333. /package/dist/{chunk-BMWN7B3Y.js.map → chunk-LXATZLSC.js.map} +0 -0
  334. /package/dist/{chunk-O4SGYW7H.js.map → chunk-MAVYEZKM.js.map} +0 -0
  335. /package/dist/{chunk-B665A6BO.js.map → chunk-MJIOGYKX.js.map} +0 -0
  336. /package/dist/{chunk-RTKV5XHL.js.map → chunk-MO6N4QYY.js.map} +0 -0
  337. /package/dist/{chunk-N4C7QKOG.js.map → chunk-MWWAQXZ6.js.map} +0 -0
  338. /package/dist/{chunk-LCKVXX5F.js.map → chunk-MXV2MY6C.js.map} +0 -0
  339. /package/dist/{chunk-FFOVKNQV.js.map → chunk-NAGMQXWV.js.map} +0 -0
  340. /package/dist/{chunk-ZJVMUBYF.js.map → chunk-NHUX6GXA.js.map} +0 -0
  341. /package/dist/{chunk-CB6ANA2I.js.map → chunk-NZCKG25S.js.map} +0 -0
  342. /package/dist/{chunk-UMTCNEVQ.js.map → chunk-O2YPCFJT.js.map} +0 -0
  343. /package/dist/{chunk-WSGPFRBH.js.map → chunk-OMERTLB7.js.map} +0 -0
  344. /package/dist/{chunk-QX6JN3O4.js.map → chunk-PEF5LHQU.js.map} +0 -0
  345. /package/dist/{chunk-JYZSRNR7.js.map → chunk-PIITB2YZ.js.map} +0 -0
  346. /package/dist/{chunk-UQDG3YLN.js.map → chunk-PRU7OF3Y.js.map} +0 -0
  347. /package/dist/{chunk-EU534WGS.js.map → chunk-PVHQSLNN.js.map} +0 -0
  348. /package/dist/{chunk-5VC7J76U.js.map → chunk-QPH52AZB.js.map} +0 -0
  349. /package/dist/{chunk-XISROV24.js.map → chunk-QSEUUQUF.js.map} +0 -0
  350. /package/dist/{chunk-O2IPAX26.js.map → chunk-RTTPBBAN.js.map} +0 -0
  351. /package/dist/{chunk-W5MCEVUS.js.map → chunk-RYYVMZBR.js.map} +0 -0
  352. /package/dist/{chunk-ZSH2NRDV.js.map → chunk-TN4EA4X4.js.map} +0 -0
  353. /package/dist/{chunk-SS3IS2JR.js.map → chunk-UGYUBENJ.js.map} +0 -0
  354. /package/dist/{chunk-GELS5Z5Z.js.map → chunk-V3TXIXXY.js.map} +0 -0
  355. /package/dist/{chunk-WVADKFWV.js.map → chunk-VNZMZPAC.js.map} +0 -0
  356. /package/dist/{chunk-JPTPS4OB.js.map → chunk-VPXIKBPX.js.map} +0 -0
  357. /package/dist/{chunk-OP6N4H6A.js.map → chunk-W3FVQBGF.js.map} +0 -0
  358. /package/dist/{chunk-W3K3HITK.js.map → chunk-WLT6LTQP.js.map} +0 -0
  359. /package/dist/{chunk-GMXWTJNU.js.map → chunk-XKRXN63M.js.map} +0 -0
  360. /package/dist/{chunk-KR6ZKECI.js.map → chunk-XYGQSDTH.js.map} +0 -0
  361. /package/dist/{chunk-22W2XWGH.js.map → chunk-YBO2WGCV.js.map} +0 -0
  362. /package/dist/{chunk-P7TOIOT7.js.map → chunk-YR4COAEC.js.map} +0 -0
  363. /package/dist/{chunk-6WHJ2EAB.js.map → chunk-Z64TS5V4.js.map} +0 -0
  364. /package/dist/{chunk-NHLLKEKK.js.map → chunk-ZAJLJ35W.js.map} +0 -0
  365. /package/dist/{dreams-ledger-567VKVOU.js.map → dreams-ledger-UCHHRQ4R.js.map} +0 -0
  366. /package/dist/{resolution-7AY36LGJ.js.map → resolution-ZU5BIAJA.js.map} +0 -0
@@ -3,7 +3,7 @@ import {
3
3
  readNamespaceMaintenanceLastRanStatuses,
4
4
  readNamespaceMaintenanceStatuses,
5
5
  runNamespaceMaintenancePlan
6
- } from "./chunk-JIHMUOOS.js";
6
+ } from "./chunk-KLJVTZ3R.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-GH7AOMJD.js";
17
+ } from "./chunk-IJMDBYCO.js";
18
18
  import {
19
19
  readJudgeVerdictStats
20
20
  } from "./chunk-OZKOPQCM.js";
@@ -24,10 +24,10 @@ import {
24
24
  runEvalBaselineDeltaReport,
25
25
  runEvalBenchmarkCiGate,
26
26
  validateEvalBenchmarkPack
27
- } from "./chunk-4IHBN6WU.js";
27
+ } from "./chunk-JKMIGCK6.js";
28
28
  import {
29
29
  runConsolidationProvenanceCheck
30
- } from "./chunk-NIRQGDYC.js";
30
+ } from "./chunk-L5VCT7LU.js";
31
31
  import {
32
32
  resolveCuratedIncludeFilesStatePath,
33
33
  resolveNativeKnowledgeStatePath,
@@ -38,17 +38,17 @@ import {
38
38
  } from "./chunk-YBPYIAA5.js";
39
39
  import {
40
40
  parseConfig
41
- } from "./chunk-JPTPS4OB.js";
41
+ } from "./chunk-VPXIKBPX.js";
42
42
  import {
43
43
  readAggregateExtractionWatermark
44
- } from "./chunk-QOZJCSFO.js";
44
+ } from "./chunk-DQR2LD3V.js";
45
45
  import {
46
46
  listNamespaces
47
- } from "./chunk-GELS5Z5Z.js";
47
+ } from "./chunk-V3TXIXXY.js";
48
48
  import {
49
49
  listMemoryGovernanceRuns,
50
50
  readMemoryGovernanceRunArtifact
51
- } from "./chunk-P5NQN4JE.js";
51
+ } from "./chunk-C6JMGAMO.js";
52
52
  import {
53
53
  analyzeGraphHealth
54
54
  } from "./chunk-4IYIGN53.js";
@@ -57,7 +57,7 @@ import {
57
57
  } from "./chunk-AWD36R4D.js";
58
58
  import {
59
59
  StorageManager
60
- } from "./chunk-PAZ35RJ4.js";
60
+ } from "./chunk-4SCZZ3U7.js";
61
61
  import {
62
62
  lintWorkspaceFiles
63
63
  } from "./chunk-DM2T26WE.js";
@@ -1109,7 +1109,7 @@ async function summarizeGraphEdgeDecayStatus(config) {
1109
1109
  }
1110
1110
  async function summarizeTierDistribution(storage) {
1111
1111
  try {
1112
- const { summarizeTiers } = await import("./tier-stats-RQM76XYY.js");
1112
+ const { summarizeTiers } = await import("./tier-stats-C3IAMS4X.js");
1113
1113
  const summary = await summarizeTiers(storage);
1114
1114
  const storageDir = storage.dir ?? "";
1115
1115
  const journalPath = storageDir.length > 0 ? path.join(storageDir, "state", "tier-migration-journal.jsonl") : null;
@@ -1683,4 +1683,4 @@ export {
1683
1683
  runBenchmarkRecall,
1684
1684
  runOperatorRepair
1685
1685
  };
1686
- //# sourceMappingURL=chunk-UMTCNEVQ.js.map
1686
+ //# sourceMappingURL=chunk-O2YPCFJT.js.map
@@ -3,7 +3,7 @@ import {
3
3
  headerConnector,
4
4
  renderExtractionConversation,
5
5
  resolveSourceConnector
6
- } from "./chunk-22W2XWGH.js";
6
+ } from "./chunk-YBO2WGCV.js";
7
7
  import {
8
8
  normalizeReasoningTrace
9
9
  } from "./chunk-54V4BZWP.js";
@@ -76,7 +76,7 @@ import {
76
76
  } from "./chunk-EI6V5UXY.js";
77
77
  import {
78
78
  ProfilingCollector
79
- } from "./chunk-BLVHDY2U.js";
79
+ } from "./chunk-DOWACHYO.js";
80
80
  import {
81
81
  ModelRegistry
82
82
  } from "./chunk-5MA7ZLPD.js";
@@ -2437,4 +2437,4 @@ export {
2437
2437
  shouldEnableLocalExtractionThinking,
2438
2438
  ExtractionEngine
2439
2439
  };
2440
- //# sourceMappingURL=chunk-WSGPFRBH.js.map
2440
+ //# sourceMappingURL=chunk-OMERTLB7.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  buildStandup,
3
3
  parseStandupDate
4
- } from "./chunk-JDZFIR2S.js";
4
+ } from "./chunk-5KGYTX5O.js";
5
5
  import {
6
6
  backfillMemoryStorage,
7
7
  runLocationBackfill,
@@ -9,23 +9,23 @@ import {
9
9
  runLocationDay,
10
10
  runLocationStatus,
11
11
  runLocationSync
12
- } from "./chunk-KR6ZKECI.js";
12
+ } from "./chunk-XYGQSDTH.js";
13
13
  import {
14
14
  externalWikiSearchOperation
15
- } from "./chunk-4OSG5Y6M.js";
15
+ } from "./chunk-6YEPGWUP.js";
16
16
  import {
17
17
  DECISION_SUBCOMMANDS,
18
18
  DELTA_SUBCOMMANDS,
19
19
  defineOperation,
20
20
  isCodegraphToolName
21
- } from "./chunk-ZV65I6ME.js";
21
+ } from "./chunk-GFWRXPF6.js";
22
22
  import {
23
23
  CorrectionContractError
24
24
  } from "./chunk-ETSJD5IV.js";
25
25
  import {
26
26
  memoryStoreRequestSchema,
27
27
  retainedCategoryAlias
28
- } from "./chunk-W5MCEVUS.js";
28
+ } from "./chunk-RYYVMZBR.js";
29
29
  import {
30
30
  serializeMutations,
31
31
  withHeldFileLock
@@ -1916,4 +1916,4 @@ export {
1916
1916
  codegraphIngestTracesOperation,
1917
1917
  REGISTERED_OPERATIONS
1918
1918
  };
1919
- //# sourceMappingURL=chunk-QX6JN3O4.js.map
1919
+ //# sourceMappingURL=chunk-PEF5LHQU.js.map
@@ -16,7 +16,7 @@ import {
16
16
  } from "./chunk-ULM7JCDH.js";
17
17
  import {
18
18
  resolveEvalStoreDir
19
- } from "./chunk-4IHBN6WU.js";
19
+ } from "./chunk-JKMIGCK6.js";
20
20
 
21
21
  // src/eval-trajectory-store.ts
22
22
  import { mkdir, readFile, rename, rm, writeFile } from "fs/promises";
@@ -237,4 +237,4 @@ export {
237
237
  writeEvalTrajectoryReport,
238
238
  readEvalTrajectoryReport
239
239
  };
240
- //# sourceMappingURL=chunk-JYZSRNR7.js.map
240
+ //# sourceMappingURL=chunk-PIITB2YZ.js.map
@@ -0,0 +1,73 @@
1
+ // src/utils/malformed-entity-record.ts
2
+ function entityRecordFlags(content) {
3
+ const body = entityRecordBody(content);
4
+ let hasName = false;
5
+ let hasType = false;
6
+ let start = 0;
7
+ while (start <= body.length) {
8
+ const newline = body.indexOf("\n", start);
9
+ const end = newline === -1 ? body.length : newline;
10
+ let line = body.slice(start, end);
11
+ if (line.endsWith("\r")) line = line.slice(0, -1);
12
+ if (!hasName && line.startsWith("# ") && line.slice(2).trim().length > 0) hasName = true;
13
+ if (!hasType && line.startsWith("**Type:**") && line.slice("**Type:**".length).trim().length > 0) {
14
+ hasType = true;
15
+ }
16
+ if (hasName && hasType) return { hasName, hasType };
17
+ if (newline === -1) break;
18
+ start = newline + 1;
19
+ }
20
+ return { hasName, hasType };
21
+ }
22
+ function isUnnamedEntityRecord(content) {
23
+ return !entityRecordFlags(content).hasName;
24
+ }
25
+ function entityBodyHasText(content) {
26
+ const body = entityRecordBody(content);
27
+ for (let i = 0; i < body.length; i++) {
28
+ const char = body.charCodeAt(i);
29
+ if (char !== 32 && char !== 9 && char !== 10 && char !== 13) return true;
30
+ }
31
+ return false;
32
+ }
33
+ function isPopulatedUnnamedEntityRecord(content) {
34
+ return isUnnamedEntityRecord(content) && entityBodyHasText(content);
35
+ }
36
+ function isShapedUnnamedEntityRecord(content) {
37
+ if (!isUnnamedEntityRecord(content)) return false;
38
+ const body = entityRecordBody(content);
39
+ let start = 0;
40
+ while (start <= body.length) {
41
+ const newline = body.indexOf("\n", start);
42
+ const end = newline === -1 ? body.length : newline;
43
+ let line = body.slice(start, end);
44
+ if (line.endsWith("\r")) line = line.slice(0, -1);
45
+ if (line.startsWith("#") || line.startsWith("**Type:**")) return true;
46
+ if (newline === -1) break;
47
+ start = newline + 1;
48
+ }
49
+ return false;
50
+ }
51
+ function isMalformedEntityRecord(content) {
52
+ const flags = entityRecordFlags(content);
53
+ return !flags.hasName || !flags.hasType;
54
+ }
55
+ function entityRecordBody(content) {
56
+ const firstNewline = content.indexOf("\n");
57
+ if (firstNewline === -1) return content;
58
+ const firstLine = content.slice(0, firstNewline).endsWith("\r") ? content.slice(0, firstNewline - 1) : content.slice(0, firstNewline);
59
+ if (firstLine !== "---") return content;
60
+ const close = content.indexOf("\n---", firstNewline + 1);
61
+ if (close === -1) return content;
62
+ let rest = close + "\n---".length;
63
+ if (content.charAt(rest) === "\r") rest += 1;
64
+ if (content.charAt(rest) === "\n") rest += 1;
65
+ return content.slice(rest);
66
+ }
67
+
68
+ export {
69
+ isPopulatedUnnamedEntityRecord,
70
+ isShapedUnnamedEntityRecord,
71
+ isMalformedEntityRecord
72
+ };
73
+ //# sourceMappingURL=chunk-PPUNC7UX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/utils/malformed-entity-record.ts"],"sourcesContent":["/**\n * Heading and type flags for an entity markdown body.\n *\n * The heading rule matches `parseEntityFile`: a line must start with `# `\n * (hash, space) and the remainder must contain a name. A tab after `#`\n * is not a heading. The type rule matches a `**Type:**` line with a\n * non-empty value. A missing type line is still readable: the parser\n * defaults the type to `other`.\n */\nfunction entityRecordFlags(content: string): { hasName: boolean; hasType: boolean } {\n const body = entityRecordBody(content);\n let hasName = false;\n let hasType = false;\n let start = 0;\n while (start <= body.length) {\n const newline = body.indexOf(\"\\n\", start);\n const end = newline === -1 ? body.length : newline;\n let line = body.slice(start, end);\n if (line.endsWith(\"\\r\")) line = line.slice(0, -1);\n if (!hasName && line.startsWith(\"# \") && line.slice(2).trim().length > 0) hasName = true;\n if (!hasType && line.startsWith(\"**Type:**\") && line.slice(\"**Type:**\".length).trim().length > 0) {\n hasType = true;\n }\n if (hasName && hasType) return { hasName, hasType };\n if (newline === -1) break;\n start = newline + 1;\n }\n return { hasName, hasType };\n}\n\n/**\n * No `# ` name. A named file whose type line is absent stays readable:\n * `parseEntityFile` defaults the type to `other`.\n */\nexport function isUnnamedEntityRecord(content: string): boolean {\n return !entityRecordFlags(content).hasName;\n}\n\nfunction entityBodyHasText(content: string): boolean {\n const body = entityRecordBody(content);\n for (let i = 0; i < body.length; i++) {\n const char = body.charCodeAt(i);\n if (char !== 32 && char !== 9 && char !== 10 && char !== 13) return true;\n }\n return false;\n}\n\n/**\n * Unnamed entity body that still has text. An empty body under frontmatter\n * stays readable so a canonical filename can supply the type. A tab heading,\n * a blank `# ` heading, or prose with no name does not.\n */\nexport function isPopulatedUnnamedEntityRecord(content: string): boolean {\n return isUnnamedEntityRecord(content) && entityBodyHasText(content);\n}\n\n/**\n * Unnamed file that still looks like an entity record (`#` or `**Type:**`).\n * Direct filename recall keeps unstructured placeholders such as \"content\".\n */\nexport function isShapedUnnamedEntityRecord(content: string): boolean {\n if (!isUnnamedEntityRecord(content)) return false;\n const body = entityRecordBody(content);\n let start = 0;\n while (start <= body.length) {\n const newline = body.indexOf(\"\\n\", start);\n const end = newline === -1 ? body.length : newline;\n let line = body.slice(start, end);\n if (line.endsWith(\"\\r\")) line = line.slice(0, -1);\n if (line.startsWith(\"#\") || line.startsWith(\"**Type:**\")) return true;\n if (newline === -1) break;\n start = newline + 1;\n }\n return false;\n}\n\n/**\n * Migration gate. Canonical ids are derived from name and type, and the\n * old startup throw required an explicit `**Type:**` line. Files that\n * only have a heading stay on disk and are not renamed. Listing does not\n * use this predicate: `parseEntityFile` defaults a missing type to `other`.\n */\nexport function isMalformedEntityRecord(content: string): boolean {\n const flags = entityRecordFlags(content);\n return !flags.hasName || !flags.hasType;\n}\n\nfunction entityRecordBody(content: string): string {\n const firstNewline = content.indexOf(\"\\n\");\n if (firstNewline === -1) return content;\n const firstLine = content.slice(0, firstNewline).endsWith(\"\\r\")\n ? content.slice(0, firstNewline - 1)\n : content.slice(0, firstNewline);\n if (firstLine !== \"---\") return content;\n const close = content.indexOf(\"\\n---\", firstNewline + 1);\n if (close === -1) return content;\n let rest = close + \"\\n---\".length;\n if (content.charAt(rest) === \"\\r\") rest += 1;\n if (content.charAt(rest) === \"\\n\") rest += 1;\n return content.slice(rest);\n}\n"],"mappings":";AASA,SAAS,kBAAkB,SAAyD;AAClF,QAAM,OAAO,iBAAiB,OAAO;AACrC,MAAI,UAAU;AACd,MAAI,UAAU;AACd,MAAI,QAAQ;AACZ,SAAO,SAAS,KAAK,QAAQ;AAC3B,UAAM,UAAU,KAAK,QAAQ,MAAM,KAAK;AACxC,UAAM,MAAM,YAAY,KAAK,KAAK,SAAS;AAC3C,QAAI,OAAO,KAAK,MAAM,OAAO,GAAG;AAChC,QAAI,KAAK,SAAS,IAAI,EAAG,QAAO,KAAK,MAAM,GAAG,EAAE;AAChD,QAAI,CAAC,WAAW,KAAK,WAAW,IAAI,KAAK,KAAK,MAAM,CAAC,EAAE,KAAK,EAAE,SAAS,EAAG,WAAU;AACpF,QAAI,CAAC,WAAW,KAAK,WAAW,WAAW,KAAK,KAAK,MAAM,YAAY,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG;AAChG,gBAAU;AAAA,IACZ;AACA,QAAI,WAAW,QAAS,QAAO,EAAE,SAAS,QAAQ;AAClD,QAAI,YAAY,GAAI;AACpB,YAAQ,UAAU;AAAA,EACpB;AACA,SAAO,EAAE,SAAS,QAAQ;AAC5B;AAMO,SAAS,sBAAsB,SAA0B;AAC9D,SAAO,CAAC,kBAAkB,OAAO,EAAE;AACrC;AAEA,SAAS,kBAAkB,SAA0B;AACnD,QAAM,OAAO,iBAAiB,OAAO;AACrC,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,UAAM,OAAO,KAAK,WAAW,CAAC;AAC9B,QAAI,SAAS,MAAM,SAAS,KAAK,SAAS,MAAM,SAAS,GAAI,QAAO;AAAA,EACtE;AACA,SAAO;AACT;AAOO,SAAS,+BAA+B,SAA0B;AACvE,SAAO,sBAAsB,OAAO,KAAK,kBAAkB,OAAO;AACpE;AAMO,SAAS,4BAA4B,SAA0B;AACpE,MAAI,CAAC,sBAAsB,OAAO,EAAG,QAAO;AAC5C,QAAM,OAAO,iBAAiB,OAAO;AACrC,MAAI,QAAQ;AACZ,SAAO,SAAS,KAAK,QAAQ;AAC3B,UAAM,UAAU,KAAK,QAAQ,MAAM,KAAK;AACxC,UAAM,MAAM,YAAY,KAAK,KAAK,SAAS;AAC3C,QAAI,OAAO,KAAK,MAAM,OAAO,GAAG;AAChC,QAAI,KAAK,SAAS,IAAI,EAAG,QAAO,KAAK,MAAM,GAAG,EAAE;AAChD,QAAI,KAAK,WAAW,GAAG,KAAK,KAAK,WAAW,WAAW,EAAG,QAAO;AACjE,QAAI,YAAY,GAAI;AACpB,YAAQ,UAAU;AAAA,EACpB;AACA,SAAO;AACT;AAQO,SAAS,wBAAwB,SAA0B;AAChE,QAAM,QAAQ,kBAAkB,OAAO;AACvC,SAAO,CAAC,MAAM,WAAW,CAAC,MAAM;AAClC;AAEA,SAAS,iBAAiB,SAAyB;AACjD,QAAM,eAAe,QAAQ,QAAQ,IAAI;AACzC,MAAI,iBAAiB,GAAI,QAAO;AAChC,QAAM,YAAY,QAAQ,MAAM,GAAG,YAAY,EAAE,SAAS,IAAI,IAC1D,QAAQ,MAAM,GAAG,eAAe,CAAC,IACjC,QAAQ,MAAM,GAAG,YAAY;AACjC,MAAI,cAAc,MAAO,QAAO;AAChC,QAAM,QAAQ,QAAQ,QAAQ,SAAS,eAAe,CAAC;AACvD,MAAI,UAAU,GAAI,QAAO;AACzB,MAAI,OAAO,QAAQ,QAAQ;AAC3B,MAAI,QAAQ,OAAO,IAAI,MAAM,KAAM,SAAQ;AAC3C,MAAI,QAAQ,OAAO,IAAI,MAAM,KAAM,SAAQ;AAC3C,SAAO,QAAQ,MAAM,IAAI;AAC3B;","names":[]}
@@ -1,3 +1,7 @@
1
+ import {
2
+ isMacOsReplicationJunkBasename
3
+ } from "./chunk-QUIRIG2P.js";
4
+
1
5
  // src/maintenance/dreams-ledger.ts
2
6
  import path from "path";
3
7
  import { createReadStream } from "fs";
@@ -289,6 +293,7 @@ async function listMemoryFiles(memoryDir) {
289
293
  }
290
294
  for (const entry of entries) {
291
295
  if (entry.isSymbolicLink()) continue;
296
+ if (isMacOsReplicationJunkBasename(entry.name)) continue;
292
297
  const full = path.join(dir, entry.name);
293
298
  if (entry.isDirectory()) {
294
299
  if (entry.name === "state" || entry.name === "archive" || entry.name === "namespaces" || entry.name === ".git") continue;
@@ -313,4 +318,4 @@ export {
313
318
  runDreamsPhase,
314
319
  summarizeGovernanceResultForDreams
315
320
  };
316
- //# sourceMappingURL=chunk-EQWEIIKQ.js.map
321
+ //# sourceMappingURL=chunk-PQM3B54K.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/maintenance/dreams-ledger.ts"],"sourcesContent":["/**\n * dreams-ledger.ts — per-phase telemetry for the Dreams consolidation pipeline.\n *\n * Every scheduled or manual phase run appends one JSONL entry to\n * <memoryDir>/state/dreams-ledger.jsonl\n *\n * The entry records which phase ran, how long it took, and a small\n * itemsProcessed counter so `remnic dreams status` can aggregate the last\n * 24-hour window without scanning the full memory corpus.\n *\n * This module is intentionally side-effect-free on import (no fs calls at\n * module load time) so tests can import it without touching the filesystem.\n */\n\nimport path from \"node:path\";\nimport { createReadStream, type ReadStream } from \"node:fs\";\nimport { appendFile, lstat, mkdir, readdir, readFile } from \"node:fs/promises\";\nimport { createInterface } from \"node:readline\";\nimport { isMacOsReplicationJunkBasename } from \"../utils/macos-replication-junk.js\";\n\n// ── Types ─────────────────────────────────────────────────────────────────────\n\n/** The three named phases of the Dreams consolidation pipeline. */\nexport type DreamsPhase = \"lightSleep\" | \"rem\" | \"deepSleep\";\n\n/**\n * One entry written to the dreams ledger for every phase run.\n * Older entries that predate this field simply won't have it (no backfill).\n */\nexport interface DreamsLedgerEntry {\n /** Schema version — always 1 for entries written by this module. */\n schemaVersion: 1;\n /** ISO-8601 timestamp when the phase run started. */\n startedAt: string;\n /** ISO-8601 timestamp when the phase run completed. */\n completedAt: string;\n /** Wall-clock duration in milliseconds. */\n durationMs: number;\n /**\n * Which Dreams phase this entry represents.\n * - `lightSleep` — recent activity scoring + clustering\n * - `rem` — cross-session synthesis, supersession, consolidation\n * - `deepSleep` — tier migration, page-version snapshots, archive\n */\n phase: DreamsPhase;\n /** How many memory items were evaluated (scored / clustered / migrated). */\n itemsProcessed: number;\n /** Whether this was a dry-run (no writes committed). */\n dryRun: boolean;\n /**\n * How the phase was triggered.\n * - `scheduled` — invoked by the governance cron or orchestrator maintenance pass\n * - `manual` — invoked via `remnic dreams run`\n */\n trigger: \"scheduled\" | \"manual\";\n /** Free-form notes for debugging (optional, never required). */\n notes?: string;\n}\n\n/** Aggregated stats for a single phase over a time window. */\nexport interface DreamsPhaseStatus {\n phase: DreamsPhase;\n /** Number of phase runs in the window. */\n runCount: number;\n /** Total wall-clock milliseconds across all runs in the window. */\n totalDurationMs: number;\n /** Total items processed across all runs in the window. */\n totalItemsProcessed: number;\n /** ISO-8601 timestamp of the most recent completed run, or null if none. */\n lastRunAt: string | null;\n /** Duration of the most recent run in ms, or null if none. */\n lastDurationMs: number | null;\n}\n\n/** Shape returned by `getDreamsStatus` — the canonical telemetry response. */\nexport interface DreamsStatusResult {\n /** ISO-8601 start of the query window (inclusive). */\n windowStart: string;\n /** ISO-8601 end of the query window (exclusive). */\n windowEnd: string;\n /** Per-phase summaries, always present for all three phases. */\n phases: {\n lightSleep: DreamsPhaseStatus;\n rem: DreamsPhaseStatus;\n deepSleep: DreamsPhaseStatus;\n };\n}\n\n// ── Path helpers ──────────────────────────────────────────────────────────────\n\nexport function dreamsLedgerPath(memoryDir: string): string {\n return path.join(memoryDir, \"state\", \"dreams-ledger.jsonl\");\n}\n\n// ── Writer ────────────────────────────────────────────────────────────────────\n\n/**\n * Append a single entry to the dreams ledger.\n * Creates the file (and its parent directory) if needed.\n * Uses `appendFile` (O_APPEND) so concurrent callers never overwrite each other.\n */\nexport async function appendDreamsLedgerEntry(\n memoryDir: string,\n entry: DreamsLedgerEntry,\n): Promise<void> {\n const ledgerPath = dreamsLedgerPath(memoryDir);\n await mkdir(path.dirname(ledgerPath), { recursive: true });\n await appendFile(ledgerPath, JSON.stringify(entry) + \"\\n\", \"utf-8\");\n}\n\n// ── Reader ────────────────────────────────────────────────────────────────────\n\n/**\n * Parse and validate one ledger line into a `DreamsLedgerEntry`, or `null` when\n * blank/malformed/incomplete. Shared by the streaming reader and the windowed\n * status aggregator so both apply the identical fail-open guard.\n */\nfunction parseDreamsLedgerLine(line: string): DreamsLedgerEntry | null {\n const trimmed = line.trim();\n if (!trimmed) return null;\n let parsed: Record<string, unknown>;\n try {\n const raw = JSON.parse(trimmed);\n if (typeof raw !== \"object\" || raw === null) return null;\n parsed = raw as Record<string, unknown>;\n } catch {\n return null; // Malformed JSON — skip (fail-open).\n }\n\n // Required, strongly-typed fields. A row missing or mistyping any of these is\n // not a usable telemetry entry.\n const phase = parsed.phase;\n if (phase !== \"lightSleep\" && phase !== \"rem\" && phase !== \"deepSleep\") return null;\n if (\n typeof parsed.startedAt !== \"string\" ||\n typeof parsed.completedAt !== \"string\" ||\n typeof parsed.durationMs !== \"number\" ||\n typeof parsed.itemsProcessed !== \"number\"\n ) {\n return null;\n }\n\n // Optional fields: absence is tolerated (older entries predate them, no\n // backfill), but a PRESENT value with the wrong type/value marks the row\n // malformed and skips it — never silently coerced to a default (issue #1910).\n if (\"schemaVersion\" in parsed && parsed.schemaVersion !== 1) return null;\n if (\"dryRun\" in parsed && typeof parsed.dryRun !== \"boolean\") return null;\n if (\"trigger\" in parsed && parsed.trigger !== \"manual\" && parsed.trigger !== \"scheduled\") {\n return null;\n }\n\n return {\n schemaVersion: 1,\n startedAt: parsed.startedAt,\n completedAt: parsed.completedAt,\n durationMs: parsed.durationMs,\n phase,\n itemsProcessed: parsed.itemsProcessed,\n dryRun: parsed.dryRun === true,\n trigger: parsed.trigger === \"manual\" ? \"manual\" : \"scheduled\",\n notes: typeof parsed.notes === \"string\" ? parsed.notes : undefined,\n };\n}\n\n/**\n * Stream the dreams ledger line-by-line. The ledger is plaintext `appendFile`\n * (never encrypted), so a raw line stream is safe at any size — heap stays\n * O(1) in the file, unlike the previous whole-file `readFile` + `split`.\n * Yields nothing when the ledger does not exist yet.\n */\nexport async function* streamDreamsLedgerLines(memoryDir: string): AsyncGenerator<string> {\n const ledgerPath = dreamsLedgerPath(memoryDir);\n let input: ReadStream;\n try {\n input = createReadStream(ledgerPath, { encoding: \"utf8\" });\n } catch (err) {\n if ((err as NodeJS.ErrnoException).code === \"ENOENT\") return;\n throw err;\n }\n const rl = createInterface({ input, crlfDelay: Infinity });\n try {\n for await (const line of rl) yield line;\n } catch (err) {\n if ((err as NodeJS.ErrnoException).code === \"ENOENT\") return;\n throw err;\n } finally {\n // Close the readline interface AND destroy the underlying stream. When a\n // consumer stops early (e.g. `getDreamsStatus` breaks out), the generator's\n // `.return()` runs this finally; `rl.close()` alone leaves the file\n // descriptor open, so destroy the stream to release it (issue #1910).\n rl.close();\n input.destroy();\n }\n}\n\n/**\n * Parse all valid `DreamsLedgerEntry` rows from the ledger file. Thin wrapper\n * over the line stream so any caller that genuinely needs every row still\n * works; `getDreamsStatus` streams directly and filters in-window instead.\n * Malformed lines are silently skipped (resilience over strictness for\n * telemetry).\n */\nexport async function readDreamsLedgerEntries(memoryDir: string): Promise<DreamsLedgerEntry[]> {\n const entries: DreamsLedgerEntry[] = [];\n for await (const line of streamDreamsLedgerLines(memoryDir)) {\n const entry = parseDreamsLedgerLine(line);\n if (entry) entries.push(entry);\n }\n return entries;\n}\n\n// ── Aggregator ────────────────────────────────────────────────────────────────\n\nconst ALL_PHASES: DreamsPhase[] = [\"lightSleep\", \"rem\", \"deepSleep\"];\nconst MAX_WINDOW_HOURS = 24 * 365 * 100;\n\nexport function normalizeDreamsStatusWindowHours(value: unknown, fallback = 24): number {\n const raw = value === undefined || value === null ? fallback : value;\n if (\n typeof raw !== \"number\" ||\n !Number.isFinite(raw) ||\n !Number.isInteger(raw) ||\n raw < 1 ||\n raw > MAX_WINDOW_HOURS\n ) {\n throw new RangeError(`windowHours must be a positive integer no greater than ${MAX_WINDOW_HOURS}`);\n }\n return raw;\n}\n\n/**\n * Build per-phase 24-hour summary.\n *\n * @param memoryDir The memory directory (parent of `state/`).\n * @param windowHours How many hours to look back (default 24).\n * @param now Reference time (default `new Date()`).\n */\nexport async function getDreamsStatus(\n memoryDir: string,\n windowHours = 24,\n now: Date = new Date(),\n): Promise<DreamsStatusResult> {\n const boundedWindowHours = normalizeDreamsStatusWindowHours(windowHours);\n const nowMs = now.getTime();\n if (!Number.isFinite(nowMs)) {\n throw new RangeError(\"now must be a valid Date\");\n }\n const windowMs = boundedWindowHours * 60 * 60 * 1000;\n const windowStart = new Date(nowMs - windowMs);\n const windowEnd = now;\n if (!Number.isFinite(windowStart.getTime())) {\n throw new RangeError(\"windowHours produces an invalid status window\");\n }\n\n const windowStartMs = windowStart.getTime();\n const windowEndMs = windowEnd.getTime();\n\n const statusMap = new Map<DreamsPhase, DreamsPhaseStatus>();\n for (const phase of ALL_PHASES) {\n statusMap.set(phase, {\n phase,\n runCount: 0,\n totalDurationMs: 0,\n totalItemsProcessed: 0,\n lastRunAt: null,\n lastDurationMs: null,\n });\n }\n\n // Stream the ledger and aggregate every in-window row inline, so heap use is\n // O(number of phases) regardless of window or file size (issue #1910) — no\n // per-row array and no row cap, so a large in-window window is still counted\n // in full rather than truncated.\n for await (const line of streamDreamsLedgerLines(memoryDir)) {\n const entry = parseDreamsLedgerLine(line);\n if (!entry) continue;\n const ts = Date.parse(entry.completedAt);\n if (!Number.isFinite(ts) || ts < windowStartMs || ts >= windowEndMs) continue;\n const status = statusMap.get(entry.phase);\n if (!status) continue;\n status.runCount += 1;\n status.totalDurationMs += entry.durationMs;\n status.totalItemsProcessed += entry.itemsProcessed;\n // Track the most recent run (by completedAt).\n if (status.lastRunAt === null || ts > Date.parse(status.lastRunAt)) {\n status.lastRunAt = entry.completedAt;\n status.lastDurationMs = entry.durationMs;\n }\n }\n\n return {\n windowStart: windowStart.toISOString(),\n windowEnd: windowEnd.toISOString(),\n phases: {\n lightSleep: statusMap.get(\"lightSleep\")!,\n rem: statusMap.get(\"rem\")!,\n deepSleep: statusMap.get(\"deepSleep\")!,\n },\n };\n}\n\n// ── Phase runner (PR 4/4: manual invocation) ─────────────────────────────────\n\nexport interface DreamsRunOptions {\n memoryDir: string;\n phase: DreamsPhase;\n dryRun?: boolean;\n}\n\n/** Public result shape — identical to what HTTP, MCP, and CLI surfaces expose. */\nexport interface DreamsRunResult {\n phase: DreamsPhase;\n dryRun: boolean;\n durationMs: number;\n itemsProcessed: number;\n notes?: string;\n}\n\n/** Internal result shape returned by `runDreamsPhase` — includes the raw ledger entry. */\nexport interface DreamsRunResultInternal extends DreamsRunResult {\n ledgerEntry?: DreamsLedgerEntry;\n}\n\nexport async function recordDreamsPhaseRun(options: {\n memoryDir: string;\n phase: DreamsPhase;\n trigger: DreamsLedgerEntry[\"trigger\"];\n dryRun?: boolean;\n itemsProcessed: number;\n notes?: string;\n startedAt?: string;\n completedAt?: string;\n}): Promise<DreamsLedgerEntry> {\n const startedAt = options.startedAt ?? new Date().toISOString();\n const completedAt = options.completedAt ?? new Date().toISOString();\n const durationMs = Math.max(0, Date.parse(completedAt) - Date.parse(startedAt));\n const ledgerEntry: DreamsLedgerEntry = {\n schemaVersion: 1,\n startedAt,\n completedAt,\n durationMs: Number.isFinite(durationMs) ? durationMs : 0,\n phase: options.phase,\n itemsProcessed: Math.max(0, Math.floor(options.itemsProcessed)),\n dryRun: options.dryRun === true,\n trigger: options.trigger,\n notes: options.notes,\n };\n if (!ledgerEntry.dryRun) {\n await appendDreamsLedgerEntry(options.memoryDir, ledgerEntry);\n }\n return ledgerEntry;\n}\n\n/**\n * Manually invoke a single Dreams phase pass.\n *\n * For light sleep and REM: runs a lightweight scan against the observation\n * ledger and returns a count of items that would be (or were, if not dry-run)\n * processed. The actual heavy consolidation is long-running and orchestrator-\n * bound; the manual surface delegates to existing ledger utilities and returns\n * the phase telemetry so callers get the same shape as a scheduled run.\n *\n * For deep sleep: delegates to the memory governance run (shadow mode when\n * dryRun is true, apply mode otherwise).\n */\nexport async function runDreamsPhase(\n options: DreamsRunOptions,\n governanceRunner?: (opts: { memoryDir: string; dryRun: boolean }) => Promise<{ scannedMemories: number; appliedActionCount: number; notes?: string }>,\n phaseRunner?: (opts: { memoryDir: string; phase: Exclude<DreamsPhase, \"deepSleep\"> }) => Promise<{ itemsProcessed: number; notes?: string }>,\n): Promise<DreamsRunResultInternal> {\n const { memoryDir, phase, dryRun = false } = options;\n const startedAt = new Date().toISOString();\n\n let itemsProcessed = 0;\n let notes: string | undefined;\n\n if (phase === \"lightSleep\") {\n // Dry-run light sleep counts recent observation entries as a preview.\n // Live runs must be backed by the orchestrator phase runner so the command\n // never reports success without executing the phase.\n if (!dryRun) {\n if (!phaseRunner) {\n throw new Error(\"light-sleep manual runs require a phase runner\");\n }\n const result = await phaseRunner({ memoryDir, phase });\n itemsProcessed = Math.max(0, Math.floor(result.itemsProcessed));\n notes = result.notes ?? `scored ${itemsProcessed} memories`;\n } else {\n // Light sleep: count observation ledger entries from the last 24h as a\n // proxy for \"items scored\". The live value-scoring pass runs through the\n // phase runner above.\n try {\n const ledgerPath = path.join(memoryDir, \"state\", \"observation-ledger\", \"rebuilt-observations.jsonl\");\n let raw = \"\";\n try {\n raw = await readFile(ledgerPath, \"utf-8\");\n } catch {\n // No ledger yet — zero items.\n }\n const lines = raw.split(\"\\n\").filter((l) => l.trim().length > 0);\n const nowMs = Date.now();\n const cutoff = nowMs - 24 * 60 * 60 * 1000;\n itemsProcessed = lines.filter((line) => {\n try {\n const obj = JSON.parse(line) as {\n hour?: string;\n timestamp?: string;\n ts?: string;\n };\n const timestamp = typeof obj.hour === \"string\"\n ? obj.hour\n : typeof obj.ts === \"string\"\n ? obj.ts\n : typeof obj.timestamp === \"string\"\n ? obj.timestamp\n : null;\n if (!timestamp) return false;\n const ms = Date.parse(timestamp);\n return Number.isFinite(ms) && ms >= cutoff && ms < nowMs;\n } catch {\n return false;\n }\n }).length;\n notes = `dry-run: would score ${itemsProcessed} observation entries`;\n } catch (err) {\n throw new Error(`light-sleep scan failed: ${err instanceof Error ? err.message : String(err)}`);\n }\n }\n } else if (phase === \"rem\") {\n if (!dryRun) {\n if (!phaseRunner) {\n throw new Error(\"REM manual runs require a phase runner\");\n }\n const result = await phaseRunner({ memoryDir, phase });\n itemsProcessed = Math.max(0, Math.floor(result.itemsProcessed));\n notes = result.notes ?? `REM pass assessed ${itemsProcessed} memories`;\n } else {\n // REM dry-runs estimate candidates without synthesizing or archiving.\n try {\n const stateFilePath = path.join(memoryDir, \"state\", \"semantic-consolidation-last-run.json\");\n let lastRunAt: string | null = null;\n try {\n const stateRaw = await readFile(stateFilePath, \"utf-8\");\n const stateData = JSON.parse(stateRaw) as { lastRunAt?: string };\n lastRunAt = stateData.lastRunAt ?? null;\n } catch {\n // No state file — never run.\n }\n const memFiles = await listMemoryFiles(memoryDir);\n itemsProcessed = memFiles.length;\n notes = `dry-run: ${itemsProcessed} memories would enter REM consolidation pass${lastRunAt ? ` (last run: ${lastRunAt})` : \" (never run)\"}`;\n } catch (err) {\n throw new Error(`REM scan failed: ${err instanceof Error ? err.message : String(err)}`);\n }\n }\n } else {\n // deep sleep\n if (governanceRunner) {\n try {\n const result = await governanceRunner({ memoryDir, dryRun });\n itemsProcessed = result.scannedMemories;\n notes = result.notes ?? (dryRun ? `dry-run: ${result.appliedActionCount} actions proposed` : `${result.appliedActionCount} actions applied`);\n } catch (err) {\n throw new Error(`deep-sleep governance run failed: ${err instanceof Error ? err.message : String(err)}`);\n }\n } else {\n // Fallback: count memory files.\n const memFiles = await listMemoryFiles(memoryDir);\n itemsProcessed = memFiles.length;\n notes = dryRun\n ? `dry-run: ${itemsProcessed} memories eligible for deep-sleep governance`\n : `assessed ${itemsProcessed} memories for deep-sleep governance`;\n }\n }\n\n const completedAt = new Date().toISOString();\n const durationMs = Math.max(0, Date.parse(completedAt) - Date.parse(startedAt));\n let ledgerEntry: DreamsLedgerEntry | undefined;\n try {\n ledgerEntry = await recordDreamsPhaseRun({\n memoryDir,\n startedAt,\n completedAt,\n phase,\n itemsProcessed,\n dryRun,\n trigger: \"manual\",\n notes,\n });\n } catch {\n // Telemetry is best-effort: the phase work has already completed.\n }\n\n return {\n phase,\n dryRun,\n durationMs: ledgerEntry?.durationMs ?? durationMs,\n itemsProcessed,\n notes,\n ledgerEntry,\n };\n}\n\n// ── Shared governance result mapping ──────────────────────────────────────────\n\nexport function summarizeGovernanceResultForDreams(\n govResult: {\n summary?: { scannedMemories?: number };\n proposedActions: unknown[];\n appliedActions: unknown[];\n reviewQueue: unknown[];\n },\n dryRun: boolean,\n): { scannedMemories: number; appliedActionCount: number; notes?: string } {\n const proposedCount = govResult.proposedActions.length;\n const appliedCount = govResult.appliedActions.length;\n const scannedCount =\n typeof govResult.summary?.scannedMemories === \"number\" &&\n Number.isFinite(govResult.summary.scannedMemories)\n ? Math.max(0, Math.floor(govResult.summary.scannedMemories))\n : govResult.reviewQueue.length;\n return {\n scannedMemories: scannedCount,\n appliedActionCount: appliedCount,\n notes: dryRun\n ? `shadow mode: ${proposedCount} actions proposed`\n : `applied ${appliedCount} actions`,\n };\n}\n\n// ── Internal helpers ──────────────────────────────────────────────────────────\n\nasync function listMemoryFiles(memoryDir: string): Promise<string[]> {\n const out: string[] = [];\n try {\n const root = await lstat(memoryDir);\n if (root.isSymbolicLink()) {\n throw new Error(`memoryDir must not be a symlink: ${memoryDir}`);\n }\n if (!root.isDirectory()) return out;\n } catch (err) {\n if (err instanceof Error && /must not be a symlink/.test(err.message)) {\n throw err;\n }\n return out;\n }\n\n async function walk(dir: string): Promise<void> {\n let entries: Array<{ name: string; isDirectory(): boolean; isFile(): boolean; isSymbolicLink(): boolean }>;\n try {\n entries = (await readdir(dir, { withFileTypes: true })) as typeof entries;\n } catch {\n return;\n }\n for (const entry of entries) {\n if (entry.isSymbolicLink()) continue;\n if (isMacOsReplicationJunkBasename(entry.name)) continue;\n const full = path.join(dir, entry.name);\n if (entry.isDirectory()) {\n // Skip state/ and archive/ subdirs.\n if (\n entry.name === \"state\" ||\n entry.name === \"archive\" ||\n entry.name === \"namespaces\" ||\n entry.name === \".git\"\n ) continue;\n await walk(full);\n } else if (entry.isFile() && entry.name.endsWith(\".md\")) {\n out.push(full);\n }\n }\n }\n\n await walk(memoryDir);\n return out;\n}\n"],"mappings":"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","names":[]}
@@ -8,11 +8,11 @@ import {
8
8
  } from "./chunk-OQJKY3Z5.js";
9
9
  import {
10
10
  resolveDefaultNamespaceRoot
11
- } from "./chunk-FUFAXVBA.js";
11
+ } from "./chunk-RI2KCQHP.js";
12
12
  import {
13
13
  StorageManager,
14
14
  readRawMemoryDocument
15
- } from "./chunk-PAZ35RJ4.js";
15
+ } from "./chunk-4SCZZ3U7.js";
16
16
  import {
17
17
  parseContinuityImprovementLoops
18
18
  } from "./chunk-LDXUBPMO.js";
@@ -1869,4 +1869,4 @@ export {
1869
1869
  defaultTierMigrationCycleBudget,
1870
1870
  CompoundingEngine
1871
1871
  };
1872
- //# sourceMappingURL=chunk-UQDG3YLN.js.map
1872
+ //# sourceMappingURL=chunk-PRU7OF3Y.js.map
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  resolveWorkProductLedgerDir,
3
3
  validateWorkProductLedgerEntry
4
- } from "./chunk-G7NYVKD6.js";
4
+ } from "./chunk-B2NXOVZN.js";
5
5
  import {
6
6
  TranscriptManager
7
- } from "./chunk-Q4E24IRR.js";
7
+ } from "./chunk-HDN7IVIO.js";
8
8
  import {
9
9
  resolveCommitmentLedgerDir,
10
10
  validateCommitmentLedgerEntry
11
- } from "./chunk-NHLLKEKK.js";
11
+ } from "./chunk-ZAJLJ35W.js";
12
12
  import {
13
13
  parseConfig
14
- } from "./chunk-JPTPS4OB.js";
14
+ } from "./chunk-VPXIKBPX.js";
15
15
  import {
16
16
  resolveObjectiveStateStoreDir,
17
17
  validateObjectiveStateSnapshot
18
- } from "./chunk-HM7RHKS4.js";
18
+ } from "./chunk-4RNBLLZR.js";
19
19
  import {
20
20
  assertIsoRecordedAt,
21
21
  assertSafePathSegment,
@@ -28,7 +28,7 @@ import {
28
28
  import {
29
29
  listJsonFiles,
30
30
  readJsonFile
31
- } from "./chunk-B6O2YLUR.js";
31
+ } from "./chunk-2Z5DIDQD.js";
32
32
 
33
33
  // src/resume-bundles.ts
34
34
  import path from "path";
@@ -268,4 +268,4 @@ export {
268
268
  recordResumeBundle,
269
269
  getResumeBundleStatus
270
270
  };
271
- //# sourceMappingURL=chunk-EU534WGS.js.map
271
+ //# sourceMappingURL=chunk-PVHQSLNN.js.map
@@ -22,7 +22,7 @@ import {
22
22
  import {
23
23
  exportOkfBundle,
24
24
  parseIncludeStatus
25
- } from "./chunk-N7KYEVLK.js";
25
+ } from "./chunk-BK2BVLZW.js";
26
26
  import {
27
27
  exportSqlite
28
28
  } from "./chunk-BV2TIZ4F.js";
@@ -58,7 +58,7 @@ import {
58
58
  } from "./chunk-EDR6CVWZ.js";
59
59
  import {
60
60
  rebuildMemoryLifecycleLedger
61
- } from "./chunk-YE36AJL7.js";
61
+ } from "./chunk-GCVDFX66.js";
62
62
  import {
63
63
  rebuildObservations
64
64
  } from "./chunk-WHCD4Z3D.js";
@@ -79,37 +79,37 @@ import {
79
79
  } from "./chunk-2524MOWK.js";
80
80
  import {
81
81
  searchVerifiedEpisodes
82
- } from "./chunk-EPJDSQHF.js";
82
+ } from "./chunk-H5IUN433.js";
83
83
  import {
84
84
  getUtilityLearningStatus,
85
85
  learnUtilityPromotionWeights
86
- } from "./chunk-W3K3HITK.js";
86
+ } from "./chunk-WLT6LTQP.js";
87
87
  import {
88
88
  getUtilityTelemetryStatus,
89
89
  recordUtilityTelemetryEvent
90
- } from "./chunk-EBA5DA77.js";
90
+ } from "./chunk-EOU6V4IN.js";
91
91
  import {
92
92
  ThreadingManager
93
93
  } from "./chunk-R7WYAXPO.js";
94
94
  import {
95
95
  promoteSemanticRuleFromMemory
96
- } from "./chunk-SS3IS2JR.js";
96
+ } from "./chunk-UGYUBENJ.js";
97
97
  import {
98
98
  searchVerifiedSemanticRules
99
- } from "./chunk-YFMBHQRG.js";
99
+ } from "./chunk-2PTH4PRL.js";
100
100
  import {
101
101
  buildResumeBundleFromState,
102
102
  getResumeBundleStatus,
103
103
  recordResumeBundle
104
- } from "./chunk-EU534WGS.js";
104
+ } from "./chunk-PVHQSLNN.js";
105
105
  import {
106
106
  getWorkProductLedgerStatus,
107
107
  recordWorkProductLedgerEntry,
108
108
  searchWorkProductLedgerEntries
109
- } from "./chunk-G7NYVKD6.js";
109
+ } from "./chunk-B2NXOVZN.js";
110
110
  import {
111
111
  utcDayRange
112
- } from "./chunk-Q4E24IRR.js";
112
+ } from "./chunk-HDN7IVIO.js";
113
113
  import {
114
114
  parseXrayCliOptions
115
115
  } from "./chunk-R2H4ZFBJ.js";
@@ -134,7 +134,7 @@ import {
134
134
  runOperatorInventory,
135
135
  runOperatorRepair,
136
136
  runOperatorSetup
137
- } from "./chunk-UMTCNEVQ.js";
137
+ } from "./chunk-O2YPCFJT.js";
138
138
  import {
139
139
  analyzeSessionIntegrity,
140
140
  applySessionRepair,
@@ -168,7 +168,7 @@ import {
168
168
  runEvalBenchmarkCiGate,
169
169
  runEvalStoredBaselineCiGate,
170
170
  validateEvalBenchmarkPack
171
- } from "./chunk-4IHBN6WU.js";
171
+ } from "./chunk-JKMIGCK6.js";
172
172
  import {
173
173
  GraphDashboardServer
174
174
  } from "./chunk-EZ25VE3G.js";
@@ -176,7 +176,7 @@ import {
176
176
  rebuildMemoryProjection,
177
177
  repairMemoryProjection,
178
178
  verifyMemoryProjection
179
- } from "./chunk-Y4NKEXQT.js";
179
+ } from "./chunk-5ATSXCAG.js";
180
180
  import {
181
181
  buildConnectorRowsFromDefinitions,
182
182
  parseConnectorsListOptions,
@@ -191,13 +191,13 @@ import {
191
191
  getCommitmentLedgerStatus,
192
192
  recordCommitmentLedgerEntry,
193
193
  transitionCommitmentLedgerEntryState
194
- } from "./chunk-NHLLKEKK.js";
194
+ } from "./chunk-ZAJLJ35W.js";
195
195
  import {
196
196
  chunkContent
197
197
  } from "./chunk-6TBIWIAG.js";
198
198
  import {
199
199
  parseConfig
200
- } from "./chunk-JPTPS4OB.js";
200
+ } from "./chunk-VPXIKBPX.js";
201
201
  import {
202
202
  applyManagedRegion,
203
203
  expandVaultTemplateTokens,
@@ -210,7 +210,7 @@ import {
210
210
  import {
211
211
  EngramAccessHttpServer,
212
212
  MeetingsInputError
213
- } from "./chunk-DPR2WTN3.js";
213
+ } from "./chunk-JZTEOBOR.js";
214
214
  import {
215
215
  WearablesInputError
216
216
  } from "./chunk-V7IZKJI3.js";
@@ -220,10 +220,10 @@ import {
220
220
  loadChatSession,
221
221
  processChatMessage,
222
222
  sessionBelongsToPrincipal
223
- } from "./chunk-QODKDRSP.js";
223
+ } from "./chunk-L6AZOEXV.js";
224
224
  import {
225
225
  EngramAccessService
226
- } from "./chunk-ZV65I6ME.js";
226
+ } from "./chunk-GFWRXPF6.js";
227
227
  import {
228
228
  WorkStorage
229
229
  } from "./chunk-MPC7TYTZ.js";
@@ -231,7 +231,7 @@ import {
231
231
  getTrustZoneStoreStatus,
232
232
  promoteTrustZoneRecord,
233
233
  seedTrustZoneDemoDataset
234
- } from "./chunk-ROBHL3GL.js";
234
+ } from "./chunk-JWX2Q6HS.js";
235
235
  import {
236
236
  migrateSessionTranscripts,
237
237
  planSessionTranscriptMigration
@@ -243,30 +243,30 @@ import {
243
243
  } from "./chunk-OXNTOHL6.js";
244
244
  import {
245
245
  readAggregateExtractionWatermark
246
- } from "./chunk-QOZJCSFO.js";
246
+ } from "./chunk-DQR2LD3V.js";
247
247
  import {
248
248
  getObjectiveStateStoreStatus
249
- } from "./chunk-HM7RHKS4.js";
249
+ } from "./chunk-4RNBLLZR.js";
250
250
  import {
251
251
  journalPath
252
252
  } from "./chunk-FT4UQYOV.js";
253
253
  import {
254
254
  searchHarmonicRetrieval
255
- } from "./chunk-ZJVMUBYF.js";
255
+ } from "./chunk-NHUX6GXA.js";
256
256
  import {
257
257
  listNamespaces,
258
258
  runNamespaceMigration,
259
259
  verifyNamespaces
260
- } from "./chunk-GELS5Z5Z.js";
260
+ } from "./chunk-V3TXIXXY.js";
261
261
  import {
262
262
  getCueAnchorStoreStatus
263
- } from "./chunk-BMWN7B3Y.js";
263
+ } from "./chunk-LXATZLSC.js";
264
264
  import {
265
265
  listMemoryGovernanceRuns,
266
266
  readMemoryGovernanceRunArtifact,
267
267
  restoreMemoryGovernanceRun,
268
268
  runMemoryGovernance
269
- } from "./chunk-P5NQN4JE.js";
269
+ } from "./chunk-C6JMGAMO.js";
270
270
  import {
271
271
  analyzeGraphHealth
272
272
  } from "./chunk-4IYIGN53.js";
@@ -300,10 +300,10 @@ import {
300
300
  } from "./chunk-QDW3E4RD.js";
301
301
  import {
302
302
  getCausalTrajectoryStoreStatus
303
- } from "./chunk-S2I7DL5Q.js";
303
+ } from "./chunk-C2RW36YR.js";
304
304
  import {
305
305
  meetingIdDate
306
- } from "./chunk-PAZ35RJ4.js";
306
+ } from "./chunk-4SCZZ3U7.js";
307
307
  import {
308
308
  isValidTranscriptDate
309
309
  } from "./chunk-UHVXE24Y.js";
@@ -387,7 +387,10 @@ import {
387
387
  } from "./chunk-P2QRMMVQ.js";
388
388
  import {
389
389
  getAbstractionNodeStoreStatus
390
- } from "./chunk-46EST7JO.js";
390
+ } from "./chunk-F2XNSIPP.js";
391
+ import {
392
+ isMacOsReplicationJunkBasename
393
+ } from "./chunk-QUIRIG2P.js";
391
394
  import {
392
395
  SECURE_STORE_ENVELOPE_OVERHEAD_BYTES,
393
396
  probeEncryptedRegularFileHeader
@@ -5751,6 +5754,7 @@ async function walkMemoryMarkdownFiles(memoryDir, visit) {
5751
5754
  for (const entry of entries) {
5752
5755
  if (entry.isSymbolicLink()) continue;
5753
5756
  const entryName = typeof entry.name === "string" ? entry.name : entry.name.toString("utf-8");
5757
+ if (isMacOsReplicationJunkBasename(entryName)) continue;
5754
5758
  const fullPath = path7.join(dir, entryName);
5755
5759
  try {
5756
5760
  assertPathInsideRoot(memoryRootReal, await realpath3(fullPath), fullPath);
@@ -6094,7 +6098,7 @@ function registerCli(api, orchestrator, registerOptions = {}) {
6094
6098
  );
6095
6099
  tierCmd.command("list").description("Summarize tier distribution across all memories").option("--json", "Emit machine-readable JSON only").action(async (...args) => {
6096
6100
  const options = args[0] ?? {};
6097
- const { summarizeTiers, formatTierSummaryText } = await import("./tier-stats-RQM76XYY.js");
6101
+ const { summarizeTiers, formatTierSummaryText } = await import("./tier-stats-C3IAMS4X.js");
6098
6102
  const summary = await summarizeTiers(orchestrator.storage);
6099
6103
  if (reportHasMachineReadableOutput(options)) {
6100
6104
  console.log(JSON.stringify(summary, null, 2));
@@ -6105,7 +6109,7 @@ function registerCli(api, orchestrator, registerOptions = {}) {
6105
6109
  tierCmd.command("explain").description("Explain the tier-transition decision for a single memory").argument("<id>", "Memory id to explain").option("--json", "Emit machine-readable JSON only").action(async (...args) => {
6106
6110
  const idArg = typeof args[0] === "string" ? args[0] : "";
6107
6111
  const options = args[1] ?? {};
6108
- const { explainTierForMemory, formatTierExplainText } = await import("./tier-stats-RQM76XYY.js");
6112
+ const { explainTierForMemory, formatTierExplainText } = await import("./tier-stats-C3IAMS4X.js");
6109
6113
  try {
6110
6114
  const explain = await explainTierForMemory(
6111
6115
  orchestrator.storage,
@@ -9351,7 +9355,7 @@ Semantic consolidation complete. clusters=${result.clustersFound}, consolidated=
9351
9355
  console.error("--verb is required. Must be one of: keep-a, keep-b, merge, both-valid, needs-more-context");
9352
9356
  process.exit(1);
9353
9357
  }
9354
- const { isValidResolutionVerb, executeResolution } = await import("./resolution-7AY36LGJ.js");
9358
+ const { isValidResolutionVerb, executeResolution } = await import("./resolution-ZU5BIAJA.js");
9355
9359
  if (!isValidResolutionVerb(verb)) {
9356
9360
  console.error(`Invalid verb: ${verb}. Must be one of: keep-a, keep-b, merge, both-valid, needs-more-context`);
9357
9361
  process.exit(1);
@@ -9423,7 +9427,7 @@ Semantic consolidation complete. clusters=${result.clustersFound}, consolidated=
9423
9427
  console.error(`Invalid --format '${fmt}'. Must be one of: text, json, markdown`);
9424
9428
  process.exit(1);
9425
9429
  }
9426
- const { normalizeDreamsStatusWindowHours } = await import("./dreams-ledger-567VKVOU.js");
9430
+ const { normalizeDreamsStatusWindowHours } = await import("./dreams-ledger-UCHHRQ4R.js");
9427
9431
  let windowHours;
9428
9432
  const rawWindowHours = options.windowHours;
9429
9433
  try {
@@ -10136,4 +10140,4 @@ export {
10136
10140
  listMemoryMarkdownFilePaths,
10137
10141
  registerCli
10138
10142
  };
10139
- //# sourceMappingURL=chunk-TZNDKTX5.js.map
10143
+ //# sourceMappingURL=chunk-Q7DWEXG2.js.map