@remnic/core 9.3.708 → 9.3.710

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 (266) hide show
  1. package/dist/access-boundary.d.ts +7 -7
  2. package/dist/access-boundary.js +8 -8
  3. package/dist/access-cli.js +111 -24
  4. package/dist/access-cli.js.map +1 -1
  5. package/dist/access-http.d.ts +6 -6
  6. package/dist/access-http.js +12 -12
  7. package/dist/access-mcp.d.ts +14 -6
  8. package/dist/access-mcp.js +11 -11
  9. package/dist/access-operations-batch.js +9 -9
  10. package/dist/access-operations.d.ts +28 -8
  11. package/dist/access-operations.js +14 -10
  12. package/dist/access-schema.d.ts +6 -6
  13. package/dist/{access-service-j1c1gptF.d.ts → access-service-CoIA0NrG.d.ts} +186 -3
  14. package/dist/access-service.d.ts +6 -6
  15. package/dist/access-service.js +7 -7
  16. package/dist/access-surface-catalog.d.ts +6 -6
  17. package/dist/access-surface-catalog.js +7 -0
  18. package/dist/access-surface-catalog.js.map +1 -1
  19. package/dist/action-confidence.d.ts +1 -1
  20. package/dist/active-memory-bridge.d.ts +1 -1
  21. package/dist/active-recall.d.ts +1 -1
  22. package/dist/active-recall.js +1 -1
  23. package/dist/behavior-learner.d.ts +1 -1
  24. package/dist/behavior-signals.d.ts +1 -1
  25. package/dist/bootstrap.d.ts +4 -4
  26. package/dist/briefing.d.ts +1 -1
  27. package/dist/briefing.js +3 -3
  28. package/dist/buffer-surprise-report.d.ts +1 -1
  29. package/dist/buffer.d.ts +1 -1
  30. package/dist/calibration.d.ts +1 -1
  31. package/dist/capabilities.d.ts +1 -1
  32. package/dist/{catalog-CKxilpzS.d.ts → catalog-DQCZrBjw.d.ts} +1 -1
  33. package/dist/causal-behavior.d.ts +1 -1
  34. package/dist/causal-consolidation.d.ts +1 -1
  35. package/dist/causal-consolidation.js +4 -4
  36. package/dist/{chunk-PDJQVAGM.js → chunk-2T4TDXPC.js} +14 -14
  37. package/dist/{chunk-W2WQ4LE7.js → chunk-35YJ6KCV.js} +2 -2
  38. package/dist/{chunk-C63MK3WL.js → chunk-3TCRU4JA.js} +2 -2
  39. package/dist/{chunk-WRGPE6AW.js → chunk-3XHD3XGK.js} +44 -1
  40. package/dist/chunk-3XHD3XGK.js.map +1 -0
  41. package/dist/{chunk-GKI6LX5L.js → chunk-54TI5GLV.js} +2 -2
  42. package/dist/{chunk-IVCQW4C4.js → chunk-7IBEWQLG.js} +2 -2
  43. package/dist/{chunk-Y6YHAGQP.js → chunk-7NDYFAJS.js} +2 -2
  44. package/dist/{chunk-SPETAWFE.js → chunk-AZVHBFI3.js} +2 -2
  45. package/dist/{chunk-MLLTU5FX.js → chunk-BOGENF7P.js} +1 -1
  46. package/dist/chunk-BOGENF7P.js.map +1 -0
  47. package/dist/{chunk-3PTOZJOI.js → chunk-BQCFXAMN.js} +2 -2
  48. package/dist/{chunk-4E2QCH46.js → chunk-CNVIWMQI.js} +2 -2
  49. package/dist/{chunk-4DZATVK5.js → chunk-CXMXAC5R.js} +3 -3
  50. package/dist/{chunk-STYMKPFT.js → chunk-EVX52NCY.js} +1459 -21
  51. package/dist/chunk-EVX52NCY.js.map +1 -0
  52. package/dist/{chunk-W2S3Z5MT.js → chunk-GMRNKPWO.js} +2 -2
  53. package/dist/{chunk-HIV5E57C.js → chunk-HSDJCT3V.js} +2 -2
  54. package/dist/{chunk-NM6TSEGQ.js → chunk-JNOYYWCA.js} +2 -2
  55. package/dist/{chunk-IONFO7UK.js → chunk-JQ7XVM4V.js} +3 -3
  56. package/dist/{chunk-2VQYHHWB.js → chunk-JSDZMOT7.js} +11 -2
  57. package/dist/chunk-JSDZMOT7.js.map +1 -0
  58. package/dist/{chunk-WSWYIKXX.js → chunk-KOEKDZ6A.js} +62 -5
  59. package/dist/chunk-KOEKDZ6A.js.map +1 -0
  60. package/dist/{chunk-WQADZ3ZY.js → chunk-NK3SPJLM.js} +20 -19
  61. package/dist/chunk-NK3SPJLM.js.map +1 -0
  62. package/dist/{chunk-WDH3KUZU.js → chunk-NXL5CVE7.js} +2 -2
  63. package/dist/{chunk-BGAHTI4C.js → chunk-OK7FUX6R.js} +6 -6
  64. package/dist/{chunk-24FGNOQS.js → chunk-P6PRSI3W.js} +85 -4
  65. package/dist/chunk-P6PRSI3W.js.map +1 -0
  66. package/dist/{chunk-66TSLESZ.js → chunk-PKE7EJMX.js} +2 -2
  67. package/dist/chunk-PKE7EJMX.js.map +1 -0
  68. package/dist/{chunk-MOXFPLD6.js → chunk-QXNFQKWU.js} +2 -2
  69. package/dist/{chunk-MRX6ZXHZ.js → chunk-S6FQLQGH.js} +2 -2
  70. package/dist/{chunk-6HPJMR5I.js → chunk-SKQCFAYU.js} +2 -2
  71. package/dist/{chunk-EJDAXR7O.js → chunk-VWB3HDY6.js} +56 -8
  72. package/dist/chunk-VWB3HDY6.js.map +1 -0
  73. package/dist/{chunk-N75N5SNX.js → chunk-XD33EX2F.js} +3 -3
  74. package/dist/{chunk-ESMY4RJ4.js → chunk-XKU4YE6Z.js} +2 -2
  75. package/dist/{chunk-XKMDDM7P.js → chunk-Y6PIFKXX.js} +2 -2
  76. package/dist/{chunk-RH2OSRQY.js → chunk-Z56IHRVV.js} +2 -2
  77. package/dist/{cli-CbT-pyM4.d.ts → cli-qex-L3GT.d.ts} +3 -3
  78. package/dist/cli.d.ts +6 -6
  79. package/dist/cli.js +26 -26
  80. package/dist/compounding/engine.d.ts +1 -1
  81. package/dist/compounding/engine.js +3 -3
  82. package/dist/compounding/preference-consolidator.d.ts +1 -1
  83. package/dist/compression-optimizer.d.ts +1 -1
  84. package/dist/config.d.ts +1 -1
  85. package/dist/config.js +1 -1
  86. package/dist/connectors/codex-materialize-runner.d.ts +1 -1
  87. package/dist/connectors/codex-materialize-runner.js +3 -3
  88. package/dist/connectors/codex-materialize.d.ts +1 -1
  89. package/dist/connectors/index.d.ts +1 -1
  90. package/dist/connectors/index.js +3 -3
  91. package/dist/consolidation-provenance-check.d.ts +1 -1
  92. package/dist/consolidation-undo.d.ts +1 -1
  93. package/dist/contradiction/index.d.ts +1 -1
  94. package/dist/conversation-index/backend.d.ts +1 -1
  95. package/dist/conversation-index/chunker.d.ts +1 -1
  96. package/dist/conversation-index/faiss-adapter.d.ts +1 -1
  97. package/dist/conversation-index/indexer.d.ts +1 -1
  98. package/dist/conversation-index/search.d.ts +1 -1
  99. package/dist/day-summary.d.ts +1 -1
  100. package/dist/delinearize.d.ts +1 -1
  101. package/dist/direct-answer-wiring.d.ts +1 -1
  102. package/dist/direct-answer.d.ts +1 -1
  103. package/dist/embedding-fallback.d.ts +1 -1
  104. package/dist/enrichment/index.d.ts +1 -1
  105. package/dist/entity-retrieval.d.ts +1 -1
  106. package/dist/entity-retrieval.js +3 -3
  107. package/dist/entity-schema.d.ts +1 -1
  108. package/dist/explicit-capture.d.ts +4 -4
  109. package/dist/extraction-faithfulness.d.ts +1 -1
  110. package/dist/extraction-judge-telemetry.d.ts +1 -1
  111. package/dist/extraction-judge-training.d.ts +1 -1
  112. package/dist/extraction-judge.d.ts +1 -1
  113. package/dist/extraction.d.ts +1 -1
  114. package/dist/fallback-llm.d.ts +1 -1
  115. package/dist/identity-continuity.d.ts +1 -1
  116. package/dist/importance.d.ts +1 -1
  117. package/dist/index.d.ts +9 -9
  118. package/dist/index.js +32 -32
  119. package/dist/intent.d.ts +1 -1
  120. package/dist/lcm/engine.d.ts +1 -1
  121. package/dist/lcm/index.d.ts +1 -1
  122. package/dist/lcm/tools.d.ts +1 -1
  123. package/dist/lifecycle.d.ts +1 -1
  124. package/dist/live-connectors-runner.d.ts +1 -1
  125. package/dist/local-llm.d.ts +1 -1
  126. package/dist/maintenance/memory-governance.d.ts +1 -1
  127. package/dist/maintenance/memory-governance.js +3 -3
  128. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +3 -3
  129. package/dist/maintenance/rebuild-memory-projection.js +4 -4
  130. package/dist/mcp-memory-inspector-app.d.ts +6 -6
  131. package/dist/memory-action-policy.d.ts +1 -1
  132. package/dist/memory-cache.d.ts +1 -1
  133. package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
  134. package/dist/memory-projection-store.d.ts +1 -1
  135. package/dist/memory-provenance.d.ts +1 -1
  136. package/dist/memory-worth-outcomes.d.ts +1 -1
  137. package/dist/models-json.d.ts +1 -1
  138. package/dist/namespaces/migrate.d.ts +2 -2
  139. package/dist/namespaces/migrate.js +4 -4
  140. package/dist/namespaces/principal.d.ts +1 -1
  141. package/dist/namespaces/search.d.ts +1 -1
  142. package/dist/namespaces/storage.d.ts +2 -2
  143. package/dist/namespaces/storage.js +3 -3
  144. package/dist/native-knowledge.d.ts +1 -1
  145. package/dist/operator-toolkit.d.ts +1 -1
  146. package/dist/operator-toolkit.js +9 -9
  147. package/dist/orchestration/maintenance.d.ts +2 -2
  148. package/dist/orchestration/maintenance.js +5 -5
  149. package/dist/{orchestrator-D4ovYV3x.d.ts → orchestrator-DsVKLEBk.d.ts} +3 -3
  150. package/dist/orchestrator.d.ts +4 -4
  151. package/dist/orchestrator.js +15 -15
  152. package/dist/patterns-cli.d.ts +1 -1
  153. package/dist/policy-runtime.d.ts +1 -1
  154. package/dist/provenance.d.ts +1 -1
  155. package/dist/qmd-recall-cache.d.ts +1 -1
  156. package/dist/qmd.d.ts +1 -1
  157. package/dist/recall-disclosure-escalation.d.ts +1 -1
  158. package/dist/recall-explain-renderer.d.ts +1 -1
  159. package/dist/recall-explain-renderer.js +3 -3
  160. package/dist/recall-planner-llm.d.ts +1 -1
  161. package/dist/recall-state.d.ts +1 -1
  162. package/dist/recall-tag-filter.d.ts +1 -1
  163. package/dist/recall-xray-cli.d.ts +1 -1
  164. package/dist/recall-xray-cli.js +4 -4
  165. package/dist/recall-xray-renderer.d.ts +1 -1
  166. package/dist/recall-xray-renderer.js +3 -3
  167. package/dist/recall-xray.d.ts +1 -1
  168. package/dist/recall-xray.js +2 -2
  169. package/dist/resolve-auth-token.d.ts +1 -1
  170. package/dist/resume-bundles.js +2 -2
  171. package/dist/retrieval-agents.d.ts +1 -1
  172. package/dist/retrieval-tiers.d.ts +1 -1
  173. package/dist/routing/engine.d.ts +1 -1
  174. package/dist/routing/store.d.ts +1 -1
  175. package/dist/schemas.d.ts +2 -2
  176. package/dist/search/embed-helper.d.ts +1 -1
  177. package/dist/search/factory.d.ts +1 -1
  178. package/dist/search/index.d.ts +1 -1
  179. package/dist/search/lancedb-backend.d.ts +1 -1
  180. package/dist/search/meilisearch-backend.d.ts +1 -1
  181. package/dist/search/noop-backend.d.ts +1 -1
  182. package/dist/search/orama-backend.d.ts +1 -1
  183. package/dist/search/port.d.ts +1 -1
  184. package/dist/search/remote-backend.d.ts +1 -1
  185. package/dist/{semantic-consolidation-DyMUCsfN.d.ts → semantic-consolidation-_hVxkTuF.d.ts} +1 -1
  186. package/dist/semantic-consolidation.d.ts +2 -2
  187. package/dist/semantic-consolidation.js +4 -4
  188. package/dist/semantic-rule-promotion.js +3 -3
  189. package/dist/semantic-rule-verifier.d.ts +1 -1
  190. package/dist/semantic-rule-verifier.js +3 -3
  191. package/dist/session-observer-bands.d.ts +1 -1
  192. package/dist/session-observer-state.d.ts +1 -1
  193. package/dist/shared-context/manager.d.ts +1 -1
  194. package/dist/signal.d.ts +1 -1
  195. package/dist/storage.d.ts +8 -1
  196. package/dist/storage.js +2 -2
  197. package/dist/summarizer.d.ts +1 -1
  198. package/dist/summary-snapshot.d.ts +1 -1
  199. package/dist/temporal-supersession.d.ts +1 -1
  200. package/dist/temporal-validity.d.ts +1 -1
  201. package/dist/threading.d.ts +1 -1
  202. package/dist/tier-migration.d.ts +1 -1
  203. package/dist/tier-routing.d.ts +1 -1
  204. package/dist/topics.d.ts +1 -1
  205. package/dist/transcript.d.ts +1 -1
  206. package/dist/transfer/types.d.ts +12 -12
  207. package/dist/{types-Couvz-L3.d.ts → types-DUK4vVnN.d.ts} +27 -0
  208. package/dist/types.d.ts +1 -1
  209. package/dist/types.js +1 -1
  210. package/dist/utility-runtime.d.ts +1 -1
  211. package/dist/verified-recall.js +3 -3
  212. package/package.json +2 -2
  213. package/src/access-boundary.ts +2 -0
  214. package/src/access-cli.ts +107 -2
  215. package/src/access-http.ts +70 -1
  216. package/src/access-mcp.ts +65 -0
  217. package/src/access-operations.ts +122 -0
  218. package/src/access-service.ts +92 -0
  219. package/src/access-surface-catalog.test.ts +6 -1
  220. package/src/access-surface-catalog.ts +7 -0
  221. package/src/cli.ts +1 -0
  222. package/src/config.test.ts +10 -0
  223. package/src/config.ts +43 -0
  224. package/src/correction/correction-access-wiring.ts +887 -0
  225. package/src/correction/correction-contract.ts +416 -0
  226. package/src/correction/correction-executor.test.ts +742 -0
  227. package/src/correction/correction-executor.ts +473 -0
  228. package/src/correction/correction-planner.test.ts +446 -0
  229. package/src/correction/correction-planner.ts +546 -0
  230. package/src/correction/correction-service.ts +180 -0
  231. package/src/correction/correction-surfaces.test.ts +245 -0
  232. package/src/correction/index.ts +43 -0
  233. package/src/storage.ts +10 -0
  234. package/src/types.ts +27 -0
  235. package/dist/chunk-24FGNOQS.js.map +0 -1
  236. package/dist/chunk-2VQYHHWB.js.map +0 -1
  237. package/dist/chunk-66TSLESZ.js.map +0 -1
  238. package/dist/chunk-EJDAXR7O.js.map +0 -1
  239. package/dist/chunk-MLLTU5FX.js.map +0 -1
  240. package/dist/chunk-STYMKPFT.js.map +0 -1
  241. package/dist/chunk-WQADZ3ZY.js.map +0 -1
  242. package/dist/chunk-WRGPE6AW.js.map +0 -1
  243. package/dist/chunk-WSWYIKXX.js.map +0 -1
  244. /package/dist/{chunk-PDJQVAGM.js.map → chunk-2T4TDXPC.js.map} +0 -0
  245. /package/dist/{chunk-W2WQ4LE7.js.map → chunk-35YJ6KCV.js.map} +0 -0
  246. /package/dist/{chunk-C63MK3WL.js.map → chunk-3TCRU4JA.js.map} +0 -0
  247. /package/dist/{chunk-GKI6LX5L.js.map → chunk-54TI5GLV.js.map} +0 -0
  248. /package/dist/{chunk-IVCQW4C4.js.map → chunk-7IBEWQLG.js.map} +0 -0
  249. /package/dist/{chunk-Y6YHAGQP.js.map → chunk-7NDYFAJS.js.map} +0 -0
  250. /package/dist/{chunk-SPETAWFE.js.map → chunk-AZVHBFI3.js.map} +0 -0
  251. /package/dist/{chunk-3PTOZJOI.js.map → chunk-BQCFXAMN.js.map} +0 -0
  252. /package/dist/{chunk-4E2QCH46.js.map → chunk-CNVIWMQI.js.map} +0 -0
  253. /package/dist/{chunk-4DZATVK5.js.map → chunk-CXMXAC5R.js.map} +0 -0
  254. /package/dist/{chunk-W2S3Z5MT.js.map → chunk-GMRNKPWO.js.map} +0 -0
  255. /package/dist/{chunk-HIV5E57C.js.map → chunk-HSDJCT3V.js.map} +0 -0
  256. /package/dist/{chunk-NM6TSEGQ.js.map → chunk-JNOYYWCA.js.map} +0 -0
  257. /package/dist/{chunk-IONFO7UK.js.map → chunk-JQ7XVM4V.js.map} +0 -0
  258. /package/dist/{chunk-WDH3KUZU.js.map → chunk-NXL5CVE7.js.map} +0 -0
  259. /package/dist/{chunk-BGAHTI4C.js.map → chunk-OK7FUX6R.js.map} +0 -0
  260. /package/dist/{chunk-MOXFPLD6.js.map → chunk-QXNFQKWU.js.map} +0 -0
  261. /package/dist/{chunk-MRX6ZXHZ.js.map → chunk-S6FQLQGH.js.map} +0 -0
  262. /package/dist/{chunk-6HPJMR5I.js.map → chunk-SKQCFAYU.js.map} +0 -0
  263. /package/dist/{chunk-N75N5SNX.js.map → chunk-XD33EX2F.js.map} +0 -0
  264. /package/dist/{chunk-ESMY4RJ4.js.map → chunk-XKU4YE6Z.js.map} +0 -0
  265. /package/dist/{chunk-XKMDDM7P.js.map → chunk-Y6PIFKXX.js.map} +0 -0
  266. /package/dist/{chunk-RH2OSRQY.js.map → chunk-Z56IHRVV.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  EngramAccessHttpServer
3
- } from "./chunk-EJDAXR7O.js";
3
+ } from "./chunk-VWB3HDY6.js";
4
4
  import "./chunk-SEDEKFYQ.js";
