@remnic/core 9.3.689 → 9.3.690

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 (158) hide show
  1. package/dist/access-boundary.d.ts +5 -4
  2. package/dist/access-boundary.js +10 -9
  3. package/dist/access-cli.js +86 -22
  4. package/dist/access-cli.js.map +1 -1
  5. package/dist/access-http.d.ts +4 -3
  6. package/dist/access-http.js +13 -12
  7. package/dist/access-mcp.d.ts +11 -3
  8. package/dist/access-mcp.js +12 -11
  9. package/dist/access-operations.d.ts +11 -5
  10. package/dist/access-operations.js +13 -10
  11. package/dist/{access-service-DmCHJ4cH.d.ts → access-service-Dujr3MTm.d.ts} +62 -2
  12. package/dist/access-service.d.ts +4 -3
  13. package/dist/access-service.js +9 -8
  14. package/dist/access-surface-catalog.d.ts +4 -3
  15. package/dist/access-surface-catalog.js +2 -0
  16. package/dist/access-surface-catalog.js.map +1 -1
  17. package/dist/bootstrap.d.ts +3 -2
  18. package/dist/briefing.d.ts +1 -0
  19. package/dist/briefing.js +3 -2
  20. package/dist/buffer.d.ts +1 -0
  21. package/dist/{catalog-COqWZlZ6.d.ts → catalog-CKPtJ114.d.ts} +1 -1
  22. package/dist/causal-consolidation.js +4 -3
  23. package/dist/causal-consolidation.js.map +1 -1
  24. package/dist/{chunk-B4XVLHJA.js → chunk-2N6UNJSX.js} +2 -2
  25. package/dist/{chunk-OWFY6NGQ.js → chunk-46URPRE6.js} +2 -2
  26. package/dist/chunk-46URPRE6.js.map +1 -0
  27. package/dist/{chunk-4N3TFFPH.js → chunk-54PVJDO5.js} +2 -2
  28. package/dist/{chunk-PH3HOKYW.js → chunk-67MMWC74.js} +2 -2
  29. package/dist/{chunk-STOEE37X.js → chunk-BKAMHZYR.js} +2 -2
  30. package/dist/{chunk-JZBFL7RI.js → chunk-CE6CBRCV.js} +429 -2237
  31. package/dist/chunk-CE6CBRCV.js.map +1 -0
  32. package/dist/{chunk-UHUZXWDX.js → chunk-CP2NZQLT.js} +15 -4
  33. package/dist/chunk-CP2NZQLT.js.map +1 -0
  34. package/dist/{chunk-BLIWOONZ.js → chunk-CUNTLEJP.js} +4 -12
  35. package/dist/chunk-CUNTLEJP.js.map +1 -0
  36. package/dist/{chunk-W63OY3J7.js → chunk-CWE74HRG.js} +3 -3
  37. package/dist/{chunk-VX6OBUDW.js → chunk-GR77Z2BM.js} +2 -2
  38. package/dist/{chunk-SAEZIIID.js → chunk-LXIEXSHU.js} +2 -2
  39. package/dist/{chunk-Z2M6YTAJ.js → chunk-NSVXK7M5.js} +33 -4
  40. package/dist/chunk-NSVXK7M5.js.map +1 -0
  41. package/dist/{chunk-UXLZOVCN.js → chunk-OMKUJTVJ.js} +37 -5
  42. package/dist/chunk-OMKUJTVJ.js.map +1 -0
  43. package/dist/{chunk-GS55WYRL.js → chunk-PHZKALOE.js} +2 -2
  44. package/dist/{chunk-6O6A6YUO.js → chunk-RGNEARXW.js} +3 -3
  45. package/dist/{chunk-4FE2K57M.js → chunk-RTFAZOIR.js} +2 -2
  46. package/dist/{chunk-UTYBJR7M.js → chunk-SB6CQTKP.js} +2 -2
  47. package/dist/chunk-SVOZFLIQ.js +16 -0
  48. package/dist/chunk-SVOZFLIQ.js.map +1 -0
  49. package/dist/{chunk-JPETDXED.js → chunk-TYF3D4MS.js} +2 -2
  50. package/dist/{chunk-WIHPNY65.js → chunk-UD5OKH4J.js} +2 -2
  51. package/dist/{chunk-QANVLERJ.js → chunk-UPIBE2DK.js} +2 -2
  52. package/dist/{chunk-RHXFYIHA.js → chunk-WROKD3XC.js} +33 -18
  53. package/dist/chunk-WROKD3XC.js.map +1 -0
  54. package/dist/{chunk-2SNKUSQC.js → chunk-X5J3JZR3.js} +4 -4
  55. package/dist/{chunk-OV4D5T7V.js → chunk-X7RLU5CR.js} +2 -2
  56. package/dist/{chunk-QSQW54U5.js → chunk-XKUKJIOY.js} +30 -7
  57. package/dist/chunk-XKUKJIOY.js.map +1 -0
  58. package/dist/{chunk-XU7363OX.js → chunk-Z7KILAOU.js} +603 -9
  59. package/dist/chunk-Z7KILAOU.js.map +1 -0
  60. package/dist/chunk-ZU7N3S6V.js +2190 -0
  61. package/dist/chunk-ZU7N3S6V.js.map +1 -0
  62. package/dist/{chunk-T422SYM6.js → chunk-ZUDM75KG.js} +5 -5
  63. package/dist/{cli-D8nZ2MPH.d.ts → cli-BkDp6WNi.d.ts} +2 -2
  64. package/dist/cli.d.ts +5 -4
  65. package/dist/cli.js +25 -23
  66. package/dist/compounding/engine.d.ts +1 -0
  67. package/dist/compounding/engine.js +3 -2
  68. package/dist/connectors/codex-materialize-runner.js +3 -2
  69. package/dist/connectors/index.js +3 -2
  70. package/dist/consolidation-provenance-check.d.ts +1 -0
  71. package/dist/consolidation-undo.d.ts +1 -0
  72. package/dist/contradiction/index.d.ts +1 -0
  73. package/dist/conversation-index/backend.js +2 -2
  74. package/dist/entity-retrieval.d.ts +1 -0
  75. package/dist/entity-retrieval.js +3 -2
  76. package/dist/explicit-capture.d.ts +3 -2
  77. package/dist/index.d.ts +6 -5
  78. package/dist/index.js +34 -31
  79. package/dist/index.js.map +1 -1
  80. package/dist/lcm/engine.js +2 -2
  81. package/dist/lcm/index.js +2 -2
  82. package/dist/maintenance/memory-governance.js +3 -2
  83. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +3 -2
  84. package/dist/maintenance/rebuild-memory-projection.js +4 -3
  85. package/dist/mcp-memory-inspector-app.d.ts +4 -3
  86. package/dist/memory-worth-outcomes.d.ts +1 -0
  87. package/dist/namespaces/migrate.d.ts +2 -1
  88. package/dist/namespaces/migrate.js +8 -7
  89. package/dist/namespaces/search.js +4 -4
  90. package/dist/namespaces/storage.d.ts +2 -1
  91. package/dist/namespaces/storage.js +3 -2
  92. package/dist/operator-toolkit.d.ts +1 -0
  93. package/dist/operator-toolkit.js +11 -9
  94. package/dist/{orchestrator-CA6ouzBn.d.ts → orchestrator-B7ixmUkP.d.ts} +145 -1
  95. package/dist/orchestrator.d.ts +3 -2
  96. package/dist/orchestrator.js +18 -16
  97. package/dist/schemas.d.ts +10 -10
  98. package/dist/search/factory.js +3 -3
  99. package/dist/search/index.js +3 -3
  100. package/dist/semantic-consolidation.js +4 -3
  101. package/dist/semantic-rule-promotion.js +3 -2
  102. package/dist/semantic-rule-verifier.js +3 -2
  103. package/dist/storage.d.ts +3 -27
  104. package/dist/storage.js +5 -3
  105. package/dist/structured-attributes.d.ts +29 -0
  106. package/dist/structured-attributes.js +8 -0
  107. package/dist/structured-attributes.js.map +1 -0
  108. package/dist/temporal-supersession.d.ts +1 -0
  109. package/dist/tier-migration.d.ts +1 -0
  110. package/dist/verified-recall.js +3 -2
  111. package/package.json +2 -2
  112. package/src/access-boundary.ts +2 -1
  113. package/src/access-cli.test.ts +40 -0
  114. package/src/access-cli.ts +90 -2
  115. package/src/access-http.ts +35 -6
  116. package/src/access-mcp.ts +34 -0
  117. package/src/access-operations.ts +45 -0
  118. package/src/access-service.ts +60 -0
  119. package/src/access-surface-catalog.test.ts +1 -1
  120. package/src/access-surface-catalog.ts +2 -0
  121. package/src/cli.ts +18 -0
  122. package/src/coding/architecture-card.test.ts +544 -0
  123. package/src/coding/architecture-card.ts +687 -0
  124. package/src/coding/architecture-surfaces.test.ts +579 -0
  125. package/src/coding/architecture-surfaces.ts +457 -0
  126. package/src/maintenance/namespace-maintenance-fanout.test.ts +595 -0
  127. package/src/maintenance/namespace-maintenance-fanout.ts +318 -0
  128. package/src/maintenance/namespace-planner.ts +74 -16
  129. package/src/operator-toolkit.ts +25 -0
  130. package/src/orchestrator.ts +144 -0
  131. package/src/storage.ts +6 -20
  132. package/src/structured-attributes.ts +39 -0
  133. package/dist/chunk-BLIWOONZ.js.map +0 -1
  134. package/dist/chunk-JZBFL7RI.js.map +0 -1
  135. package/dist/chunk-OWFY6NGQ.js.map +0 -1
  136. package/dist/chunk-QSQW54U5.js.map +0 -1
  137. package/dist/chunk-RHXFYIHA.js.map +0 -1
  138. package/dist/chunk-UHUZXWDX.js.map +0 -1
  139. package/dist/chunk-UXLZOVCN.js.map +0 -1
  140. package/dist/chunk-XU7363OX.js.map +0 -1
  141. package/dist/chunk-Z2M6YTAJ.js.map +0 -1
  142. /package/dist/{chunk-B4XVLHJA.js.map → chunk-2N6UNJSX.js.map} +0 -0
  143. /package/dist/{chunk-4N3TFFPH.js.map → chunk-54PVJDO5.js.map} +0 -0
  144. /package/dist/{chunk-PH3HOKYW.js.map → chunk-67MMWC74.js.map} +0 -0
  145. /package/dist/{chunk-STOEE37X.js.map → chunk-BKAMHZYR.js.map} +0 -0
  146. /package/dist/{chunk-W63OY3J7.js.map → chunk-CWE74HRG.js.map} +0 -0
  147. /package/dist/{chunk-VX6OBUDW.js.map → chunk-GR77Z2BM.js.map} +0 -0
  148. /package/dist/{chunk-SAEZIIID.js.map → chunk-LXIEXSHU.js.map} +0 -0
  149. /package/dist/{chunk-GS55WYRL.js.map → chunk-PHZKALOE.js.map} +0 -0
  150. /package/dist/{chunk-6O6A6YUO.js.map → chunk-RGNEARXW.js.map} +0 -0
  151. /package/dist/{chunk-4FE2K57M.js.map → chunk-RTFAZOIR.js.map} +0 -0
  152. /package/dist/{chunk-UTYBJR7M.js.map → chunk-SB6CQTKP.js.map} +0 -0
  153. /package/dist/{chunk-JPETDXED.js.map → chunk-TYF3D4MS.js.map} +0 -0
  154. /package/dist/{chunk-WIHPNY65.js.map → chunk-UD5OKH4J.js.map} +0 -0
  155. /package/dist/{chunk-QANVLERJ.js.map → chunk-UPIBE2DK.js.map} +0 -0
  156. /package/dist/{chunk-2SNKUSQC.js.map → chunk-X5J3JZR3.js.map} +0 -0
  157. /package/dist/{chunk-OV4D5T7V.js.map → chunk-X7RLU5CR.js.map} +0 -0
  158. /package/dist/{chunk-T422SYM6.js.map → chunk-ZUDM75KG.js.map} +0 -0
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-7FL4CNPV.js";
4
4
  import {
5
5
  StorageManager
6
- } from "./chunk-BLIWOONZ.js";
6
+ } from "./chunk-CUNTLEJP.js";
7
7
  import {
8
8
  getCachedEpisodeMap,
9
9
  setCachedEpisodeMap
@@ -107,4 +107,4 @@ export {
107
107
  compareVerifiedEpisodeResults,
108
108
  searchVerifiedEpisodes
109
109
  };
110
- //# sourceMappingURL=chunk-4FE2K57M.js.map
110
+ //# sourceMappingURL=chunk-RTFAZOIR.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  StorageManager
3
- } from "./chunk-BLIWOONZ.js";
3
+ } from "./chunk-CUNTLEJP.js";
4
4
 
