@remnic/core 9.3.749 → 9.3.751

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 (271) hide show
  1. package/dist/access-boundary.d.ts +8 -8
  2. package/dist/access-boundary.js +15 -15
  3. package/dist/access-cli.js +39 -39
  4. package/dist/access-http.d.ts +8 -8
  5. package/dist/access-http.js +20 -20
  6. package/dist/access-mcp.d.ts +8 -8
  7. package/dist/access-mcp.js +19 -19
  8. package/dist/access-operations-batch.js +16 -16
  9. package/dist/access-operations.d.ts +8 -8
  10. package/dist/access-operations.js +18 -18
  11. package/dist/access-schema.d.ts +2 -2
  12. package/dist/access-schema.js +5 -5
  13. package/dist/{access-service-5-EVpt3v.d.ts → access-service-DmAEOJdJ.d.ts} +11 -3
  14. package/dist/access-service.d.ts +5 -5
  15. package/dist/access-service.js +14 -14
  16. package/dist/access-surface-catalog.d.ts +8 -8
  17. package/dist/action-confidence.d.ts +1 -1
  18. package/dist/active-memory-bridge.d.ts +1 -1
  19. package/dist/active-recall.d.ts +1 -1
  20. package/dist/active-recall.js +8 -1
  21. package/dist/active-recall.js.map +1 -1
  22. package/dist/behavior-learner.d.ts +1 -1
  23. package/dist/behavior-signals.d.ts +1 -1
  24. package/dist/bootstrap.d.ts +7 -7
  25. package/dist/briefing.d.ts +1 -1
  26. package/dist/briefing.js +7 -7
  27. package/dist/buffer-surprise-report.d.ts +1 -1
  28. package/dist/buffer.d.ts +1 -1
  29. package/dist/calibration.d.ts +1 -1
  30. package/dist/capabilities.d.ts +1 -1
  31. package/dist/{catalog-D_ZDxu8Y.d.ts → catalog-BpOcwHdE.d.ts} +1 -1
  32. package/dist/causal-behavior.d.ts +1 -1
  33. package/dist/causal-consolidation.d.ts +1 -1
  34. package/dist/causal-consolidation.js +8 -8
  35. package/dist/causal-trajectory-graph.d.ts +1 -1
  36. package/dist/{chunk-C5WN74HH.js → chunk-2HAG7JOI.js} +8 -2
  37. package/dist/chunk-2HAG7JOI.js.map +1 -0
  38. package/dist/{chunk-GKRLPHPU.js → chunk-2KK5WNQB.js} +2 -2
  39. package/dist/{chunk-JRDPT6DA.js → chunk-4NWIGAIC.js} +2 -2
  40. package/dist/{chunk-OBJUKYDO.js → chunk-4XL3CVII.js} +2 -2
  41. package/dist/{chunk-WWVXXSLF.js → chunk-5PZCDUJ6.js} +4 -4
  42. package/dist/{chunk-URQLO7BX.js → chunk-6FNZ3NMS.js} +2 -2
  43. package/dist/{chunk-DRUDC2UX.js → chunk-6MMONPHM.js} +2 -2
  44. package/dist/{chunk-RB6A7OUN.js → chunk-6SXNQFHB.js} +2 -2
  45. package/dist/{chunk-ZGZNLRKF.js → chunk-7TWA7DKP.js} +5 -5
  46. package/dist/{chunk-KMNYXLPL.js → chunk-B35L45HZ.js} +2 -2
  47. package/dist/{chunk-SIV3JZPP.js → chunk-CGZWGVQF.js} +5 -5
  48. package/dist/{chunk-CKFLLAIS.js → chunk-DANV2HTH.js} +3 -3
  49. package/dist/{chunk-NVYF5OB6.js → chunk-DBRVU5PR.js} +3 -3
  50. package/dist/{chunk-LMFS64GY.js → chunk-E4PFDD3N.js} +4 -4
  51. package/dist/{chunk-DIHCFJVV.js → chunk-HYI2GP3F.js} +4 -4
  52. package/dist/{chunk-UIKZZ242.js → chunk-IKHKHADN.js} +2 -2
  53. package/dist/{chunk-PUR2CKX2.js → chunk-JS2HKKOK.js} +1 -1
  54. package/dist/{chunk-PUR2CKX2.js.map → chunk-JS2HKKOK.js.map} +1 -1
  55. package/dist/{chunk-R2OAN6IP.js → chunk-K2JM4DZZ.js} +2 -2
  56. package/dist/{chunk-3IJGF6K2.js → chunk-K2R3DEEH.js} +2 -2
  57. package/dist/{chunk-HIHCB2S6.js → chunk-QRRBXD24.js} +2 -2
  58. package/dist/{chunk-PNUOQYRJ.js → chunk-RWZB6MAY.js} +1953 -2172
  59. package/dist/chunk-RWZB6MAY.js.map +1 -0
  60. package/dist/{chunk-ZPZ4VVLT.js → chunk-SD34EK4Z.js} +2 -2
  61. package/dist/{chunk-WK3NK6SP.js → chunk-SNEXVX3U.js} +6 -6
  62. package/dist/{chunk-FVZ2ISIX.js → chunk-TPLE6SNY.js} +7 -7
  63. package/dist/{chunk-24YDB5QP.js → chunk-UETBEHBA.js} +44 -24
  64. package/dist/chunk-UETBEHBA.js.map +1 -0
  65. package/dist/{chunk-5IN26V6W.js → chunk-UU32EAIY.js} +5 -5
  66. package/dist/{chunk-ZGAJB74V.js → chunk-W3BFT5OJ.js} +2 -2
  67. package/dist/{chunk-L4N7SVNN.js → chunk-WA7FECSG.js} +11 -11
  68. package/dist/{chunk-Q3X7GUAQ.js → chunk-WOX2UW4K.js} +2 -2
  69. package/dist/{chunk-XTEWVF3C.js → chunk-WWSXVOGY.js} +2 -2
  70. package/dist/{chunk-PWWWLD7D.js → chunk-X64YLC24.js} +153 -27
  71. package/dist/chunk-X64YLC24.js.map +1 -0
  72. package/dist/{chunk-P4FW3ZU5.js → chunk-YGGXUNS4.js} +20 -20
  73. package/dist/{chunk-JHQUIH3W.js → chunk-ZBVQ4ZM4.js} +19 -19
  74. package/dist/{cli-DuWWjaKT.d.ts → cli-lmf5RGyQ.d.ts} +3 -3
  75. package/dist/cli.d.ts +9 -9
  76. package/dist/cli.js +33 -33
  77. package/dist/compounding/engine.d.ts +1 -1
  78. package/dist/compounding/engine.js +7 -7
  79. package/dist/compounding/preference-consolidator.d.ts +1 -1
  80. package/dist/compression-optimizer.d.ts +1 -1
  81. package/dist/config.d.ts +1 -1
  82. package/dist/config.js +8 -1
  83. package/dist/connectors/codex-materialize-runner.d.ts +1 -1
  84. package/dist/connectors/codex-materialize-runner.js +7 -7
  85. package/dist/connectors/codex-materialize.d.ts +1 -1
  86. package/dist/connectors/index.d.ts +1 -1
  87. package/dist/connectors/index.js +7 -7
  88. package/dist/consolidation-provenance-check.d.ts +1 -1
  89. package/dist/consolidation-undo.d.ts +1 -1
  90. package/dist/contradiction/index.d.ts +1 -1
  91. package/dist/conversation-index/backend.d.ts +1 -1
  92. package/dist/conversation-index/chunker.d.ts +1 -1
  93. package/dist/conversation-index/faiss-adapter.d.ts +1 -1
  94. package/dist/conversation-index/indexer.d.ts +1 -1
  95. package/dist/conversation-index/search.d.ts +1 -1
  96. package/dist/day-summary.d.ts +1 -1
  97. package/dist/delinearize.d.ts +1 -1
  98. package/dist/direct-answer-wiring.d.ts +1 -1
  99. package/dist/direct-answer.d.ts +1 -1
  100. package/dist/embedding-fallback.d.ts +1 -1
  101. package/dist/enrichment/index.d.ts +1 -1
  102. package/dist/entity-retrieval.d.ts +1 -1
  103. package/dist/entity-retrieval.js +7 -7
  104. package/dist/entity-schema.d.ts +1 -1
  105. package/dist/explicit-capture.d.ts +7 -7
  106. package/dist/extraction-faithfulness.d.ts +1 -1
  107. package/dist/extraction-judge-telemetry.d.ts +1 -1
  108. package/dist/extraction-judge-training.d.ts +1 -1
  109. package/dist/extraction-judge.d.ts +1 -1
  110. package/dist/extraction.d.ts +1 -1
  111. package/dist/fallback-llm.d.ts +1 -1
  112. package/dist/graph-dashboard-diff.d.ts +1 -1
  113. package/dist/graph-dashboard-key.d.ts +1 -1
  114. package/dist/graph-dashboard-parser.d.ts +1 -1
  115. package/dist/graph-edge-reinforcement.d.ts +1 -1
  116. package/dist/graph-snapshot.d.ts +1 -1
  117. package/dist/graph.d.ts +1 -1
  118. package/dist/identity-continuity.d.ts +1 -1
  119. package/dist/importance.d.ts +1 -1
  120. package/dist/index.d.ts +10 -10
  121. package/dist/index.js +76 -72
  122. package/dist/intent.d.ts +1 -1
  123. package/dist/lcm/engine.d.ts +1 -1
  124. package/dist/lcm/index.d.ts +1 -1
  125. package/dist/lcm/tools.d.ts +1 -1
  126. package/dist/lifecycle.d.ts +1 -1
  127. package/dist/live-connectors-runner.d.ts +1 -1
  128. package/dist/local-llm.d.ts +1 -1
  129. package/dist/local-model-endpoint.d.ts +1 -1
  130. package/dist/maintenance/memory-governance.d.ts +1 -1
  131. package/dist/maintenance/memory-governance.js +7 -7
  132. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +7 -7
  133. package/dist/maintenance/rebuild-memory-projection.js +8 -8
  134. package/dist/mcp-memory-inspector-app.d.ts +5 -5
  135. package/dist/memory-action-policy.d.ts +1 -1
  136. package/dist/memory-cache.d.ts +1 -1
  137. package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
  138. package/dist/memory-projection-store.d.ts +1 -1
  139. package/dist/memory-provenance.d.ts +1 -1
  140. package/dist/memory-worth-outcomes.d.ts +1 -1
  141. package/dist/models-json.d.ts +1 -1
  142. package/dist/namespaces/migrate.d.ts +2 -2
  143. package/dist/namespaces/migrate.js +8 -8
  144. package/dist/namespaces/principal.d.ts +1 -1
  145. package/dist/namespaces/search.d.ts +1 -1
  146. package/dist/namespaces/search.js +1 -1
  147. package/dist/namespaces/storage.d.ts +2 -2
  148. package/dist/namespaces/storage.js +7 -7
  149. package/dist/native-knowledge.d.ts +1 -1
  150. package/dist/offline-sync.d.ts +108 -1
  151. package/dist/offline-sync.js +7 -1
  152. package/dist/operator-toolkit.d.ts +1 -1
  153. package/dist/operator-toolkit.js +15 -12
  154. package/dist/orchestration/compression-guideline-coordinator.d.ts +1 -1
  155. package/dist/orchestration/maintenance.d.ts +2 -2
  156. package/dist/orchestration/maintenance.js +9 -9
  157. package/dist/{orchestrator-CZI6hO_R.d.ts → orchestrator-D7bb8ZGp.d.ts} +193 -201
  158. package/dist/orchestrator.d.ts +5 -5
  159. package/dist/orchestrator.js +51 -41
  160. package/dist/patterns-cli.d.ts +1 -1
  161. package/dist/policy-runtime.d.ts +1 -1
  162. package/dist/provenance.d.ts +1 -1
  163. package/dist/qmd-recall-cache.d.ts +1 -1
  164. package/dist/qmd.d.ts +1 -1
  165. package/dist/recall-disclosure-escalation.d.ts +1 -1
  166. package/dist/recall-explain-renderer.d.ts +1 -1
  167. package/dist/recall-explain-renderer.js +3 -3
  168. package/dist/recall-planner-llm.d.ts +1 -1
  169. package/dist/recall-state.d.ts +1 -1
  170. package/dist/recall-tag-filter.d.ts +1 -1
  171. package/dist/recall-xray-cli.d.ts +1 -1
  172. package/dist/recall-xray-cli.js +4 -4
  173. package/dist/recall-xray-renderer.d.ts +1 -1
  174. package/dist/recall-xray-renderer.js +3 -3
  175. package/dist/recall-xray.d.ts +1 -1
  176. package/dist/recall-xray.js +2 -2
  177. package/dist/resolve-auth-token.d.ts +1 -1
  178. package/dist/resume-bundles.js +9 -2
  179. package/dist/retrieval-agents.d.ts +1 -1
  180. package/dist/retrieval-tiers.d.ts +1 -1
  181. package/dist/routing/engine.d.ts +1 -1
  182. package/dist/routing/store.d.ts +1 -1
  183. package/dist/schemas.d.ts +22 -22
  184. package/dist/search/embed-helper.d.ts +1 -1
  185. package/dist/search/factory.d.ts +1 -1
  186. package/dist/search/factory.js +1 -1
  187. package/dist/search/index.d.ts +1 -1
  188. package/dist/search/index.js +1 -1
  189. package/dist/search/lancedb-backend.d.ts +1 -1
  190. package/dist/search/lancedb-backend.js +1 -1
  191. package/dist/search/meilisearch-backend.d.ts +1 -1
  192. package/dist/search/meilisearch-backend.js +1 -1
  193. package/dist/search/noop-backend.d.ts +1 -1
  194. package/dist/search/orama-backend.d.ts +1 -1
  195. package/dist/search/orama-backend.js +1 -1
  196. package/dist/search/port.d.ts +1 -1
  197. package/dist/search/remote-backend.d.ts +1 -1
  198. package/dist/{semantic-consolidation-D3aSiu9t.d.ts → semantic-consolidation-CTfbVwCA.d.ts} +1 -1
  199. package/dist/semantic-consolidation.d.ts +2 -2
  200. package/dist/semantic-consolidation.js +8 -8
  201. package/dist/semantic-rule-promotion.js +7 -7
  202. package/dist/semantic-rule-verifier.d.ts +1 -1
  203. package/dist/semantic-rule-verifier.js +7 -7
  204. package/dist/session-observer-bands.d.ts +1 -1
  205. package/dist/session-observer-state.d.ts +1 -1
  206. package/dist/shared-context/manager.d.ts +1 -1
  207. package/dist/signal.d.ts +1 -1
  208. package/dist/storage.d.ts +1 -1
  209. package/dist/storage.js +6 -6
  210. package/dist/summarizer.d.ts +1 -1
  211. package/dist/summary-snapshot.d.ts +1 -1
  212. package/dist/temporal-supersession.d.ts +1 -1
  213. package/dist/temporal-validity.d.ts +1 -1
  214. package/dist/threading.d.ts +1 -1
  215. package/dist/tier-migration.d.ts +1 -1
  216. package/dist/tier-routing.d.ts +1 -1
  217. package/dist/topics.d.ts +1 -1
  218. package/dist/transcript.d.ts +1 -1
  219. package/dist/transfer/types.d.ts +12 -12
  220. package/dist/trust-score-stage.d.ts +1 -1
  221. package/dist/trust-score.d.ts +1 -1
  222. package/dist/{types-CZm6rx9-.d.ts → types-D4NYDtXI.d.ts} +7 -0
  223. package/dist/types.d.ts +1 -1
  224. package/dist/types.js +1 -1
  225. package/dist/utility-runtime.d.ts +1 -1
  226. package/dist/verified-recall.js +7 -7
  227. package/package.json +2 -2
  228. package/src/access-service.ts +22 -0
  229. package/src/config.ts +5 -0
  230. package/src/index.ts +3 -1
  231. package/src/offline-sync.test.ts +354 -52
  232. package/src/offline-sync.ts +332 -24
  233. package/src/orchestration/extraction-run.ts +4 -34
  234. package/src/orchestration/namespace-read-fanout.ts +484 -0
  235. package/src/orchestration/orchestrator-helpers.ts +1130 -0
  236. package/src/orchestration/self-deps.ts +50 -0
  237. package/src/orchestration/workspace-ops.ts +789 -0
  238. package/src/orchestrator.ts +177 -2296
  239. package/src/types.ts +9 -0
  240. package/dist/chunk-24YDB5QP.js.map +0 -1
  241. package/dist/chunk-C5WN74HH.js.map +0 -1
  242. package/dist/chunk-PNUOQYRJ.js.map +0 -1
  243. package/dist/chunk-PWWWLD7D.js.map +0 -1
  244. /package/dist/{chunk-GKRLPHPU.js.map → chunk-2KK5WNQB.js.map} +0 -0
  245. /package/dist/{chunk-JRDPT6DA.js.map → chunk-4NWIGAIC.js.map} +0 -0
  246. /package/dist/{chunk-OBJUKYDO.js.map → chunk-4XL3CVII.js.map} +0 -0
  247. /package/dist/{chunk-WWVXXSLF.js.map → chunk-5PZCDUJ6.js.map} +0 -0
  248. /package/dist/{chunk-URQLO7BX.js.map → chunk-6FNZ3NMS.js.map} +0 -0
  249. /package/dist/{chunk-DRUDC2UX.js.map → chunk-6MMONPHM.js.map} +0 -0
  250. /package/dist/{chunk-RB6A7OUN.js.map → chunk-6SXNQFHB.js.map} +0 -0
  251. /package/dist/{chunk-ZGZNLRKF.js.map → chunk-7TWA7DKP.js.map} +0 -0
  252. /package/dist/{chunk-KMNYXLPL.js.map → chunk-B35L45HZ.js.map} +0 -0
  253. /package/dist/{chunk-SIV3JZPP.js.map → chunk-CGZWGVQF.js.map} +0 -0
  254. /package/dist/{chunk-CKFLLAIS.js.map → chunk-DANV2HTH.js.map} +0 -0
  255. /package/dist/{chunk-NVYF5OB6.js.map → chunk-DBRVU5PR.js.map} +0 -0
  256. /package/dist/{chunk-LMFS64GY.js.map → chunk-E4PFDD3N.js.map} +0 -0
  257. /package/dist/{chunk-DIHCFJVV.js.map → chunk-HYI2GP3F.js.map} +0 -0
  258. /package/dist/{chunk-UIKZZ242.js.map → chunk-IKHKHADN.js.map} +0 -0
  259. /package/dist/{chunk-R2OAN6IP.js.map → chunk-K2JM4DZZ.js.map} +0 -0
  260. /package/dist/{chunk-3IJGF6K2.js.map → chunk-K2R3DEEH.js.map} +0 -0
  261. /package/dist/{chunk-HIHCB2S6.js.map → chunk-QRRBXD24.js.map} +0 -0
  262. /package/dist/{chunk-ZPZ4VVLT.js.map → chunk-SD34EK4Z.js.map} +0 -0
  263. /package/dist/{chunk-WK3NK6SP.js.map → chunk-SNEXVX3U.js.map} +0 -0
  264. /package/dist/{chunk-FVZ2ISIX.js.map → chunk-TPLE6SNY.js.map} +0 -0
  265. /package/dist/{chunk-5IN26V6W.js.map → chunk-UU32EAIY.js.map} +0 -0
  266. /package/dist/{chunk-ZGAJB74V.js.map → chunk-W3BFT5OJ.js.map} +0 -0
  267. /package/dist/{chunk-L4N7SVNN.js.map → chunk-WA7FECSG.js.map} +0 -0
  268. /package/dist/{chunk-Q3X7GUAQ.js.map → chunk-WOX2UW4K.js.map} +0 -0
  269. /package/dist/{chunk-XTEWVF3C.js.map → chunk-WWSXVOGY.js.map} +0 -0
  270. /package/dist/{chunk-P4FW3ZU5.js.map → chunk-YGGXUNS4.js.map} +0 -0
  271. /package/dist/{chunk-JHQUIH3W.js.map → chunk-ZBVQ4ZM4.js.map} +0 -0
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  MaintenanceScheduler
3
- } from "../chunk-JRDPT6DA.js";
3
+ } from "../chunk-4NWIGAIC.js";
4
4
  import "../chunk-666A3MOW.js";
