@remnic/core 9.69.37 → 9.69.39

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 (697) hide show
  1. package/dist/access-admin-ops-surface.d.ts +14 -12
  2. package/dist/access-admin-ops-surface.js +86 -83
  3. package/dist/access-authorization-probe.d.ts +14 -12
  4. package/dist/access-authorization-probe.js +87 -84
  5. package/dist/access-boundary.d.ts +14 -12
  6. package/dist/access-boundary.js +86 -83
  7. package/dist/access-cli.js +197 -191
  8. package/dist/access-cli.js.map +1 -1
  9. package/dist/access-coding-context-resolution.d.ts +2 -1
  10. package/dist/access-extraction-force-flush.d.ts +14 -12
  11. package/dist/access-extraction-force-flush.js +86 -83
  12. package/dist/access-health-types.d.ts +2 -1
  13. package/dist/access-http-briefing.d.ts +14 -12
  14. package/dist/access-http-briefing.js +87 -84
  15. package/dist/access-http-lcm-compaction.d.ts +14 -12
  16. package/dist/access-http-lifecycle-flush.d.ts +14 -12
  17. package/dist/access-http-offline-stream.d.ts +14 -12
  18. package/dist/access-http-query.d.ts +3 -2
  19. package/dist/access-http-query.js +88 -85
  20. package/dist/access-http.d.ts +15 -13
  21. package/dist/access-http.js +108 -105
  22. package/dist/access-identity-continuity-surface.d.ts +12 -10
  23. package/dist/access-identity-continuity-surface.js +86 -83
  24. package/dist/access-lcm-surface.d.ts +14 -12
  25. package/dist/access-lcm-surface.js +86 -83
  26. package/dist/access-mcp.d.ts +14 -12
  27. package/dist/access-mcp.js +97 -94
  28. package/dist/access-memory-search-fanout.d.ts +3 -2
  29. package/dist/{access-namespace-preflight-CV5cHujx.d.ts → access-namespace-preflight-DY4z6L5X.d.ts} +1 -1
  30. package/dist/access-namespace-preflight.d.ts +4 -3
  31. package/dist/access-namespace-preflight.js +86 -83
  32. package/dist/access-observe-transcript.d.ts +12 -10
  33. package/dist/access-observe-write-category.d.ts +37 -0
  34. package/dist/access-observe-write-category.js +34 -0
  35. package/dist/access-observe-write-surface.d.ts +17 -15
  36. package/dist/access-observe-write-surface.js +86 -83
  37. package/dist/access-offline-manifest.d.ts +12 -10
  38. package/dist/access-offline-manifest.js +15 -15
  39. package/dist/access-operations-batch.js +91 -88
  40. package/dist/access-operations.d.ts +17 -30
  41. package/dist/access-operations.js +96 -93
  42. package/dist/access-recall-concurrency.d.ts +14 -12
  43. package/dist/access-recall-concurrency.js +86 -83
  44. package/dist/access-recall-response.d.ts +14 -12
  45. package/dist/access-recall-response.js +86 -83
  46. package/dist/access-recall-surface.d.ts +14 -12
  47. package/dist/access-recall-surface.js +86 -83
  48. package/dist/access-schema.d.ts +210 -107
  49. package/dist/access-schema.js +9 -15
  50. package/dist/{access-service-DwHC7lcV.d.ts → access-service-MY4bsr_Q.d.ts} +101 -77
  51. package/dist/access-service-helpers.d.ts +14 -12
  52. package/dist/access-service.d.ts +14 -12
  53. package/dist/access-service.js +86 -83
  54. package/dist/access-surface-catalog.d.ts +14 -12
  55. package/dist/access-surface-catalog.js +88 -85
  56. package/dist/access-surface-catalog.js.map +1 -1
  57. package/dist/access-wearables-meetings-surface.d.ts +5 -3
  58. package/dist/action-confidence.d.ts +2 -1
  59. package/dist/active-memory-bridge.d.ts +2 -1
  60. package/dist/active-memory-bridge.js +3 -3
  61. package/dist/active-recall.d.ts +2 -1
  62. package/dist/active-recall.js +20 -17
  63. package/dist/active-recall.js.map +1 -1
  64. package/dist/activity/digest.d.ts +2 -1
  65. package/dist/adapters/index.js +4 -4
  66. package/dist/adapters/registry.js +2 -2
  67. package/dist/ambient-provenance.d.ts +2 -1
  68. package/dist/artifact-search.d.ts +2 -1
  69. package/dist/{auto-sync-FSRJDU63.js → auto-sync-RP4C6ZPF.js} +11 -9
  70. package/dist/{auto-sync-FSRJDU63.js.map → auto-sync-RP4C6ZPF.js.map} +1 -1
  71. package/dist/background-generation-config.d.ts +10 -0
  72. package/dist/background-generation-config.js +9 -0
  73. package/dist/background-generation.d.ts +25 -0
  74. package/dist/background-generation.js +11 -0
  75. package/dist/behavior-learner.d.ts +2 -1
  76. package/dist/behavior-signals.d.ts +2 -1
  77. package/dist/bootstrap.d.ts +12 -10
  78. package/dist/briefing-window.d.ts +3 -2
  79. package/dist/briefing.d.ts +3 -2
  80. package/dist/briefing.js +27 -26
  81. package/dist/buffer-surprise-report.d.ts +2 -1
  82. package/dist/buffer-turn-helpers.d.ts +2 -1
  83. package/dist/buffer.d.ts +3 -2
  84. package/dist/buffer.js +8 -8
  85. package/dist/bulk-import/index.d.ts +4 -3
  86. package/dist/calibration.d.ts +3 -1
  87. package/dist/calibration.js +4 -2
  88. package/dist/calibration.js.map +1 -1
  89. package/dist/capabilities.d.ts +2 -1
  90. package/dist/{capsule-crypto-YO5QJ6L3.js → capsule-crypto-7FJQINUR.js} +2 -2
  91. package/dist/{capsule-merge-ZCXUPLNJ.js → capsule-merge-IPG4IOFP.js} +2 -2
  92. package/dist/{catalog-Cl4H8N89.d.ts → catalog-CW87xGx8.d.ts} +1 -1
  93. package/dist/causal-behavior.d.ts +2 -1
  94. package/dist/causal-behavior.js +2 -2
  95. package/dist/causal-chain.js +2 -2
  96. package/dist/causal-consolidation.d.ts +2 -1
  97. package/dist/causal-consolidation.js +29 -28
  98. package/dist/causal-consolidation.js.map +1 -1
  99. package/dist/causal-retrieval.js +2 -2
  100. package/dist/causal-trajectory-graph.d.ts +2 -1
  101. package/dist/causal-trajectory-graph.js +2 -2
  102. package/dist/causal-trajectory.js +1 -1
  103. package/dist/{chunk-YHU5XUF4.js → chunk-27MKMTBY.js} +2 -2
  104. package/dist/{chunk-TK4FHQRN.js → chunk-2J3V5QEO.js} +4 -4
  105. package/dist/{chunk-BXLOS5AJ.js → chunk-2NLLXCJG.js} +2 -2
  106. package/dist/chunk-2QG4SLZI.js +44 -0
  107. package/dist/chunk-2QG4SLZI.js.map +1 -0
  108. package/dist/{chunk-TFRDUD3M.js → chunk-2ZTDRNCS.js} +2 -2
  109. package/dist/{chunk-PWPIERBM.js → chunk-37CAEC7E.js} +4 -4
  110. package/dist/{chunk-X7BCM2NA.js → chunk-3EKVN2OP.js} +2 -2
  111. package/dist/{chunk-S2ULTQZR.js → chunk-3N3PBBEH.js} +2 -2
  112. package/dist/{chunk-XCF3SFHD.js → chunk-3NPNBVFR.js} +2 -2
  113. package/dist/{chunk-JO5TQAKW.js → chunk-4BCHFSC7.js} +3 -3
  114. package/dist/{chunk-Q6D7EUSQ.js → chunk-4JVQRFZD.js} +10 -10
  115. package/dist/{chunk-YEDVOYL2.js → chunk-4RX5O34R.js} +2 -2
  116. package/dist/{chunk-JMPYZJQN.js → chunk-4RZLTZVM.js} +4 -4
  117. package/dist/{chunk-Q7JK6YEB.js → chunk-54NX5EG4.js} +2 -2
  118. package/dist/{chunk-GWK7FEUL.js → chunk-5FAGCOZD.js} +4 -4
  119. package/dist/{chunk-2PUE5P7C.js → chunk-5N4MZLEH.js} +5 -5
  120. package/dist/{chunk-B2YKTE7P.js → chunk-5SPCMAUC.js} +10 -10
  121. package/dist/{chunk-3OHISDDW.js → chunk-5U7K4W6K.js} +2 -2
  122. package/dist/{chunk-CYEMS2PG.js → chunk-5YCNDC3C.js} +3 -3
  123. package/dist/{chunk-PAAJWQH5.js → chunk-62D2PAAM.js} +4 -4
  124. package/dist/{chunk-52II7PB6.js → chunk-645WOU5I.js} +4 -4
  125. package/dist/chunk-6AGWBKQU.js +94 -0
  126. package/dist/chunk-6AGWBKQU.js.map +1 -0
  127. package/dist/{chunk-326KUXIR.js → chunk-6EHM2AV7.js} +6 -6
  128. package/dist/{chunk-YM7YN37H.js → chunk-6ET2VII7.js} +2 -2
  129. package/dist/chunk-6H2G7RFT.js +58 -0
  130. package/dist/chunk-6H2G7RFT.js.map +1 -0
  131. package/dist/{chunk-A2YQL2FF.js → chunk-6P4REYKL.js} +5 -5
  132. package/dist/{chunk-7RKBPXY6.js → chunk-6YAIN5XJ.js} +2 -2
  133. package/dist/{chunk-2L5FSNPC.js → chunk-A7GQBJP5.js} +10 -10
  134. package/dist/{chunk-UYVXIY6C.js → chunk-AAZEKXUP.js} +2 -2
  135. package/dist/{chunk-JR6PP7UM.js → chunk-ACY4ZPF7.js} +28 -2
  136. package/dist/chunk-ACY4ZPF7.js.map +1 -0
  137. package/dist/{chunk-IQZ6ISFX.js → chunk-AECJY3GJ.js} +2 -2
  138. package/dist/{chunk-76DRU7C4.js → chunk-AENM6GKU.js} +2 -2
  139. package/dist/{chunk-KTRXQQFN.js → chunk-B36GUU6T.js} +4 -4
  140. package/dist/{chunk-TLHNF6GA.js → chunk-BV4ZKIZH.js} +1 -1
  141. package/dist/{chunk-ZWEZXVYH.js → chunk-CEO4DONG.js} +2 -2
  142. package/dist/chunk-CWTCMZGE.js +858 -0
  143. package/dist/chunk-CWTCMZGE.js.map +1 -0
  144. package/dist/{chunk-ZEPVWLCN.js → chunk-CZTPU65V.js} +25 -25
  145. package/dist/{chunk-TRU6JBOI.js → chunk-D545Z7UH.js} +3 -3
  146. package/dist/{chunk-6E5GYDIE.js → chunk-DGS34QSY.js} +2 -2
  147. package/dist/{chunk-65RENJGB.js → chunk-E2AWJ7KQ.js} +8 -4
  148. package/dist/chunk-E2AWJ7KQ.js.map +1 -0
  149. package/dist/{chunk-6Z3WW2MW.js → chunk-ENBPQEVU.js} +3 -3
  150. package/dist/{chunk-DOKKRZPH.js → chunk-EYKIDK33.js} +21 -19
  151. package/dist/chunk-EYKIDK33.js.map +1 -0
  152. package/dist/{chunk-PNEDMJ53.js → chunk-F4EHXVP7.js} +2 -2
  153. package/dist/{chunk-JPKZTCWZ.js → chunk-FNHLI2RE.js} +3 -3
  154. package/dist/{chunk-D2DIYEFW.js → chunk-FWWWUPOE.js} +12 -36
  155. package/dist/chunk-FWWWUPOE.js.map +1 -0
  156. package/dist/{chunk-M3MYMWXG.js → chunk-FXHOZGSE.js} +2 -2
  157. package/dist/{chunk-SAKA6PPL.js → chunk-GAS7KYC7.js} +5 -5
  158. package/dist/{chunk-LSLCFCCQ.js → chunk-GDYU6VF4.js} +1 -1
  159. package/dist/chunk-GDYU6VF4.js.map +1 -0
  160. package/dist/{chunk-2AR5JFD7.js → chunk-GG5FHZJJ.js} +6 -6
  161. package/dist/{chunk-WS3WNLST.js → chunk-GI4ZBWPQ.js} +3 -3
  162. package/dist/{chunk-JYR4LH76.js → chunk-GMIQV6DD.js} +2 -2
  163. package/dist/{chunk-WIKO4SCR.js → chunk-H3TKENU4.js} +5 -5
  164. package/dist/{chunk-ZLN7AROH.js → chunk-HIP6DKJJ.js} +5 -5
  165. package/dist/{chunk-SF6RFI5Z.js → chunk-HWLIMQE2.js} +2 -2
  166. package/dist/{chunk-JZYECQWN.js → chunk-IL6ODG6M.js} +2 -2
  167. package/dist/{chunk-GNR6YEWZ.js → chunk-IQEJIOEU.js} +6 -6
  168. package/dist/{chunk-BICNRVEC.js → chunk-IWO6QXWJ.js} +2 -2
  169. package/dist/{chunk-RN3MVLW3.js → chunk-IYKZJVL5.js} +1 -1
  170. package/dist/chunk-IYKZJVL5.js.map +1 -0
  171. package/dist/{chunk-42DJ235G.js → chunk-J272ODKJ.js} +2 -2
  172. package/dist/{chunk-R3TLVTWW.js → chunk-JDX2OA4R.js} +3 -3
  173. package/dist/{chunk-G5MO3VQA.js → chunk-JKKII6GX.js} +2 -2
  174. package/dist/{chunk-L5OXE4PX.js → chunk-JTQR6L2N.js} +3 -3
  175. package/dist/{chunk-VDX2J7OX.js → chunk-KQAFEZQX.js} +2 -2
  176. package/dist/{chunk-AKE4GGQ3.js → chunk-KQW3YGEN.js} +2 -2
  177. package/dist/{chunk-LMMQKZK3.js → chunk-L63GFNKL.js} +1 -1
  178. package/dist/{chunk-BRZWWUCJ.js → chunk-LMLGBG6H.js} +2 -2
  179. package/dist/{chunk-3IXB77DA.js → chunk-LPYYY4AP.js} +318 -278
  180. package/dist/chunk-LPYYY4AP.js.map +1 -0
  181. package/dist/{chunk-YEN4TREG.js → chunk-LQNRVPTV.js} +54 -567
  182. package/dist/chunk-LQNRVPTV.js.map +1 -0
  183. package/dist/{chunk-CQ7SSBO4.js → chunk-M6HBPLBA.js} +2 -2
  184. package/dist/chunk-MCRVQ5YQ.js +14 -0
  185. package/dist/chunk-MCRVQ5YQ.js.map +1 -0
  186. package/dist/{chunk-3YMDY3ZF.js → chunk-MUTVRKKY.js} +16 -16
  187. package/dist/{chunk-FCFAYMTU.js → chunk-NXGSONWM.js} +2 -2
  188. package/dist/{chunk-4WGAMREC.js → chunk-O4M4BDIJ.js} +2 -2
  189. package/dist/{chunk-5SYI2F47.js → chunk-O76F5QPP.js} +2 -2
  190. package/dist/{chunk-SROIT6QY.js → chunk-OPBFP4TF.js} +28 -11
  191. package/dist/chunk-OPBFP4TF.js.map +1 -0
  192. package/dist/{chunk-7MJBKZPU.js → chunk-P4ZAEYKG.js} +68 -34
  193. package/dist/chunk-P4ZAEYKG.js.map +1 -0
  194. package/dist/{chunk-57GDHV2D.js → chunk-PCOVEDPK.js} +6 -6
  195. package/dist/{chunk-PPTOAHTZ.js → chunk-PGAB2V53.js} +2 -2
  196. package/dist/{chunk-HHDTBYDJ.js → chunk-Q432REND.js} +2 -2
  197. package/dist/{chunk-XAITGGX5.js → chunk-Q4AUIFUA.js} +4 -4
  198. package/dist/{chunk-5LLQAUMI.js → chunk-Q7CLGFA7.js} +3 -3
  199. package/dist/{chunk-KUK56OPR.js → chunk-QHT7MOUF.js} +12 -12
  200. package/dist/{chunk-W6IJMWTZ.js → chunk-QTQ6XKGT.js} +4 -4
  201. package/dist/{chunk-FLLORID2.js → chunk-RLJHJQUY.js} +9 -9
  202. package/dist/{chunk-353KGBKY.js → chunk-RW4QNB4J.js} +4 -4
  203. package/dist/{chunk-GWQVMKUJ.js → chunk-SCXURCVT.js} +3 -3
  204. package/dist/{chunk-FQXJAC3T.js → chunk-SGUDMW2K.js} +4 -4
  205. package/dist/{chunk-LSDEIZ76.js → chunk-TA4C3XB7.js} +6 -6
  206. package/dist/{chunk-YIZ2EUUL.js → chunk-TNZNSMVJ.js} +94 -94
  207. package/dist/{chunk-CIYUWSMZ.js → chunk-TRLOFIQC.js} +2 -2
  208. package/dist/{chunk-TL7NLM2L.js → chunk-TSP5WH72.js} +2 -2
  209. package/dist/{chunk-3K6UFW5B.js → chunk-UHRZ324M.js} +8 -8
  210. package/dist/{chunk-JLXWRQNR.js → chunk-UZEHHXYC.js} +170 -167
  211. package/dist/chunk-UZEHHXYC.js.map +1 -0
  212. package/dist/{chunk-A5UQ52YQ.js → chunk-UZZ7SQT3.js} +5 -5
  213. package/dist/{chunk-GHX5PNXW.js → chunk-VBSNUH4J.js} +2 -2
  214. package/dist/{chunk-MR6LQVZ5.js → chunk-VJIE4D2I.js} +3 -3
  215. package/dist/{chunk-OTPXEE6W.js → chunk-VSL63CFJ.js} +15 -12
  216. package/dist/chunk-VSL63CFJ.js.map +1 -0
  217. package/dist/{chunk-2JGGZICG.js → chunk-WBM2MVBK.js} +2 -2
  218. package/dist/{chunk-CD3C4BJN.js → chunk-WIWLX65T.js} +2 -2
  219. package/dist/{chunk-GDDSXVWR.js → chunk-X4TD4O2F.js} +3 -3
  220. package/dist/{chunk-DQEMWVMT.js → chunk-X7Y7WX73.js} +1 -1
  221. package/dist/{chunk-FPQDZCUX.js → chunk-XH3HGI2N.js} +2 -2
  222. package/dist/{chunk-C6KRO3SU.js → chunk-XVDZFTN5.js} +4 -4
  223. package/dist/{chunk-3SL52JKD.js → chunk-XVZA6VXC.js} +4 -4
  224. package/dist/chunk-YDVAM7S4.js +221 -0
  225. package/dist/chunk-YDVAM7S4.js.map +1 -0
  226. package/dist/chunk-YFTNZMGR.js +71 -0
  227. package/dist/chunk-YFTNZMGR.js.map +1 -0
  228. package/dist/{chunk-VELCIWJZ.js → chunk-YKREX63Z.js} +19 -10
  229. package/dist/chunk-YKREX63Z.js.map +1 -0
  230. package/dist/{chunk-BLHX5FQW.js → chunk-YUW66UAH.js} +2 -2
  231. package/dist/{chunk-DOQLHCSS.js → chunk-ZBW7A667.js} +2 -2
  232. package/dist/{chunk-4DPDIOVA.js → chunk-ZEGL7YCC.js} +2 -2
  233. package/dist/{chunk-VVX5PZFS.js → chunk-ZHXSOMYH.js} +2 -2
  234. package/dist/{chunk-GCBIXUPT.js → chunk-ZMWSYUUL.js} +2 -2
  235. package/dist/{chunk-X2QPKLPL.js → chunk-ZZUVBZL2.js} +2 -2
  236. package/dist/{cli-1mzd5TM4.d.ts → cli-DGq0MNpO.d.ts} +5 -5
  237. package/dist/cli-fallback.d.ts +4 -2
  238. package/dist/cli-fallback.js +3 -1
  239. package/dist/cli.d.ts +16 -14
  240. package/dist/cli.js +139 -134
  241. package/dist/coding/export-okf-codegraph.d.ts +2 -1
  242. package/dist/coding/export-okf-codegraph.js +26 -25
  243. package/dist/coding/export-okf-codegraph.js.map +1 -1
  244. package/dist/coding/pre-action-gate.d.ts +2 -1
  245. package/dist/coding/pre-action-gate.js +2 -2
  246. package/dist/compat/codex-cli-fallback.d.ts +1 -1
  247. package/dist/compat/codex-cli-fallback.js +3 -1
  248. package/dist/compat/codex-cli-fallback.js.map +1 -1
  249. package/dist/compounding/engine.d.ts +3 -2
  250. package/dist/compounding/engine.js +27 -26
  251. package/dist/compounding/preference-consolidator.d.ts +2 -1
  252. package/dist/compression-optimizer.d.ts +2 -1
  253. package/dist/config.d.ts +2 -1
  254. package/dist/config.js +18 -15
  255. package/dist/connectors/codex-materialize-runner.d.ts +2 -1
  256. package/dist/connectors/codex-materialize-runner.js +26 -25
  257. package/dist/connectors/codex-materialize.d.ts +2 -1
  258. package/dist/connectors/index.d.ts +2 -1
  259. package/dist/connectors/index.js +29 -28
  260. package/dist/consolidation-provenance-check.d.ts +3 -2
  261. package/dist/consolidation-undo.d.ts +3 -2
  262. package/dist/contradiction/index.d.ts +5 -3
  263. package/dist/contradiction/index.js +7 -7
  264. package/dist/{contradiction-scan-GVD4JJ7B.js → contradiction-scan-BSGKZHYJ.js} +4 -4
  265. package/dist/contradiction-scan-BSGKZHYJ.js.map +1 -0
  266. package/dist/converge-config.d.ts +2 -1
  267. package/dist/convergence-refresh.d.ts +3 -2
  268. package/dist/convergence-refresh.js +29 -28
  269. package/dist/conversation-index/backend.d.ts +2 -1
  270. package/dist/conversation-index/chunker.d.ts +2 -1
  271. package/dist/conversation-index/faiss-adapter.d.ts +2 -1
  272. package/dist/conversation-index/indexer.d.ts +2 -1
  273. package/dist/conversation-index/search.d.ts +2 -1
  274. package/dist/corpus-watermark.d.ts +2 -1
  275. package/dist/corpus-watermark.js +29 -28
  276. package/dist/cross-lingual-recall.d.ts +2 -1
  277. package/dist/day-summary.d.ts +2 -1
  278. package/dist/deep-recall-http-glue.d.ts +14 -12
  279. package/dist/deep-recall-http-glue.js +4 -14
  280. package/dist/deep-recall-mcp-tools.d.ts +14 -12
  281. package/dist/deep-recall-policy-llm.d.ts +3 -1
  282. package/dist/deep-recall-policy-llm.js +5 -3
  283. package/dist/deep-recall-seeds.d.ts +2 -1
  284. package/dist/delinearize.d.ts +2 -1
  285. package/dist/dependency-propagation-config.d.ts +2 -1
  286. package/dist/{dependency-propagation-delivery-Bua2ApHV.d.ts → dependency-propagation-delivery-Cq1ekOwV.d.ts} +1 -1
  287. package/dist/direct-answer-wiring.d.ts +2 -1
  288. package/dist/direct-answer.d.ts +2 -1
  289. package/dist/embedding-fallback.d.ts +2 -1
  290. package/dist/enrichment/index.d.ts +2 -1
  291. package/dist/entity-origin-fields.d.ts +2 -1
  292. package/dist/entity-retrieval.d.ts +3 -2
  293. package/dist/entity-retrieval.js +28 -27
  294. package/dist/entity-schema.d.ts +2 -1
  295. package/dist/episodic-context.d.ts +2 -1
  296. package/dist/eval-trajectory-contracts.d.ts +2 -1
  297. package/dist/eval-trajectory-store.d.ts +2 -1
  298. package/dist/eval-trajectory.d.ts +2 -1
  299. package/dist/event-order-recall.js +3 -3
  300. package/dist/explicit-capture.d.ts +12 -10
  301. package/dist/explicit-capture.js +6 -6
  302. package/dist/external-wiki-access.d.ts +14 -12
  303. package/dist/external-wiki-access.js +87 -84
  304. package/dist/external-wiki-collection-registration.d.ts +2 -1
  305. package/dist/external-wiki-collection.d.ts +2 -1
  306. package/dist/external-wiki-mcp-tools.d.ts +14 -12
  307. package/dist/extraction-error-classification.d.ts +2 -1
  308. package/dist/extraction-faithfulness.d.ts +3 -1
  309. package/dist/extraction-faithfulness.js +5 -3
  310. package/dist/extraction-judge-telemetry.d.ts +3 -1
  311. package/dist/extraction-judge-training.d.ts +3 -1
  312. package/dist/extraction-judge.d.ts +3 -1
  313. package/dist/extraction-judge.js +5 -3
  314. package/dist/extraction-liveness.d.ts +2 -1
  315. package/dist/extraction-normalization.d.ts +2 -1
  316. package/dist/extraction-prompt.d.ts +2 -1
  317. package/dist/extraction-source-grounding-rules.d.ts +2 -1
  318. package/dist/extraction-source-grounding.d.ts +2 -1
  319. package/dist/extraction-source-grounding.js +3 -3
  320. package/dist/extraction-span-config.d.ts +2 -1
  321. package/dist/extraction-span-materialize.d.ts +2 -1
  322. package/dist/extraction-span-materialize.js +2 -2
  323. package/dist/extraction.d.ts +2 -1
  324. package/dist/extraction.js +46 -45
  325. package/dist/fallback-llm-codex-subscription.d.ts +79 -0
  326. package/dist/fallback-llm-codex-subscription.js +22 -0
  327. package/dist/fallback-llm-codex-subscription.js.map +1 -0
  328. package/dist/fallback-llm.d.ts +5 -1
  329. package/dist/fallback-llm.js +4 -2
  330. package/dist/{first-start-migration-GZ45G5FS.js → first-start-migration-ZWMV5CX4.js} +6 -6
  331. package/dist/{generic-recall-paths-DJBADojG.d.ts → generic-recall-paths-BcySh_f9.d.ts} +1 -1
  332. package/dist/graph-append-error.d.ts +2 -1
  333. package/dist/graph-dashboard-diff.d.ts +2 -1
  334. package/dist/graph-dashboard-key.d.ts +2 -1
  335. package/dist/graph-dashboard-parser.d.ts +2 -1
  336. package/dist/{graph-edge-decay-ROSUPDX3.js → graph-edge-decay-MKIRZ762.js} +5 -5
  337. package/dist/graph-edge-decay-MKIRZ762.js.map +1 -0
  338. package/dist/graph-edge-reinforcement.d.ts +2 -1
  339. package/dist/graph-jsonl.d.ts +2 -1
  340. package/dist/graph-jsonl.js +3 -3
  341. package/dist/graph-path-reconstruction.d.ts +2 -1
  342. package/dist/graph-path-scoring.d.ts +2 -1
  343. package/dist/graph-snapshot.d.ts +2 -1
  344. package/dist/graph-snapshot.js +3 -3
  345. package/dist/graph.d.ts +2 -1
  346. package/dist/graph.js +2 -2
  347. package/dist/harmonic-retrieval.js +3 -3
  348. package/dist/importance.d.ts +2 -1
  349. package/dist/importers/index.d.ts +2 -1
  350. package/dist/importers/test-utils.d.ts +2 -1
  351. package/dist/in-flight-reads.d.ts +2 -1
  352. package/dist/{index-Bsy8ygLL.d.ts → index-DWOb4wz9.d.ts} +2 -2
  353. package/dist/index.d.ts +713 -705
  354. package/dist/index.js +419 -346
  355. package/dist/intent.d.ts +2 -1
  356. package/dist/lcm/engine.d.ts +2 -1
  357. package/dist/lcm/engine.js +4 -4
  358. package/dist/lcm/index.d.ts +2 -1
  359. package/dist/lcm/index.js +12 -12
  360. package/dist/lcm/tools.d.ts +2 -1
  361. package/dist/lifecycle.d.ts +2 -1
  362. package/dist/live-connectors-runner.d.ts +2 -1
  363. package/dist/local-llm-config.d.ts +7 -1
  364. package/dist/local-llm-config.js +12 -0
  365. package/dist/local-llm.d.ts +2 -1
  366. package/dist/local-model-endpoint.d.ts +2 -1
  367. package/dist/location/index.d.ts +4 -3
  368. package/dist/location/index.js +60 -59
  369. package/dist/maintenance/memory-governance.d.ts +2 -1
  370. package/dist/maintenance/memory-governance.js +26 -25
  371. package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +3 -2
  372. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +27 -26
  373. package/dist/maintenance/rebuild-memory-projection.d.ts +3 -2
  374. package/dist/maintenance/rebuild-memory-projection.js +28 -27
  375. package/dist/{maintenance-DItyBwTC.d.ts → maintenance-CW9wCzMP.d.ts} +3 -3
  376. package/dist/mcp-memory-inspector-app.d.ts +14 -12
  377. package/dist/memory-action-policy.d.ts +2 -1
  378. package/dist/memory-cache.d.ts +2 -1
  379. package/dist/memory-controller.d.ts +2 -1
  380. package/dist/memory-lifecycle-ledger-utils.d.ts +2 -1
  381. package/dist/memory-projection-store.d.ts +2 -1
  382. package/dist/memory-provenance.d.ts +2 -1
  383. package/dist/memory-snapshot.d.ts +2 -1
  384. package/dist/memory-subject-cli.d.ts +14 -12
  385. package/dist/memory-subject.d.ts +14 -12
  386. package/dist/memory-worth-outcomes.d.ts +3 -2
  387. package/dist/models-json.d.ts +2 -1
  388. package/dist/namespaces/migrate.d.ts +4 -3
  389. package/dist/namespaces/migrate.js +27 -26
  390. package/dist/namespaces/principal.d.ts +2 -1
  391. package/dist/namespaces/search.d.ts +2 -1
  392. package/dist/namespaces/search.js +6 -6
  393. package/dist/namespaces/storage.d.ts +4 -3
  394. package/dist/namespaces/storage.js +26 -25
  395. package/dist/native-knowledge.d.ts +2 -1
  396. package/dist/offline-sync-impression-drain.d.ts +2 -1
  397. package/dist/offline-sync-impression-drain.js +4 -4
  398. package/dist/operator-doctor-corpus.d.ts +2 -1
  399. package/dist/operator-doctor-corpus.js +30 -29
  400. package/dist/operator-doctor-replica.d.ts +2 -1
  401. package/dist/operator-toolkit.d.ts +4 -3
  402. package/dist/operator-toolkit.js +53 -49
  403. package/dist/orchestration/compression-guideline-coordinator.d.ts +3 -2
  404. package/dist/orchestration/maintenance.d.ts +5 -4
  405. package/dist/orchestration/maintenance.js +39 -38
  406. package/dist/{orchestrator-DBUX-aAM.d.ts → orchestrator-ComHLm49.d.ts} +22 -11
  407. package/dist/orchestrator.d.ts +12 -10
  408. package/dist/orchestrator.js +224 -218
  409. package/dist/patterns-cli.d.ts +2 -1
  410. package/dist/{pipeline-BqgcOk1Z.d.ts → pipeline-CiYcqqhl.d.ts} +1 -1
  411. package/dist/policy-runtime.d.ts +2 -1
  412. package/dist/proactive-contention.d.ts +2 -1
  413. package/dist/provenance.d.ts +2 -1
  414. package/dist/provenance.js +2 -2
  415. package/dist/{public-http-CqtZ5kv3.d.ts → public-http-CuK4_Cb1.d.ts} +1 -1
  416. package/dist/qmd-preflight.d.ts +3 -2
  417. package/dist/{qmd-BD0ikV_Y.d.ts → qmd-qXD4vatU.d.ts} +1 -1
  418. package/dist/qmd-recall-cache.d.ts +2 -1
  419. package/dist/qmd.d.ts +3 -2
  420. package/dist/recall-concurrency-config.d.ts +2 -1
  421. package/dist/recall-disclosure-escalation.d.ts +2 -1
  422. package/dist/recall-explain-renderer.d.ts +2 -1
  423. package/dist/recall-explain-renderer.js +3 -3
  424. package/dist/recall-memory-map.d.ts +2 -1
  425. package/dist/recall-navigate-access.d.ts +2 -1
  426. package/dist/recall-navigate-access.js +2 -2
  427. package/dist/recall-navigate-disclosure.d.ts +2 -1
  428. package/dist/recall-navigate-disclosure.js +1 -1
  429. package/dist/recall-navigate.d.ts +2 -1
  430. package/dist/recall-navigate.js +2 -2
  431. package/dist/recall-planner-llm.d.ts +3 -1
  432. package/dist/recall-planner-llm.js +4 -2
  433. package/dist/recall-planner-llm.js.map +1 -1
  434. package/dist/recall-state-view-admission.d.ts +3 -2
  435. package/dist/recall-state-view-admission.js +9 -9
  436. package/dist/recall-state-view-anchors.d.ts +85 -0
  437. package/dist/recall-state-view-anchors.js +21 -0
  438. package/dist/recall-state-view-anchors.js.map +1 -0
  439. package/dist/recall-state-view-inject.js +2 -2
  440. package/dist/recall-state-view-render.js +2 -2
  441. package/dist/recall-state-view-widen.js +2 -2
  442. package/dist/recall-state-view-wire.js +3 -3
  443. package/dist/recall-state-view.d.ts +37 -1
  444. package/dist/recall-state-view.js +11 -3
  445. package/dist/recall-state.d.ts +2 -1
  446. package/dist/recall-tag-filter.d.ts +2 -1
  447. package/dist/recall-timings.d.ts +2 -1
  448. package/dist/recall-xray-cli.d.ts +2 -1
  449. package/dist/recall-xray-cli.js +4 -4
  450. package/dist/recall-xray-renderer.d.ts +2 -1
  451. package/dist/recall-xray-renderer.js +3 -3
  452. package/dist/recall-xray.d.ts +2 -1
  453. package/dist/recall-xray.js +2 -2
  454. package/dist/reconcile/cursor.d.ts +2 -1
  455. package/dist/reconcile/cursor.js +2 -2
  456. package/dist/reconcile/manifest.d.ts +2 -1
  457. package/dist/reconcile/manifest.js +4 -4
  458. package/dist/reconcile/plan.d.ts +2 -1
  459. package/dist/reconcile/plan.js +2 -2
  460. package/dist/replay/normalizers/chatgpt.d.ts +2 -1
  461. package/dist/replay/normalizers/claude.d.ts +2 -1
  462. package/dist/replay/normalizers/openclaw.d.ts +2 -1
  463. package/dist/replay/normalizers/shared.d.ts +2 -1
  464. package/dist/replay/runner.d.ts +2 -1
  465. package/dist/replay/types.d.ts +2 -1
  466. package/dist/replica-divergence.d.ts +2 -1
  467. package/dist/replica-peers-config.d.ts +2 -1
  468. package/dist/{resolution-OHJZG45O.js → resolution-4GG3QZRJ.js} +8 -8
  469. package/dist/resolution-4GG3QZRJ.js.map +1 -0
  470. package/dist/resolve-auth-token.d.ts +2 -1
  471. package/dist/resume-bundles.js +19 -16
  472. package/dist/retrieval-agents.d.ts +3 -2
  473. package/dist/retrieval-tiers.d.ts +2 -1
  474. package/dist/routing/engine.d.ts +2 -1
  475. package/dist/routing/store.d.ts +2 -1
  476. package/dist/salvage-envelope.d.ts +2 -1
  477. package/dist/salvage-envelope.js +2 -2
  478. package/dist/schemas.d.ts +160 -160
  479. package/dist/{scope-profiles-BIJMsd0B.d.ts → scope-profiles-BT9rqC3w.d.ts} +1 -1
  480. package/dist/search/embed-helper.d.ts +2 -1
  481. package/dist/search/factory.d.ts +2 -1
  482. package/dist/search/factory.js +5 -5
  483. package/dist/search/index.d.ts +2 -1
  484. package/dist/search/index.js +13 -13
  485. package/dist/search/lancedb-backend.d.ts +2 -1
  486. package/dist/search/meilisearch-backend.d.ts +2 -1
  487. package/dist/search/noop-backend.d.ts +2 -1
  488. package/dist/search/orama-backend.d.ts +2 -1
  489. package/dist/search/port.d.ts +2 -1
  490. package/dist/search/remote-backend.d.ts +2 -1
  491. package/dist/{semantic-consolidation-D7sJocll.d.ts → semantic-consolidation-CmZi7thY.d.ts} +1 -1
  492. package/dist/semantic-consolidation.d.ts +3 -2
  493. package/dist/semantic-consolidation.js +27 -26
  494. package/dist/semantic-rule-promotion.js +26 -25
  495. package/dist/semantic-rule-verifier.d.ts +2 -1
  496. package/dist/semantic-rule-verifier.js +26 -25
  497. package/dist/{service-fwgEngUj.d.ts → service-CLkA7AQB.d.ts} +2 -2
  498. package/dist/session-observer-bands.d.ts +2 -1
  499. package/dist/session-observer-state.d.ts +2 -1
  500. package/dist/shared-context/manager.d.ts +8 -7
  501. package/dist/signal.d.ts +2 -1
  502. package/dist/source-agent-qualifier.d.ts +2 -1
  503. package/dist/source-agent-qualifier.js +41 -40
  504. package/dist/standup/build.js +27 -26
  505. package/dist/{storage-Cbll3-Tk.d.ts → storage-wvX01lht.d.ts} +1 -1
  506. package/dist/storage.d.ts +3 -2
  507. package/dist/storage.js +25 -24
  508. package/dist/subject-config.d.ts +2 -1
  509. package/dist/subject-config.js +2 -2
  510. package/dist/summarizer.d.ts +2 -1
  511. package/dist/summarizer.js +6 -3
  512. package/dist/summary-snapshot.d.ts +2 -1
  513. package/dist/support-passport/index.d.ts +17 -15
  514. package/dist/support-passport/index.js +92 -89
  515. package/dist/temporal-supersession.d.ts +3 -2
  516. package/dist/temporal-timeline-recall.d.ts +2 -1
  517. package/dist/temporal-validity.d.ts +2 -1
  518. package/dist/threading.d.ts +2 -1
  519. package/dist/tier-migration.d.ts +3 -2
  520. package/dist/tier-routing.d.ts +2 -1
  521. package/dist/tier-routing.js +3 -3
  522. package/dist/{tier-stats-VK5PCO2L.js → tier-stats-LUSUUNU6.js} +4 -4
  523. package/dist/topics.d.ts +2 -1
  524. package/dist/transcript.d.ts +2 -1
  525. package/dist/transfer/backup.js +2 -2
  526. package/dist/transfer/capsule-export.js +2 -2
  527. package/dist/transfer/capsule-import.js +3 -3
  528. package/dist/transfer/export-okf.d.ts +2 -1
  529. package/dist/transfer/export-okf.js +26 -25
  530. package/dist/transfer/types.d.ts +78 -78
  531. package/dist/trust-score-stage.d.ts +2 -1
  532. package/dist/trust-score.d.ts +2 -1
  533. package/dist/{types-48sPkWB0.d.ts → types-Cyr32ABj.d.ts} +3 -1
  534. package/dist/types.d.ts +2 -1
  535. package/dist/types.js +1 -1
  536. package/dist/utility-runtime.d.ts +2 -1
  537. package/dist/verified-recall.js +26 -25
  538. package/dist/who-knows-cli.d.ts +14 -12
  539. package/dist/who-knows-cli.js +27 -26
  540. package/dist/who-knows.d.ts +14 -12
  541. package/dist/who-knows.js +26 -25
  542. package/dist/write-envelope.d.ts +7 -1
  543. package/dist/write-envelope.js +1 -1
  544. package/package.json +2 -2
  545. package/src/access-boundary.ts +21 -6
  546. package/src/access-category-alias.test.ts +488 -51
  547. package/src/access-http.test.ts +249 -0
  548. package/src/access-http.ts +2 -0
  549. package/src/access-mcp.test.ts +2 -2
  550. package/src/access-observe-write-category.ts +25 -0
  551. package/src/access-observe-write-surface.ts +58 -57
  552. package/src/access-operations-batch.ts +28 -2
  553. package/src/access-operations.ts +6 -4
  554. package/src/access-schema.ts +106 -50
  555. package/src/access-service.ts +23 -9
  556. package/src/background-generation-config.ts +79 -0
  557. package/src/background-generation.test.ts +123 -0
  558. package/src/background-generation.ts +52 -0
  559. package/src/cli-fallback.ts +8 -2
  560. package/src/config.test.ts +172 -0
  561. package/src/config.ts +2 -43
  562. package/src/fallback-llm-codex-subscription.ts +168 -0
  563. package/src/fallback-llm.test.ts +46 -0
  564. package/src/fallback-llm.ts +60 -48
  565. package/src/index.ts +2 -16
  566. package/src/local-llm-config.ts +84 -0
  567. package/src/orchestration/recall-internal.ts +91 -74
  568. package/src/orchestration/recall-rerank-coordinator.ts +41 -4
  569. package/src/orchestration/recall-search-pipeline.ts +25 -18
  570. package/src/orchestration/recall-state-view-pipeline.test.ts +89 -0
  571. package/src/providers/codex-subscription.test.ts +804 -1
  572. package/src/providers/codex-subscription.ts +407 -65
  573. package/src/recall-rerank-coordinator.test.ts +153 -0
  574. package/src/recall-state-view-anchors.ts +163 -0
  575. package/src/recall-state-view-widen.ts +21 -7
  576. package/src/recall-state-view-zero-diff.test.ts +30 -0
  577. package/src/recall-state-view.test.ts +161 -0
  578. package/src/recall-state-view.ts +206 -35
  579. package/src/summarizer.ts +25 -0
  580. package/src/trust-score-recall-paths.test.ts +1 -1
  581. package/src/types.ts +3 -2
  582. package/src/write-envelope.ts +5 -0
  583. package/dist/chunk-255PC37A.js +0 -120
  584. package/dist/chunk-255PC37A.js.map +0 -1
  585. package/dist/chunk-3IXB77DA.js.map +0 -1
  586. package/dist/chunk-65RENJGB.js.map +0 -1
  587. package/dist/chunk-7MJBKZPU.js.map +0 -1
  588. package/dist/chunk-D2DIYEFW.js.map +0 -1
  589. package/dist/chunk-DOKKRZPH.js.map +0 -1
  590. package/dist/chunk-JLXWRQNR.js.map +0 -1
  591. package/dist/chunk-JR6PP7UM.js.map +0 -1
  592. package/dist/chunk-LSLCFCCQ.js.map +0 -1
  593. package/dist/chunk-OTPXEE6W.js.map +0 -1
  594. package/dist/chunk-RN3MVLW3.js.map +0 -1
  595. package/dist/chunk-SROIT6QY.js.map +0 -1
  596. package/dist/chunk-VELCIWJZ.js.map +0 -1
  597. package/dist/chunk-YEN4TREG.js.map +0 -1
  598. /package/dist/{capsule-crypto-YO5QJ6L3.js.map → access-observe-write-category.js.map} +0 -0
  599. /package/dist/{contradiction-scan-GVD4JJ7B.js.map → background-generation-config.js.map} +0 -0
  600. /package/dist/{graph-edge-decay-ROSUPDX3.js.map → background-generation.js.map} +0 -0
  601. /package/dist/{resolution-OHJZG45O.js.map → capsule-crypto-7FJQINUR.js.map} +0 -0
  602. /package/dist/{capsule-merge-ZCXUPLNJ.js.map → capsule-merge-IPG4IOFP.js.map} +0 -0
  603. /package/dist/{chunk-YHU5XUF4.js.map → chunk-27MKMTBY.js.map} +0 -0
  604. /package/dist/{chunk-TK4FHQRN.js.map → chunk-2J3V5QEO.js.map} +0 -0
  605. /package/dist/{chunk-BXLOS5AJ.js.map → chunk-2NLLXCJG.js.map} +0 -0
  606. /package/dist/{chunk-TFRDUD3M.js.map → chunk-2ZTDRNCS.js.map} +0 -0
  607. /package/dist/{chunk-PWPIERBM.js.map → chunk-37CAEC7E.js.map} +0 -0
  608. /package/dist/{chunk-X7BCM2NA.js.map → chunk-3EKVN2OP.js.map} +0 -0
  609. /package/dist/{chunk-S2ULTQZR.js.map → chunk-3N3PBBEH.js.map} +0 -0
  610. /package/dist/{chunk-XCF3SFHD.js.map → chunk-3NPNBVFR.js.map} +0 -0
  611. /package/dist/{chunk-JO5TQAKW.js.map → chunk-4BCHFSC7.js.map} +0 -0
  612. /package/dist/{chunk-Q6D7EUSQ.js.map → chunk-4JVQRFZD.js.map} +0 -0
  613. /package/dist/{chunk-YEDVOYL2.js.map → chunk-4RX5O34R.js.map} +0 -0
  614. /package/dist/{chunk-JMPYZJQN.js.map → chunk-4RZLTZVM.js.map} +0 -0
  615. /package/dist/{chunk-Q7JK6YEB.js.map → chunk-54NX5EG4.js.map} +0 -0
  616. /package/dist/{chunk-GWK7FEUL.js.map → chunk-5FAGCOZD.js.map} +0 -0
  617. /package/dist/{chunk-2PUE5P7C.js.map → chunk-5N4MZLEH.js.map} +0 -0
  618. /package/dist/{chunk-B2YKTE7P.js.map → chunk-5SPCMAUC.js.map} +0 -0
  619. /package/dist/{chunk-3OHISDDW.js.map → chunk-5U7K4W6K.js.map} +0 -0
  620. /package/dist/{chunk-CYEMS2PG.js.map → chunk-5YCNDC3C.js.map} +0 -0
  621. /package/dist/{chunk-PAAJWQH5.js.map → chunk-62D2PAAM.js.map} +0 -0
  622. /package/dist/{chunk-52II7PB6.js.map → chunk-645WOU5I.js.map} +0 -0
  623. /package/dist/{chunk-326KUXIR.js.map → chunk-6EHM2AV7.js.map} +0 -0
  624. /package/dist/{chunk-YM7YN37H.js.map → chunk-6ET2VII7.js.map} +0 -0
  625. /package/dist/{chunk-A2YQL2FF.js.map → chunk-6P4REYKL.js.map} +0 -0
  626. /package/dist/{chunk-7RKBPXY6.js.map → chunk-6YAIN5XJ.js.map} +0 -0
  627. /package/dist/{chunk-2L5FSNPC.js.map → chunk-A7GQBJP5.js.map} +0 -0
  628. /package/dist/{chunk-UYVXIY6C.js.map → chunk-AAZEKXUP.js.map} +0 -0
  629. /package/dist/{chunk-IQZ6ISFX.js.map → chunk-AECJY3GJ.js.map} +0 -0
  630. /package/dist/{chunk-76DRU7C4.js.map → chunk-AENM6GKU.js.map} +0 -0
  631. /package/dist/{chunk-KTRXQQFN.js.map → chunk-B36GUU6T.js.map} +0 -0
  632. /package/dist/{chunk-TLHNF6GA.js.map → chunk-BV4ZKIZH.js.map} +0 -0
  633. /package/dist/{chunk-ZWEZXVYH.js.map → chunk-CEO4DONG.js.map} +0 -0
  634. /package/dist/{chunk-ZEPVWLCN.js.map → chunk-CZTPU65V.js.map} +0 -0
  635. /package/dist/{chunk-TRU6JBOI.js.map → chunk-D545Z7UH.js.map} +0 -0
  636. /package/dist/{chunk-6E5GYDIE.js.map → chunk-DGS34QSY.js.map} +0 -0
  637. /package/dist/{chunk-6Z3WW2MW.js.map → chunk-ENBPQEVU.js.map} +0 -0
  638. /package/dist/{chunk-PNEDMJ53.js.map → chunk-F4EHXVP7.js.map} +0 -0
  639. /package/dist/{chunk-JPKZTCWZ.js.map → chunk-FNHLI2RE.js.map} +0 -0
  640. /package/dist/{chunk-M3MYMWXG.js.map → chunk-FXHOZGSE.js.map} +0 -0
  641. /package/dist/{chunk-SAKA6PPL.js.map → chunk-GAS7KYC7.js.map} +0 -0
  642. /package/dist/{chunk-2AR5JFD7.js.map → chunk-GG5FHZJJ.js.map} +0 -0
  643. /package/dist/{chunk-WS3WNLST.js.map → chunk-GI4ZBWPQ.js.map} +0 -0
  644. /package/dist/{chunk-JYR4LH76.js.map → chunk-GMIQV6DD.js.map} +0 -0
  645. /package/dist/{chunk-WIKO4SCR.js.map → chunk-H3TKENU4.js.map} +0 -0
  646. /package/dist/{chunk-ZLN7AROH.js.map → chunk-HIP6DKJJ.js.map} +0 -0
  647. /package/dist/{chunk-SF6RFI5Z.js.map → chunk-HWLIMQE2.js.map} +0 -0
  648. /package/dist/{chunk-JZYECQWN.js.map → chunk-IL6ODG6M.js.map} +0 -0
  649. /package/dist/{chunk-GNR6YEWZ.js.map → chunk-IQEJIOEU.js.map} +0 -0
  650. /package/dist/{chunk-BICNRVEC.js.map → chunk-IWO6QXWJ.js.map} +0 -0
  651. /package/dist/{chunk-42DJ235G.js.map → chunk-J272ODKJ.js.map} +0 -0
  652. /package/dist/{chunk-R3TLVTWW.js.map → chunk-JDX2OA4R.js.map} +0 -0
  653. /package/dist/{chunk-G5MO3VQA.js.map → chunk-JKKII6GX.js.map} +0 -0
  654. /package/dist/{chunk-L5OXE4PX.js.map → chunk-JTQR6L2N.js.map} +0 -0
  655. /package/dist/{chunk-VDX2J7OX.js.map → chunk-KQAFEZQX.js.map} +0 -0
  656. /package/dist/{chunk-AKE4GGQ3.js.map → chunk-KQW3YGEN.js.map} +0 -0
  657. /package/dist/{chunk-LMMQKZK3.js.map → chunk-L63GFNKL.js.map} +0 -0
  658. /package/dist/{chunk-BRZWWUCJ.js.map → chunk-LMLGBG6H.js.map} +0 -0
  659. /package/dist/{chunk-CQ7SSBO4.js.map → chunk-M6HBPLBA.js.map} +0 -0
  660. /package/dist/{chunk-3YMDY3ZF.js.map → chunk-MUTVRKKY.js.map} +0 -0
  661. /package/dist/{chunk-FCFAYMTU.js.map → chunk-NXGSONWM.js.map} +0 -0
  662. /package/dist/{chunk-4WGAMREC.js.map → chunk-O4M4BDIJ.js.map} +0 -0
  663. /package/dist/{chunk-5SYI2F47.js.map → chunk-O76F5QPP.js.map} +0 -0
  664. /package/dist/{chunk-57GDHV2D.js.map → chunk-PCOVEDPK.js.map} +0 -0
  665. /package/dist/{chunk-PPTOAHTZ.js.map → chunk-PGAB2V53.js.map} +0 -0
  666. /package/dist/{chunk-HHDTBYDJ.js.map → chunk-Q432REND.js.map} +0 -0
  667. /package/dist/{chunk-XAITGGX5.js.map → chunk-Q4AUIFUA.js.map} +0 -0
  668. /package/dist/{chunk-5LLQAUMI.js.map → chunk-Q7CLGFA7.js.map} +0 -0
  669. /package/dist/{chunk-KUK56OPR.js.map → chunk-QHT7MOUF.js.map} +0 -0
  670. /package/dist/{chunk-W6IJMWTZ.js.map → chunk-QTQ6XKGT.js.map} +0 -0
  671. /package/dist/{chunk-FLLORID2.js.map → chunk-RLJHJQUY.js.map} +0 -0
  672. /package/dist/{chunk-353KGBKY.js.map → chunk-RW4QNB4J.js.map} +0 -0
  673. /package/dist/{chunk-GWQVMKUJ.js.map → chunk-SCXURCVT.js.map} +0 -0
  674. /package/dist/{chunk-FQXJAC3T.js.map → chunk-SGUDMW2K.js.map} +0 -0
  675. /package/dist/{chunk-LSDEIZ76.js.map → chunk-TA4C3XB7.js.map} +0 -0
  676. /package/dist/{chunk-YIZ2EUUL.js.map → chunk-TNZNSMVJ.js.map} +0 -0
  677. /package/dist/{chunk-CIYUWSMZ.js.map → chunk-TRLOFIQC.js.map} +0 -0
  678. /package/dist/{chunk-TL7NLM2L.js.map → chunk-TSP5WH72.js.map} +0 -0
  679. /package/dist/{chunk-3K6UFW5B.js.map → chunk-UHRZ324M.js.map} +0 -0
  680. /package/dist/{chunk-A5UQ52YQ.js.map → chunk-UZZ7SQT3.js.map} +0 -0
  681. /package/dist/{chunk-GHX5PNXW.js.map → chunk-VBSNUH4J.js.map} +0 -0
  682. /package/dist/{chunk-MR6LQVZ5.js.map → chunk-VJIE4D2I.js.map} +0 -0
  683. /package/dist/{chunk-2JGGZICG.js.map → chunk-WBM2MVBK.js.map} +0 -0
  684. /package/dist/{chunk-CD3C4BJN.js.map → chunk-WIWLX65T.js.map} +0 -0
  685. /package/dist/{chunk-GDDSXVWR.js.map → chunk-X4TD4O2F.js.map} +0 -0
  686. /package/dist/{chunk-DQEMWVMT.js.map → chunk-X7Y7WX73.js.map} +0 -0
  687. /package/dist/{chunk-FPQDZCUX.js.map → chunk-XH3HGI2N.js.map} +0 -0
  688. /package/dist/{chunk-C6KRO3SU.js.map → chunk-XVDZFTN5.js.map} +0 -0
  689. /package/dist/{chunk-3SL52JKD.js.map → chunk-XVZA6VXC.js.map} +0 -0
  690. /package/dist/{chunk-BLHX5FQW.js.map → chunk-YUW66UAH.js.map} +0 -0
  691. /package/dist/{chunk-DOQLHCSS.js.map → chunk-ZBW7A667.js.map} +0 -0
  692. /package/dist/{chunk-4DPDIOVA.js.map → chunk-ZEGL7YCC.js.map} +0 -0
  693. /package/dist/{chunk-VVX5PZFS.js.map → chunk-ZHXSOMYH.js.map} +0 -0
  694. /package/dist/{chunk-GCBIXUPT.js.map → chunk-ZMWSYUUL.js.map} +0 -0
  695. /package/dist/{chunk-X2QPKLPL.js.map → chunk-ZZUVBZL2.js.map} +0 -0
  696. /package/dist/{first-start-migration-GZ45G5FS.js.map → first-start-migration-ZWMV5CX4.js.map} +0 -0
  697. /package/dist/{tier-stats-VK5PCO2L.js.map → tier-stats-LUSUUNU6.js.map} +0 -0