5
5
  // src/semantic-rule-promotion.ts
6
6
  import { createHash, randomUUID } from "crypto";
@@ -529,4 +529,4 @@ export {
529
529
  setSemanticRulePromotionTestHooks,
530
530
  promoteSemanticRuleFromMemory
531
531
  };
532
- //# sourceMappingURL=chunk-UTYBJR7M.js.map
532
+ //# sourceMappingURL=chunk-SB6CQTKP.js.map
@@ -0,0 +1,16 @@
1
+ // src/structured-attributes.ts
2
+ function stripAttributesSuffix(content) {
3
+ const trimmed = content.trimEnd();
4
+ if (!trimmed.endsWith("]")) return content.trim();
5
+ const marker = "\n[Attributes: ";
6
+ const markerIndex = trimmed.lastIndexOf(marker);
7
+ if (markerIndex === -1) return content.trim();
8
+ const inner = trimmed.slice(markerIndex + marker.length, -1);
9
+ if (inner.includes("]") || inner.includes("\n")) return content.trim();
10
+ return trimmed.slice(0, markerIndex).trim();
11
+ }
12
+
13
+ export {
14
+ stripAttributesSuffix
15
+ };
16
+ //# sourceMappingURL=chunk-SVOZFLIQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/structured-attributes.ts"],"sourcesContent":["/**\n * Shared helpers for the `\\n[Attributes: …]` enrichment suffix that\n * `writeMemory` appends to a stored body when `structuredAttributes` are\n * present.\n *\n * Extracted here (out of `storage.ts`) so every reader — the storage\n * manager, the wearable service, and the coding surfaces — strips the suffix\n * with ONE definition. Previously `coding/architecture-surfaces.ts` carried a\n * weaker local copy that only checked the trailing `]`, which could truncate\n * card markdown that legitimately ends in a `[Attributes: …]` line (cursor\n * review: duplicate attribute suffix stripper).\n *\n * String operations, not regex — CodeQL `js/polynomial-redos` flags\n * suffix-anchored patterns over library-supplied content.\n */\n\n/**\n * Remove the `[Attributes: …]` suffix `writeMemory` appends to the stored\n * body when structuredAttributes are present, yielding the raw fact/card text\n * for content comparison or client display. Inverse companion of\n * `normalizeAttributePairs` enrichment in `storage.ts`.\n *\n * Returns the stripped (trimmed) body when the marker opens the final\n * non-empty line and its inner payload contains no premature `]` or newline\n * (mirrors the exact shape `normalizeAttributePairs` emits). Otherwise\n * returns the trimmed input unchanged — never truncates legitimate content.\n */\nexport function stripAttributesSuffix(content: string): string {\n const trimmed = content.trimEnd();\n if (!trimmed.endsWith(\"]\")) return content.trim();\n const marker = \"\\n[Attributes: \";\n const markerIndex = trimmed.lastIndexOf(marker);\n if (markerIndex === -1) return content.trim();\n // The block must be the FINAL line and contain no \"]\" before the\n // closing bracket (mirrors the shape normalizeAttributePairs emits).\n const inner = trimmed.slice(markerIndex + marker.length, -1);\n if (inner.includes(\"]\") || inner.includes(\"\\n\")) return content.trim();\n return trimmed.slice(0, markerIndex).trim();\n}\n"],"mappings":";AA2BO,SAAS,sBAAsB,SAAyB;AAC7D,QAAM,UAAU,QAAQ,QAAQ;AAChC,MAAI,CAAC,QAAQ,SAAS,GAAG,EAAG,QAAO,QAAQ,KAAK;AAChD,QAAM,SAAS;AACf,QAAM,cAAc,QAAQ,YAAY,MAAM;AAC9C,MAAI,gBAAgB,GAAI,QAAO,QAAQ,KAAK;AAG5C,QAAM,QAAQ,QAAQ,MAAM,cAAc,OAAO,QAAQ,EAAE;AAC3D,MAAI,MAAM,SAAS,GAAG,KAAK,MAAM,SAAS,IAAI,EAAG,QAAO,QAAQ,KAAK;AACrE,SAAO,QAAQ,MAAM,GAAG,WAAW,EAAE,KAAK;AAC5C;","names":[]}
@@ -18,7 +18,7 @@ import {
18
18
  } from "./chunk-EHISUJFN.js";