5
5
  import "./chunk-JBPKEARU.js";
6
6
  import "./chunk-TMSXWOBZ.js";
@@ -9,14 +9,14 @@ import "./chunk-RSUYKGGZ.js";
9
9
  import "./chunk-42NQ7AVG.js";
10
10
  import "./chunk-7RXCMVFQ.js";
11
11
  import "./chunk-7WV3F5DQ.js";
12
- import "./chunk-WSWYIKXX.js";
12
+ import "./chunk-KOEKDZ6A.js";
13
13
  import "./chunk-T4WDJPEZ.js";
14
14
  import "./chunk-D24OXEPB.js";
15
- import "./chunk-24FGNOQS.js";
16
- import "./chunk-N75N5SNX.js";
15
+ import "./chunk-P6PRSI3W.js";
16
+ import "./chunk-XD33EX2F.js";
17
17
  import "./chunk-NUWZFSKC.js";
18
- import "./chunk-66TSLESZ.js";
19
- import "./chunk-STYMKPFT.js";
18
+ import "./chunk-PKE7EJMX.js";
19
+ import "./chunk-EVX52NCY.js";
20
20
  import "./chunk-GDASG7NC.js";
21
21
  import "./chunk-GDB4J2H3.js";
22
22
  import "./chunk-ARV3AUOM.js";