@@ -1,12 +1,12 @@
1
- import {
2
- OKF_RESERVED_BASENAMES
3
- } from "./chunk-PCEYGOSL.js";
4
1
  import {
5
2
  isActivityDigestPath,
6
3
  isArtifactMemoryPath,
7
4
  isLocationDayPath,
8
5
  isMeetingRecordPath
9
- } from "./chunk-TLHNF6GA.js";
6
+ } from "./chunk-BV4ZKIZH.js";
7
+ import {
8
+ OKF_RESERVED_BASENAMES
9
+ } from "./chunk-PCEYGOSL.js";
10
10
  import {
11
11
  isExternalWikiCollectionName
12
12
  } from "./chunk-JV3C2MNQ.js";
@@ -208,4 +208,4 @@ export {
208
208
  isGenericRecallExcludedPath,
209
209
  filterRecallCandidates
210
210
  };
211
- //# sourceMappingURL=chunk-A5UQ52YQ.js.map
211
+ //# sourceMappingURL=chunk-UZZ7SQT3.js.map
@@ -14,7 +14,7 @@ import {
14
14
  } from "./chunk-3UXOZBHV.js";
15
15
  import {
16
16
  StorageManager
17
- } from "./chunk-ZEPVWLCN.js";
17
+ } from "./chunk-CZTPU65V.js";
18
18
  import {
19
19
  OKF_PROFILE_TYPE,
20
20
  okfTypeForMemory
@@ -272,4 +272,4 @@ export {
272
272
  exportOkfBundle,
273
273
  firstHeading
274
274
  };
275
- //# sourceMappingURL=chunk-GHX5PNXW.js.map
275
+ //# sourceMappingURL=chunk-VBSNUH4J.js.map
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-V6EGNVUT.js";
8
8
  import {
9
9
  StorageManager
10
- } from "./chunk-ZEPVWLCN.js";
10
+ } from "./chunk-CZTPU65V.js";
11
11
  import {
12
12
  projectProceduresToSkills
13
13
  } from "./chunk-236PXYG7.js";