19
19
  import {
20
20
  createConversationIndexBackend
21
- } from "./chunk-T422SYM6.js";
21
+ } from "./chunk-ZUDM75KG.js";
22
22
  import {
23
23
  FaissConversationIndexAdapter
24
24
  } from "./chunk-XBZQRZ6G.js";
@@ -170,4 +170,4 @@ export {
170
170
  createConversationSearchBackend,
171
171
  createConversationIndexRuntime
172
172
  };
173
- //# sourceMappingURL=chunk-JPETDXED.js.map
173
+ //# sourceMappingURL=chunk-TYF3D4MS.js.map
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-ZFXCQPNO.js";
5
5
  import {
6
6
  StorageManager
7
- } from "./chunk-BLIWOONZ.js";
7
+ } from "./chunk-CUNTLEJP.js";
8
8
  import {
9
9
  ALL_CATEGORY_DIRS
10
10
  } from "./chunk-VS2IYZRU.js";
@@ -312,4 +312,4 @@ export {
312
312
  resolveNamespaceStorageRoot,
313
313
  NamespaceStorageRouter
314
314
  };
315
- //# sourceMappingURL=chunk-WIHPNY65.js.map
315
+ //# sourceMappingURL=chunk-UD5OKH4J.js.map
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-3UXOZBHV.js";
8
8
  import {
9
9
  StorageManager
10
- } from "./chunk-BLIWOONZ.js";
10
+ } from "./chunk-CUNTLEJP.js";
11
11
  import {
12
12
  isSafeRouteNamespace
13
13
  } from "./chunk-U3PN77QT.js";