@@ -25,15 +25,15 @@ import "./chunk-ERA5RSMZ.js";
25
25
  import "./chunk-IQ7WCZRW.js";
26
26
  import "./chunk-BT7NVCML.js";
27
27
  import "./chunk-H7XKCNR6.js";
28
- import "./chunk-XKMDDM7P.js";
28
+ import "./chunk-Y6PIFKXX.js";
29
29
  import "./chunk-SOBJ6NEY.js";
30
- import "./chunk-ESMY4RJ4.js";
30
+ import "./chunk-XKU4YE6Z.js";
31
31
  import "./chunk-SHRRWOVY.js";
32
32
  import "./chunk-RS25QOKZ.js";
33
33
  import "./chunk-JGSKJHF7.js";
34
34
  import "./chunk-S4DDLTPX.js";
35
35
  import "./chunk-FF4KLI5W.js";
36
- import "./chunk-SPETAWFE.js";
36
+ import "./chunk-AZVHBFI3.js";
37
37
  import "./chunk-K22IJO4R.js";
38
38
  import "./chunk-OMSTU233.js";
39
39
  import "./chunk-CYEPCZN5.js";
@@ -70,8 +70,8 @@ import "./chunk-DEUNUKTD.js";
70
70
  import "./chunk-2LSZVONP.js";