@@ -16,7 +16,7 @@ import {
16
16
  } from "./chunk-ZCUTSMR2.js";
17
17
  import {
18
18
  excludeSupportPassportPrivateMemories
19
- } from "./chunk-PWPIERBM.js";
19
+ } from "./chunk-37CAEC7E.js";
20
20
  import {
21
21
  isSafeRouteNamespace
22
22
  } from "./chunk-PCXDUHQH.js";
@@ -134,4 +134,4 @@ export {
134
134
  runCodexMaterialize,
135
135
  runPostConsolidationMaterialize
136
136
  };
137
- //# sourceMappingURL=chunk-MR6LQVZ5.js.map
137
+ //# sourceMappingURL=chunk-VJIE4D2I.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  buildStandup,
3
3
  parseStandupDate
4
- } from "./chunk-TL7NLM2L.js";
4
+ } from "./chunk-TSP5WH72.js";
5
5
  import {
6
6
  backfillMemoryStorage,
7
7
  runLocationBackfill,
@@ -9,26 +9,27 @@ import {
9
9
  runLocationDay,
10
10
  runLocationStatus,
11
11
  runLocationSync
12
- } from "./chunk-57GDHV2D.js";
12
+ } from "./chunk-PCOVEDPK.js";
13
13
  import {
14
14
  externalWikiSearchOperation
15
- } from "./chunk-PNEDMJ53.js";
15
+ } from "./chunk-F4EHXVP7.js";
16
16
  import {
17
17
  DECISION_SUBCOMMANDS,
18
18
  DELTA_SUBCOMMANDS,
19
19
  defineOperation,
20
20
  isCodegraphToolName
21
- } from "./chunk-JLXWRQNR.js";
21
+ } from "./chunk-UZEHHXYC.js";
22
22
  import {
23
23
  CorrectionContractError
24
24
  } from "./chunk-QLK3SL7Q.js";
25
- import {
26
- memoryStoreRequestSchema
27
- } from "./chunk-7MJBKZPU.js";
28
25
  import {
29
26
  serializeMutations,
30
27
  withHeldFileLock
31
28
  } from "./chunk-FFAZ2XFU.js";
29
+ import {
30
+ memoryStoreRequestSchema,
31
+ retainedCategoryAlias
32
+ } from "./chunk-P4ZAEYKG.js";
32
33
  import {
33
34
  EngramAccessInputError
34
35
  } from "./chunk-2Z24E5W2.js";