@@ -118,4 +118,4 @@ export {
118
118
  runCodexMaterialize,
119
119
  runPostConsolidationMaterialize
120
120
  };
121
- //# sourceMappingURL=chunk-QANVLERJ.js.map
121
+ //# sourceMappingURL=chunk-UPIBE2DK.js.map
@@ -1,3 +1,6 @@
1
+ import {
2
+ openclawReplayNormalizer
3
+ } from "./chunk-7F7Z6MOS.js";
1
4
  import {
2
5
  chatgptReplayNormalizer
3
6
  } from "./chunk-MC4FJXPA.js";
@@ -5,8 +8,8 @@ import {
5
8
  claudeReplayNormalizer
6
9
  } from "./chunk-LQHDIS7L.js";
7
10
  import {
8
- openclawReplayNormalizer
9
- } from "./chunk-7F7Z6MOS.js";
11
+ exportJsonBundle
12
+ } from "./chunk-UP6MOYCB.js";
10
13
  import {
11
14
  exportSqlite
12
15
  } from "./chunk-7VFZTJ7K.js";
@@ -28,9 +31,6 @@ import {
28
31
  import {
29
32
  exportMarkdownBundle
30
33
  } from "./chunk-765K3SAT.js";
31
- import {
32
- exportJsonBundle
33
- } from "./chunk-UP6MOYCB.js";
34
34
  import {
35
35
  TailscaleHelper
36
36
  } from "./chunk-EEC4PCG5.js";
@@ -47,12 +47,12 @@ import {
47
47
  } from "./chunk-D6RIFG4O.js";
48
48
  import {
49
49
  rebuildMemoryLifecycleLedger
50
- } from "./chunk-VX6OBUDW.js";
50
+ } from "./chunk-GR77Z2BM.js";
51
51
  import {
52
52
  rebuildMemoryProjection,
53
53
  repairMemoryProjection,
54
54
  verifyMemoryProjection
55
- } from "./chunk-6O6A6YUO.js";
55
+ } from "./chunk-RGNEARXW.js";
56
56
  import {
57
57
  rebuildObservations
58
58
  } from "./chunk-LZZNTPLR.js";