5
- import "../chunk-SIV3JZPP.js";
6
- import "../chunk-5IN26V6W.js";
5
+ import "../chunk-CGZWGVQF.js";
6
+ import "../chunk-UU32EAIY.js";
7
7
  import "../chunk-W3M34XT4.js";
8
8
  import "../chunk-ZFXCQPNO.js";
9
9
  import "../chunk-O75CRYGF.js";
10
- import "../chunk-JHQUIH3W.js";
10
+ import "../chunk-ZBVQ4ZM4.js";
11
11
  import "../chunk-M7XQSUBB.js";
12
12
  import "../chunk-L2B3EE7B.js";
13
13
  import "../chunk-5UZXUTVO.js";
@@ -17,7 +17,7 @@ import "../chunk-LTJAMRGI.js";
17
17
  import "../chunk-TKZ3AL5V.js";
18
18
  import "../chunk-6CIAGZ6X.js";
19
19
  import "../chunk-J6A3CX5N.js";
20
- import "../chunk-PUR2CKX2.js";
20
+ import "../chunk-JS2HKKOK.js";
21
21
  import "../chunk-AWJ2FHCF.js";
22
22
  import "../chunk-42JKGUFJ.js";
23
23
  import "../chunk-RULE4VG5.js";
@@ -37,10 +37,6 @@ import "../chunk-L2EXJQJP.js";
37
37
  import "../chunk-VL7DP3OW.js";