@@ -1484,16 +1485,18 @@ var memorySearchOperation = defineOperation({
1484
1485
  var memoryStoreOperation = defineOperation({
1485
1486
  name: "memory_store",
1486
1487
  description: "Store an explicit memory through the access layer.",
1487
- // Reuse the existing schema verbatim the migration is behavior-preserving;
1488
- // the schema's external contract is NOT changing in this PR (per the issue's
1489
- // pitfall note).
1488
+ // The canonical wire schema (issue #2482): its category transform already
1489
+ // mapped compat aliases to "fact", so `input.category` is finite here. The
1490
+ // raw spelling survives on `ctx.rawInput` for the coercion note (#2829).
1490
1491
  schema: memoryStoreRequestSchema,
1491
1492
  handler: async (input, ctx) => {
1493
+ const rawCategory = retainedCategoryAlias(ctx.rawInput);
1492
1494
  const result = await ctx.service.memoryStore(
1493
1495
  {
1494
1496
  ...input,
1495
1497
  authenticatedPrincipal: ctx.authenticatedPrincipal,
1496
- ...ctx.sourceConnector ? { sourceConnector: ctx.sourceConnector } : {}
1498
+ ...ctx.sourceConnector ? { sourceConnector: ctx.sourceConnector } : {},
1499
+ ...rawCategory ? { rawCategory } : {}
1497
1500
  },
1498
1501
  // Forward transport-level hooks (e.g. HTTP's atomic write-quota gate)
1499
1502
  // so the hook still fires inside the service's idempotent-write lock —
@@ -1911,4 +1914,4 @@ export {
1911
1914
  codegraphIngestTracesOperation,
1912
1915
  REGISTERED_OPERATIONS
1913
1916
  };
1914
- //# sourceMappingURL=chunk-OTPXEE6W.js.map
1917
+ //# sourceMappingURL=chunk-VSL63CFJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/access-operations.ts","../src/relay/mission-access.ts","../src/relay/mission.ts","../src/location/access-operations.ts","../src/standup/access-operations.ts"],"sourcesContent":["/**\n * Pilot operation definitions for the access boundary (issue #1525).\n *\n * Three operations migrate through the registry in this PR — `memory_get`,\n * `memory_search`, and the `memory_store` write op — so the boundary's\n * normalization matrix (rules 17/28/36/48/51) and shared error mapping reach\n * MCP, HTTP, and CLI from one place. Domain-group migrations (memory ops →\n * connectors → namespaces …) land as follow-up PRs that add `defineOperation`\n * calls here and delete the surface-local validation they replace.\n *\n * Importing this module for its side effects registers the pilot operations;\n * surfaces then dispatch via {@link getOperation} from `./access-boundary.js`.\n */\n\nimport { z } from \"zod\";\n\nimport { defineOperation } from \"./access-boundary.js\";\nimport { memoryStoreRequestSchema, retainedCategoryAlias, type MemoryStoreRequest } from \"./access-schema.js\";\nimport { EngramAccessInputError } from \"./access-service.js\";\nimport { CorrectionContractError } from \"./correction/correction-contract.js\";\nimport { externalWikiSearchOperation } from \"./external-wiki-access.js\";\nimport type {\n EngramAccessMemoryResponse,\n EngramAccessWriteResponse,\n} from \"./access-service.js\";\nimport {\n DECISION_SUBCOMMANDS,\n type DecisionSurfaceRequest,\n type DecisionSurfaceResponse,\n} from \"./coding/decision-surfaces.js\";\nimport {\n type ArchitectureSurfaceRequest,\n type ArchitectureSurfaceResponse,\n} from \"./coding/architecture-surfaces.js\";\nimport {\n type CodegraphSurfaceRequest,\n type CodegraphSurfaceResponse,\n isCodegraphToolName,\n} from \"./coding/codegraph-surfaces.js\";\nimport {\n DELTA_SUBCOMMANDS,\n type DeltaSurfaceRequest,\n type DeltaSurfaceResponse,\n} from \"./coding/session-delta-surfaces.js\";\n\n// ---------------------------------------------------------------------------\n// memory_get — fetch one memory by id\n// ---------------------------------------------------------------------------\n\n/**\n * `memoryId` is required and non-empty (rule 51: the MCP dispatcher previously\n * fell back to `typeof args.memoryId === \"string\" ? args.memoryId : \"\"`,\n * silently passing an empty id into the service). `namespace` is\n * `.nullable().optional()` because MCP clients send `null` (gotcha #2).\n * `namespace` has no `.min(1)` because the pre-boundary handlers forwarded\n * empty/whitespace strings, and `resolveNamespace` treats empty identically\n * to absent (both trim to falsy → default namespace). Rejecting empty would\n * break HTTP callers that send a bare `?namespace=` (Cursor review).\n */\nconst memoryGetSchema = z.object({\n memoryId: z.string().trim().min(1, \"memoryId is required\").max(512),\n // Issue #1582 — when memoryId is a `[m:xxxx]` handle, sessionKey scopes the\n // resolution to this session's recent recall history.\n sessionKey: z.string().trim().min(1).max(512).nullable().optional(),\n namespace: z.string().trim().max(256).nullable().optional(),\n});\n\nexport interface MemoryGetInput {\n readonly memoryId: string;\n readonly sessionKey?: string | null;\n readonly namespace?: string | null;\n}\n\nexport interface MemoryGetOutput {\n readonly result: EngramAccessMemoryResponse;\n}\n\nexport const memoryGetOperation = defineOperation<MemoryGetInput, MemoryGetOutput>({\n name: \"memory_get\",\n description: \"Fetch one memory by id.\",\n schema: memoryGetSchema,\n handler: async (input, ctx) => {\n const result = await ctx.service.memoryGet(\n input.memoryId,\n input.namespace ?? undefined,\n ctx.authenticatedPrincipal,\n input.sessionKey ?? undefined,\n );\n return { result };\n },\n});\n\n// ---------------------------------------------------------------------------\n// memory_search — semantic search across memories\n// ---------------------------------------------------------------------------\n\nconst memorySearchSchema = z.object({\n query: z.string().trim().min(1, \"query is required\").max(2048),\n namespace: z.string().trim().max(256).nullable().optional(),\n // No upper cap: the pre-boundary MCP handler forwarded any finite number to\n // memorySearch, and the QMD/search backends honor large limits. Capping at\n // 100 would reject existing clients that request larger result sets.\n maxResults: z.number().int().min(1).nullable().optional(),\n collection: z.string().trim().min(1).max(256).nullable().optional(),\n // Ranking mode. Mirrors the in-process manager's override so a host that\n // asks for vector or lexical ranking gets the same semantics whether it\n // talks to an embedded orchestrator or a standalone daemon (issue #2120).\n mode: z.enum([\"search\", \"hybrid\", \"bm25\", \"vector\"]).nullable().optional(),\n});\n\nexport interface MemorySearchInput {\n readonly query: string;\n readonly namespace?: string | null;\n readonly maxResults?: number | null;\n readonly collection?: string | null;\n readonly mode?: \"search\" | \"hybrid\" | \"bm25\" | \"vector\" | null;\n}\n\nexport interface MemorySearchOutput {\n readonly result: {\n readonly query: string;\n readonly results: ReadonlyArray<{ path: string; score: number; snippet: string }>;\n readonly count: number;\n };\n}\n\nexport const memorySearchOperation = defineOperation<MemorySearchInput, MemorySearchOutput>({\n name: \"memory_search\",\n description: \"Search memories across readable namespaces.\",\n schema: memorySearchSchema,\n handler: async (input, ctx) => {\n const result = await ctx.service.memorySearch({\n query: input.query,\n namespace: input.namespace ?? undefined,\n maxResults: input.maxResults ?? undefined,\n collection: input.collection ?? undefined,\n mode: input.mode ?? undefined,\n principal: ctx.authenticatedPrincipal,\n });\n return { result };\n },\n});\n\n// ---------------------------------------------------------------------------\n// memory_store — the pilot WRITE op\n// ---------------------------------------------------------------------------\n\nexport type MemoryStoreInput = MemoryStoreRequest;\n\nexport interface MemoryStoreOutput {\n readonly result: EngramAccessWriteResponse;\n}\n\nexport const memoryStoreOperation = defineOperation<MemoryStoreInput, MemoryStoreOutput>({\n name: \"memory_store\",\n description: \"Store an explicit memory through the access layer.\",\n // The canonical wire schema (issue #2482): its category transform already\n // mapped compat aliases to \"fact\", so `input.category` is finite here. The\n // raw spelling survives on `ctx.rawInput` for the coercion note (#2829).\n schema: memoryStoreRequestSchema,\n handler: async (input, ctx) => {\n const rawCategory = retainedCategoryAlias(ctx.rawInput);\n const result = await ctx.service.memoryStore(\n {\n ...input,\n authenticatedPrincipal: ctx.authenticatedPrincipal,\n ...(ctx.sourceConnector ? { sourceConnector: ctx.sourceConnector } : {}),\n ...(rawCategory ? { rawCategory } : {}),\n },\n // Forward transport-level hooks (e.g. HTTP's atomic write-quota gate)\n // so the hook still fires inside the service's idempotent-write lock —\n // never before, never on a replay (#1434 invariant preserved by the\n // boundary migration).\n\n ctx.hooks,\n );\n return { result };\n },\n});\n\n// ---------------------------------------------------------------------------\n// coding_decision — decision-record surfaces (issue #1548 Track A PR 2)\n// ---------------------------------------------------------------------------\n\n/**\n * The subcommand field is required and MUST be one of the four valid values\n * (rule 51 — reject loudly, list the options, never silently default). The\n * remaining fields are optional because each subcommand uses a different\n * subset; the handler validates subcommand-specific requirements after\n * routing.\n */\n/**\n * MCP clients send `null` for absent optional fields. Zod `.optional()`\n * rejects `null`, so strip nulls at the object level before the inner\n * schema validates (review: cursor null-field thread).\n */\nconst codingDecisionSchema = z.preprocess(\n (data) => {\n if (data && typeof data === \"object\" && !Array.isArray(data)) {\n const out: Record<string, unknown> = {};\n for (const [k, v] of Object.entries(data as Record<string, unknown>)) {\n if (v !== null) out[k] = v;\n }\n return out;\n }\n return data;\n },\n z.object({\n subcommand: z.enum(DECISION_SUBCOMMANDS),\n sessionKey: z.string().trim().max(512).optional(),\n namespace: z.string().trim().max(256).optional(),\n id: z.string().trim().max(512).optional(),\n title: z.string().trim().max(512).optional(),\n status: z.string().trim().max(64).optional(),\n context: z.string().trim().max(8192).optional(),\n decision: z.string().trim().max(8192).optional(),\n consequences: z.string().trim().max(8192).optional(),\n entityRefs: z.array(z.string().trim().min(1).max(256)).optional(),\n supersedesId: z.string().trim().max(512).optional(),\n }),\n);\n\nexport type CodingDecisionInput = DecisionSurfaceRequest;\nexport type CodingDecisionOutput = { result: DecisionSurfaceResponse };\n\nexport const codingDecisionOperation = defineOperation<\n CodingDecisionInput,\n CodingDecisionOutput\n>({\n name: \"coding_decision\",\n description:\n \"List, get, record, or supersede decision records in the session's coding namespace (issue #1548 Track A).\",\n schema: codingDecisionSchema as z.ZodType<CodingDecisionInput>,\n handler: async (input, ctx) => {\n const result = await ctx.service.codingDecision(input, ctx.authenticatedPrincipal, ctx.sourceConnector);\n return { result };\n },\n});\n\n// ---------------------------------------------------------------------------\n// coding_architecture — architecture-card surfaces (issue #1548 Track A PR 3)\n// ---------------------------------------------------------------------------\n\nconst codingArchitectureSchema = z.preprocess(\n (data) => {\n if (data !== null && typeof data === \"object\" && !Array.isArray(data)) {\n const obj = data as Record<string, unknown>;\n const cleaned: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(obj)) {\n if (value !== null) cleaned[key] = value;\n }\n return cleaned;\n }\n return data;\n },\n z.object({\n subcommand: z.enum([\"get\", \"refresh\"]),\n sessionKey: z.string().optional(),\n namespace: z.string().optional(),\n }),\n);\n\nexport type CodingArchitectureInput = ArchitectureSurfaceRequest;\nexport type CodingArchitectureOutput = { result: ArchitectureSurfaceResponse };\n\nexport const codingArchitectureOperation = defineOperation<\n CodingArchitectureInput,\n CodingArchitectureOutput\n>({\n name: \"coding_architecture\",\n description:\n \"Get or refresh the architecture card for the session's coding namespace (issue #1548 Track A PR 3).\",\n schema: codingArchitectureSchema as z.ZodType<CodingArchitectureInput>,\n handler: async (input, ctx) => {\n const result = await ctx.service.codingArchitecture(input, ctx.authenticatedPrincipal, ctx.sourceConnector);\n return { result };\n },\n});\n\nconst codegraphSurfaceSchema = z.preprocess(\n (data) => {\n if (data !== null && typeof data === \"object\" && !Array.isArray(data)) {\n const obj = data as Record<string, unknown>;\n const cleaned: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(obj)) {\n if (value !== null) cleaned[key] = value;\n }\n return cleaned;\n }\n return data;\n },\n z.object({\n tool: z.string().refine(isCodegraphToolName, {\n message: \"tool must be one of the codegraph tool names\",\n }),\n sessionKey: z.string().max(512).optional(),\n principal: z.string().max(256).optional(),\n project: z.string().max(256).optional(),\n query: z.string().max(2048).optional(),\n limit: z.number().int().positive().max(200).optional(),\n start: z.string().max(512).optional(),\n direction: z.string().max(64).optional(),\n depth: z.number().int().positive().max(10).optional(),\n qualifiedName: z.string().max(1024).optional(),\n path: z.string().max(2048).optional(),\n structuredQuery: z.record(z.string(), z.unknown()).optional(),\n head: z.string().max(256).optional(),\n repoRoot: z.string().max(2048).optional(),\n mode: z.string().max(64).optional(),\n confirm: z.boolean().optional(),\n subcommand: z.string().max(64).optional(),\n id: z.string().max(512).optional(),\n title: z.string().max(512).optional(),\n status: z.string().max(64).optional(),\n context: z.string().max(8192).optional(),\n decision: z.string().max(8192).optional(),\n consequences: z.string().max(8192).optional(),\n entityRefs: z.array(z.string().max(256)).optional(),\n supersedesId: z.string().max(512).optional(),\n traces: z.array(z.unknown()).optional(),\n }),\n) as z.ZodType<CodegraphSurfaceRequest>;\n\n// ---------------------------------------------------------------------------\n// coding_delta — session-delta surface (issue #1548 Track A PR 4)\n// ---------------------------------------------------------------------------\n\nconst codingDeltaSchema = z.preprocess(\n (data) => {\n if (data !== null && typeof data === \"object\" && !Array.isArray(data)) {\n const obj = data as Record<string, unknown>;\n const cleaned: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(obj)) {\n if (value !== null) cleaned[key] = value;\n }\n return cleaned;\n }\n return data;\n },\n z.object({\n subcommand: z.enum(DELTA_SUBCOMMANDS),\n sessionKey: z.string().trim().max(512).optional(),\n namespace: z.string().trim().max(256).optional(),\n }),\n);\n\nexport type CodingDeltaInput = DeltaSurfaceRequest;\nexport type CodingDeltaOutput = { result: DeltaSurfaceResponse };\n\nexport const codingDeltaOperation = defineOperation<\n CodingDeltaInput,\n CodingDeltaOutput\n>({\n name: \"coding_delta\",\n description:\n \"Get the session delta (commits + touched files since last seen) for the session's coding namespace (issue #1548 Track A PR 4).\",\n schema: codingDeltaSchema as z.ZodType<CodingDeltaInput>,\n handler: async (input, ctx) => {\n const result = await ctx.service.codingDelta(input, ctx.authenticatedPrincipal);\n return { result };\n },\n});\n\n// ---------------------------------------------------------------------------\n// memory_correct_plan / memory_correct_apply — Correction Contract (#1580)\n// ---------------------------------------------------------------------------\n//\n// One plan/apply pipeline for every memory correction (supersession,\n// invalidation, tombstone, edit, rescope, redaction). The MCP/HTTP/CLI\n// surfaces all dispatch through these two ops so the boundary's validation +\n// error mapping reach every correction path (rule 22 / 39).\n\nconst memoryCorrectPlanSchema = z.preprocess(\n (data) => {\n if (data && typeof data === \"object\" && !Array.isArray(data)) {\n const out: Record<string, unknown> = {};\n for (const [k, v] of Object.entries(data as Record<string, unknown>)) {\n if (v !== null) out[k] = v;\n }\n return out;\n }\n return data;\n },\n z.object({\n text: z.string().trim().min(1).max(10_000),\n targetIds: z.array(z.string().trim().min(1).max(512)).optional(),\n sessionKey: z.string().trim().max(512).optional(),\n namespace: z.string().trim().max(256).optional(),\n }),\n);\n\nexport interface MemoryCorrectPlanInput {\n text: string;\n targetIds?: string[];\n sessionKey?: string;\n namespace?: string;\n}\n\nexport interface MemoryCorrectPlanOutput {\n readonly result: unknown; // CorrectionPlan — opaque to the boundary\n}\n\nexport const memoryCorrectPlanOperation = defineOperation<\n MemoryCorrectPlanInput,\n MemoryCorrectPlanOutput\n>({\n name: \"memory_correct_plan\",\n description:\n \"Plan a memory correction from a plain-language statement (issue #1580). Returns a CorrectionPlan with a diff preview; apply via memory_correct_apply.\",\n schema: memoryCorrectPlanSchema as z.ZodType<MemoryCorrectPlanInput>,\n handler: async (input, ctx) => {\n try {\n const result = await ctx.service.correctionPlan(\n {\n text: input.text,\n ...(input.targetIds ? { targetIds: input.targetIds } : {}),\n ...(input.sessionKey ? { sessionKey: input.sessionKey } : {}),\n ...(input.namespace ? { namespace: input.namespace } : {}),\n ...(ctx.authenticatedPrincipal ? { principal: ctx.authenticatedPrincipal } : {}),\n },\n ctx.abortSignal ? { abortSignal: ctx.abortSignal } : undefined,\n );\n return { result };\n } catch (err) {\n if (err instanceof CorrectionContractError) throw new EngramAccessInputError(err.message);\n throw err;\n }\n },\n});\n\nconst memoryCorrectApplySchema = z.preprocess(\n (data) => {\n if (data && typeof data === \"object\" && !Array.isArray(data)) {\n const out: Record<string, unknown> = {};\n for (const [k, v] of Object.entries(data as Record<string, unknown>)) {\n if (v !== null) out[k] = v;\n }\n return out;\n }\n return data;\n },\n z.object({\n planId: z.string().trim().min(1).max(512),\n confirm: z.boolean().optional(),\n sessionKey: z.string().trim().max(512).optional(),\n namespace: z.string().trim().max(256).optional(),\n }),\n);\n\nexport interface MemoryCorrectApplyInput {\n planId: string;\n confirm?: boolean;\n sessionKey?: string;\n namespace?: string;\n}\n\nexport interface MemoryCorrectApplyOutput {\n readonly result: unknown; // CorrectionOutcome — opaque to the boundary\n}\n\nexport const memoryCorrectApplyOperation = defineOperation<\n MemoryCorrectApplyInput,\n MemoryCorrectApplyOutput\n>({\n name: \"memory_correct_apply\",\n description:\n \"Apply a planned memory correction by planId (issue #1580). Requires confirm: true when correction.applyRequiresConfirm is on (default).\",\n schema: memoryCorrectApplySchema as z.ZodType<MemoryCorrectApplyInput>,\n handler: async (input, ctx) => {\n try {\n const result = await ctx.service.correctionApply(input.planId, {\n confirm: input.confirm === true,\n ...(input.sessionKey ? { sessionKey: input.sessionKey } : {}),\n ...(input.namespace ? { namespace: input.namespace } : {}),\n ...(ctx.authenticatedPrincipal ? { principal: ctx.authenticatedPrincipal } : {}),\n ...(ctx.abortSignal ? { abortSignal: ctx.abortSignal } : {}),\n });\n return { result };\n } catch (err) {\n if (err instanceof CorrectionContractError) throw new EngramAccessInputError(err.message);\n throw err;\n }\n },\n});\n\n// ---------------------------------------------------------------------------\n// Surface registration map — what each transport calls the pilot ops\n// ---------------------------------------------------------------------------\n\n/**\n * The canonical short names (no `engram.`/`remnic.` prefix) of the operations\n * the boundary owns today. The fitness test treats this set as the migrated\n * set; everything else on a surface is unmigrated and counted by the ratchet.\n */\nexport const codegraphIndexOperation = defineOperation<\n CodegraphSurfaceRequest,\n { result: CodegraphSurfaceResponse }\n>({\n name: \"codegraph_index\",\n description:\n \"Codegraph parity tool (issue #1554): index. Delegates to the shared codegraph surface handler.\",\n schema: codegraphSurfaceSchema,\n handler: async (input, ctx) => {\n const result = await ctx.service.codegraphTool(input, ctx.authenticatedPrincipal, ctx.sourceConnector);\n return { result };\n },\n});\n\nexport const codegraphListProjectsOperation = defineOperation<\n CodegraphSurfaceRequest,\n { result: CodegraphSurfaceResponse }\n>({\n name: \"codegraph_list_projects\",\n description:\n \"Codegraph parity tool (issue #1554): list_projects. Delegates to the shared codegraph surface handler.\",\n schema: codegraphSurfaceSchema,\n handler: async (input, ctx) => {\n const result = await ctx.service.codegraphTool(input, ctx.authenticatedPrincipal, ctx.sourceConnector);\n return { result };\n },\n});\n\nexport const codegraphDeleteProjectOperation = defineOperation<\n CodegraphSurfaceRequest,\n { result: CodegraphSurfaceResponse }\n>({\n name: \"codegraph_delete_project\",\n description:\n \"Codegraph parity tool (issue #1554): delete_project. Delegates to the shared codegraph surface handler.\",\n schema: codegraphSurfaceSchema,\n handler: async (input, ctx) => {\n const result = await ctx.service.codegraphTool(input, ctx.authenticatedPrincipal, ctx.sourceConnector);\n return { result };\n },\n});\n\nexport const codegraphIndexStatusOperation = defineOperation<\n CodegraphSurfaceRequest,\n { result: CodegraphSurfaceResponse }\n>({\n name: \"codegraph_index_status\",\n description:\n \"Codegraph parity tool (issue #1554): index_status. Delegates to the shared codegraph surface handler.\",\n schema: codegraphSurfaceSchema,\n handler: async (input, ctx) => {\n const result = await ctx.service.codegraphTool(input, ctx.authenticatedPrincipal, ctx.sourceConnector);\n return { result };\n },\n});\n\nexport const codegraphSearchGraphOperation = defineOperation<\n CodegraphSurfaceRequest,\n { result: CodegraphSurfaceResponse }\n>({\n name: \"codegraph_search_graph\",\n description:\n \"Codegraph parity tool (issue #1554): search_graph. Delegates to the shared codegraph surface handler.\",\n schema: codegraphSurfaceSchema,\n handler: async (input, ctx) => {\n const result = await ctx.service.codegraphTool(input, ctx.authenticatedPrincipal, ctx.sourceConnector);\n return { result };\n },\n});\n\nexport const codegraphTracePathOperation = defineOperation<\n CodegraphSurfaceRequest,\n { result: CodegraphSurfaceResponse }\n>({\n name: \"codegraph_trace_path\",\n description:\n \"Codegraph parity tool (issue #1554): trace_path. Delegates to the shared codegraph surface handler.\",\n schema: codegraphSurfaceSchema,\n handler: async (input, ctx) => {\n const result = await ctx.service.codegraphTool(input, ctx.authenticatedPrincipal, ctx.sourceConnector);\n return { result };\n },\n});\n\nexport const codegraphDetectChangesOperation = defineOperation<\n CodegraphSurfaceRequest,\n { result: CodegraphSurfaceResponse }\n>({\n name: \"codegraph_detect_changes\",\n description:\n \"Codegraph parity tool (issue #1554): detect_changes. Delegates to the shared codegraph surface handler.\",\n schema: codegraphSurfaceSchema,\n handler: async (input, ctx) => {\n const result = await ctx.service.codegraphTool(input, ctx.authenticatedPrincipal, ctx.sourceConnector);\n return { result };\n },\n});\n\nexport const codegraphQueryGraphOperation = defineOperation<\n CodegraphSurfaceRequest,\n { result: CodegraphSurfaceResponse }\n>({\n name: \"codegraph_query_graph\",\n description:\n \"Codegraph parity tool (issue #1554): query_graph. Delegates to the shared codegraph surface handler.\",\n schema: codegraphSurfaceSchema,\n handler: async (input, ctx) => {\n const result = await ctx.service.codegraphTool(input, ctx.authenticatedPrincipal, ctx.sourceConnector);\n return { result };\n },\n});\n\nexport const codegraphGetSchemaOperation = defineOperation<\n CodegraphSurfaceRequest,\n { result: CodegraphSurfaceResponse }\n>({\n name: \"codegraph_get_schema\",\n description:\n \"Codegraph parity tool (issue #1554): get_schema. Delegates to the shared codegraph surface handler.\",\n schema: codegraphSurfaceSchema,\n handler: async (input, ctx) => {\n const result = await ctx.service.codegraphTool(input, ctx.authenticatedPrincipal, ctx.sourceConnector);\n return { result };\n },\n});\n\nexport const codegraphGetSnippetOperation = defineOperation<\n CodegraphSurfaceRequest,\n { result: CodegraphSurfaceResponse }\n>({\n name: \"codegraph_get_snippet\",\n description:\n \"Codegraph parity tool (issue #1554): get_snippet. Delegates to the shared codegraph surface handler.\",\n schema: codegraphSurfaceSchema,\n handler: async (input, ctx) => {\n const result = await ctx.service.codegraphTool(input, ctx.authenticatedPrincipal, ctx.sourceConnector);\n return { result };\n },\n});\n\nexport const codegraphGetArchitectureOperation = defineOperation<\n CodegraphSurfaceRequest,\n { result: CodegraphSurfaceResponse }\n>({\n name: \"codegraph_get_architecture\",\n description:\n \"Codegraph parity tool (issue #1554): get_architecture. Delegates to the shared codegraph surface handler.\",\n schema: codegraphSurfaceSchema,\n handler: async (input, ctx) => {\n const result = await ctx.service.codegraphTool(input, ctx.authenticatedPrincipal, ctx.sourceConnector);\n return { result };\n },\n});\n\nexport const codegraphSearchCodeOperation = defineOperation<\n CodegraphSurfaceRequest,\n { result: CodegraphSurfaceResponse }\n>({\n name: \"codegraph_search_code\",\n description:\n \"Codegraph parity tool (issue #1554): search_code. Delegates to the shared codegraph surface handler.\",\n schema: codegraphSurfaceSchema,\n handler: async (input, ctx) => {\n const result = await ctx.service.codegraphTool(input, ctx.authenticatedPrincipal, ctx.sourceConnector);\n return { result };\n },\n});\n\nexport const codegraphManageAdrOperation = defineOperation<\n CodegraphSurfaceRequest,\n { result: CodegraphSurfaceResponse }\n>({\n name: \"codegraph_manage_adr\",\n description:\n \"Codegraph parity tool (issue #1554): manage_adr. Delegates to the shared codegraph surface handler.\",\n schema: codegraphSurfaceSchema,\n handler: async (input, ctx) => {\n const result = await ctx.service.codegraphTool(input, ctx.authenticatedPrincipal, ctx.sourceConnector);\n return { result };\n },\n});\n\nexport const codegraphIngestTracesOperation = defineOperation<\n CodegraphSurfaceRequest,\n { result: CodegraphSurfaceResponse }\n>({\n name: \"codegraph_ingest_traces\",\n description:\n \"Codegraph parity tool (issue #1554): ingest_traces. Delegates to the shared codegraph surface handler.\",\n schema: codegraphSurfaceSchema,\n handler: async (input, ctx) => {\n const result = await ctx.service.codegraphTool(input, ctx.authenticatedPrincipal, ctx.sourceConnector);\n return { result };\n },\n});\n\n// Batch-migrated operations (issue #1525): registers all remaining\n// handlers through the boundary as a side effect of importing this module.\nimport \"./access-operations-batch.js\";\n// Owner-controlled support passport operations (issue #2355).\nimport \"./support-passport/access-operations.js\";\n// Remnic Relay mission evidence operations (issue #1966).\nimport \"./relay/mission-access.js\";\n// Location sync surfaces (issue #2047).\nimport \"./location/access-operations.js\";\nimport \"./standup/access-operations.js\";\n\nexport const REGISTERED_OPERATIONS = [\n memoryGetOperation.spec.name,\n memorySearchOperation.spec.name,\n externalWikiSearchOperation.spec.name,\n memoryStoreOperation.spec.name,\n codingDecisionOperation.spec.name,\n codingArchitectureOperation.spec.name,\n codegraphIndexOperation.spec.name,\n codegraphListProjectsOperation.spec.name,\n codegraphDeleteProjectOperation.spec.name,\n codegraphIndexStatusOperation.spec.name,\n codegraphSearchGraphOperation.spec.name,\n codegraphTracePathOperation.spec.name,\n codegraphDetectChangesOperation.spec.name,\n codegraphQueryGraphOperation.spec.name,\n codegraphGetSchemaOperation.spec.name,\n codegraphGetSnippetOperation.spec.name,\n codegraphGetArchitectureOperation.spec.name,\n codegraphSearchCodeOperation.spec.name,\n codegraphManageAdrOperation.spec.name,\n codegraphIngestTracesOperation.spec.name,\n codingDeltaOperation.spec.name,\n memoryCorrectPlanOperation.spec.name,\n memoryCorrectApplyOperation.spec.name,\n] as const;\n","import { z } from \"zod\";\n\nimport { type OperationContext, defineOperation } from \"../access-boundary.js\";\nimport { EngramAccessInputError, type EngramAccessService } from \"../access-service.js\";\nimport {\n RELAY_MISSION_MAX_EVENT_LIMIT,\n RelayIsoDateTimeSchema,\n type RelayMissionAppendResult,\n type RelayMissionEventInput,\n RelayMissionEventInputSchema,\n RelayMissionIdSchema,\n type RelayMissionReadOptions,\n RelayMissionReadOptionsSchema,\n type RelayMissionSnapshot,\n RelayMissionStore,\n} from \"./mission.js\";\n\nconst namespaceSchema = z.string().trim().min(1).max(128).nullable().optional();\n\nconst RelayMissionAppendAccessSchema = z\n .object({\n missionId: RelayMissionIdSchema,\n namespace: namespaceSchema,\n event: RelayMissionEventInputSchema,\n })\n .strict();\n\nconst optionalLimitSchema = z.preprocess((value) => {\n if (value === undefined || value === null) return undefined;\n if (typeof value === \"string\" && /^(?:0|[1-9]\\d*)$/.test(value)) return Number(value);\n return value;\n}, z.number().int().min(1).max(RELAY_MISSION_MAX_EVENT_LIMIT).optional());\n\nconst RelayMissionReadAccessSchema = z\n .object({\n missionId: RelayMissionIdSchema,\n namespace: namespaceSchema,\n since: RelayIsoDateTimeSchema.optional(),\n until: RelayIsoDateTimeSchema.optional(),\n limit: optionalLimitSchema,\n })\n .strict()\n .refine(\n (value) =>\n value.since === undefined || value.until === undefined || Date.parse(value.since) < Date.parse(value.until),\n { message: \"since must be earlier than until\", path: [\"until\"] }\n );\n\nexport interface RelayMissionAppendAccessInput {\n missionId: string;\n namespace?: string | null;\n event: RelayMissionEventInput;\n}\n\nexport interface RelayMissionReadAccessInput extends RelayMissionReadOptions {\n missionId: string;\n namespace?: string | null;\n}\n\nexport interface RelayMissionAppendAccessOutput {\n result: RelayMissionAppendResult;\n}\n\nexport interface RelayMissionReadAccessOutput {\n result: RelayMissionSnapshot;\n}\n\n/**\n * Shared service contract for transports that need to append Relay evidence.\n * Namespace resolution stays in the existing access service so the append\n * inherits the same tenancy and principal rules as every memory write.\n */\nexport async function appendRelayMissionEvent(\n service: EngramAccessService,\n input: RelayMissionAppendAccessInput,\n authenticatedPrincipal?: string,\n beforeAppend?: () => void | Promise<void>\n): Promise<RelayMissionAppendResult> {\n const event = RelayMissionEventInputSchema.parse(input.event);\n const approvalPrincipal = authenticatedPrincipal?.trim() || undefined;\n if (event.payload.kind === \"correction_approved\" && event.payload.approvedBy.kind === \"human\") {\n if (!approvalPrincipal) {\n throw new EngramAccessInputError(\n \"Relay human approval requires a server-resolved authenticated principal\"\n );\n }\n if (event.payload.approvedBy.id !== approvalPrincipal) {\n throw new EngramAccessInputError(\n \"Relay human approval identity must match the server-resolved authenticated principal\"\n );\n }\n }\n const resolved = await service.getWritableStorageForNamespace(input.namespace ?? undefined, approvalPrincipal);\n const store = new RelayMissionStore({\n rootDir: resolved.storage.dir,\n namespace: resolved.namespace,\n });\n return store.append(input.missionId, event, { authenticatedPrincipal: approvalPrincipal, beforeAppend });\n}\n\n/** Namespace-authorized, bounded Relay snapshot read shared by HTTP and UI. */\nexport async function readRelayMission(\n service: EngramAccessService,\n input: RelayMissionReadAccessInput,\n authenticatedPrincipal?: string\n): Promise<RelayMissionSnapshot> {\n const resolved = await service.getReadableStorageForNamespace(input.namespace ?? undefined, authenticatedPrincipal);\n const store = new RelayMissionStore({\n rootDir: resolved.storage.dir,\n namespace: resolved.namespace,\n });\n const options = RelayMissionReadOptionsSchema.parse({\n ...(input.since === undefined ? {} : { since: input.since }),\n ...(input.until === undefined ? {} : { until: input.until }),\n ...(input.limit === undefined ? {} : { limit: input.limit }),\n });\n return store.read(input.missionId, options);\n}\n\nexport const relayMissionAppendOperation = defineOperation<\n RelayMissionAppendAccessInput,\n RelayMissionAppendAccessOutput\n>({\n name: \"relay_mission_append\",\n description: \"Append one evidence-backed event to an isolated Relay mission.\",\n schema: RelayMissionAppendAccessSchema as z.ZodType<RelayMissionAppendAccessInput>,\n handler: async (input, ctx: OperationContext) => ({\n result: await appendRelayMissionEvent(ctx.service, input, ctx.authenticatedPrincipal, ctx.hooks?.enforceWriteQuota),\n }),\n});\n\nexport const relayMissionReadOperation = defineOperation<RelayMissionReadAccessInput, RelayMissionReadAccessOutput>({\n name: \"relay_mission_read\",\n description: \"Read one bounded, browser-ready Relay mission receipt.\",\n schema: RelayMissionReadAccessSchema as z.ZodType<RelayMissionReadAccessInput>,\n handler: async (input, ctx: OperationContext) => ({\n result: await readRelayMission(ctx.service, input, ctx.authenticatedPrincipal),\n }),\n});\n","import { createHash, randomUUID } from \"node:crypto\";\nimport { promises as fs, constants as fsConstants } from \"node:fs\";\nimport path from \"node:path\";\nimport { z } from \"zod\";\n\nimport { serializeMutations, withHeldFileLock } from \"../utils/serialize-mutations.js\";\n\nexport const RELAY_MISSION_SCHEMA_VERSION = \"1\" as const;\nexport const RELAY_MISSION_MAX_FILE_BYTES = 4 * 1024 * 1024;\nexport const RELAY_MISSION_MAX_LINE_BYTES = 64 * 1024;\nexport const RELAY_MISSION_MAX_EVENTS = 2_000;\nexport const RELAY_MISSION_DEFAULT_EVENT_LIMIT = 200;\nexport const RELAY_MISSION_MAX_EVENT_LIMIT = 500;\n\nexport const RelayMissionIdSchema = z\n .string()\n .min(1)\n .max(64)\n .regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/, {\n message: \"must contain only lowercase letters, numbers, and single hyphens\",\n });\n\nconst identifierSchema = z\n .string()\n .min(1)\n .max(128)\n .regex(/^[A-Za-z0-9](?:[A-Za-z0-9._:@-]{0,126}[A-Za-z0-9])?$/, {\n message: \"must be a bounded identifier\",\n });\n\nconst namespaceSchema = z.string().trim().min(1).max(128);\nconst authenticatedPrincipalSchema = z.string().trim().min(1).max(256);\nconst shortTextSchema = z.string().trim().min(1).max(240);\nconst statementSchema = z.string().trim().min(1).max(4_000);\nconst uniqueIdentifierListSchema = (minimum: number, maximum: number) =>\n z\n .array(identifierSchema)\n .min(minimum)\n .max(maximum)\n .refine((values) => new Set(values).size === values.length, \"must not contain duplicate identifiers\");\n\nexport const RelayIsoDateTimeSchema = z\n .string()\n .datetime({ offset: true })\n .refine((value) => Number.isFinite(Date.parse(value)), \"must be a representable timestamp\");\n\nexport const RelayEvidenceRefSchema = z\n .object({\n kind: z.enum([\"memory\", \"recall_audit\", \"source\", \"test\", \"commit\", \"correction\", \"agent_output\", \"approval\"]),\n id: identifierSchema,\n label: shortTextSchema,\n locator: z.string().trim().min(1).max(2_048).optional(),\n capture: z.enum([\"at_action\", \"historical_lookup\", \"fixture\"]),\n })\n .strict();\n\nexport type RelayEvidenceRef = z.infer<typeof RelayEvidenceRefSchema>;\n\nconst evidenceListSchema = z.array(RelayEvidenceRefSchema).max(16);\nconst agentIdentityFields = {\n agentId: identifierSchema,\n sessionId: identifierSchema,\n} as const;\n\nconst RelayMissionPayloadUnionSchema = z.discriminatedUnion(\"kind\", [\n z\n .object({\n kind: z.literal(\"mission_started\"),\n title: shortTextSchema,\n objective: statementSchema,\n runMode: z.enum([\"live\", \"replay\", \"fixture\"]),\n evidence: evidenceListSchema.default([]),\n })\n .strict(),\n z\n .object({\n kind: z.literal(\"agent_status\"),\n ...agentIdentityFields,\n label: shortTextSchema,\n role: shortTextSchema,\n status: z.enum([\"idle\", \"working\", \"blocked\", \"complete\", \"failed\"]),\n detail: statementSchema.optional(),\n evidence: evidenceListSchema.default([]),\n })\n .strict(),\n z\n .object({\n kind: z.literal(\"agent_output\"),\n ...agentIdentityFields,\n outputId: identifierSchema,\n summary: statementSchema,\n evidence: evidenceListSchema.default([]),\n })\n .strict(),\n z\n .object({\n kind: z.literal(\"belief_observed\"),\n ...agentIdentityFields,\n beliefId: identifierSchema,\n decisionId: identifierSchema,\n statement: statementSchema,\n confidence: z.number().finite().min(0).max(1).optional(),\n evidence: evidenceListSchema.default([]),\n })\n .strict(),\n z\n .object({\n kind: z.literal(\"conflict_detected\"),\n conflictId: identifierSchema,\n decisionIds: uniqueIdentifierListSchema(2, 8),\n agentIds: uniqueIdentifierListSchema(2, 16),\n summary: statementSchema,\n evidence: evidenceListSchema.default([]),\n })\n .strict(),\n z\n .object({\n kind: z.literal(\"test_result\"),\n testId: identifierSchema,\n decisionId: identifierSchema,\n correctionId: identifierSchema.optional(),\n command: z.string().trim().min(1).max(1_000),\n status: z.enum([\"passed\", \"failed\", \"error\"]),\n summary: statementSchema,\n durationMs: z.number().int().nonnegative().max(3_600_000).optional(),\n evidence: evidenceListSchema.default([]),\n })\n .strict(),\n z\n .object({\n kind: z.literal(\"correction_proposed\"),\n correctionId: identifierSchema,\n conflictId: identifierSchema,\n proposedDecisionId: identifierSchema,\n supersedesDecisionIds: uniqueIdentifierListSchema(1, 8),\n statement: statementSchema,\n rationale: statementSchema,\n proposedBy: identifierSchema,\n evidence: evidenceListSchema.default([]),\n })\n .strict(),\n z\n .object({\n kind: z.literal(\"correction_approved\"),\n correctionId: identifierSchema,\n approvedBy: z\n .object({\n kind: z.enum([\"human\", \"agent\"]),\n id: identifierSchema,\n label: shortTextSchema,\n })\n .strict(),\n note: statementSchema.optional(),\n evidence: evidenceListSchema.default([]),\n })\n .strict(),\n z\n .object({\n kind: z.literal(\"decision_superseded\"),\n decisionId: identifierSchema,\n replacementDecisionId: identifierSchema,\n correctionId: identifierSchema,\n evidence: evidenceListSchema.default([]),\n })\n .strict(),\n z\n .object({\n kind: z.literal(\"recall_observed\"),\n ...agentIdentityFields,\n recallReceiptId: identifierSchema,\n decisionId: identifierSchema,\n query: statementSchema,\n capturedAtAction: z.boolean(),\n evidence: evidenceListSchema.default([]),\n })\n .strict(),\n z\n .object({\n kind: z.literal(\"propagation_verified\"),\n ...agentIdentityFields,\n correctionId: identifierSchema,\n decisionId: identifierSchema,\n recallReceiptId: identifierSchema,\n staleDecisionAbsent: z.boolean(),\n evidence: evidenceListSchema.default([]),\n })\n .strict(),\n z\n .object({\n kind: z.literal(\"mission_completed\"),\n outcome: z.enum([\"recovered\", \"failed\", \"inconclusive\"]),\n summary: statementSchema,\n evidence: evidenceListSchema.default([]),\n })\n .strict(),\n]);\n\nexport const RelayMissionPayloadSchema = RelayMissionPayloadUnionSchema.superRefine((value, ctx) => {\n if (value.kind === \"decision_superseded\" && value.decisionId === value.replacementDecisionId) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"a decision cannot supersede itself\",\n path: [\"replacementDecisionId\"],\n });\n }\n if (value.kind === \"correction_approved\" && !value.evidence.some((item) => item.kind === \"approval\")) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"correction approval requires approval evidence\",\n path: [\"evidence\"],\n });\n }\n if (\n value.kind === \"decision_superseded\" &&\n !value.evidence.some((item) => item.kind === \"correction\" && item.id === value.correctionId)\n ) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"decision supersession requires matching correction evidence\",\n path: [\"evidence\"],\n });\n }\n if (value.kind !== \"recall_observed\" && value.kind !== \"propagation_verified\") return;\n const matchingRecallEvidence = value.evidence.find(\n (item) => item.kind === \"recall_audit\" && item.id === value.recallReceiptId\n );\n if (!matchingRecallEvidence) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: \"recall proof requires a matching recall-audit reference\",\n path: [\"evidence\"],\n });\n return;\n }\n if (value.kind === \"recall_observed\") {\n const expectedCapture = value.capturedAtAction ? \"at_action\" : \"historical_lookup\";\n if (matchingRecallEvidence.capture !== expectedCapture && matchingRecallEvidence.capture !== \"fixture\") {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `recall evidence must be labeled ${expectedCapture}`,\n path: [\"evidence\", value.evidence.indexOf(matchingRecallEvidence), \"capture\"],\n });\n }\n }\n});\n\nexport type RelayMissionPayload = z.infer<typeof RelayMissionPayloadSchema>;\n\nexport const RelayMissionEventInputSchema = z\n .object({\n occurredAt: RelayIsoDateTimeSchema.optional(),\n idempotencyKey: identifierSchema.optional(),\n payload: RelayMissionPayloadSchema,\n })\n .strict();\n\nexport type RelayMissionEventInput = z.infer<typeof RelayMissionEventInputSchema>;\n\nexport const RelayMissionEventSchema = z\n .object({\n schemaVersion: z.literal(RELAY_MISSION_SCHEMA_VERSION),\n eventId: identifierSchema,\n missionId: RelayMissionIdSchema,\n namespace: namespaceSchema,\n authenticatedPrincipal: authenticatedPrincipalSchema.optional(),\n recordedAt: RelayIsoDateTimeSchema,\n occurredAt: RelayIsoDateTimeSchema,\n idempotencyKey: identifierSchema.optional(),\n payload: RelayMissionPayloadSchema,\n })\n .strict();\n\nexport type RelayMissionEvent = z.infer<typeof RelayMissionEventSchema>;\n\nexport const RelayMissionReadOptionsSchema = z\n .object({\n since: RelayIsoDateTimeSchema.optional(),\n until: RelayIsoDateTimeSchema.optional(),\n limit: z.number().int().min(1).max(RELAY_MISSION_MAX_EVENT_LIMIT).default(RELAY_MISSION_DEFAULT_EVENT_LIMIT),\n })\n .strict()\n .refine(\n (value) =>\n value.since === undefined || value.until === undefined || Date.parse(value.since) < Date.parse(value.until),\n { message: \"since must be earlier than until\", path: [\"until\"] }\n );\n\nexport type RelayMissionReadOptions = z.input<typeof RelayMissionReadOptionsSchema>;\n\nexport type RelayMissionStatus =\n | \"not_started\"\n | \"active\"\n | \"awaiting_approval\"\n | \"correcting\"\n | \"verified\"\n | \"completed\"\n | \"failed\";\n\nexport interface RelayAgentOutputSnapshot {\n outputId: string;\n summary: string;\n occurredAt: string;\n evidence: RelayEvidenceRef[];\n}\n\nexport interface RelayRecallSnapshot {\n recallReceiptId: string;\n sessionId: string;\n decisionId: string;\n query: string;\n capturedAtAction: boolean;\n coldStart: boolean;\n occurredAt: string;\n evidence: RelayEvidenceRef[];\n}\n\nexport interface RelayAgentSnapshot {\n agentId: string;\n label: string;\n role: string;\n status: \"idle\" | \"working\" | \"blocked\" | \"complete\" | \"failed\";\n sessionIds: string[];\n outputs: RelayAgentOutputSnapshot[];\n recalls: RelayRecallSnapshot[];\n lastSeenAt: string;\n}\n\nexport interface RelayDecisionSnapshot {\n decisionId: string;\n statement: string;\n status: \"active\" | \"superseded\" | \"proposed\";\n heldByAgentIds: string[];\n beliefIds: string[];\n evidence: RelayEvidenceRef[];\n firstObservedAt: string;\n supersededAt?: string;\n supersededBy?: string;\n correctionId?: string;\n}\n\nexport interface RelayConflictSnapshot {\n conflictId: string;\n decisionIds: string[];\n agentIds: string[];\n summary: string;\n status: \"open\" | \"proposed\" | \"resolved\";\n correctionId?: string;\n occurredAt: string;\n evidence: RelayEvidenceRef[];\n}\n\nexport interface RelayCorrectionSnapshot {\n correctionId: string;\n conflictId: string;\n proposedDecisionId: string;\n supersedesDecisionIds: string[];\n statement: string;\n rationale: string;\n proposedBy: string;\n status: \"proposed\" | \"approved\" | \"applied\" | \"propagated\";\n proposedAt: string;\n approvedAt?: string;\n approvedBy?: { kind: \"human\" | \"agent\"; id: string; label: string };\n approvalNote?: string;\n approvalPrincipal?: string;\n appliedAt?: string;\n propagatedAt?: string;\n evidence: RelayEvidenceRef[];\n}\n\nexport interface RelayTestSnapshot {\n testId: string;\n decisionId: string;\n correctionId?: string;\n command: string;\n status: \"passed\" | \"failed\" | \"error\";\n summary: string;\n durationMs?: number;\n occurredAt: string;\n evidence: RelayEvidenceRef[];\n}\n\nexport interface RelayPropagationSnapshot {\n correctionId: string;\n agentId: string;\n sessionId: string;\n decisionId: string;\n recallReceiptId: string;\n staleDecisionAbsent: boolean;\n occurredAt: string;\n evidence: RelayEvidenceRef[];\n}\n\nexport interface RelayMissionSnapshot {\n schemaVersion: typeof RELAY_MISSION_SCHEMA_VERSION;\n missionId: string;\n namespace: string;\n found: boolean;\n readHealth: \"empty\" | \"ok\" | \"partial\";\n status: RelayMissionStatus;\n mission: {\n title: string | null;\n objective: string | null;\n runMode: \"live\" | \"replay\" | \"fixture\" | null;\n startedAt: string | null;\n completedAt: string | null;\n };\n agents: RelayAgentSnapshot[];\n decisions: RelayDecisionSnapshot[];\n conflicts: RelayConflictSnapshot[];\n corrections: RelayCorrectionSnapshot[];\n tests: RelayTestSnapshot[];\n propagation: RelayPropagationSnapshot[];\n outcome: {\n result: \"recovered\" | \"failed\" | \"inconclusive\";\n summary: string;\n occurredAt: string;\n evidence: RelayEvidenceRef[];\n } | null;\n receipt: {\n complete: boolean;\n missingEvidence: string[];\n activeDecisionIds: string[];\n supersededDecisionIds: string[];\n coldStartVerified: boolean;\n passingOutcomeVerified: boolean;\n };\n bounds: {\n totalEvents: number;\n returnedEvents: number;\n corruptLines: number;\n truncated: boolean;\n since: string | null;\n until: string | null;\n };\n events: RelayMissionEvent[];\n}\n\nexport type RelayMissionStoreErrorCode =\n | \"idempotency_conflict\"\n | \"limit_exceeded\"\n | \"lock_unavailable\"\n | \"read_failed\"\n | \"unsafe_path\"\n | \"write_failed\";\n\nexport class RelayMissionStoreError extends Error {\n constructor(\n public readonly code: RelayMissionStoreErrorCode,\n message: string,\n options?: ErrorOptions\n ) {\n super(message, options);\n this.name = \"RelayMissionStoreError\";\n }\n}\n\nexport interface RelayMissionStoreOptions {\n rootDir: string;\n namespace: string;\n now?: () => Date;\n createEventId?: () => string;\n maxFileBytes?: number;\n maxEvents?: number;\n lockMaxWaitMs?: number;\n}\n\ninterface MissionFileRead {\n exists: boolean;\n events: RelayMissionEvent[];\n corruptLines: number;\n rawBytes: number;\n}\n\ninterface PinnedMissionDirectory {\n logicalPath: string;\n accessPath: string;\n handle: import(\"node:fs/promises\").FileHandle;\n}\n\nexport interface RelayMissionAppendResult {\n appended: boolean;\n replayed: boolean;\n event: RelayMissionEvent;\n}\n\nexport class RelayMissionStore {\n private readonly rootDir: string;\n private readonly namespace: string;\n private readonly now: () => Date;\n private readonly createEventId: () => string;\n private readonly maxFileBytes: number;\n private readonly maxEvents: number;\n private readonly lockMaxWaitMs: number;\n\n constructor(options: RelayMissionStoreOptions) {\n if (typeof options.rootDir !== \"string\" || options.rootDir.trim().length === 0) {\n throw new TypeError(\"RelayMissionStore rootDir must be a non-empty string\");\n }\n this.rootDir = path.resolve(options.rootDir);\n this.namespace = namespaceSchema.parse(options.namespace);\n this.now = options.now ?? (() => new Date());\n this.createEventId = options.createEventId ?? (() => `relay-${randomUUID()}`);\n this.maxFileBytes = positiveIntegerOption(options.maxFileBytes, \"maxFileBytes\", RELAY_MISSION_MAX_FILE_BYTES);\n this.maxEvents = positiveIntegerOption(options.maxEvents, \"maxEvents\", RELAY_MISSION_MAX_EVENTS);\n this.lockMaxWaitMs = positiveIntegerOption(options.lockMaxWaitMs, \"lockMaxWaitMs\", 5_000);\n }\n\n async append(\n missionIdValue: string,\n inputValue: RelayMissionEventInput,\n hooks: { authenticatedPrincipal?: string; beforeAppend?: () => void | Promise<void> } = {}\n ): Promise<RelayMissionAppendResult> {\n const missionId = RelayMissionIdSchema.parse(missionIdValue);\n const input = RelayMissionEventInputSchema.parse(inputValue);\n const authenticatedPrincipal =\n hooks.authenticatedPrincipal === undefined\n ? undefined\n : authenticatedPrincipalSchema.parse(hooks.authenticatedPrincipal);\n const missionDir = await this.openMissionDirectory(true);\n const filePath = path.join(missionDir.accessPath, `${missionId}.jsonl`);\n const logicalFilePath = path.join(missionDir.logicalPath, `${missionId}.jsonl`);\n const lockPath = `${filePath}.lock`;\n\n try {\n return await serializeMutations(`relay-mission:${logicalFilePath}`, () =>\n withHeldFileLock(\n lockPath,\n { staleMs: 30_000, maxWaitMs: this.lockMaxWaitMs, heartbeatMs: 10_000 },\n async (acquired) => {\n if (!acquired) {\n throw new RelayMissionStoreError(\"lock_unavailable\", \"could not acquire Relay mission lock\");\n }\n\n const existing = await this.readFile(filePath, missionId);\n if (input.idempotencyKey) {\n const replay = existing.events.find((event) => event.idempotencyKey === input.idempotencyKey);\n if (replay) {\n if (!sameIdempotentInput(replay, input, authenticatedPrincipal)) {\n throw new RelayMissionStoreError(\n \"idempotency_conflict\",\n `idempotency key ${input.idempotencyKey} was already used for different input`\n );\n }\n return { appended: false, replayed: true, event: replay };\n }\n }\n\n if (existing.events.length >= this.maxEvents) {\n throw new RelayMissionStoreError(\n \"limit_exceeded\",\n `mission ${missionId} reached the ${this.maxEvents}-event limit`\n );\n }\n\n // Transport quotas run only after idempotency replay detection and\n // while this mission's mutation lock is held. A response-lost retry\n // remains replayable even when the original append used the final\n // quota slot.\n await hooks.beforeAppend?.();\n\n const recordedAt = validNow(this.now);\n const event = RelayMissionEventSchema.parse({\n schemaVersion: RELAY_MISSION_SCHEMA_VERSION,\n eventId: this.createEventId(),\n missionId,\n namespace: this.namespace,\n ...(authenticatedPrincipal === undefined ? {} : { authenticatedPrincipal }),\n recordedAt,\n occurredAt: input.occurredAt ?? recordedAt,\n ...(input.idempotencyKey ? { idempotencyKey: input.idempotencyKey } : {}),\n payload: input.payload,\n });\n const line = `${JSON.stringify(event)}\\n`;\n const lineBytes = Buffer.byteLength(line, \"utf8\");\n if (lineBytes > RELAY_MISSION_MAX_LINE_BYTES) {\n throw new RelayMissionStoreError(\n \"limit_exceeded\",\n `Relay mission event exceeds ${RELAY_MISSION_MAX_LINE_BYTES} bytes`\n );\n }\n if (existing.rawBytes + lineBytes > this.maxFileBytes) {\n throw new RelayMissionStoreError(\n \"limit_exceeded\",\n `mission ${missionId} would exceed the ${this.maxFileBytes}-byte limit`\n );\n }\n\n await this.appendFile(filePath, line);\n return { appended: true, replayed: false, event };\n }\n )\n );\n } finally {\n await missionDir.handle.close().catch(() => undefined);\n }\n }\n\n async read(missionIdValue: string, readOptions: RelayMissionReadOptions = {}): Promise<RelayMissionSnapshot> {\n const missionId = RelayMissionIdSchema.parse(missionIdValue);\n const options = RelayMissionReadOptionsSchema.parse(readOptions);\n const missionDir = await this.openMissionDirectory(false);\n if (missionDir === null) {\n return reduceRelayMission({\n missionId,\n namespace: this.namespace,\n events: [],\n fileExists: false,\n options,\n });\n }\n const filePath = path.join(missionDir.accessPath, `${missionId}.jsonl`);\n const logicalFilePath = path.join(missionDir.logicalPath, `${missionId}.jsonl`);\n\n try {\n // Coordinate with writers in this process without creating a lock file.\n // Cross-process appends are single bounded O_APPEND records; a torn or\n // malformed record remains explicit partial evidence rather than being\n // silently accepted.\n return await serializeMutations(`relay-mission:${logicalFilePath}`, async () => {\n const read = await this.readFile(filePath, missionId);\n return reduceRelayMission({\n missionId,\n namespace: this.namespace,\n events: read.events,\n corruptLines: read.corruptLines,\n fileExists: read.exists,\n options,\n });\n });\n } finally {\n await missionDir.handle.close().catch(() => undefined);\n }\n }\n\n private async openMissionDirectory(create: true): Promise<PinnedMissionDirectory>;\n private async openMissionDirectory(create: false): Promise<PinnedMissionDirectory | null>;\n private async openMissionDirectory(create: boolean): Promise<PinnedMissionDirectory | null> {\n let currentHandle: import(\"node:fs/promises\").FileHandle | undefined;\n try {\n currentHandle = await openVerifiedDirectory(this.rootDir, \"Relay root must be a real directory\");\n let logicalPath = this.rootDir;\n for (const segment of [\"state\", \"relay\", \"missions\"]) {\n let childHandle: import(\"node:fs/promises\").FileHandle;\n try {\n childHandle = create\n ? await openOrCreatePinnedChildDirectory(currentHandle, segment)\n : await openVerifiedDirectory(\n path.join(pinnedDirectoryPath(currentHandle), segment),\n \"Relay directory symlinks are rejected\"\n );\n } catch (error) {\n if (!create && (error as NodeJS.ErrnoException).code === \"ENOENT\") {\n await currentHandle.close();\n return null;\n }\n throw error;\n }\n await currentHandle.close();\n currentHandle = childHandle;\n logicalPath = path.join(logicalPath, segment);\n }\n return {\n logicalPath,\n accessPath: pinnedDirectoryPath(currentHandle),\n handle: currentHandle,\n };\n } catch (error) {\n await currentHandle?.close().catch(() => undefined);\n if (error instanceof RelayMissionStoreError) throw error;\n throw new RelayMissionStoreError(\"unsafe_path\", \"Relay mission directory is unavailable or unsafe\", {\n cause: error,\n });\n }\n }\n\n private async readFile(filePath: string, missionId: string): Promise<MissionFileRead> {\n let handle: import(\"node:fs/promises\").FileHandle | undefined;\n try {\n handle = await fs.open(filePath, fsConstants.O_RDONLY | fsConstants.O_NOFOLLOW);\n const info = await handle.stat();\n if (!info.isFile()) {\n throw new RelayMissionStoreError(\"unsafe_path\", \"Relay mission path is not a file\");\n }\n if (info.nlink !== 1) {\n throw new RelayMissionStoreError(\"unsafe_path\", \"Relay mission hard links are rejected\");\n }\n if (info.size > this.maxFileBytes) {\n throw new RelayMissionStoreError(\n \"limit_exceeded\",\n `mission ${missionId} exceeds the ${this.maxFileBytes}-byte read limit`\n );\n }\n const raw = await handle.readFile(\"utf8\");\n const parsed = parseMissionJsonl(raw, missionId, this.namespace, this.maxEvents);\n return { exists: true, rawBytes: Buffer.byteLength(raw, \"utf8\"), ...parsed };\n } catch (error) {\n if ((error as NodeJS.ErrnoException).code === \"ENOENT\") {\n return { exists: false, events: [], corruptLines: 0, rawBytes: 0 };\n }\n if (error instanceof RelayMissionStoreError) throw error;\n throw new RelayMissionStoreError(\"read_failed\", \"failed to read Relay mission\", {\n cause: error,\n });\n } finally {\n await handle?.close().catch(() => undefined);\n }\n }\n\n private async appendFile(filePath: string, line: string): Promise<void> {\n let handle: import(\"node:fs/promises\").FileHandle | undefined;\n try {\n handle = await fs.open(\n filePath,\n fsConstants.O_WRONLY | fsConstants.O_CREAT | fsConstants.O_APPEND | fsConstants.O_NOFOLLOW,\n 0o600\n );\n const info = await handle.stat();\n if (!info.isFile()) {\n throw new RelayMissionStoreError(\"unsafe_path\", \"Relay mission path is not a file\");\n }\n if (info.nlink !== 1) {\n throw new RelayMissionStoreError(\"unsafe_path\", \"Relay mission hard links are rejected\");\n }\n await handle.chmod(0o600);\n await handle.writeFile(line, \"utf8\");\n await handle.sync();\n } catch (error) {\n if (error instanceof RelayMissionStoreError) throw error;\n if ((error as NodeJS.ErrnoException).code === \"ELOOP\") {\n throw new RelayMissionStoreError(\"unsafe_path\", \"Relay mission symlink is rejected\", {\n cause: error,\n });\n }\n throw new RelayMissionStoreError(\"write_failed\", \"failed to append Relay mission\", {\n cause: error,\n });\n } finally {\n await handle?.close().catch(() => undefined);\n }\n }\n}\n\ninterface ReduceRelayMissionInput {\n missionId: string;\n namespace: string;\n events: RelayMissionEvent[];\n corruptLines?: number;\n fileExists?: boolean;\n options?: RelayMissionReadOptions;\n}\n\nexport function reduceRelayMission(input: ReduceRelayMissionInput): RelayMissionSnapshot {\n const missionId = RelayMissionIdSchema.parse(input.missionId);\n const namespace = namespaceSchema.parse(input.namespace);\n const options = RelayMissionReadOptionsSchema.parse(input.options ?? {});\n const corruptLines = input.corruptLines ?? 0;\n const sinceMs = options.since ? Date.parse(options.since) : undefined;\n const untilMs = options.until ? Date.parse(options.until) : undefined;\n const appendPositions = new Map(input.events.map((event, index) => [event, index] as const));\n const orderedEvents = [...input.events].sort(compareRelayEvents);\n const firstStartEvent = input.events.find((event) => event.payload.kind === \"mission_started\");\n const firstCompletionEvent = input.events.find((event) => event.payload.kind === \"mission_completed\");\n const firstStartPosition = firstStartEvent === undefined ? -1 : (appendPositions.get(firstStartEvent) ?? -1);\n const firstCompletionPosition =\n firstCompletionEvent === undefined ? -1 : (appendPositions.get(firstCompletionEvent) ?? -1);\n const filteredEvents = orderedEvents.filter((event) => {\n const occurredAt = Date.parse(event.occurredAt);\n return (sinceMs === undefined || occurredAt >= sinceMs) && (untilMs === undefined || occurredAt < untilMs);\n });\n\n const agents = new Map<string, RelayAgentSnapshot>();\n const decisions = new Map<string, RelayDecisionSnapshot>();\n const conflicts = new Map<string, RelayConflictSnapshot>();\n const corrections = new Map<string, RelayCorrectionSnapshot>();\n const tests: RelayTestSnapshot[] = [];\n const propagation: RelayPropagationSnapshot[] = [];\n const beliefAppendPositions = new Map<string, number>();\n const conflictAppendPositions = new Map<string, number>();\n const correctionProposalAppendPositions = new Map<string, number>();\n const correctionApprovalAppendPositions = new Map<string, number>();\n const correctionAppliedAppendPositions = new Map<string, number>();\n const recallAppendPositions = new Map<RelayRecallSnapshot, number>();\n const propagationAppendPositions = new Map<RelayPropagationSnapshot, number>();\n const testAppendPositions = new Map<RelayTestSnapshot, number>();\n const missingEvidence = new Set<string>();\n if (corruptLines > 0) missingEvidence.add(\"mission:corrupt-events\");\n const substantiveAgentIds = new Set<string>();\n const substantiveSessionIds = new Set<string>();\n const conflictDisagreementIds = new Set<string>();\n const groundedCorrectionIds = new Set<string>();\n let title: string | null = null;\n let objective: string | null = null;\n let runMode: \"live\" | \"replay\" | \"fixture\" | null = null;\n let startedAt: string | null = null;\n let completedAt: string | null = null;\n let status: RelayMissionStatus = \"not_started\";\n let outcome: RelayMissionSnapshot[\"outcome\"] = null;\n\n const ensureAgent = (agentId: string, sessionId: string, occurredAt: string): RelayAgentSnapshot => {\n const existing = agents.get(agentId);\n if (existing) {\n if (!existing.sessionIds.includes(sessionId)) existing.sessionIds.push(sessionId);\n existing.lastSeenAt = occurredAt;\n return existing;\n }\n const created: RelayAgentSnapshot = {\n agentId,\n label: agentId,\n role: \"Codex agent\",\n status: \"working\",\n sessionIds: [sessionId],\n outputs: [],\n recalls: [],\n lastSeenAt: occurredAt,\n };\n agents.set(agentId, created);\n return created;\n };\n\n const markSubstantiveParticipation = (agentId: string, sessionId?: string): void => {\n substantiveAgentIds.add(agentId);\n if (sessionId) substantiveSessionIds.add(sessionId);\n };\n\n for (const event of orderedEvents) {\n const payload = event.payload;\n const appendPosition = appendPositions.get(event) ?? -1;\n if (\n payload.kind !== \"mission_started\" &&\n firstStartEvent !== undefined &&\n (appendPosition < firstStartPosition || compareRelayEvents(event, firstStartEvent) < 0)\n ) {\n missingEvidence.add(`mission:event-before-start:${event.eventId}`);\n collectMissingEvidence(missingEvidence, event, payload.evidence);\n continue;\n }\n if (\n payload.kind !== \"mission_completed\" &&\n (outcome !== null || (firstCompletionPosition >= 0 && appendPosition > firstCompletionPosition))\n ) {\n missingEvidence.add(`mission:event-after-completion:${event.eventId}`);\n if (payload.kind === \"mission_started\") missingEvidence.add(\"mission:lifecycle-order\");\n collectMissingEvidence(missingEvidence, event, payload.evidence);\n continue;\n }\n switch (payload.kind) {\n case \"mission_started\":\n if (startedAt !== null) {\n missingEvidence.add(\"mission:duplicate-start\");\n collectMissingEvidence(missingEvidence, event, payload.evidence);\n break;\n }\n title = payload.title;\n objective = payload.objective;\n runMode = payload.runMode;\n startedAt = event.occurredAt;\n if (outcome === null) status = \"active\";\n collectMissingEvidence(missingEvidence, event, payload.evidence);\n break;\n case \"agent_status\": {\n const agent = ensureAgent(payload.agentId, payload.sessionId, event.occurredAt);\n markSubstantiveParticipation(payload.agentId, payload.sessionId);\n agent.label = payload.label;\n agent.role = payload.role;\n agent.status = payload.status;\n collectMissingEvidence(missingEvidence, event, payload.evidence);\n break;\n }\n case \"agent_output\": {\n const agent = ensureAgent(payload.agentId, payload.sessionId, event.occurredAt);\n markSubstantiveParticipation(payload.agentId, payload.sessionId);\n agent.outputs.push({\n outputId: payload.outputId,\n summary: payload.summary,\n occurredAt: event.occurredAt,\n evidence: payload.evidence,\n });\n collectMissingEvidence(missingEvidence, event, payload.evidence);\n break;\n }\n case \"belief_observed\": {\n ensureAgent(payload.agentId, payload.sessionId, event.occurredAt);\n markSubstantiveParticipation(payload.agentId, payload.sessionId);\n recordEarliestAppendPosition(\n beliefAppendPositions,\n beliefAppendPositionKey(payload.agentId, payload.decisionId),\n appendPosition\n );\n const existing = decisions.get(payload.decisionId);\n if (existing) {\n if (!decisionStatementsMatch(existing.statement, payload.statement)) {\n missingEvidence.add(`decision:${payload.decisionId}:statement-consistency`);\n }\n if (!existing.heldByAgentIds.includes(payload.agentId)) {\n existing.heldByAgentIds.push(payload.agentId);\n }\n if (!existing.beliefIds.includes(payload.beliefId)) existing.beliefIds.push(payload.beliefId);\n existing.evidence.push(...payload.evidence);\n } else {\n decisions.set(payload.decisionId, {\n decisionId: payload.decisionId,\n statement: payload.statement,\n status: \"active\",\n heldByAgentIds: [payload.agentId],\n beliefIds: [payload.beliefId],\n evidence: [...payload.evidence],\n firstObservedAt: event.occurredAt,\n });\n }\n collectMissingEvidence(missingEvidence, event, payload.evidence);\n break;\n }\n case \"conflict_detected\": {\n recordEarliestAppendPosition(conflictAppendPositions, payload.conflictId, appendPosition);\n const normalizedDecisionStatements = payload.decisionIds\n .map((decisionId) => decisions.get(decisionId)?.statement)\n .filter((statement): statement is string => statement !== undefined)\n .map(normalizeDecisionStatement);\n if (\n normalizedDecisionStatements.length !== payload.decisionIds.length ||\n new Set(normalizedDecisionStatements).size < 2\n ) {\n missingEvidence.add(`conflict:${payload.conflictId}:distinct-decision-statements`);\n } else {\n conflictDisagreementIds.add(payload.conflictId);\n }\n const participantHoldings = payload.agentIds.map((agentId) => ({\n agentId,\n decisionIds: uniqueSorted(\n payload.decisionIds.filter((decisionId) => decisions.get(decisionId)?.heldByAgentIds.includes(agentId))\n ),\n }));\n for (const participant of participantHoldings) {\n if (participant.decisionIds.length === 0) {\n missingEvidence.add(`conflict:${payload.conflictId}:participant:${participant.agentId}:decision-link`);\n }\n }\n for (const decisionId of payload.decisionIds) {\n if (!participantHoldings.some((participant) => participant.decisionIds.includes(decisionId))) {\n missingEvidence.add(`conflict:${payload.conflictId}:decision:${decisionId}:participant-link`);\n }\n if (\n !payload.agentIds.some(\n (agentId) =>\n (beliefAppendPositions.get(beliefAppendPositionKey(agentId, decisionId)) ?? Number.POSITIVE_INFINITY) <\n appendPosition\n )\n ) {\n missingEvidence.add(`conflict:${payload.conflictId}:decision:${decisionId}:append-order`);\n }\n }\n for (const agentId of payload.agentIds) {\n if (\n !payload.decisionIds.some(\n (decisionId) =>\n (beliefAppendPositions.get(beliefAppendPositionKey(agentId, decisionId)) ?? Number.POSITIVE_INFINITY) <\n appendPosition\n )\n ) {\n missingEvidence.add(`conflict:${payload.conflictId}:participant:${agentId}:append-order`);\n }\n }\n if (\n participantHoldings.every((participant) => participant.decisionIds.length > 0) &&\n new Set(participantHoldings.map((participant) => participant.decisionIds.join(\"\\0\"))).size < 2\n ) {\n missingEvidence.add(`conflict:${payload.conflictId}:distinct-participant-beliefs`);\n }\n if (conflicts.has(payload.conflictId)) {\n missingEvidence.add(`conflict:${payload.conflictId}:duplicate`);\n } else {\n conflicts.set(payload.conflictId, {\n conflictId: payload.conflictId,\n decisionIds: uniqueSorted(payload.decisionIds),\n agentIds: uniqueSorted(payload.agentIds),\n summary: payload.summary,\n status: \"open\",\n occurredAt: event.occurredAt,\n evidence: payload.evidence,\n });\n }\n for (const agentId of payload.agentIds) substantiveAgentIds.add(agentId);\n collectMissingEvidence(missingEvidence, event, payload.evidence);\n break;\n }\n case \"test_result\": {\n const testSnapshot: RelayTestSnapshot = {\n testId: payload.testId,\n decisionId: payload.decisionId,\n ...(payload.correctionId === undefined ? {} : { correctionId: payload.correctionId }),\n command: payload.command,\n status: payload.status,\n summary: payload.summary,\n ...(payload.durationMs === undefined ? {} : { durationMs: payload.durationMs }),\n occurredAt: event.occurredAt,\n evidence: payload.evidence,\n };\n tests.push(testSnapshot);\n testAppendPositions.set(testSnapshot, appendPosition);\n collectMissingEvidence(missingEvidence, event, payload.evidence);\n break;\n }\n case \"correction_proposed\": {\n if (corrections.has(payload.correctionId)) {\n missingEvidence.add(`correction:${payload.correctionId}:duplicate-proposal`);\n collectMissingEvidence(missingEvidence, event, payload.evidence);\n break;\n }\n substantiveAgentIds.add(payload.proposedBy);\n const correction: RelayCorrectionSnapshot = {\n correctionId: payload.correctionId,\n conflictId: payload.conflictId,\n proposedDecisionId: payload.proposedDecisionId,\n supersedesDecisionIds: uniqueSorted(payload.supersedesDecisionIds),\n statement: payload.statement,\n rationale: payload.rationale,\n proposedBy: payload.proposedBy,\n status: \"proposed\",\n proposedAt: event.occurredAt,\n evidence: [...payload.evidence],\n };\n corrections.set(payload.correctionId, correction);\n correctionProposalAppendPositions.set(payload.correctionId, appendPosition);\n const existingProposedDecision = decisions.get(payload.proposedDecisionId);\n const replacementStatementMatches =\n existingProposedDecision === undefined ||\n decisionStatementsMatch(existingProposedDecision.statement, payload.statement);\n if (!replacementStatementMatches) {\n missingEvidence.add(`correction:${payload.correctionId}:replacement-statement`);\n }\n if (existingProposedDecision === undefined) {\n decisions.set(payload.proposedDecisionId, {\n decisionId: payload.proposedDecisionId,\n statement: payload.statement,\n status: \"proposed\",\n heldByAgentIds: [],\n beliefIds: [],\n evidence: [...payload.evidence],\n firstObservedAt: event.occurredAt,\n });\n }\n const conflict = conflicts.get(payload.conflictId);\n const conflictAppendPosition = conflictAppendPositions.get(payload.conflictId);\n const conflictPredatesProposal =\n conflictAppendPosition !== undefined && conflictAppendPosition < appendPosition;\n if (!conflictPredatesProposal) {\n missingEvidence.add(`correction:${payload.correctionId}:conflict-append-order`);\n }\n const correctionSourceIds = sourceEvidenceIds(payload.evidence);\n if (correctionSourceIds.size === 0) {\n missingEvidence.add(`correction:${payload.correctionId}:source`);\n }\n if (conflict) {\n const conflictSourceIds = sourceEvidenceIds(conflict.evidence);\n if (conflictSourceIds.size === 0) {\n missingEvidence.add(`conflict:${payload.conflictId}:source`);\n }\n const sourceLinked = [...correctionSourceIds].some((sourceId) => conflictSourceIds.has(sourceId));\n if (!sourceLinked) {\n missingEvidence.add(`correction:${payload.correctionId}:source-link`);\n }\n if (!correctionCoversConflict(correction, conflict)) {\n missingEvidence.add(`conflict:${payload.conflictId}:decision-link`);\n } else if (\n sourceLinked &&\n conflictPredatesProposal &&\n conflictDisagreementIds.has(payload.conflictId) &&\n replacementStatementMatches\n ) {\n groundedCorrectionIds.add(payload.correctionId);\n conflict.status = \"proposed\";\n conflict.correctionId = payload.correctionId;\n }\n } else {\n missingEvidence.add(`conflict:${payload.conflictId}:observation`);\n }\n status = \"awaiting_approval\";\n collectMissingEvidence(missingEvidence, event, payload.evidence);\n break;\n }\n case \"correction_approved\": {\n if (payload.approvedBy.kind === \"agent\") substantiveAgentIds.add(payload.approvedBy.id);\n const correction = corrections.get(payload.correctionId);\n if (correction) {\n const proposalAppendPosition = correctionProposalAppendPositions.get(payload.correctionId);\n const proposalPredatesApproval =\n proposalAppendPosition !== undefined && proposalAppendPosition < appendPosition;\n const authenticatedHumanApproval =\n payload.approvedBy.kind !== \"human\" ||\n runMode !== \"live\" ||\n event.authenticatedPrincipal === payload.approvedBy.id;\n if (!proposalPredatesApproval) {\n missingEvidence.add(`correction:${payload.correctionId}:approval-append-order`);\n } else if (!authenticatedHumanApproval) {\n missingEvidence.add(`correction:${payload.correctionId}:authenticated-human-approval`);\n } else if (correction.approvedAt === undefined) {\n correction.approvedAt = event.occurredAt;\n correction.approvedBy = payload.approvedBy;\n correction.approvalNote = payload.note;\n if (event.authenticatedPrincipal !== undefined) {\n correction.approvalPrincipal = event.authenticatedPrincipal;\n }\n correctionApprovalAppendPositions.set(payload.correctionId, appendPosition);\n if (correction.status === \"proposed\") correction.status = \"approved\";\n status = \"correcting\";\n } else {\n missingEvidence.add(`correction:${payload.correctionId}:duplicate-approval`);\n }\n correction.evidence.push(...payload.evidence);\n } else {\n missingEvidence.add(`correction:${payload.correctionId}:proposal`);\n }\n collectMissingEvidence(missingEvidence, event, payload.evidence);\n break;\n }\n case \"decision_superseded\": {\n const correction = corrections.get(payload.correctionId);\n if (!correction) {\n missingEvidence.add(`correction:${payload.correctionId}:proposal`);\n collectMissingEvidence(missingEvidence, event, payload.evidence);\n break;\n }\n if (correction.approvedAt === undefined || correction.approvedBy === undefined) {\n missingEvidence.add(`correction:${payload.correctionId}:approval`);\n collectMissingEvidence(missingEvidence, event, payload.evidence);\n break;\n }\n const approvalAppendPosition = correctionApprovalAppendPositions.get(payload.correctionId);\n if (approvalAppendPosition === undefined || approvalAppendPosition >= appendPosition) {\n missingEvidence.add(`correction:${payload.correctionId}:approval-append-order`);\n collectMissingEvidence(missingEvidence, event, payload.evidence);\n break;\n }\n const conflict = conflicts.get(correction.conflictId);\n if (!conflict || !correctionCoversConflict(correction, conflict)) {\n missingEvidence.add(`conflict:${correction.conflictId}:decision-link`);\n collectMissingEvidence(missingEvidence, event, payload.evidence);\n break;\n }\n if (!groundedCorrectionIds.has(payload.correctionId)) {\n missingEvidence.add(`correction:${payload.correctionId}:source-link`);\n collectMissingEvidence(missingEvidence, event, payload.evidence);\n break;\n }\n if (\n !correction.supersedesDecisionIds.includes(payload.decisionId) ||\n correction.proposedDecisionId !== payload.replacementDecisionId\n ) {\n missingEvidence.add(`correction:${payload.correctionId}:supersession-link`);\n collectMissingEvidence(missingEvidence, event, payload.evidence);\n break;\n }\n\n const stale = decisions.get(payload.decisionId);\n const replacement = decisions.get(payload.replacementDecisionId);\n if (!stale) missingEvidence.add(`decision:${payload.decisionId}:observation`);\n if (!replacement) missingEvidence.add(`decision:${payload.replacementDecisionId}:replacement`);\n if (!stale || !replacement) {\n collectMissingEvidence(missingEvidence, event, payload.evidence);\n break;\n }\n\n stale.status = \"superseded\";\n stale.supersededAt = event.occurredAt;\n stale.supersededBy = payload.replacementDecisionId;\n stale.correctionId = payload.correctionId;\n stale.evidence.push(...payload.evidence);\n replacement.status = \"active\";\n replacement.evidence.push(...payload.evidence);\n correction.evidence.push(...payload.evidence);\n if (correctionSupersessionComplete(correction, decisions)) {\n correction.appliedAt ??= event.occurredAt;\n recordEarliestAppendPosition(correctionAppliedAppendPositions, payload.correctionId, appendPosition);\n if (correction.status !== \"propagated\") correction.status = \"applied\";\n conflict.status = \"resolved\";\n }\n collectMissingEvidence(missingEvidence, event, payload.evidence);\n break;\n }\n case \"recall_observed\": {\n const agent = ensureAgent(payload.agentId, payload.sessionId, event.occurredAt);\n const coldStart =\n !substantiveAgentIds.has(payload.agentId) &&\n !substantiveSessionIds.has(payload.sessionId) &&\n agent.recalls.length === 0;\n const recallSnapshot: RelayRecallSnapshot = {\n recallReceiptId: payload.recallReceiptId,\n sessionId: payload.sessionId,\n decisionId: payload.decisionId,\n query: payload.query,\n capturedAtAction: payload.capturedAtAction,\n coldStart,\n occurredAt: event.occurredAt,\n evidence: payload.evidence,\n };\n agent.recalls.push(recallSnapshot);\n recallAppendPositions.set(recallSnapshot, appendPosition);\n markSubstantiveParticipation(payload.agentId, payload.sessionId);\n const decision = decisions.get(payload.decisionId);\n if (decision && !decision.heldByAgentIds.includes(payload.agentId)) {\n decision.heldByAgentIds.push(payload.agentId);\n }\n if (!decision) missingEvidence.add(`decision:${payload.decisionId}:recall-target`);\n collectMissingEvidence(missingEvidence, event, payload.evidence);\n break;\n }\n case \"propagation_verified\": {\n const agent = ensureAgent(payload.agentId, payload.sessionId, event.occurredAt);\n const correction = corrections.get(payload.correctionId);\n if (!correction) {\n missingEvidence.add(`correction:${payload.correctionId}:proposal`);\n collectMissingEvidence(missingEvidence, event, payload.evidence);\n break;\n }\n if (correction.approvedAt === undefined || correction.approvedBy === undefined) {\n missingEvidence.add(`correction:${payload.correctionId}:approval`);\n collectMissingEvidence(missingEvidence, event, payload.evidence);\n break;\n }\n if (\n (correction.status !== \"applied\" && correction.status !== \"propagated\") ||\n correction.appliedAt === undefined ||\n correction.proposedDecisionId !== payload.decisionId\n ) {\n missingEvidence.add(`correction:${payload.correctionId}:supersession`);\n collectMissingEvidence(missingEvidence, event, payload.evidence);\n break;\n }\n const recalled = agent.recalls.find(\n (recall) =>\n recall.recallReceiptId === payload.recallReceiptId &&\n recall.sessionId === payload.sessionId &&\n recall.decisionId === payload.decisionId\n );\n if (!recalled) {\n missingEvidence.add(`recall:${payload.recallReceiptId}:observation`);\n collectMissingEvidence(missingEvidence, event, payload.evidence);\n break;\n }\n const appliedAppendPosition = correctionAppliedAppendPositions.get(payload.correctionId);\n const recallAppendPosition = recallAppendPositions.get(recalled);\n if (\n appliedAppendPosition === undefined ||\n recallAppendPosition === undefined ||\n appliedAppendPosition >= recallAppendPosition\n ) {\n missingEvidence.add(`recall:${payload.recallReceiptId}:post-application-append-order`);\n collectMissingEvidence(missingEvidence, event, payload.evidence);\n break;\n }\n if (recallAppendPosition >= appendPosition) {\n missingEvidence.add(`recall:${payload.recallReceiptId}:propagation-append-order`);\n collectMissingEvidence(missingEvidence, event, payload.evidence);\n break;\n }\n if (!recalled.capturedAtAction) {\n missingEvidence.add(`recall:${payload.recallReceiptId}:at-action`);\n collectMissingEvidence(missingEvidence, event, payload.evidence);\n break;\n }\n if (!recalled.coldStart) {\n missingEvidence.add(`recall:${payload.recallReceiptId}:cold-start`);\n collectMissingEvidence(missingEvidence, event, payload.evidence);\n break;\n }\n if (compareInstants(correction.appliedAt, recalled.occurredAt) >= 0) {\n missingEvidence.add(`recall:${payload.recallReceiptId}:post-application`);\n collectMissingEvidence(missingEvidence, event, payload.evidence);\n break;\n }\n if (compareInstants(recalled.occurredAt, event.occurredAt) >= 0) {\n missingEvidence.add(`recall:${payload.recallReceiptId}:propagation-order`);\n collectMissingEvidence(missingEvidence, event, payload.evidence);\n break;\n }\n\n const propagationSnapshot: RelayPropagationSnapshot = {\n correctionId: payload.correctionId,\n agentId: payload.agentId,\n sessionId: payload.sessionId,\n decisionId: payload.decisionId,\n recallReceiptId: payload.recallReceiptId,\n staleDecisionAbsent: payload.staleDecisionAbsent,\n occurredAt: event.occurredAt,\n evidence: payload.evidence,\n };\n propagation.push(propagationSnapshot);\n propagationAppendPositions.set(propagationSnapshot, appendPosition);\n correction.evidence.push(...payload.evidence);\n if (payload.staleDecisionAbsent) {\n correction.status = \"propagated\";\n correction.propagatedAt = event.occurredAt;\n }\n status = payload.staleDecisionAbsent ? \"verified\" : \"correcting\";\n collectMissingEvidence(missingEvidence, event, payload.evidence);\n break;\n }\n case \"mission_completed\":\n if (outcome !== null) {\n missingEvidence.add(\"mission:duplicate-completion\");\n collectMissingEvidence(missingEvidence, event, payload.evidence);\n break;\n }\n if (startedAt === null) missingEvidence.add(\"mission:start\");\n outcome = {\n result: payload.outcome,\n summary: payload.summary,\n occurredAt: event.occurredAt,\n evidence: payload.evidence,\n };\n completedAt = event.occurredAt;\n status = payload.outcome === \"failed\" ? \"failed\" : \"completed\";\n collectMissingEvidence(missingEvidence, event, payload.evidence);\n break;\n }\n }\n\n for (const conflict of conflicts.values()) {\n if (sourceEvidenceIds(conflict.evidence).size === 0) {\n missingEvidence.add(`conflict:${conflict.conflictId}:source`);\n }\n for (const decisionId of conflict.decisionIds) {\n if (!decisions.has(decisionId)) missingEvidence.add(`decision:${decisionId}:conflict-target`);\n }\n for (const agentId of conflict.agentIds) {\n if (!agents.has(agentId)) missingEvidence.add(`agent:${agentId}:conflict-participant`);\n }\n }\n for (const correction of corrections.values()) {\n if (sourceEvidenceIds(correction.evidence).size === 0) {\n missingEvidence.add(`correction:${correction.correctionId}:source`);\n }\n if (correction.approvedAt === undefined || correction.approvedBy === undefined) {\n missingEvidence.add(`correction:${correction.correctionId}:approval`);\n } else if (correction.approvedBy.kind !== \"human\") {\n missingEvidence.add(`correction:${correction.correctionId}:human-approval`);\n } else if (runMode === \"live\" && correction.approvalPrincipal !== correction.approvedBy.id) {\n missingEvidence.add(`correction:${correction.correctionId}:authenticated-human-approval`);\n }\n if (correction.status === \"approved\" || correction.status === \"proposed\") {\n missingEvidence.add(`correction:${correction.correctionId}:supersession`);\n }\n if (correction.status === \"applied\") {\n missingEvidence.add(`correction:${correction.correctionId}:propagation`);\n }\n }\n\n const liveFixtureEvidenceEventIds =\n runMode === \"live\"\n ? orderedEvents\n .filter((event) => event.payload.evidence.some((item) => item.capture === \"fixture\"))\n .map((event) => event.eventId)\n : [];\n for (const eventId of liveFixtureEvidenceEventIds) {\n missingEvidence.add(`mission:live-fixture-evidence:${eventId}`);\n }\n const captureTrustValid = liveFixtureEvidenceEventIds.length === 0;\n\n const sortedDecisions = [...decisions.values()]\n .map((decision) => ({\n ...decision,\n heldByAgentIds: uniqueSorted(decision.heldByAgentIds),\n beliefIds: uniqueSorted(decision.beliefIds),\n evidence: uniqueEvidence(decision.evidence),\n }))\n .sort((a, b) => compareText(a.decisionId, b.decisionId));\n const coldStartVerified = captureTrustValid && propagation.some((item) => item.staleDecisionAbsent);\n const passingOutcomeVerified =\n captureTrustValid &&\n outcome?.result === \"recovered\" &&\n tests.some((test) => {\n const testAppendPosition = testAppendPositions.get(test);\n if (\n test.status !== \"passed\" ||\n test.correctionId === undefined ||\n testAppendPosition === undefined ||\n firstCompletionPosition < 0 ||\n testAppendPosition >= firstCompletionPosition ||\n compareInstants(test.occurredAt, outcome.occurredAt) >= 0\n ) {\n return false;\n }\n const correction = corrections.get(test.correctionId);\n if (\n correction?.status !== \"propagated\" ||\n correction.proposedDecisionId !== test.decisionId ||\n !test.evidence.some((item) => item.kind === \"correction\" && item.id === correction.correctionId) ||\n !test.evidence.some((item) => item.kind === \"test\")\n ) {\n return false;\n }\n return propagation.some((item) => {\n const propagationAppendPosition = propagationAppendPositions.get(item);\n return (\n item.staleDecisionAbsent &&\n item.correctionId === correction.correctionId &&\n item.decisionId === test.decisionId &&\n propagationAppendPosition !== undefined &&\n propagationAppendPosition < testAppendPosition &&\n compareInstants(item.occurredAt, test.occurredAt) < 0\n );\n });\n });\n if (outcome && !passingOutcomeVerified) missingEvidence.add(\"outcome:passing-test\");\n if (outcome?.result === \"recovered\" && !coldStartVerified) {\n missingEvidence.add(\"outcome:cold-start-propagation\");\n }\n if (input.events.length > 0 && startedAt === null) missingEvidence.add(\"mission:start\");\n if (startedAt !== null && completedAt !== null && compareInstants(startedAt, completedAt) >= 0) {\n missingEvidence.add(\"mission:lifecycle-order\");\n }\n if (\n firstStartEvent !== undefined &&\n firstCompletionEvent !== undefined &&\n (firstStartPosition >= firstCompletionPosition || compareRelayEvents(firstStartEvent, firstCompletionEvent) >= 0)\n ) {\n missingEvidence.add(\"mission:lifecycle-order\");\n }\n\n const eventWindow = filteredEvents.slice(Math.max(0, filteredEvents.length - options.limit));\n // `found` describes whether the mission has any valid persisted evidence,\n // not whether the caller's optional time window happened to select an\n // event. A known mission with an empty [since, until) window is distinct\n // from a mission that has never existed.\n const found = input.events.length > 0;\n return {\n schemaVersion: RELAY_MISSION_SCHEMA_VERSION,\n missionId,\n namespace,\n found,\n readHealth: corruptLines > 0 ? \"partial\" : found || input.fileExists ? \"ok\" : \"empty\",\n status,\n mission: { title, objective, runMode, startedAt, completedAt },\n agents: [...agents.values()]\n .map((agent) => ({\n ...agent,\n sessionIds: uniqueSorted(agent.sessionIds),\n outputs: agent.outputs.sort((a, b) => compareTimedIds(a, b, \"outputId\")),\n recalls: agent.recalls.sort((a, b) => compareTimedIds(a, b, \"recallReceiptId\")),\n }))\n .sort((a, b) => compareText(a.agentId, b.agentId)),\n decisions: sortedDecisions,\n conflicts: [...conflicts.values()].sort((a, b) => compareText(a.conflictId, b.conflictId)),\n corrections: [...corrections.values()]\n .map((correction) => ({ ...correction, evidence: uniqueEvidence(correction.evidence) }))\n .sort((a, b) => compareText(a.correctionId, b.correctionId)),\n tests: tests.sort((a, b) => compareTimedIds(a, b, \"testId\")),\n propagation: propagation.sort((a, b) => {\n const byTime = compareInstants(a.occurredAt, b.occurredAt);\n if (byTime !== 0) return byTime;\n const byAgent = compareText(a.agentId, b.agentId);\n return byAgent !== 0 ? byAgent : compareText(a.recallReceiptId, b.recallReceiptId);\n }),\n outcome,\n receipt: {\n complete:\n status === \"completed\" &&\n outcome?.result === \"recovered\" &&\n passingOutcomeVerified &&\n coldStartVerified &&\n missingEvidence.size === 0,\n missingEvidence: [...missingEvidence].sort(compareText),\n activeDecisionIds: sortedDecisions\n .filter((decision) => decision.status === \"active\")\n .map((decision) => decision.decisionId),\n supersededDecisionIds: sortedDecisions\n .filter((decision) => decision.status === \"superseded\")\n .map((decision) => decision.decisionId),\n coldStartVerified,\n passingOutcomeVerified,\n },\n bounds: {\n totalEvents: filteredEvents.length,\n returnedEvents: eventWindow.length,\n corruptLines,\n truncated: filteredEvents.length > eventWindow.length,\n since: options.since ?? null,\n until: options.until ?? null,\n },\n events: eventWindow,\n };\n}\n\nexport function compareRelayEvents(a: RelayMissionEvent, b: RelayMissionEvent): number {\n const byOccurrence = compareInstants(a.occurredAt, b.occurredAt);\n if (byOccurrence !== 0) return byOccurrence;\n const byRecord = compareInstants(a.recordedAt, b.recordedAt);\n if (byRecord !== 0) return byRecord;\n return compareText(a.eventId, b.eventId);\n}\n\nfunction parseMissionJsonl(\n raw: string,\n missionId: string,\n namespace: string,\n maxEvents: number\n): Pick<MissionFileRead, \"events\" | \"corruptLines\"> {\n const events: RelayMissionEvent[] = [];\n let corruptLines = 0;\n for (const line of raw.split(\"\\n\")) {\n if (line.trim().length === 0) continue;\n if (Buffer.byteLength(line, \"utf8\") > RELAY_MISSION_MAX_LINE_BYTES) {\n corruptLines += 1;\n continue;\n }\n let candidate: unknown;\n try {\n candidate = JSON.parse(line);\n } catch {\n corruptLines += 1;\n continue;\n }\n const parsed = RelayMissionEventSchema.safeParse(candidate);\n if (!parsed.success || parsed.data.missionId !== missionId || parsed.data.namespace !== namespace) {\n corruptLines += 1;\n continue;\n }\n if (events.length >= maxEvents) {\n throw new RelayMissionStoreError(\n \"limit_exceeded\",\n `mission ${missionId} exceeds the ${maxEvents}-event read limit`\n );\n }\n events.push(parsed.data);\n }\n return { events, corruptLines };\n}\n\nfunction collectMissingEvidence(missing: Set<string>, event: RelayMissionEvent, evidence: RelayEvidenceRef[]): void {\n if (evidence.length === 0) missing.add(`event:${event.eventId}:evidence`);\n}\n\nfunction sameIdempotentInput(\n event: RelayMissionEvent,\n input: z.infer<typeof RelayMissionEventInputSchema>,\n authenticatedPrincipal: string | undefined\n): boolean {\n if (event.authenticatedPrincipal !== authenticatedPrincipal) return false;\n if (input.occurredAt !== undefined && event.occurredAt !== input.occurredAt) return false;\n return stableJson(event.payload) === stableJson(input.payload);\n}\n\nfunction stableJson(value: unknown): string {\n if (Array.isArray(value)) return `[${value.map(stableJson).join(\",\")}]`;\n if (value && typeof value === \"object\") {\n const entries = Object.entries(value as Record<string, unknown>)\n .sort(([a], [b]) => compareText(a, b))\n .map(([key, child]) => `${JSON.stringify(key)}:${stableJson(child)}`);\n return `{${entries.join(\",\")}}`;\n }\n return JSON.stringify(value) ?? \"null\";\n}\n\nfunction uniqueEvidence(evidence: RelayEvidenceRef[]): RelayEvidenceRef[] {\n const byKey = new Map<string, RelayEvidenceRef>();\n for (const item of evidence) byKey.set(`${item.kind}\\0${item.id}`, item);\n return [...byKey.values()].sort((a, b) => {\n const byKind = compareText(a.kind, b.kind);\n return byKind !== 0 ? byKind : compareText(a.id, b.id);\n });\n}\n\nfunction uniqueSorted(values: string[]): string[] {\n return [...new Set(values)].sort(compareText);\n}\n\nfunction compareText(a: string, b: string): number {\n if (a < b) return -1;\n if (a > b) return 1;\n return 0;\n}\n\nfunction compareInstants(a: string, b: string): number {\n const aMs = Date.parse(a);\n const bMs = Date.parse(b);\n if (aMs < bMs) return -1;\n if (aMs > bMs) return 1;\n return 0;\n}\n\nfunction compareTimedIds<T extends { occurredAt: string }, K extends keyof T>(a: T, b: T, idKey: K): number {\n const byTime = compareInstants(a.occurredAt, b.occurredAt);\n if (byTime !== 0) return byTime;\n return compareText(String(a[idKey]), String(b[idKey]));\n}\n\nfunction beliefAppendPositionKey(agentId: string, decisionId: string): string {\n return `${agentId}\\0${decisionId}`;\n}\n\nfunction normalizeDecisionStatement(statement: string): string {\n return statement\n .normalize(\"NFKC\")\n .trim()\n .toLowerCase()\n .replace(/\\s+/g, \" \")\n .replace(/[.!?]+$/, \"\");\n}\n\nfunction decisionStatementsMatch(left: string, right: string): boolean {\n return normalizeDecisionStatement(left) === normalizeDecisionStatement(right);\n}\n\nfunction recordEarliestAppendPosition(positions: Map<string, number>, key: string, position: number): void {\n const current = positions.get(key);\n if (current === undefined || position < current) positions.set(key, position);\n}\n\nfunction correctionSupersessionComplete(\n correction: RelayCorrectionSnapshot,\n decisions: ReadonlyMap<string, RelayDecisionSnapshot>\n): boolean {\n return correction.supersedesDecisionIds.every((decisionId) => {\n const decision = decisions.get(decisionId);\n return (\n decision?.status === \"superseded\" &&\n decision.supersededBy === correction.proposedDecisionId &&\n decision.correctionId === correction.correctionId\n );\n });\n}\n\nfunction correctionCoversConflict(\n correction: Pick<RelayCorrectionSnapshot, \"proposedDecisionId\" | \"supersedesDecisionIds\">,\n conflict: Pick<RelayConflictSnapshot, \"decisionIds\">\n): boolean {\n const expectedSuperseded = uniqueSorted(\n conflict.decisionIds.filter((decisionId) => decisionId !== correction.proposedDecisionId)\n );\n const declaredSuperseded = uniqueSorted(correction.supersedesDecisionIds);\n return (\n expectedSuperseded.length === declaredSuperseded.length &&\n expectedSuperseded.every((decisionId, index) => decisionId === declaredSuperseded[index])\n );\n}\n\nfunction sourceEvidenceIds(evidence: readonly RelayEvidenceRef[]): Set<string> {\n return new Set(evidence.filter((item) => item.kind === \"source\").map((item) => item.id));\n}\n\nfunction positiveIntegerOption(value: number | undefined, name: string, fallback: number): number {\n if (value === undefined) return fallback;\n if (!Number.isInteger(value) || value <= 0) {\n throw new TypeError(`RelayMissionStore ${name} must be a positive integer`);\n }\n return value;\n}\n\nfunction validNow(now: () => Date): string {\n const value = now();\n if (!(value instanceof Date) || !Number.isFinite(value.getTime())) {\n throw new TypeError(\"RelayMissionStore now() must return a valid Date\");\n }\n return value.toISOString();\n}\n\nasync function openOrCreatePinnedChildDirectory(\n parentHandle: import(\"node:fs/promises\").FileHandle,\n segment: string\n): Promise<import(\"node:fs/promises\").FileHandle> {\n const directory = path.join(pinnedDirectoryPath(parentHandle), segment);\n try {\n await fs.mkdir(directory, { mode: 0o700 });\n } catch (error) {\n if ((error as NodeJS.ErrnoException).code !== \"EEXIST\") throw error;\n }\n return openVerifiedDirectory(directory, \"Relay directory symlinks are rejected\");\n}\n\nasync function openVerifiedDirectory(\n directory: string,\n unsafeMessage: string\n): Promise<import(\"node:fs/promises\").FileHandle> {\n const before = await fs.lstat(directory);\n if (before.isSymbolicLink() || !before.isDirectory()) {\n throw new RelayMissionStoreError(\"unsafe_path\", unsafeMessage);\n }\n const handle = await fs.open(directory, fsConstants.O_RDONLY | fsConstants.O_DIRECTORY | fsConstants.O_NOFOLLOW);\n try {\n const openInfo = await handle.stat();\n const after = await fs.lstat(directory);\n if (\n after.isSymbolicLink() ||\n !after.isDirectory() ||\n before.dev !== openInfo.dev ||\n before.ino !== openInfo.ino ||\n after.dev !== openInfo.dev ||\n after.ino !== openInfo.ino\n ) {\n throw new RelayMissionStoreError(\"unsafe_path\", \"Relay directory changed during validation\");\n }\n return handle;\n } catch (error) {\n await handle.close().catch(() => undefined);\n throw error;\n }\n}\n\nfunction pinnedDirectoryPath(handle: import(\"node:fs/promises\").FileHandle): string {\n if (process.platform === \"linux\") return `/proc/self/fd/${handle.fd}`;\n if (process.platform === \"darwin\" || process.platform === \"freebsd\" || process.platform === \"openbsd\") {\n return `/dev/fd/${handle.fd}`;\n }\n throw new RelayMissionStoreError(\n \"unsafe_path\",\n `Relay pinned directory access is unsupported on ${process.platform}`\n );\n}\n\nexport function relayMissionReceiptDigest(snapshot: RelayMissionSnapshot): string {\n const receipt = {\n schemaVersion: snapshot.schemaVersion,\n missionId: snapshot.missionId,\n namespace: snapshot.namespace,\n status: snapshot.status,\n decisions: snapshot.decisions,\n corrections: snapshot.corrections,\n propagation: snapshot.propagation,\n tests: snapshot.tests,\n outcome: snapshot.outcome,\n receipt: snapshot.receipt,\n };\n return createHash(\"sha256\").update(stableJson(receipt)).digest(\"hex\");\n}\n","/**\n * Location boundary operations (issue #2047) — the five `location_*`\n * operations registered through the access boundary so MCP, HTTP, and any\n * batch transport share one validated dispatch. Handlers are thin: they run\n * the same `location/surfaces.ts` runners the CLI uses. Fleet-wide: location\n * config and day files are machine-level (no namespace scoping).\n */\n\nimport { z } from \"zod\";\nimport { defineOperation } from \"../access-boundary.js\";\nimport type { EngramAccessService } from \"../access-service.js\";\nimport { backfillMemoryStorage } from \"./backfill.js\";\nimport {\n runLocationBackfill,\n runLocationCheck,\n runLocationDay,\n runLocationStatus,\n runLocationSync,\n type LocationSurfaceDeps,\n} from \"./surfaces.js\";\n\n/** Zod shape shared by the location operations (null-for-absent tolerant). */\nconst dateField = z.union([z.string(), z.null()]).optional();\nconst daysField = z.union([z.number(), z.string(), z.null()]).optional();\nconst dryRunField = z.union([z.boolean(), z.null()]).optional();\n\nfunction locationDeps(service: EngramAccessService): LocationSurfaceDeps {\n return {\n config: service.configRef.location,\n memoryDir: service.memoryDir,\n getMemoryStorage: () => backfillMemoryStorage(service.configRef),\n };\n}\n\ndefineOperation({\n name: \"location_status\",\n description: \"Location sync status (gates, providers, last sync, day counts).\",\n fleetWide: true,\n schema: z.object({}).passthrough(),\n handler: async (_input, ctx) => ({\n result: await runLocationStatus(locationDeps(ctx.service)),\n }),\n});\n\ndefineOperation({\n name: \"location_check\",\n description: \"Probe every enabled location provider.\",\n fleetWide: true,\n schema: z.object({}).passthrough(),\n handler: async (_input, ctx) => ({\n result: await runLocationCheck(locationDeps(ctx.service)),\n }),\n});\n\ndefineOperation({\n name: \"location_sync\",\n description: \"Sync location days (default window: syncDays ending yesterday).\",\n fleetWide: true,\n schema: z.object({ date: dateField, days: daysField }).passthrough(),\n handler: async (input, ctx) => ({\n result: {\n days: await runLocationSync(locationDeps(ctx.service), {\n ...(input.date !== undefined && input.date !== null && input.date !== \"\" ? { endDate: input.date } : {}),\n ...(input.days !== undefined && input.days !== null && input.days !== \"\" ? { days: Number(input.days) } : {}),\n }),\n },\n }),\n});\n\ndefineOperation({\n name: \"location_backfill\",\n description: \"Sync an explicit historical day range (≤ 90 days) and re-tag overlapping memories (issue #2046).\",\n fleetWide: true,\n schema: z.object({ from: dateField, to: dateField, dryRun: dryRunField }).passthrough(),\n handler: async (input, ctx) => ({\n result: await runLocationBackfill(locationDeps(ctx.service), {\n from: input.from ?? null,\n to: input.to ?? null,\n dryRun: input.dryRun === true,\n }),\n }),\n});\n\ndefineOperation({\n name: \"location_day\",\n description: \"Read one stored location day.\",\n fleetWide: true,\n schema: z.object({ date: dateField }).passthrough(),\n handler: async (input, ctx) => ({\n result: await runLocationDay(locationDeps(ctx.service).memoryDir, input.date),\n }),\n});\n\n","import { z } from \"zod\";\n\nimport { defineOperation } from \"../access-boundary.js\";\nimport { buildStandup, parseStandupDate } from \"./build.js\";\n\ndefineOperation({\n name: \"standup\",\n description: \"Deterministic yesterday/today/blockers standup brief.\",\n fleetWide: true,\n schema: z.object({ date: z.string().optional() }).strict(),\n handler: async (input, ctx) => ({\n result: buildStandup(ctx.service.memoryDir, parseStandupDate(input.date)),\n }),\n});\n"],"mappings":"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","names":["z","z","event","namespaceSchema","z","z","z","z","z","z"]}
@@ -11,7 +11,7 @@ import {
11
11
  } from "./chunk-NHLLKEKK.js";
12
12
  import {
13
13
  parseConfig
14
- } from "./chunk-D2DIYEFW.js";
14
+ } from "./chunk-FWWWUPOE.js";
15
15
  import {
16
16
  resolveObjectiveStateStoreDir,
17
17
  validateObjectiveStateSnapshot
@@ -268,4 +268,4 @@ export {
268
268
  recordResumeBundle,
269
269
  getResumeBundleStatus
270
270
  };
271
- //# sourceMappingURL=chunk-2JGGZICG.js.map
271
+ //# sourceMappingURL=chunk-WBM2MVBK.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  runLocationSync
3
- } from "./chunk-57GDHV2D.js";
3
+ } from "./chunk-PCOVEDPK.js";
4
4
  import {
5
5
  log
6
6
  } from "./chunk-3WCASNQZ.js";
@@ -58,4 +58,4 @@ export {
58
58
  LOCATION_SYNC_DEFAULT_INTERVAL_MS,
59
59
  startLocationAutoSync
60
60
  };
61
- //# sourceMappingURL=chunk-CD3C4BJN.js.map
61
+ //# sourceMappingURL=chunk-WIWLX65T.js.map
@@ -4,10 +4,10 @@ import {
4
4
  } from "./chunk-CARRTDKC.js";
5
5
  import {
6
6
  composeSalvagedEnvelope
7
- } from "./chunk-YM7YN37H.js";
7
+ } from "./chunk-6ET2VII7.js";
8
8
  import {
9
9
  StorageManager
10
- } from "./chunk-ZEPVWLCN.js";
10
+ } from "./chunk-CZTPU65V.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-GDDSXVWR.js.map
1286
+ //# sourceMappingURL=chunk-X4TD4O2F.js.map
@@ -246,4 +246,4 @@ export {
246
246
  decryptCapsuleFile,
247
247
  decryptCapsuleFileInMemory
248
248
  };
249
- //# sourceMappingURL=chunk-DQEMWVMT.js.map
249
+ //# sourceMappingURL=chunk-X7Y7WX73.js.map
@@ -2,7 +2,7 @@ import {
2
2
  WHO_KNOWS_DEFAULT_LIMIT,
3
3
  WHO_KNOWS_MAX_LIMIT,
4
4
  validateWhoKnowsInput
5
- } from "./chunk-X7BCM2NA.js";
5
+ } from "./chunk-3EKVN2OP.js";
6
6
 
7
7
  // src/who-knows-cli.ts
8
8
  function extractWhoKnowsRawArgs(rest) {
@@ -74,4 +74,4 @@ export {
74
74
  renderWhoKnowsText,
75
75
  renderWhoKnows
76
76
  };
77
- //# sourceMappingURL=chunk-FPQDZCUX.js.map
77
+ //# sourceMappingURL=chunk-XH3HGI2N.js.map
@@ -1,6 +1,9 @@
1
1
  import {
2
2
  getConfiguredNamespaces
3
3
  } from "./chunk-OQQXGYMX.js";
4
+ import {
5
+ writeFileAtomically
6
+ } from "./chunk-AW4QUFQF.js";
4
7
  import {
5
8
  drainPendingLifecycleForSyncOrThrow,
6
9
  drainPendingLifecycleLedgerForSync
@@ -8,9 +11,6 @@ import {
8
11
  import {
9
12
  displayErrorDetail
10
13
  } from "./chunk-RL6NEVXT.js";
11
- import {
12
- writeFileAtomically
13
- } from "./chunk-AW4QUFQF.js";
14
14
  import {
15
15
  assertPathInsideRoot,
16
16
  pathIsInside
@@ -181,4 +181,4 @@ export {
181
181
  offlineSyncStorageForSnapshot,
182
182
  drainPendingLifecycleForOfflineSync
183
183
  };
184
- //# sourceMappingURL=chunk-C6KRO3SU.js.map
184
+ //# sourceMappingURL=chunk-XVDZFTN5.js.map