@@ -74,7 +74,7 @@ import {
74
74
  } from "./chunk-IQ7WCZRW.js";
75
75
  import {
76
76
  promoteSemanticRuleFromMemory
77
- } from "./chunk-UTYBJR7M.js";
77
+ } from "./chunk-SB6CQTKP.js";
78
78
  import {
79
79
  buildResumeBundleFromState,
80
80
  getResumeBundleStatus,
@@ -102,12 +102,12 @@ import {
102
102
  runOperatorInventory,
103
103
  runOperatorRepair,
104
104
  runOperatorSetup
105
- } from "./chunk-UHUZXWDX.js";
105
+ } from "./chunk-CP2NZQLT.js";
106
106
  import {
107
107
  listNamespaces,
108
108
  runNamespaceMigration,
109
109
  verifyNamespaces
110
- } from "./chunk-W63OY3J7.js";
110
+ } from "./chunk-CWE74HRG.js";
111
111
  import {
112
112
  GraphDashboardServer
113
113
  } from "./chunk-YNDLCWXS.js";
@@ -128,13 +128,13 @@ import {
128
128
  } from "./chunk-TERNBNJB.js";
129
129
  import {
130
130
  searchVerifiedEpisodes
131
- } from "./chunk-4FE2K57M.js";
131
+ } from "./chunk-RTFAZOIR.js";
132
132
  import {
133
133
  ThreadingManager
134
134
  } from "./chunk-QRDOSYOR.js";