38
38
  import "../chunk-RGMVMVMF.js";
39
39
  import "../chunk-N7RWREIQ.js";
40
- import "../chunk-J2HSAU72.js";
41
- import "../chunk-A6XUJE5D.js";
42
- import "../chunk-P7FMDTKL.js";
43
- import "../chunk-VS2IYZRU.js";
44
40
  import "../chunk-PE6XR4GG.js";
45
41
  import "../chunk-U3PN77QT.js";
46
42
  import "../chunk-VSF7AAGE.js";
@@ -51,6 +47,10 @@ import "../chunk-4DJQYKMN.js";
51
47
  import "../chunk-EYIEWJNI.js";
52
48
  import "../chunk-JUC24CTX.js";
53
49
  import "../chunk-NU3CSQ4H.js";
50
+ import "../chunk-J2HSAU72.js";
51
+ import "../chunk-A6XUJE5D.js";
52
+ import "../chunk-P7FMDTKL.js";
53
+ import "../chunk-VS2IYZRU.js";
54
54
  import "../chunk-6MKAMLQL.js";
55
55
  import "../chunk-JAKIDQB2.js";
56
56
  import "../chunk-PZ5AY32C.js";
@@ -8,12 +8,12 @@ import { HourlySummarizer } from './summarizer.js';
8
8
  import { LocalLlmClient } from './local-llm.js';
9
9
  import { FallbackLlmClient } from './fallback-llm.js';
10
10
  import { MaintenanceScheduler } from './orchestration/maintenance.js';
11
- import { aB as ScopeProfileConfig, aC as ScopeProfileLayerId, aD as ScopeProfilePromotionTarget, u as BufferTurn, y as ExtractionResult, M as MemoryCategory, ac as ImportanceScore, f as MemoryStatus, aE as WearableConversation, aF as WearableSourceSettings, aG as WearableNativeMemory, aH as WearableMemoryMode, aI as WearableSourceConnector, aJ as WearablesConfig, aK as WearableSyncSummary, aL as WearableSourceStatus, aM as WearableDayTranscript, aN as WearableCorrectionRule, P as PluginConfig, g as MemoryFile, a0 as MemoryActionEvent, Q as QmdSearchResult, a6 as ContinuityIncidentRecord, h as RecallPlanMode, I as IdentityInjectionMode, aO as RecallSectionConfig, ap as MemoryLink, ax as CodingContext, ad as MemoryIntent, e as BehaviorLoopPolicyState, aP as BootstrapOptions, aQ as BootstrapResult, aR as ConsolidationObservation, D as DaySummaryResult, k as MemoryFrontmatter } from './types-CZm6rx9-.js';
11
+ import { aB as ScopeProfileConfig, aC as ScopeProfileLayerId, aD as ScopeProfilePromotionTarget, u as BufferTurn, y as ExtractionResult, M as MemoryCategory, ac as ImportanceScore, f as MemoryStatus, aE as WearableConversation, aF as WearableSourceSettings, aG as WearableNativeMemory, aH as WearableMemoryMode, aI as WearableSourceConnector, aJ as WearablesConfig, aK as WearableSyncSummary, aL as WearableSourceStatus, aM as WearableDayTranscript, aN as WearableCorrectionRule, P as PluginConfig, g as MemoryFile, a0 as MemoryActionEvent, Q as QmdSearchResult, a6 as ContinuityIncidentRecord, h as RecallPlanMode, I as IdentityInjectionMode, aO as RecallSectionConfig, ap as MemoryLink, ax as CodingContext, ad as MemoryIntent, k as MemoryFrontmatter, e as BehaviorLoopPolicyState, aP as BootstrapOptions, aQ as BootstrapResult, aR as ConsolidationObservation, D as DaySummaryResult } from './types-D4NYDtXI.js';
12
12
  import { TierMigrationStatusStore, TierMigrationStatusSnapshot, TierMigrationCycleSummary, LastRecallBudgetSummary, GraphRecallExpandedEntry, LastRecallStore, RecallHandleHistoryStore, LastRecallSnapshot } from './recall-state.js';