71
71
  import "./chunk-TBBDFYXW.js";
72
72
  import "./chunk-ZBJMUXZH.js";
73
- import "./chunk-W2WQ4LE7.js";
74
- import "./chunk-2VQYHHWB.js";
73
+ import "./chunk-35YJ6KCV.js";
74
+ import "./chunk-JSDZMOT7.js";
75
75
  import "./chunk-M7XQSUBB.js";
76
76
  import "./chunk-3JJWNZTT.js";
77
77
  import "./chunk-5UZXUTVO.js";
@@ -81,7 +81,7 @@ import "./chunk-6CIAGZ6X.js";
81
81
  import "./chunk-SVOZFLIQ.js";
82
82
  import "./chunk-LTJAMRGI.js";
83
83
  import "./chunk-J6A3CX5N.js";
84
- import "./chunk-MLLTU5FX.js";
84
+ import "./chunk-BOGENF7P.js";
85
85
  import "./chunk-RULE4VG5.js";
86
86
  import "./chunk-SCU65EZI.js";
87
87
  import "./chunk-MB5RSUW6.js";
@@ -1,7 +1,7 @@
1
1
  import { Readable, Writable } from 'node:stream';
2
- import { g as EngramAccessService } from './access-service-j1c1gptF.js';
3
- import './catalog-CKxilpzS.js';
4
- import './types-Couvz-L3.js';
2
+ import { g as EngramAccessService } from './access-service-CoIA0NrG.js';
3
+ import './catalog-DQCZrBjw.js';
4
+ import './types-DUK4vVnN.js';
5
5
  import './types-gb_SNtjR.js';
6
6
  import './message-parts/index.js';
7
7
  import './storage.js';
@@ -21,8 +21,7 @@ import './memory-provenance.js';
21
21
  import './user-model.js';
22
22
  import './recall-audit-anomaly.js';
23
23
  import './recall-audit.js';
24
- import './explicit-capture.js';
25
- import './orchestrator-D4ovYV3x.js';
24
+ import './orchestrator-DsVKLEBk.js';
26
25
  import './briefing.js';
27
26
  import './buffer.js';
28
27
  import './extraction-faithfulness.js';
@@ -50,7 +49,7 @@ import './lcm/archive.js';
50
49
  import './lcm/summarizer.js';
51
50
  import './lcm/dag.js';
52
51
  import './lcm/queue.js';
53
- import './semantic-consolidation-DyMUCsfN.js';
52
+ import './semantic-consolidation-_hVxkTuF.js';
54
53
  import './connectors/codex-materialize.js';
55
54
  import './logger.js';
56
55
  import './conversation-index/backend.js';
@@ -62,6 +61,7 @@ import 'zod';
62
61
  import './compounding/engine.js';
63
62
  import './policy-runtime.js';
64
63
  import './profiling.js';
64
+ import './explicit-capture.js';
65
65
  import './cross-namespace-budget.js';
66
66
  import './graph-snapshot.js';
67
67
  import './graph.js';