135
135
  import {
136
136
  searchVerifiedSemanticRules
137
- } from "./chunk-PH3HOKYW.js";
137
+ } from "./chunk-67MMWC74.js";
138
138
  import {
139
139
  getWorkProductLedgerStatus,
140
140
  recordWorkProductLedgerEntry,
@@ -147,6 +147,9 @@ import {
147
147
  readRuntimePolicySnapshot,
148
148
  sanitizeRuntimePolicyValues
149
149
  } from "./chunk-33JBK2XP.js";
150
+ import {
151
+ formatNamespaceMaintenanceHealthText
152
+ } from "./chunk-ZU7N3S6V.js";
150
153
  import {
151
154
  analyzeSessionIntegrity,
152
155
  applySessionRepair,
@@ -216,16 +219,16 @@ import {
216
219
  } from "./chunk-OADWQ5CR.js";
217
220
  import {
218
221
  EngramAccessHttpServer
219
- } from "./chunk-QSQW54U5.js";
222
+ } from "./chunk-XKUKJIOY.js";
220
223
  import {
221
224
  WearablesInputError
222
225
  } from "./chunk-7WV3F5DQ.js";
223
226
  import {
224
227
  EngramMcpServer
225
- } from "./chunk-UXLZOVCN.js";
228
+ } from "./chunk-OMKUJTVJ.js";
226
229
  import {
227
230
  EngramAccessService
228
- } from "./chunk-XU7363OX.js";
231
+ } from "./chunk-Z7KILAOU.js";
229
232
  import {
230
233
  WorkStorage
231
234
  } from "./chunk-GDB4J2H3.js";