13
13
  import { CompoundingEngine } from './compounding/engine.js';
14
14
  import { UtilityRuntimeValues } from './utility-runtime.js';
15
15
  import { CompressionGuidelineCoordinator } from './orchestration/compression-guideline-coordinator.js';
16
- import { S as SemanticConsolidationResult } from './semantic-consolidation-D3aSiu9t.js';
16
+ import { S as SemanticConsolidationResult } from './semantic-consolidation-CTfbVwCA.js';
17
17
  import { EmbeddingFallback } from './embedding-fallback.js';
18
18
  import { ExtractionEngine } from './extraction.js';
19
19
  import { ObjectiveStateSearchResult } from './objective-state.js';
@@ -32,18 +32,18 @@ import { BoxBuilder } from './boxes.js';
32
32
  import { NamespaceStorageRouter } from './namespaces/storage.js';
33
33
  import { ThreadingManager } from './threading.js';
34
34
  import { GraphIndex } from './graph.js';
35
+ import { RecallXrayServedBy, RecallXraySnapshot } from './recall-xray.js';
35
36
  import { LiveConnectorsRunSummary } from './live-connectors-runner.js';
36
37
  import { ModelRegistry } from './model-registry.js';
37
38
  import { RelevanceStore } from './relevance.js';
38
39
  import { NegativeExampleStore } from './negative.js';
39
- import { RecallXraySnapshot, RecallXrayServedBy } from './recall-xray.js';
40
40
  import { SessionObserverState } from './session-observer-state.js';
41
41
  import { a as SemanticDedupHit } from './semantic-DJR8_DMQ.js';
42
42
  import { ReplayTurn } from './replay/types.js';
43
43
  import { I as ImportTurn } from './types-gb_SNtjR.js';
44
44
  import { JudgeCandidate, JudgeBatchResult } from './extraction-judge.js';
45
45
  import { LcmEngine } from './lcm/engine.js';
46
- import { b as NamespaceKind, N as NamespaceCatalog } from './catalog-D_ZDxu8Y.js';
46
+ import { b as NamespaceKind, N as NamespaceCatalog } from './catalog-BpOcwHdE.js';
47
47
  import { NamespaceSearchHealth } from './namespaces/search.js';
48
48
  import { SharedContextManager } from './shared-context/manager.js';
49
49
  import { RuntimePolicyValues } from './policy-runtime.js';
@@ -1536,154 +1536,19 @@ declare class GraphRecallCoordinator {
1536
1536
  }
1537
1537
 
1538
1538
  /**
1539
- * Pattern-reinforcement maintenance job (issue #687 PR 2/4).
1540
- *
1541
- * Reads all memories via `StorageManager.readAllMemories()`, clusters
1542
- * non-procedural memories by normalized content, and reinforces the
1543
- * most-recent member of each large-enough cluster:
1544
- *
1545
- * 1. Cluster across active AND already-superseded members. This is
1546
- * load-bearing: after the first reinforcement pass, older
1547
- * duplicates are marked `superseded`, so on the next pass the
1548
- * "active count" alone would be just `canonical + N-new`. By
1549
- * keeping superseded members in the cluster for the threshold
1550
- * check, an established canonical (count >= minCount) keeps
1551
- * growing as soon as a single new duplicate arrives.
1552
- * `forgotten` / `archived` / `quarantined` / `pending_review` /
1553
- * `rejected` stay excluded per CLAUDE.md rule 53.
1554
- * 2. Pick the most-recent ACTIVE member of each cluster as the
1555
- * canonical. Stamp it with `reinforcement_count` (total cluster
1556
- * size including superseded members) and `last_reinforced_at`.
1557
- * Record provenance: `derived_from = [...source-ids...]` and
1558
- * `derived_via = "pattern-reinforcement"`.
1559
- * 3. Mark any still-active duplicates with `status: "superseded"`
1560
- * and point `supersededBy` at the canonical id.
1561
- *
1562
- * The job is idempotent: re-running on the same corpus does not
1563
- * double-bump `reinforcement_count` (the bump-only-on-change guard
1564
- * compares cluster size to the canonical's previous counter), and
1565
- * already-superseded duplicates simply pass through.
1566
- *
1567
- * Recall integration (boost from `reinforcement_count`) and the CLI
1568
- * surface ship in PR 3/4 and PR 4/4 respectively — this PR only wires
1569
- * the maintenance job and storage plumbing.
1570
- */
1571
-
1572
- interface PatternReinforcementClusterResult {
1573
- /** Memory id of the canonical (most-recent) member. */
1574
- canonicalId: string;
1575
- /** Cluster size at run time (mirrors `reinforcement_count`). */
1576
- count: number;
1577
- /** IDs of the source memories that contributed (canonical + duplicates). */
1578
- sourceIds: readonly string[];
1579
- /** IDs of the older duplicates that were marked superseded. */
1580
- supersededIds: readonly string[];
1581
- /**
1582
- * `true` when the canonical's `reinforcement_count` actually
1583
- * changed during this run. False when the job converged
1584
- * idempotently (same cluster size as the previous run).
1585
- */
1586
- reinforcementBumped: boolean;
1587
- }
1588
- interface PatternReinforcementResult {
1589
- /** Number of clusters that met the `minCount` threshold. */
1590
- clustersFound: number;
1591
- /** Number of canonical memories whose reinforcement counter changed. */
1592
- canonicalsUpdated: number;
1593
- /** Total duplicate memories newly marked `status: "superseded"`. */
1594
- duplicatesSuperseded: number;
1595
- /** Per-cluster details for tests / observability. */
1596
- clusters: PatternReinforcementClusterResult[];
1597
- }
1598
-
1599
- type NamespaceMaintenanceJobName = string;
1600
- type NamespaceMaintenanceSkipReason = "fanout_disabled" | "empty_root" | "branch_disabled" | "project_disabled" | "team_project_disabled" | "catalog_read_failed" | "unsafe_or_stale_root" | "budget_exhausted" | "lock_held" | "batch_lock_incomplete" | "throttled" | "job_failed";
1601
- interface NamespaceMaintenanceCandidate {
1602
- namespace: string;
1603
- kind: NamespaceKind;
1604
- storageDir?: string;
1605
- source: "configured" | "catalog";
1606
- lastWriteAt?: string;
1607
- lastMaintenanceAt?: string;
1608
- }
1609
- interface NamespaceMaintenanceRunStatus {
1610
- namespace: string;
1611
- jobName: NamespaceMaintenanceJobName;
1612
- state: "ran" | "skipped" | "failed";
1613
- reason?: NamespaceMaintenanceSkipReason;
1614
- startedAt: string;
1615
- completedAt: string;
1616
- itemCount?: number;
1617
- error?: string;
1618
- }
1619
- interface NamespaceMaintenanceSummary {
1620
- jobName: NamespaceMaintenanceJobName;
1621
- generatedAt: string;
1622
- ran: number;
1623
- skipped: number;
1624
- failed: number;
1625
- statuses: NamespaceMaintenanceRunStatus[];
1626
- }
1627
-
1628
- /**
1629
- * Namespace maintenance fanout coordinator (issue #1500).
1630
- *
1631
- * Builds on the namespace-aware maintenance planner (#1499 / #1517) to fan out
1632
- * the REMAINING background maintenance jobs — dreams, pattern reinforcement,
1633
- * governance/lifecycle, contradiction scans, semantic/causal consolidation,
1634
- * graph decay, fact archival, tier migration — across all maintained
1635
- * namespaces.
1636
- *
1637
- * The planner (`namespace-planner.ts`) already handles namespace discovery
1638
- * (configured + catalog), per-kind gating, cycle budgeting, per-job+namespace
1639
- * locking, status recording, and catalog maintenance timestamps. QMD
1640
- * maintenance was wired through it in #1517. This module standardizes the
1641
- * per-job adapter pattern so every other maintenance job can be fanned out
1642
- * with one call, and aggregates per-namespace health for doctor/dashboard.
1539
+ * Orchestrator module-level helpers relocated from orchestrator.ts
1540
+ * (issue #1526, seam 25).
1643
1541
  *
1644
- * Design contract (issue #1500 compatibility requirements):
1645
- * - Existing direct `runJob({ namespace })` calls continue to work unchanged.
1646
- * - Namespaces disabled: fanout is a no-op (the planner returns only the
1647
- * default namespace; jobs run exactly as before).
1648
- * - `maintenanceNamespaceFanoutEnabled: false`: fanout is a no-op.
1649
- * - A failure in one namespace must not abort other namespaces (the planner
1650
- * already isolates per-namespace failures).
1651
- * - Per-namespace locks prevent duplicate concurrent runs (planner-provided).
1652
- */
1653
-
1654
- /**
1655
- * Context passed to a fanout job runner. The runner receives the per-namespace
1656
- * candidate (namespace name, kind, storage dir) and a storage resolver that
1657
- * the orchestrator wires to `storageRouter.storageFor(namespace)`.
1542
+ * Pure functions, types, and constants that previously lived at module
1543
+ * level in orchestrator.ts: recall-mode planning, recall snapshots and
1544
+ * parsers, abort/race helpers, artifact recall limits, replay
1545
+ * source-time slicing, day-summary date utilities, and QMD startup
1546
+ * checks. orchestrator.ts re-exports the previously-public names so
1547
+ * every existing importer (coordinators, tests, root shims) keeps
1548
+ * working unchanged.
1658
1549
  *
1659
- * The storage resolver is intentionally typed as `unknown` here so this module
1660
- * does not depend on the `StorageManager` class — the orchestrator provides the
1661
- * typed resolver. This keeps the fanout module free of orchestrator/storage
1662
- * imports and unit-testable with a stub.
1550
+ * Behavior-preserving move no logic changes.
1663
1551
  */