@@ -142,6 +142,13 @@ declare class EngramMcpServer {
142
142
  */
143
143
  private readonly codegraphVisible;
144
144
  private readonly sessionDeltaVisible;
145
+ /**
146
+ * Whether the two correction tools (memory_correct_plan / memory_correct_apply)
147
+ * should appear in `tools/list` (issue #1580). Gated on `correction.enabled`
148
+ * (default true — plan is read-only; safe on). When false the tools array is
149
+ * byte-identical to pre-feature.
150
+ */
151
+ private readonly correctionVisible;
145
152
  constructor(service: EngramAccessService, options?: {
146
153
  principal?: string;
147
154
  citationsEnabled?: boolean;
@@ -151,6 +158,7 @@ declare class EngramMcpServer {
151
158
  architectureCardVisible?: boolean;
152
159
  codegraphVisible?: boolean;
153
160
  sessionDeltaVisible?: boolean;
161
+ correctionVisible?: boolean;
154
162
  });
155
163
  /** Get clientInfo for a specific MCP session. Returns undefined for non-MCP requests. */
156
164
  getClientInfo(sessionId?: string): {
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  EngramMcpServer
3
- } from "./chunk-WSWYIKXX.js";
3
+ } from "./chunk-KOEKDZ6A.js";
4
4
  import "./chunk-T4WDJPEZ.js";
5
5
  import "./chunk-D24OXEPB.js";
6
- import "./chunk-24FGNOQS.js";
7
- import "./chunk-N75N5SNX.js";
6
+ import "./chunk-P6PRSI3W.js";
7
+ import "./chunk-XD33EX2F.js";
8
8
  import "./chunk-NUWZFSKC.js";
9
- import "./chunk-66TSLESZ.js";
10
- import "./chunk-STYMKPFT.js";
9
+ import "./chunk-PKE7EJMX.js";
10
+ import "./chunk-EVX52NCY.js";
11
11
  import "./chunk-GDASG7NC.js";
12
12
  import "./chunk-GDB4J2H3.js";
13
13
  import "./chunk-ARV3AUOM.js";
@@ -16,15 +16,15 @@ import "./chunk-ERA5RSMZ.js";
16
16
  import "./chunk-IQ7WCZRW.js";
17
17
  import "./chunk-BT7NVCML.js";
18
18
  import "./chunk-H7XKCNR6.js";
19
- import "./chunk-XKMDDM7P.js";
19
+ import "./chunk-Y6PIFKXX.js";
20
20
  import "./chunk-SOBJ6NEY.js";
21
- import "./chunk-ESMY4RJ4.js";
21
+ import "./chunk-XKU4YE6Z.js";
22
22
  import "./chunk-SHRRWOVY.js";
23
23
  import "./chunk-RS25QOKZ.js";
24
24
  import "./chunk-JGSKJHF7.js";
25
25
  import "./chunk-S4DDLTPX.js";
26
26
  import "./chunk-FF4KLI5W.js";
27
- import "./chunk-SPETAWFE.js";
27
+ import "./chunk-AZVHBFI3.js";
28
28
  import "./chunk-K22IJO4R.js";
29
29
  import "./chunk-OMSTU233.js";
30
30
  import "./chunk-CYEPCZN5.js";
@@ -61,8 +61,8 @@ import "./chunk-DEUNUKTD.js";
61
61
  import "./chunk-2LSZVONP.js";
62
62
  import "./chunk-TBBDFYXW.js";
63
63
  import "./chunk-ZBJMUXZH.js";
64
- import "./chunk-W2WQ4LE7.js";
65
- import "./chunk-2VQYHHWB.js";
64
+ import "./chunk-35YJ6KCV.js";
65
+ import "./chunk-JSDZMOT7.js";
66
66
  import "./chunk-M7XQSUBB.js";
67
67
  import "./chunk-3JJWNZTT.js";
68
68
  import "./chunk-5UZXUTVO.js";
@@ -72,7 +72,7 @@ import "./chunk-6CIAGZ6X.js";
72
72
  import "./chunk-SVOZFLIQ.js";
73
73
  import "./chunk-LTJAMRGI.js";
74
74
  import "./chunk-J6A3CX5N.js";
75
- import "./chunk-MLLTU5FX.js";
75
+ import "./chunk-BOGENF7P.js";
76
76
  import "./chunk-RULE4VG5.js";
77
77
  import "./chunk-SCU65EZI.js";
78
78
  import "./chunk-MB5RSUW6.js";
@@ -1,6 +1,6 @@
1
- import "./chunk-N75N5SNX.js";
2
- import "./chunk-66TSLESZ.js";
3
- import "./chunk-STYMKPFT.js";
1
+ import "./chunk-XD33EX2F.js";
2
+ import "./chunk-PKE7EJMX.js";
3
+ import "./chunk-EVX52NCY.js";
4
4
  import "./chunk-GDASG7NC.js";
5
5
  import "./chunk-GDB4J2H3.js";
6
6
  import "./chunk-ARV3AUOM.js";
@@ -9,15 +9,15 @@ import "./chunk-ERA5RSMZ.js";
9
9
  import "./chunk-IQ7WCZRW.js";
10
10
  import "./chunk-BT7NVCML.js";
11
11
  import "./chunk-H7XKCNR6.js";
12
- import "./chunk-XKMDDM7P.js";
12
+ import "./chunk-Y6PIFKXX.js";
13
13
  import "./chunk-SOBJ6NEY.js";
14
- import "./chunk-ESMY4RJ4.js";
14
+ import "./chunk-XKU4YE6Z.js";
15
15
  import "./chunk-SHRRWOVY.js";
16
16
  import "./chunk-RS25QOKZ.js";
17
17
  import "./chunk-JGSKJHF7.js";
18
18
  import "./chunk-S4DDLTPX.js";
19
19
  import "./chunk-FF4KLI5W.js";
20
- import "./chunk-SPETAWFE.js";
20
+ import "./chunk-AZVHBFI3.js";
21
21
  import "./chunk-K22IJO4R.js";
22
22
  import "./chunk-OMSTU233.js";
23
23
  import "./chunk-CYEPCZN5.js";
@@ -54,8 +54,8 @@ import "./chunk-DEUNUKTD.js";
54
54
  import "./chunk-2LSZVONP.js";
55
55
  import "./chunk-TBBDFYXW.js";
56
56
  import "./chunk-ZBJMUXZH.js";
57
- import "./chunk-W2WQ4LE7.js";
58
- import "./chunk-2VQYHHWB.js";
57
+ import "./chunk-35YJ6KCV.js";
58
+ import "./chunk-JSDZMOT7.js";
59
59
  import "./chunk-M7XQSUBB.js";
60
60
  import "./chunk-3JJWNZTT.js";
61
61
  import "./chunk-5UZXUTVO.js";
@@ -65,7 +65,7 @@ import "./chunk-6CIAGZ6X.js";
65
65
  import "./chunk-SVOZFLIQ.js";
66
66
  import "./chunk-LTJAMRGI.js";
67
67
  import "./chunk-J6A3CX5N.js";
68
- import "./chunk-MLLTU5FX.js";
68
+ import "./chunk-BOGENF7P.js";
69
69
  import "./chunk-RULE4VG5.js";
70
70
  import "./chunk-SCU65EZI.js";
71
71
  import "./chunk-MB5RSUW6.js";
@@ -1,9 +1,9 @@
1
1
  import { OperationName, BoundOperation } from './access-boundary.js';
2
2
  import { MemoryStoreRequest } from './access-schema.js';
3
- import { A as ArchitectureSurfaceRequest, a as ArchitectureSurfaceResponse, D as DecisionSurfaceRequest, b as DecisionSurfaceResponse, c as DeltaSurfaceRequest, d as DeltaSurfaceResponse, E as EngramAccessMemoryResponse, e as EngramAccessWriteResponse, C as CodegraphSurfaceRequest, f as CodegraphSurfaceResponse } from './access-service-j1c1gptF.js';
3
+ import { A as ArchitectureSurfaceRequest, a as ArchitectureSurfaceResponse, D as DecisionSurfaceRequest, b as DecisionSurfaceResponse, c as DeltaSurfaceRequest, d as DeltaSurfaceResponse, E as EngramAccessMemoryResponse, e as EngramAccessWriteResponse, C as CodegraphSurfaceRequest, f as CodegraphSurfaceResponse } from './access-service-CoIA0NrG.js';
4
4
  import 'zod';
5
- import './catalog-CKxilpzS.js';
6
- import './types-Couvz-L3.js';
5
+ import './catalog-DQCZrBjw.js';
6
+ import './types-DUK4vVnN.js';
7
7
  import './types-gb_SNtjR.js';
8
8
  import './message-parts/index.js';
9
9
  import './storage.js';
@@ -23,8 +23,7 @@ import './memory-provenance.js';
23
23
  import './user-model.js';
24
24
  import './recall-audit-anomaly.js';
25
25
  import './recall-audit.js';
26
- import './explicit-capture.js';
27
- import './orchestrator-D4ovYV3x.js';
26
+ import './orchestrator-DsVKLEBk.js';
28
27
  import './briefing.js';
29
28
  import './buffer.js';
30
29
  import './extraction-faithfulness.js';
@@ -52,7 +51,7 @@ import './lcm/archive.js';
52
51
  import './lcm/summarizer.js';
53
52
  import './lcm/dag.js';
54
53
  import './lcm/queue.js';
55
- import './semantic-consolidation-DyMUCsfN.js';
54
+ import './semantic-consolidation-_hVxkTuF.js';
56
55
  import './connectors/codex-materialize.js';
57
56
  import './logger.js';
58
57
  import './conversation-index/backend.js';
@@ -63,6 +62,7 @@ import './shared-context/manager.js';
63
62
  import './compounding/engine.js';
64
63
  import './policy-runtime.js';
65
64
  import './profiling.js';
65
+ import './explicit-capture.js';
66
66
  import './cross-namespace-budget.js';
67
67
  import './graph-snapshot.js';
68
68
  import './graph.js';
@@ -136,6 +136,26 @@ type CodingDeltaOutput = {
136
136
  result: DeltaSurfaceResponse;
137
137
  };
138
138
  declare const codingDeltaOperation: BoundOperation<DeltaSurfaceRequest, CodingDeltaOutput>;
139
+ interface MemoryCorrectPlanInput {
140
+ text: string;
141
+ targetIds?: string[];
142
+ sessionKey?: string;
143
+ namespace?: string;
144
+ }
145
+ interface MemoryCorrectPlanOutput {
146
+ readonly result: unknown;
147
+ }
148
+ declare const memoryCorrectPlanOperation: BoundOperation<MemoryCorrectPlanInput, MemoryCorrectPlanOutput>;
149
+ interface MemoryCorrectApplyInput {
150
+ planId: string;
151
+ confirm?: boolean;
152
+ sessionKey?: string;
153
+ namespace?: string;
154
+ }
155
+ interface MemoryCorrectApplyOutput {
156
+ readonly result: unknown;
157
+ }
158
+ declare const memoryCorrectApplyOperation: BoundOperation<MemoryCorrectApplyInput, MemoryCorrectApplyOutput>;
139
159
  /**
140
160
  * The canonical short names (no `engram.`/`remnic.` prefix) of the operations
141
161
  * the boundary owns today. The fitness test treats this set as the migrated
@@ -184,6 +204,6 @@ declare const codegraphIngestTracesOperation: BoundOperation<CodegraphSurfaceReq
184
204
  result: CodegraphSurfaceResponse;
185
205
  }>;
186
206
 
187
- declare const REGISTERED_OPERATIONS: readonly [OperationName, OperationName, OperationName, OperationName, OperationName, OperationName, OperationName, OperationName, OperationName, OperationName, OperationName, OperationName, OperationName, OperationName, OperationName, OperationName, OperationName, OperationName, OperationName, OperationName];
207
+ declare const REGISTERED_OPERATIONS: readonly [OperationName, OperationName, OperationName, OperationName, OperationName, OperationName, OperationName, OperationName, OperationName, OperationName, OperationName, OperationName, OperationName, OperationName, OperationName, OperationName, OperationName, OperationName, OperationName, OperationName, OperationName, OperationName];
188
208
 
189
- export { type CodingArchitectureInput, type CodingArchitectureOutput, type CodingDecisionInput, type CodingDecisionOutput, type CodingDeltaInput, type CodingDeltaOutput, type MemoryGetInput, type MemoryGetOutput, type MemorySearchInput, type MemorySearchOutput, type MemoryStoreInput, type MemoryStoreOutput, REGISTERED_OPERATIONS, codegraphDeleteProjectOperation, codegraphDetectChangesOperation, codegraphGetArchitectureOperation, codegraphGetSchemaOperation, codegraphGetSnippetOperation, codegraphIndexOperation, codegraphIndexStatusOperation, codegraphIngestTracesOperation, codegraphListProjectsOperation, codegraphManageAdrOperation, codegraphQueryGraphOperation, codegraphSearchCodeOperation, codegraphSearchGraphOperation, codegraphTracePathOperation, codingArchitectureOperation, codingDecisionOperation, codingDeltaOperation, memoryGetOperation, memorySearchOperation, memoryStoreOperation };
209
+ export { type CodingArchitectureInput, type CodingArchitectureOutput, type CodingDecisionInput, type CodingDecisionOutput, type CodingDeltaInput, type CodingDeltaOutput, type MemoryCorrectApplyInput, type MemoryCorrectApplyOutput, type MemoryCorrectPlanInput, type MemoryCorrectPlanOutput, type MemoryGetInput, type MemoryGetOutput, type MemorySearchInput, type MemorySearchOutput, type MemoryStoreInput, type MemoryStoreOutput, REGISTERED_OPERATIONS, codegraphDeleteProjectOperation, codegraphDetectChangesOperation, codegraphGetArchitectureOperation, codegraphGetSchemaOperation, codegraphGetSnippetOperation, codegraphIndexOperation, codegraphIndexStatusOperation, codegraphIngestTracesOperation, codegraphListProjectsOperation, codegraphManageAdrOperation, codegraphQueryGraphOperation, codegraphSearchCodeOperation, codegraphSearchGraphOperation, codegraphTracePathOperation, codingArchitectureOperation, codingDecisionOperation, codingDeltaOperation, memoryCorrectApplyOperation, memoryCorrectPlanOperation, memoryGetOperation, memorySearchOperation, memoryStoreOperation };
@@ -17,14 +17,16 @@ import {
17
17
  codingArchitectureOperation,
18
18
  codingDecisionOperation,
19
19
  codingDeltaOperation,
20
+ memoryCorrectApplyOperation,
21
+ memoryCorrectPlanOperation,
20
22
  memoryGetOperation,
21
23
  memorySearchOperation,
22
24
  memoryStoreOperation
23
- } from "./chunk-24FGNOQS.js";
24
- import "./chunk-N75N5SNX.js";
25
+ } from "./chunk-P6PRSI3W.js";
26
+ import "./chunk-XD33EX2F.js";
25
27
  import "./chunk-NUWZFSKC.js";
26
- import "./chunk-66TSLESZ.js";
27
- import "./chunk-STYMKPFT.js";
28
+ import "./chunk-PKE7EJMX.js";
29
+ import "./chunk-EVX52NCY.js";
28
30
  import "./chunk-GDASG7NC.js";
29
31
  import "./chunk-GDB4J2H3.js";
30
32
  import "./chunk-ARV3AUOM.js";
@@ -33,15 +35,15 @@ import "./chunk-ERA5RSMZ.js";
33
35
  import "./chunk-IQ7WCZRW.js";
34
36
  import "./chunk-BT7NVCML.js";
35
37
  import "./chunk-H7XKCNR6.js";
36
- import "./chunk-XKMDDM7P.js";
38
+ import "./chunk-Y6PIFKXX.js";
37
39
  import "./chunk-SOBJ6NEY.js";
38
- import "./chunk-ESMY4RJ4.js";
40
+ import "./chunk-XKU4YE6Z.js";
39
41
  import "./chunk-SHRRWOVY.js";
40
42
  import "./chunk-RS25QOKZ.js";
41
43
  import "./chunk-JGSKJHF7.js";
42
44
  import "./chunk-S4DDLTPX.js";
43
45
  import "./chunk-FF4KLI5W.js";
44
- import "./chunk-SPETAWFE.js";
46
+ import "./chunk-AZVHBFI3.js";
45
47
  import "./chunk-K22IJO4R.js";
46
48
  import "./chunk-OMSTU233.js";
47
49
  import "./chunk-CYEPCZN5.js";
@@ -78,8 +80,8 @@ import "./chunk-DEUNUKTD.js";
78
80
  import "./chunk-2LSZVONP.js";
79
81
  import "./chunk-TBBDFYXW.js";
80
82
  import "./chunk-ZBJMUXZH.js";
81
- import "./chunk-W2WQ4LE7.js";
82
- import "./chunk-2VQYHHWB.js";
83
+ import "./chunk-35YJ6KCV.js";
84
+ import "./chunk-JSDZMOT7.js";
83
85
  import "./chunk-M7XQSUBB.js";
84
86
  import "./chunk-3JJWNZTT.js";
85
87
  import "./chunk-5UZXUTVO.js";
@@ -89,7 +91,7 @@ import "./chunk-6CIAGZ6X.js";
89
91
  import "./chunk-SVOZFLIQ.js";
90
92
  import "./chunk-LTJAMRGI.js";
91
93
  import "./chunk-J6A3CX5N.js";
92
- import "./chunk-MLLTU5FX.js";
94
+ import "./chunk-BOGENF7P.js";
93
95
  import "./chunk-RULE4VG5.js";
94
96
  import "./chunk-SCU65EZI.js";
95
97
  import "./chunk-MB5RSUW6.js";
@@ -160,6 +162,8 @@ export {
160
162
  codingArchitectureOperation,
161
163
  codingDecisionOperation,
162
164
  codingDeltaOperation,
165
+ memoryCorrectApplyOperation,
166
+ memoryCorrectPlanOperation,
163
167
  memoryGetOperation,
164
168
  memorySearchOperation,
165
169
  memoryStoreOperation
@@ -718,20 +718,20 @@ declare const actionConfidenceRequestSchema: z.ZodObject<{
718
718
  matched: z.ZodEffects<z.ZodNullable<z.ZodOptional<z.ZodBoolean>>, boolean | undefined, boolean | null | undefined>;
719
719
  }, "strict", z.ZodTypeAny, {
720
720
  kind: "never" | "do-not-use-outside-this-context" | "ask-before" | "requires-escalation";
721
- description?: string | undefined;
722
721
  matched?: boolean | undefined;
722
+ description?: string | undefined;
723
723
  }, {
724
724
  kind: "never" | "do-not-use-outside-this-context" | "ask-before" | "requires-escalation";
725
- description?: string | null | undefined;
726
725
  matched?: boolean | null | undefined;
726
+ description?: string | null | undefined;
727
727
  }>, "many">>>, {
728
728
  kind: "never" | "do-not-use-outside-this-context" | "ask-before" | "requires-escalation";
729
- description?: string | undefined;
730
729
  matched?: boolean | undefined;
730
+ description?: string | undefined;
731
731
  }[] | undefined, {
732
732
  kind: "never" | "do-not-use-outside-this-context" | "ask-before" | "requires-escalation";
733
- description?: string | null | undefined;
734
733
  matched?: boolean | null | undefined;
734
+ description?: string | null | undefined;
735
735
  }[] | null | undefined>;
736
736
  retrievedMemories: z.ZodEffects<z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodObject<{
737
737
  source: z.ZodEffects<z.ZodNullable<z.ZodOptional<z.ZodString>>, string | undefined, string | null | undefined>;
@@ -812,8 +812,8 @@ declare const actionConfidenceRequestSchema: z.ZodObject<{
812
812
  contextReadiness?: NonNullable<"none" | "partial" | "sufficient"> | undefined;
813
813
  userRules?: {
814
814
  kind: "never" | "do-not-use-outside-this-context" | "ask-before" | "requires-escalation";
815
- description?: string | undefined;
816
815
  matched?: boolean | undefined;
816
+ description?: string | undefined;
817
817
  }[] | undefined;
818
818
  retrievedMemories?: {
819
819
  source?: string | undefined;
@@ -838,8 +838,8 @@ declare const actionConfidenceRequestSchema: z.ZodObject<{
838
838
  contextReadiness?: "none" | "partial" | "sufficient" | null | undefined;
839
839
  userRules?: {
840
840
  kind: "never" | "do-not-use-outside-this-context" | "ask-before" | "requires-escalation";
841
- description?: string | null | undefined;
842
841
  matched?: boolean | null | undefined;
842
+ description?: string | null | undefined;
843
843
  }[] | null | undefined;
844
844
  retrievedMemories?: {
845
845
  source?: string | null | undefined;
@@ -1,13 +1,13 @@
1
- import { b as NamespaceRecord } from './catalog-CKxilpzS.js';
2
- import { aL as ScopeProfileLayerId, aM as ScopeProfilePromotionTarget, aN as ScopeProfileConfig, P as PluginConfig, aG as CodingContext, a2 as DaySummaryResult, i as RecallPlanMode, j as RecallDisclosure, g as MemoryFile, m as MemoryLifecycleEvent, E as EntityFile, h as MemoryStatus, aO as DreamsStatusResult, aP as DreamsPhase, aQ as DreamsRunResult } from './types-Couvz-L3.js';
1
+ import { b as NamespaceRecord } from './catalog-DQCZrBjw.js';
2
+ import { aL as ScopeProfileLayerId, aM as ScopeProfilePromotionTarget, aN as ScopeProfileConfig, P as PluginConfig, aG as CodingContext, M as MemoryCategory, a2 as DaySummaryResult, i as RecallPlanMode, j as RecallDisclosure, g as MemoryFile, m as MemoryLifecycleEvent, E as EntityFile, h as MemoryStatus, aO as DreamsStatusResult, aP as DreamsPhase, aQ as DreamsRunResult } from './types-DUK4vVnN.js';
3
3
  import { StorageManager } from './storage.js';
4
4
  import { a as Peer, b as PeerProfile } from './types-B1VHaf2w.js';
5
5
  import { RecallExplainJsonPayload } from './recall-explain-renderer.js';
6
6
  import { AnomalyDetectorResult } from './recall-audit-anomaly.js';
7
+ import { O as Orchestrator, I as IntentDebugSnapshot, G as GraphRecallSnapshot, P as PatternReinforcementResult, W as WearablesService } from './orchestrator-DsVKLEBk.js';
7
8
  import { ExplicitCaptureInput } from './explicit-capture.js';
8
9
  import { BudgetDecision } from './cross-namespace-budget.js';
9
10
  import { readMemoryGovernanceRunArtifact } from './maintenance/memory-governance.js';
10
- import { O as Orchestrator, I as IntentDebugSnapshot, G as GraphRecallSnapshot, P as PatternReinforcementResult, W as WearablesService } from './orchestrator-D4ovYV3x.js';
11
11
  import { LiveConnectorsRunSummary } from './live-connectors-runner.js';
12
12
  import { LastRecallSnapshot } from './recall-state.js';
13
13
  import { GraphSnapshotRequest, GraphSnapshotResponse } from './graph-snapshot.js';
@@ -745,6 +745,167 @@ type DeltaSurfaceResponse = {
745
745
  nextState?: LastSeenState;
746
746
  };
747
747
 
748
+ /**
749
+ * correction/correction-contract.ts — Types for the Correction Contract
750
+ * (issue #1580).
751
+ *
752
+ * The Correction Contract is the SINGLE plan/apply pipeline every memory
753
+ * correction flows through: supersession, invalidation, tombstone, edit,
754
+ * rescope, redaction. A correction arrives as a plain-language statement
755
+ * ("we migrated to MySQL in March"); the planner turns it into a structured
756
+ * {@link CorrectionPlan}; the executor applies the plan in non-destructive
757
+ * order through the existing storage/orchestrator chokepoints.
758
+ *
759
+ * This module is PURE types + validation helpers — no I/O, no side effects.
760
+ * The planner and executor live in sibling modules and inject their own
761
+ * collaborators so the contract is testable in isolation (rule 33).
762
+ *
763
+ * Design rules honored (issue #1580 design section):
764
+ * - Plans are per-request state on disk, never module-level (rules 11/47).
765
+ * - Caller-supplied namespaces are NEVER trusted raw — the service
766
+ * resolves them through the normal namespace policy (rule 42).
767
+ * - Bulk operations refuse past maxAffected (no silent truncation, §39).
768
+ * - `never_store` redaction patterns must be bounded and safe (§34).
769
+ */
770
+
771
+ /**
772
+ * The user-facing input: a plain-language correction plus optional explicit
773
+ * targets. This is what every surface (MCP / HTTP / CLI) collects before
774
+ * handing off to the planner.
775
+ */
776
+ interface CorrectionRequest {
777
+ /** Natural-language correction statement. Required, non-empty. */
778
+ text: string;
779
+ /**
780
+ * Explicit target memory ids (or handles via #1582). When present the
781
+ * planner resolves these directly; an unknown id is an explicit error
782
+ * (rule 34), never a silent empty plan. When absent the planner searches.
783
+ */
784
+ targetIds?: string[];
785
+ /** Session key for namespace/principal resolution. */
786
+ sessionKey?: string;
787
+ /** Authenticated principal (resolved by the service, never trusted raw). */
788
+ principal?: string;
789
+ /**
790
+ * Caller-suggested namespace. ALWAYS re-resolved through the namespace
791
+ * policy by the service before reaching the planner (rule 42). The
792
+ * planner only sees the ALREADY-AUTHORIZED namespace.
793
+ */
794
+ namespace?: string;
795
+ }
796
+ type CorrectionClassification = "wrong" | "outdated" | "incomplete" | "wrong_scope" | "never_store";
797
+ /**
798
+ * A draft for a replacement memory (supersede action). Mirrors the subset of
799
+ * {@link MemoryFrontmatter} a correction caller may legitimately set; the
800
+ * executor fills in id/created/updated/source.
801
+ */
802
+ interface MemoryDraft {
803
+ content: string;
804
+ category?: MemoryCategory;
805
+ confidence?: number;
806
+ tags?: string[];
807
+ entityRef?: string;
808
+ /** Optional event-time anchor for bi-temporal supersession (#1578). */
809
+ validAt?: string;
810
+ /** Optional observed-at anchor for bi-temporal supersession (#1578). */
811
+ observedAt?: string;
812
+ structuredAttributes?: Record<string, string>;
813
+ }
814
+ type CorrectionAction =
815
+ /** Outdated: a new fact replaces the loser. */
816
+ {
817
+ kind: "supersede";
818
+ loserId: string;
819
+ replacement?: MemoryDraft;
820
+ }
821
+ /** Incomplete / minor-wrong: a versioned edit to an existing memory. */
822
+ | {
823
+ kind: "edit";
824
+ memoryId: string;
825
+ patch: string;
826
+ }
827
+ /** Wrong: retire + tombstone. */
828
+ | {
829
+ kind: "retract";
830
+ memoryId: string;
831
+ }
832
+ /** Wrong scope: move to a different namespace. */
833
+ | {
834
+ kind: "rescope";
835
+ memoryId: string;
836
+ toNamespace: string;
837
+ }
838
+ /** Never-store: a future-extraction redaction rule. */
839
+ | {
840
+ kind: "redaction_rule";
841
+ pattern: string;
842
+ };
843
+ /**
844
+ * One affected memory in a plan: where it lives, an excerpt, why it is
845
+ * affected, and (when available) the source quote that supports the
846
+ * correction (#1575 provenance).
847
+ */
848
+ interface CorrectionAffectedEntry {
849
+ memoryId: string;
850
+ /** File path relative to the storage dir, for diff rendering. */
851
+ path: string;
852
+ excerpt: string;
853
+ why: string;
854
+ sourceQuote?: string;
855
+ }
856
+ /**
857
+ * A persisted, expiring correction plan. Read-only artifact produced by the
858
+ * planner; consumed (once) by the executor.
859
+ */
860
+ interface CorrectionPlan {
861
+ planId: string;
862
+ request: CorrectionRequest;
863
+ /** Authorized namespace the plan is scoped to (resolved by the service). */
864
+ namespace: string;
865
+ affected: CorrectionAffectedEntry[];
866
+ classification: CorrectionClassification;
867
+ actions: CorrectionAction[];
868
+ /** Human-readable diff preview rendered via page-versioning. */
869
+ diff: string;
870
+ /** Planner confidence in [0, 1]. `0` means manual selection required. */
871
+ confidence: number;
872
+ warnings: string[];
873
+ createdAt: string;
874
+ /** ISO timestamp after which apply rejects the plan as expired. */
875
+ expiresAt: string;
876
+ /**
877
+ * Lifecycle: `pending` → `applying` → `applied`|`partial` (or `discarded`).
878
+ * The executor flips a plan to `applying` BEFORE running any mutation
879
+ * (review thread OgIqt): if the process dies mid-apply, the plan stays
880
+ * `applying` and is NOT silently retryable — a partially-applied plan must
881
+ * never be re-applied wholesale (it would duplicate succeeded actions).
882
+ */
883
+ status?: "pending" | "applying" | "applied" | "discarded" | "partial";
884
+ }
885
+ /**
886
+ * Per-action outcome recorded by the executor. An action whose new-state
887
+ * write failed is `failed`; the executor never destroys old state for a
888
+ * failed action (rule 25 / checklist §14).
889
+ */
890
+ interface CorrectionActionResult {
891
+ action: CorrectionAction;
892
+ status: "applied" | "failed" | "skipped";
893
+ /** For supersede: the new memory id. For edit: the memory id. */
894
+ memoryId?: string;
895
+ /** For supersede/retract: the emitted tombstone id (if any). */
896
+ tombstoneId?: string;
897
+ error?: string;
898
+ }
899
+ interface CorrectionOutcome {
900
+ planId: string;
901
+ status: "applied" | "partial";
902
+ results: CorrectionActionResult[];
903
+ /** Audit-record memory id (corrections are themselves memories). */
904
+ auditMemoryId: string;
905
+ /** ISO timestamp of the apply. */
906
+ appliedAt: string;
907
+ }
908
+
748
909
  /**
749
910
  * Procedural memory stats surface (issue #567 PR 5/5).
750
911
  *
@@ -1791,6 +1952,28 @@ declare class EngramAccessService {
1791
1952
  * `<memoryDir>/state/coding-knowledge/<namespace>.json`.
1792
1953
  */
1793
1954
  codingDelta(request: DeltaSurfaceRequest, authenticatedPrincipal?: string): Promise<DeltaSurfaceResponse>;
1955
+ /** Whether the memory_correct_plan / memory_correct_apply tools should appear in tools/list (rule 39). Same reader as the runtime gate so visibility + enforcement stay in sync. */
1956
+ get correctionSurfaceVisible(): boolean;
1957
+ private _correctionService;
1958
+ /** Lazily construct + cache the CorrectionService with deps wired from the orchestrator. */
1959
+ private correctionService;
1960
+ correctionPlan(request: CorrectionRequest): Promise<CorrectionPlan>;
1961
+ correctionApply(planId: string, opts: {
1962
+ confirm?: boolean;
1963
+ namespace?: string;
1964
+ sessionKey?: string;
1965
+ principal?: string;
1966
+ }): Promise<CorrectionOutcome>;
1967
+ correctionListPending(opts: {
1968
+ namespace?: string;
1969
+ sessionKey?: string;
1970
+ principal?: string;
1971
+ }): Promise<CorrectionPlan[]>;
1972
+ correctionDiscard(planId: string, opts: {
1973
+ namespace?: string;
1974
+ sessionKey?: string;
1975
+ principal?: string;
1976
+ }): Promise<void>;
1794
1977
  memoryBrowse(request?: EngramAccessMemoryBrowseRequest): Promise<EngramAccessMemoryBrowseResponse>;
1795
1978
  memoryTimeline(memoryId: string, namespace?: string, limit?: number, principal?: string): Promise<EngramAccessTimelineResponse>;
1796
1979
  entityList(options?: {