@@ -247,7 +250,7 @@ import {
247
250
  readMemoryGovernanceRunArtifact,
248
251
  restoreMemoryGovernanceRun,
249
252
  runMemoryGovernance
250
- } from "./chunk-4N3TFFPH.js";
253
+ } from "./chunk-54PVJDO5.js";
251
254
  import {
252
255
  analyzeGraphHealth
253
256
  } from "./chunk-KF74X62T.js";
@@ -2265,7 +2268,8 @@ async function runAccessMcpServeCliCommand(service, options = {}) {
2265
2268
  }) ?? new EngramMcpServer(service, {
2266
2269
  principal: options.principal,
2267
2270
  emitLegacyTools: options.emitLegacyTools,
2268
- codingDecisionVisible: service.decisionRecordSurfaceVisible
2271
+ codingDecisionVisible: service.decisionRecordSurfaceVisible,
2272
+ architectureCardVisible: service.architectureCardSurfaceVisible
2269
2273
  });
2270
2274
  await server.runStdio(options.stdin ?? process.stdin, options.stdout ?? process.stdout);
2271
2275
  return { ok: true };
@@ -3380,6 +3384,17 @@ function registerCli(api, orchestrator, registerOptions = {}) {
3380
3384
  process.exitCode = 1;
3381
3385
  }
3382
3386
  });
3387
+ namespacesCmd.command("maintenance").description(
3388
+ "Show per-namespace maintenance status (issue #1500). Reports which namespaces were maintained, skipped, or failed for each standard job."
3389
+ ).option("--json", "Emit machine-readable JSON only").action(async (...args) => {
3390
+ const options = args[0] ?? {};
3391
+ const summary = await orchestrator.readNamespaceMaintenanceHealth();
3392
+ if (reportHasMachineReadableOutput(options)) {
3393
+ console.log(JSON.stringify(summary, null, 2));
3394
+ } else {
3395
+ console.log(formatNamespaceMaintenanceHealthText(summary));
3396
+ }
3397
+ });
3383
3398
  cmd.command("export").description("Export Remnic memory to JSON, Markdown bundle, or SQLite").option("--format <format>", "Export format: json|md|sqlite", "json").option("--out <path>", "Output path (dir for json/md, file for sqlite)").option("--include-transcripts", "Include transcripts in export (default: false)").option("--namespace <ns>", "Namespace to export (v3.0+, default: config defaultNamespace)", "").action(async (...args) => {
3384
3399
  const options = args[0] ?? {};
3385
3400
  const format = String(options.format ?? "json");
@@ -7311,4 +7326,4 @@ export {
7311
7326
  listMemoryMarkdownFilePaths,
7312
7327
  registerCli
7313
7328
  };
7314
- //# sourceMappingURL=chunk-RHXFYIHA.js.map
7329
+ //# sourceMappingURL=chunk-WROKD3XC.js.map