1664
- interface NamespaceMaintenanceFanoutRunnerContext {
1665
- config: PluginConfig;
1666
- candidate: NamespaceMaintenanceCandidate;
1667
- resolveStorage: (namespace: string) => Promise<unknown>;
1668
- }
1669
- interface NamespaceMaintenanceJobHealth {
1670
- jobName: string;
1671
- ran: number;
1672
- skipped: number;
1673
- failed: number;
1674
- lastRunAt: string | null;
1675
- namespaces: NamespaceMaintenanceRunStatus[];
1676
- }
1677
- interface NamespaceMaintenanceHealthSummary {
1678
- generatedAt: string;
1679
- fanoutEnabled: boolean;
1680
- namespacesEnabled: boolean;
1681
- maxNamespacesPerCycle: number;
1682
- jobs: NamespaceMaintenanceJobHealth[];
1683
- totalRan: number;
1684
- totalSkipped: number;
1685
- totalFailed: number;
1686
- }
1687
1552
 
1688
1553
  interface BulkImportBatchIngestResult {
1689
1554
  attemptedTurnCount: number;
@@ -1700,7 +1565,6 @@ declare class BulkImportBatchPartialFailureError extends Error {
1700
1565
  readonly originalError: unknown;
1701
1566
  constructor(message: string, partialResult: BulkImportBatchIngestResult, originalError: unknown);
1702
1567
  }
1703
-
1704
1568
  interface GraphRecallSnapshot {
1705
1569
  recordedAt: string;
1706
1570
  mode: RecallPlanMode | string;
@@ -1877,6 +1741,11 @@ type DaySummaryGatherOptions = {
1877
1741
  timeZone?: string;
1878
1742
  now?: Date;
1879
1743
  };
1744
+ declare function normalizeIanaTimeZone(value: unknown): string | undefined;
1745
+ declare function formatDateInTimeZone(date: Date, timeZone: string): string;
1746
+ declare function utcDateKeysForLocalDay(date: Date, timeZone: string): string[];
1747
+ declare function parseFiniteDate(value: unknown): Date | null;
1748
+ declare function filterHourlySummaryMarkdownForLocalDay(raw: string, utcDate: string, timeZone: string, targetLocalDate: string): string | null;
1880
1749
  type SearchCollectionState = "present" | "missing" | "unknown" | "skipped";
1881
1750
  declare function qmdStartupCollectionCheckWithTimeout(promise: Promise<SearchCollectionState>, controller: AbortController, label: string): Promise<SearchCollectionState>;
1882
1751
  /** Default workspace directory when no per-agent or config workspace is available. */
@@ -1899,7 +1768,6 @@ declare function splitTurnsBySourceValidAt(turns: readonly BufferTurn[], options
1899
1768
  includeContext?: boolean;
1900
1769
  }): BufferTurn[][];
1901
1770
  declare function isArtifactMemoryPath(filePath: string): boolean;
1902
-
1903
1771
  declare function buildCompressionGuidelinesMarkdown(events: MemoryActionEvent[], generatedAtIso?: string): string;
1904
1772
  declare function filterRecallCandidates(candidates: QmdSearchResult[], options: {
1905
1773
  namespacesEnabled: boolean;
@@ -1990,6 +1858,157 @@ declare function resolvePersistedMemoryRelativePath(options: {
1990
1858
  pathById: Map<string, string>;
1991
1859
  category: string;
1992
1860
  }): string;
1861
+
1862
+ /**
1863
+ * Pattern-reinforcement maintenance job (issue #687 PR 2/4).
1864
+ *
1865
+ * Reads all memories via `StorageManager.readAllMemories()`, clusters
1866
+ * non-procedural memories by normalized content, and reinforces the
1867
+ * most-recent member of each large-enough cluster:
1868
+ *
1869
+ * 1. Cluster across active AND already-superseded members. This is
1870
+ * load-bearing: after the first reinforcement pass, older
1871
+ * duplicates are marked `superseded`, so on the next pass the
1872
+ * "active count" alone would be just `canonical + N-new`. By
1873
+ * keeping superseded members in the cluster for the threshold
1874
+ * check, an established canonical (count >= minCount) keeps
1875
+ * growing as soon as a single new duplicate arrives.
1876
+ * `forgotten` / `archived` / `quarantined` / `pending_review` /
1877
+ * `rejected` stay excluded per CLAUDE.md rule 53.
1878
+ * 2. Pick the most-recent ACTIVE member of each cluster as the
1879
+ * canonical. Stamp it with `reinforcement_count` (total cluster
1880
+ * size including superseded members) and `last_reinforced_at`.
1881
+ * Record provenance: `derived_from = [...source-ids...]` and
1882
+ * `derived_via = "pattern-reinforcement"`.
1883
+ * 3. Mark any still-active duplicates with `status: "superseded"`
1884
+ * and point `supersededBy` at the canonical id.
1885
+ *
1886
+ * The job is idempotent: re-running on the same corpus does not
1887
+ * double-bump `reinforcement_count` (the bump-only-on-change guard
1888
+ * compares cluster size to the canonical's previous counter), and
1889
+ * already-superseded duplicates simply pass through.
1890
+ *
1891
+ * Recall integration (boost from `reinforcement_count`) and the CLI
1892
+ * surface ship in PR 3/4 and PR 4/4 respectively — this PR only wires
1893
+ * the maintenance job and storage plumbing.
1894
+ */
1895
+
1896
+ interface PatternReinforcementClusterResult {
1897
+ /** Memory id of the canonical (most-recent) member. */
1898
+ canonicalId: string;
1899
+ /** Cluster size at run time (mirrors `reinforcement_count`). */
1900
+ count: number;
1901
+ /** IDs of the source memories that contributed (canonical + duplicates). */
1902
+ sourceIds: readonly string[];
1903
+ /** IDs of the older duplicates that were marked superseded. */
1904
+ supersededIds: readonly string[];
1905
+ /**
1906
+ * `true` when the canonical's `reinforcement_count` actually
1907
+ * changed during this run. False when the job converged
1908
+ * idempotently (same cluster size as the previous run).
1909
+ */
1910
+ reinforcementBumped: boolean;
1911
+ }
1912
+ interface PatternReinforcementResult {
1913
+ /** Number of clusters that met the `minCount` threshold. */
1914
+ clustersFound: number;
1915
+ /** Number of canonical memories whose reinforcement counter changed. */
1916
+ canonicalsUpdated: number;
1917
+ /** Total duplicate memories newly marked `status: "superseded"`. */
1918
+ duplicatesSuperseded: number;
1919
+ /** Per-cluster details for tests / observability. */
1920
+ clusters: PatternReinforcementClusterResult[];
1921
+ }
1922
+
1923
+ type NamespaceMaintenanceJobName = string;
1924
+ type NamespaceMaintenanceSkipReason = "fanout_disabled" | "empty_root" | "branch_disabled" | "project_disabled" | "team_project_disabled" | "catalog_read_failed" | "unsafe_or_stale_root" | "budget_exhausted" | "lock_held" | "batch_lock_incomplete" | "throttled" | "job_failed";
1925
+ interface NamespaceMaintenanceCandidate {
1926
+ namespace: string;
1927
+ kind: NamespaceKind;
1928
+ storageDir?: string;
1929
+ source: "configured" | "catalog";
1930
+ lastWriteAt?: string;
1931
+ lastMaintenanceAt?: string;
1932
+ }
1933
+ interface NamespaceMaintenanceRunStatus {
1934
+ namespace: string;
1935
+ jobName: NamespaceMaintenanceJobName;
1936
+ state: "ran" | "skipped" | "failed";
1937
+ reason?: NamespaceMaintenanceSkipReason;
1938
+ startedAt: string;
1939
+ completedAt: string;
1940
+ itemCount?: number;
1941
+ error?: string;
1942
+ }
1943
+ interface NamespaceMaintenanceSummary {
1944
+ jobName: NamespaceMaintenanceJobName;
1945
+ generatedAt: string;
1946
+ ran: number;
1947
+ skipped: number;
1948
+ failed: number;
1949
+ statuses: NamespaceMaintenanceRunStatus[];
1950
+ }
1951
+
1952
+ /**
1953
+ * Namespace maintenance fanout coordinator (issue #1500).
1954
+ *
1955
+ * Builds on the namespace-aware maintenance planner (#1499 / #1517) to fan out
1956
+ * the REMAINING background maintenance jobs — dreams, pattern reinforcement,
1957
+ * governance/lifecycle, contradiction scans, semantic/causal consolidation,
1958
+ * graph decay, fact archival, tier migration — across all maintained
1959
+ * namespaces.
1960
+ *
1961
+ * The planner (`namespace-planner.ts`) already handles namespace discovery
1962
+ * (configured + catalog), per-kind gating, cycle budgeting, per-job+namespace
1963
+ * locking, status recording, and catalog maintenance timestamps. QMD
1964
+ * maintenance was wired through it in #1517. This module standardizes the
1965
+ * per-job adapter pattern so every other maintenance job can be fanned out
1966
+ * with one call, and aggregates per-namespace health for doctor/dashboard.
1967
+ *
1968
+ * Design contract (issue #1500 compatibility requirements):
1969
+ * - Existing direct `runJob({ namespace })` calls continue to work unchanged.
1970
+ * - Namespaces disabled: fanout is a no-op (the planner returns only the
1971
+ * default namespace; jobs run exactly as before).
1972
+ * - `maintenanceNamespaceFanoutEnabled: false`: fanout is a no-op.
1973
+ * - A failure in one namespace must not abort other namespaces (the planner
1974
+ * already isolates per-namespace failures).
1975
+ * - Per-namespace locks prevent duplicate concurrent runs (planner-provided).
1976
+ */
1977
+
1978
+ /**
1979
+ * Context passed to a fanout job runner. The runner receives the per-namespace
1980
+ * candidate (namespace name, kind, storage dir) and a storage resolver that
1981
+ * the orchestrator wires to `storageRouter.storageFor(namespace)`.
1982
+ *
1983
+ * The storage resolver is intentionally typed as `unknown` here so this module
1984
+ * does not depend on the `StorageManager` class — the orchestrator provides the
1985
+ * typed resolver. This keeps the fanout module free of orchestrator/storage
1986
+ * imports and unit-testable with a stub.
1987
+ */
1988
+ interface NamespaceMaintenanceFanoutRunnerContext {
1989
+ config: PluginConfig;
1990
+ candidate: NamespaceMaintenanceCandidate;
1991
+ resolveStorage: (namespace: string) => Promise<unknown>;
1992
+ }
1993
+ interface NamespaceMaintenanceJobHealth {
1994
+ jobName: string;
1995
+ ran: number;
1996
+ skipped: number;
1997
+ failed: number;
1998
+ lastRunAt: string | null;
1999
+ namespaces: NamespaceMaintenanceRunStatus[];
2000
+ }
2001
+ interface NamespaceMaintenanceHealthSummary {
2002
+ generatedAt: string;
2003
+ fanoutEnabled: boolean;
2004
+ namespacesEnabled: boolean;
2005
+ maxNamespacesPerCycle: number;
2006
+ jobs: NamespaceMaintenanceJobHealth[];
2007
+ totalRan: number;
2008
+ totalSkipped: number;
2009
+ totalFailed: number;
2010
+ }
2011
+
1993
2012
  declare class Orchestrator {
1994
2013
  readonly storage: StorageManager;
1995
2014
  private readonly storageRouter;
@@ -2109,7 +2128,8 @@ declare class Orchestrator {
2109
2128
  private contentHashIndex;
2110
2129
  private readonly contentHashIndexesByStorageDir;
2111
2130
  private readonly artifactSourceStatusCache;
2112
- private static readonly ARTIFACT_STATUS_CACHE_TTL_MS;
2131
+ /** Read by NamespaceReadFanoutCoordinator (seam 26), hence not `private`. */
2132
+ static readonly ARTIFACT_STATUS_CACHE_TTL_MS = 60000;
2113
2133
  private accessTrackingBuffer;
2114
2134
  private passiveCorrectionDedup;
2115
2135
  private _passiveCorrectionService;
@@ -2450,27 +2470,6 @@ declare class Orchestrator {
2450
2470
  initialize(): Promise<void>;
2451
2471
  private deferredInitialize;
2452
2472
  startupSearchSync(signal?: AbortSignal): Promise<boolean>;
2453
- /**
2454
- * Run the pattern-reinforcement maintenance job (issue #687 PR 2/4).
2455
- *
2456
- * Cadence-gated on `patternReinforcementCadenceMs` so every caller
2457
- * (orchestrator cron path, MCP tool, CLI) shares a single floor —
2458
- * none can call this on a hot loop and burn the corpus. When the
2459
- * feature is disabled or the cadence has not elapsed, returns a
2460
- * synthetic "skipped" result rather than throwing.
2461
- *
2462
- * Cadence tracking is per-namespace so a tenant-scoped MCP run in
2463
- * one namespace does not silence a cron run in another (PR #730
2464
- * review feedback, Codex P2). Pass `force: true` for ad-hoc
2465
- * operator runs that must bypass the cadence floor — mirrors the
2466
- * pattern used by other maintenance MCP tools.
2467
- *
2468
- * `force` deliberately does NOT bypass the master
2469
- * `patternReinforcementEnabled` flag (PR #730 review feedback,
2470
- * Cursor Medium). Operators who have explicitly disabled the
2471
- * feature must not have their corpus mutated by an MCP tool call —
2472
- * the only way to run the job is to enable the feature in config.
2473
- */
2474
2473
  runPatternReinforcement(options?: {
2475
2474
  force?: boolean;
2476
2475
  namespace?: string;
@@ -2480,12 +2479,6 @@ declare class Orchestrator {
2480
2479
  namespace: string;
2481
2480
  result?: PatternReinforcementResult;
2482
2481
  }>;
2483
- /**
2484
- * Fan out pattern reinforcement across all maintained namespaces (issue #1500).
2485
- * Delegates per-namespace execution to {@link runPatternReinforcement} while
2486
- * the planner handles discovery, budgeting, locking, and status recording.
2487
- * When namespaces are disabled, runs once against default storage.
2488
- */
2489
2482
  runPatternReinforcementFanout(options?: {
2490
2483
  force?: boolean;
2491
2484
  }): Promise<NamespaceMaintenanceSummary>;
@@ -2558,10 +2551,6 @@ declare class Orchestrator {
2558
2551
  * Returns null if no facts are found for today.
2559
2552
  */
2560
2553
  generateDaySummaryAuto(namespace?: string, options?: DaySummaryGatherOptions): Promise<DaySummaryResult | null>;
2561
- /**
2562
- * Read today's facts and hourly summaries from storage, returning them
2563
- * as a formatted string suitable for generateDaySummary().
2564
- */
2565
2554
  gatherTodayFacts(namespace?: string, options?: DaySummaryGatherOptions): Promise<string>;
2566
2555
  previewMemoryActionEvent(event: Omit<MemoryActionEvent, "timestamp"> & {
2567
2556
  timestamp?: string;
@@ -2641,10 +2630,6 @@ declare class Orchestrator {
2641
2630
  embedded?: boolean;
2642
2631
  rebuilt?: boolean;
2643
2632
  }>;
2644
- /**
2645
- * Validate local LLM model availability and context window compatibility.
2646
- * Warns the user if there's a mismatch.
2647
- */
2648
2633
  private validateLocalLlmModel;
2649
2634
  recall(prompt: string, sessionKey?: string, options?: RecallInvocationOptions): Promise<string>;
2650
2635
  /**
@@ -2739,6 +2724,20 @@ declare class Orchestrator {
2739
2724
  */
2740
2725
  private _persistenceIndexCoordinator;
2741
2726
  private get persistenceIndexCoordinator();
2727
+ /**
2728
+ * Workspace-ops coordinator (issue #1526 seam 24). Owns periodic
2729
+ * workspace/operations surfaces. Lazy + accessor-wired (late-binding
2730
+ * rule, seams 18–23).
2731
+ */
2732
+ private _workspaceOpsCoordinator;
2733
+ private get workspaceOpsCoordinator();
2734
+ /**
2735
+ * Namespace read-fanout coordinator (issue #1526 seam 26). Owns
2736
+ * namespace-scoped read fanout (hints, cross-namespace search/reads,
2737
+ * artifact statuses). Lazy + accessor-wired (late-binding rule).
2738
+ */
2739
+ private _namespaceReadFanoutCoordinator;
2740
+ private get namespaceReadFanoutCoordinator();
2742
2741
  private recallInternal;
2743
2742
  processTurn(role: "user" | "assistant", content: string, sessionKey?: string, options?: {
2744
2743
  bufferKey?: string;
@@ -2793,13 +2792,6 @@ declare class Orchestrator {
2793
2792
  * and through `ingestBulkImportBatch`.
2794
2793
  */
2795
2794
  bulkImportWriteNamespace(): string;
2796
- /**
2797
- * Lazily-constructed wearables service (Limitless / Bee / Omi
2798
- * transcript ingestion). All wearables surfaces — CLI, MCP tools,
2799
- * HTTP routes — share this one instance so sync state, search, and
2800
- * memory writes stay consistent. Writes are pinned to the same
2801
- * deterministic namespace bulk-import uses.
2802
- */
2803
2795
  getWearablesService(): WearablesService;
2804
2796
  ingestBulkImportBatch(turns: ImportTurn[], options?: {
2805
2797
  deadlineMs?: number;
@@ -2874,8 +2866,12 @@ declare class Orchestrator {
2874
2866
  memoriesAssessed: number;
2875
2867
  }>;
2876
2868
  private runLifecyclePolicyPass;
2877
- /** Threshold (bytes) at which IDENTITY.md reflections get auto-consolidated */
2878
- private static readonly IDENTITY_CONSOLIDATE_THRESHOLD;
2869
+ /**
2870
+ * Threshold (bytes) at which IDENTITY.md reflections get auto-consolidated.
2871
+ * Read by WorkspaceOpsCoordinator (seam 24) via `Orchestrator.…`, hence
2872
+ * not `private`.
2873
+ */
2874
+ static readonly IDENTITY_CONSOLIDATE_THRESHOLD = 8000;
2879
2875
  private autoConsolidateIdentity;
2880
2876
  private formatQmdResults;
2881
2877
  private formatObjectiveStateResults;
@@ -2937,10 +2933,6 @@ declare class Orchestrator {
2937
2933
  * Updates are batched in memory and flushed during consolidation.
2938
2934
  */
2939
2935
  trackMemoryAccess(memoryIds: string[]): void;
2940
- /**
2941
- * Flush access tracking buffer to disk.
2942
- * Called during consolidation or when buffer is full.
2943
- */
2944
2936
  flushAccessTracking(): Promise<void>;
2945
2937
  private loadSearchResultMemoryMap;
2946
2938
  private filterSearchResultsByRecallSafety;
@@ -3007,4 +2999,4 @@ declare class Orchestrator {
3007
2999
  private readArchivedMemoriesForNamespaces;
3008
3000
  }
3009
3001
 
3010
- export { type RecallInvocationOptions as $, memoryStatusForMode as A, resolveSpeaker as B, resolveSyncDates as C, DEFAULT_SELF_NAME as D, sanitizeSessionKeyForFilename as E, saveSpeakerRegistry as F, type GraphRecallSnapshot as G, speakerRegistryKey as H, type IntentDebugSnapshot as I, speakersFilePath as J, syncWearableSource as K, wearableDayTag as L, wearableSourceLabel as M, writeDailyDigestMemory as N, Orchestrator as O, type PatternReinforcementResult as P, type BulkImportBatchIngestResult as Q, type ResolvedScopeProfilePlan as R, type ScopeProfileLayerResolution as S, BulkImportBatchPartialFailureError as T, COMPACTION_SIGNAL_MAX_AGE_MS as U, type ExtractionRunResult as V, WearablesService as W, type GraphRecallRankedResult as X, type GraphRecallShadowComparison as Y, type QmdRecallSnapshot as Z, type QueryAwarePrefilter as _, type ScopeProfilePromotionResolution as a, type RecallModeDecision as a0, appendMemoryToGraphContext as a1, applyQueryAwareCandidateFilter as a2, blendGraphExpandedRecallScore as a3, buildCompressionGuidelinesMarkdown as a4, buildMemoryPathById as a5, computeArtifactCandidateFetchLimit as a6, computeArtifactRecallLimit as a7, computeQmdHybridFetchLimit as a8, deriveTopicsFromExtraction as a9, filterRecallCandidates as aa, graphPathRelativeToStorage as ab, hasIdentityRecoveryIntent as ac, isArtifactMemoryPath as ad, lifecycleRecallScoreAdjustment as ae, mapRecallSourceToXrayServedBy as af, mergeArtifactRecallCandidates as ag, mergeGraphExpandedResults as ah, parseGraphRecallRankedResults as ai, parseMemoryIntentSnapshot as aj, parseQmdRecallResults as ak, qmdStartupCollectionCheckWithTimeout as al, raceRecallAbort as am, resolveEffectiveIdentityInjectionMode as an, resolveEffectiveRecallMode as ao, resolvePersistedMemoryRelativePath as ap, resolveRecallModeDecision as aq, resolveRecallModeDecisionAsync as ar, resolveRecentThreadMemoryPaths as as, shouldFilterLifecycleRecallCandidate as at, splitTurnsBySourceValidAt as au, summarizeGraphShadowComparison as av, targetSourceValidAtSortMs as aw, throwIfRecallAborted as ax, tokenizeRecallQuery as ay, type SpeakerRegistry as b, type ResolvedSpeaker as c, type SpeakerOverride as d, WEARABLE_SOURCE_PREFIX as e, type WearableDayTranscriptView as f, type WearableMemoryGenDeps as g, type WearableMemoryGenResult as h, type WearableMemorySearchResult as i, type WearableMemoryWriter as j, type WearableSearchBackend as k, type WearableStorageIo as l, type WearableSyncDeps as m, type WearableSyncOptions as n, type WearableTranscriptSearchResult as o, type WearablesServiceDeps as p, buildExtractionTurns as q, dateInTimezone as r, defaultTimezone as s, defaultWorkspaceDir as t, distinctSpeakerLabels as u, emptySpeakerRegistry as v, generateWearableMemories as w, importNativeMemories as x, loadSpeakerRegistry as y, locateTranscriptPath as z };
3002
+ export { type QueryAwarePrefilter as $, memoryStatusForMode as A, resolveSpeaker as B, resolveSyncDates as C, DEFAULT_SELF_NAME as D, sanitizeSessionKeyForFilename as E, saveSpeakerRegistry as F, type GraphRecallSnapshot as G, speakerRegistryKey as H, type IntentDebugSnapshot as I, speakersFilePath as J, syncWearableSource as K, wearableDayTag as L, wearableSourceLabel as M, writeDailyDigestMemory as N, Orchestrator as O, type PatternReinforcementResult as P, type BulkImportBatchIngestResult as Q, type ResolvedScopeProfilePlan as R, type ScopeProfileLayerResolution as S, BulkImportBatchPartialFailureError as T, COMPACTION_SIGNAL_MAX_AGE_MS as U, type DaySummaryGatherOptions as V, WearablesService as W, type ExtractionRunResult as X, type GraphRecallRankedResult as Y, type GraphRecallShadowComparison as Z, type QmdRecallSnapshot as _, type ScopeProfilePromotionResolution as a, type RecallInvocationOptions as a0, type RecallModeDecision as a1, appendMemoryToGraphContext as a2, applyQueryAwareCandidateFilter as a3, blendGraphExpandedRecallScore as a4, buildCompressionGuidelinesMarkdown as a5, buildMemoryPathById as a6, computeArtifactCandidateFetchLimit as a7, computeArtifactRecallLimit as a8, computeQmdHybridFetchLimit as a9, summarizeGraphShadowComparison as aA, targetSourceValidAtSortMs as aB, throwIfRecallAborted as aC, tokenizeRecallQuery as aD, utcDateKeysForLocalDay as aE, deriveTopicsFromExtraction as aa, filterHourlySummaryMarkdownForLocalDay as ab, filterRecallCandidates as ac, formatDateInTimeZone as ad, graphPathRelativeToStorage as ae, hasIdentityRecoveryIntent as af, isArtifactMemoryPath as ag, lifecycleRecallScoreAdjustment as ah, mapRecallSourceToXrayServedBy as ai, mergeArtifactRecallCandidates as aj, mergeGraphExpandedResults as ak, normalizeIanaTimeZone as al, parseFiniteDate as am, parseGraphRecallRankedResults as an, parseMemoryIntentSnapshot as ao, parseQmdRecallResults as ap, qmdStartupCollectionCheckWithTimeout as aq, raceRecallAbort as ar, resolveEffectiveIdentityInjectionMode as as, resolveEffectiveRecallMode as at, resolvePersistedMemoryRelativePath as au, resolveRecallModeDecision as av, resolveRecallModeDecisionAsync as aw, resolveRecentThreadMemoryPaths as ax, shouldFilterLifecycleRecallCandidate as ay, splitTurnsBySourceValidAt as az, type SpeakerRegistry as b, type ResolvedSpeaker as c, type SpeakerOverride as d, WEARABLE_SOURCE_PREFIX as e, type WearableDayTranscriptView as f, type WearableMemoryGenDeps as g, type WearableMemoryGenResult as h, type WearableMemorySearchResult as i, type WearableMemoryWriter as j, type WearableSearchBackend as k, type WearableStorageIo as l, type WearableSyncDeps as m, type WearableSyncOptions as n, type WearableTranscriptSearchResult as o, type WearablesServiceDeps as p, buildExtractionTurns as q, dateInTimezone as r, defaultTimezone as s, defaultWorkspaceDir as t, distinctSpeakerLabels as u, emptySpeakerRegistry as v, generateWearableMemories as w, importNativeMemories as x, loadSpeakerRegistry as y, locateTranscriptPath as z };
@@ -8,7 +8,7 @@ import './summarizer.js';
8
8
  import './local-llm.js';
9
9
  import './fallback-llm.js';
10
10
  import './orchestration/maintenance.js';
11
- export { Q as BulkImportBatchIngestResult, T as BulkImportBatchPartialFailureError, U as COMPACTION_SIGNAL_MAX_AGE_MS, V as ExtractionRunResult, X as GraphRecallRankedResult, Y as GraphRecallShadowComparison, G as GraphRecallSnapshot, I as IntentDebugSnapshot, O as Orchestrator, Z as QmdRecallSnapshot, _ as QueryAwarePrefilter, $ as RecallInvocationOptions, a0 as RecallModeDecision, a1 as appendMemoryToGraphContext, a2 as applyQueryAwareCandidateFilter, a3 as blendGraphExpandedRecallScore, a4 as buildCompressionGuidelinesMarkdown, a5 as buildMemoryPathById, a6 as computeArtifactCandidateFetchLimit, a7 as computeArtifactRecallLimit, a8 as computeQmdHybridFetchLimit, t as defaultWorkspaceDir, a9 as deriveTopicsFromExtraction, aa as filterRecallCandidates, ab as graphPathRelativeToStorage, ac as hasIdentityRecoveryIntent, ad as isArtifactMemoryPath, ae as lifecycleRecallScoreAdjustment, af as mapRecallSourceToXrayServedBy, ag as mergeArtifactRecallCandidates, ah as mergeGraphExpandedResults, ai as parseGraphRecallRankedResults, aj as parseMemoryIntentSnapshot, ak as parseQmdRecallResults, al as qmdStartupCollectionCheckWithTimeout, am as raceRecallAbort, an as resolveEffectiveIdentityInjectionMode, ao as resolveEffectiveRecallMode, ap as resolvePersistedMemoryRelativePath, aq as resolveRecallModeDecision, ar as resolveRecallModeDecisionAsync, as as resolveRecentThreadMemoryPaths, E as sanitizeSessionKeyForFilename, at as shouldFilterLifecycleRecallCandidate, au as splitTurnsBySourceValidAt, av as summarizeGraphShadowComparison, aw as targetSourceValidAtSortMs, ax as throwIfRecallAborted, ay as tokenizeRecallQuery } from './orchestrator-CZI6hO_R.js';
11
+ export { Q as BulkImportBatchIngestResult, T as BulkImportBatchPartialFailureError, U as COMPACTION_SIGNAL_MAX_AGE_MS, V as DaySummaryGatherOptions, X as ExtractionRunResult, Y as GraphRecallRankedResult, Z as GraphRecallShadowComparison, G as GraphRecallSnapshot, I as IntentDebugSnapshot, O as Orchestrator, _ as QmdRecallSnapshot, $ as QueryAwarePrefilter, a0 as RecallInvocationOptions, a1 as RecallModeDecision, a2 as appendMemoryToGraphContext, a3 as applyQueryAwareCandidateFilter, a4 as blendGraphExpandedRecallScore, a5 as buildCompressionGuidelinesMarkdown, a6 as buildMemoryPathById, a7 as computeArtifactCandidateFetchLimit, a8 as computeArtifactRecallLimit, a9 as computeQmdHybridFetchLimit, t as defaultWorkspaceDir, aa as deriveTopicsFromExtraction, ab as filterHourlySummaryMarkdownForLocalDay, ac as filterRecallCandidates, ad as formatDateInTimeZone, ae as graphPathRelativeToStorage, af as hasIdentityRecoveryIntent, ag as isArtifactMemoryPath, ah as lifecycleRecallScoreAdjustment, ai as mapRecallSourceToXrayServedBy, aj as mergeArtifactRecallCandidates, ak as mergeGraphExpandedResults, al as normalizeIanaTimeZone, am as parseFiniteDate, an as parseGraphRecallRankedResults, ao as parseMemoryIntentSnapshot, ap as parseQmdRecallResults, aq as qmdStartupCollectionCheckWithTimeout, ar as raceRecallAbort, as as resolveEffectiveIdentityInjectionMode, at as resolveEffectiveRecallMode, au as resolvePersistedMemoryRelativePath, av as resolveRecallModeDecision, aw as resolveRecallModeDecisionAsync, ax as resolveRecentThreadMemoryPaths, E as sanitizeSessionKeyForFilename, ay as shouldFilterLifecycleRecallCandidate, az as splitTurnsBySourceValidAt, aA as summarizeGraphShadowComparison, aB as targetSourceValidAtSortMs, aC as throwIfRecallAborted, aD as tokenizeRecallQuery, aE as utcDateKeysForLocalDay } from './orchestrator-D7bb8ZGp.js';
12
12
  export { formatCompressionGuidelinesForRecall } from './orchestration/compression-guideline-coordinator.js';
13
13
  import './live-connectors-runner.js';
14
14
  import './model-registry.js';
@@ -19,14 +19,13 @@ import './recall-xray.js';
19
19
  import './session-observer-state.js';
20
20
  import './embedding-fallback.js';
21
21
  import './semantic-DJR8_DMQ.js';
22
- import './capabilities.js';
23
22
  import './replay/types.js';
24
23
  import './types-gb_SNtjR.js';
25
- import './types-CZm6rx9-.js';
26
24
  import './lcm/engine.js';
27
- import './semantic-consolidation-D3aSiu9t.js';
25
+ import './semantic-consolidation-CTfbVwCA.js';
28
26
  import './conversation-index/backend.js';
29
- import './catalog-D_ZDxu8Y.js';
27
+ import './catalog-BpOcwHdE.js';
28
+ import './types-D4NYDtXI.js';
30
29
  import './namespaces/search.js';
31
30
  import './shared-context/manager.js';
32
31
  import './compounding/engine.js';
@@ -63,6 +62,7 @@ import './trust-score.js';
63
62
  import './conversation-index/chunker.js';
64
63
  import './faiss-adapter-BHecI1fF.js';
65
64
  import './runtime/child-process.js';
65
+ import './capabilities.js';
66
66
  import './namespaces/storage.js';
67
67
  import './threading.js';
68
68
  import './graph.js';