@cleocode/core 2026.3.45 → 2026.3.46

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 (137) hide show
  1. package/dist/bootstrap.d.ts.map +1 -1
  2. package/dist/index.js +1475 -372
  3. package/dist/index.js.map +4 -4
  4. package/dist/init.d.ts.map +1 -1
  5. package/dist/injection.d.ts +1 -1
  6. package/dist/injection.d.ts.map +1 -1
  7. package/dist/routing/capability-matrix.d.ts +6 -4
  8. package/dist/routing/capability-matrix.d.ts.map +1 -1
  9. package/dist/scaffold.d.ts +16 -9
  10. package/dist/scaffold.d.ts.map +1 -1
  11. package/dist/skills/agents/install.d.ts.map +1 -1
  12. package/dist/skills/routing-table.d.ts +17 -16
  13. package/dist/skills/routing-table.d.ts.map +1 -1
  14. package/dist/skills/skill-paths.d.ts.map +1 -1
  15. package/dist/system/health.d.ts.map +1 -1
  16. package/dist/ui/index.d.ts +0 -1
  17. package/dist/ui/index.d.ts.map +1 -1
  18. package/package.json +9 -4
  19. package/schemas/adr-frontmatter.schema.json +72 -0
  20. package/schemas/agent-configs.schema.json +120 -0
  21. package/schemas/agent-registry.json +243 -0
  22. package/schemas/agent-registry.schema.json +132 -0
  23. package/schemas/archive/research-manifest.schema.json +257 -0
  24. package/schemas/archive.schema.json +450 -0
  25. package/schemas/brain-decision.schema.json +69 -0
  26. package/schemas/brain-learning.schema.json +57 -0
  27. package/schemas/brain-pattern.schema.json +72 -0
  28. package/schemas/config.schema.json +2606 -0
  29. package/schemas/context-state.schema.json +137 -0
  30. package/schemas/contribution.schema.json +722 -0
  31. package/schemas/critical-path.schema.json +246 -0
  32. package/schemas/deps-cache.schema.json +97 -0
  33. package/schemas/doctor-output.schema.json +283 -0
  34. package/schemas/error.schema.json +161 -0
  35. package/schemas/export-package.schema.json +375 -0
  36. package/schemas/global-config.schema.json +219 -0
  37. package/schemas/grade.schema.json +49 -0
  38. package/schemas/log.schema.json +250 -0
  39. package/schemas/metrics.schema.json +328 -0
  40. package/schemas/migrations.schema.json +150 -0
  41. package/schemas/nexus-registry.schema.json +90 -0
  42. package/schemas/operation-constitution.schema.json +438 -0
  43. package/schemas/output.schema.json +164 -0
  44. package/schemas/project-context.schema.json +164 -0
  45. package/schemas/project-info.schema.json +180 -0
  46. package/schemas/projects-registry.schema.json +107 -0
  47. package/schemas/protocol-frontmatter.schema.json +72 -0
  48. package/schemas/rcasd-consensus-report.schema.json +10 -0
  49. package/schemas/rcasd-evidence.schema.json +42 -0
  50. package/schemas/rcasd-gate-result.schema.json +46 -0
  51. package/schemas/rcasd-hitl-resolution.schema.json +10 -0
  52. package/schemas/rcasd-index.schema.json +10 -0
  53. package/schemas/rcasd-manifest.schema.json +10 -0
  54. package/schemas/rcasd-research-output.schema.json +10 -0
  55. package/schemas/rcasd-spec-frontmatter.schema.json +10 -0
  56. package/schemas/rcasd-stage-transition.schema.json +38 -0
  57. package/schemas/releases.schema.json +267 -0
  58. package/schemas/skills-manifest.schema.json +91 -0
  59. package/schemas/skillsmp.schema.json +208 -0
  60. package/schemas/spec-index.schema.json +196 -0
  61. package/schemas/system-flow-atlas.schema.json +125 -0
  62. package/src/__tests__/injection-chain.test.ts +11 -10
  63. package/src/__tests__/injection-mvi-tiers.test.ts +4 -2
  64. package/src/agents/__tests__/capacity.test.d.ts +7 -0
  65. package/src/agents/__tests__/capacity.test.d.ts.map +1 -0
  66. package/src/agents/__tests__/capacity.test.js +173 -0
  67. package/src/agents/__tests__/capacity.test.js.map +1 -0
  68. package/src/agents/__tests__/registry.test.d.ts +8 -0
  69. package/src/agents/__tests__/registry.test.d.ts.map +1 -0
  70. package/src/agents/__tests__/registry.test.js +348 -0
  71. package/src/agents/__tests__/registry.test.js.map +1 -0
  72. package/src/agents/__tests__/retry.test.d.ts +7 -0
  73. package/src/agents/__tests__/retry.test.d.ts.map +1 -0
  74. package/src/agents/__tests__/retry.test.js +225 -0
  75. package/src/agents/__tests__/retry.test.js.map +1 -0
  76. package/src/bootstrap.ts +3 -1
  77. package/src/init.ts +63 -18
  78. package/src/injection.ts +11 -5
  79. package/src/intelligence/__tests__/impact.test.d.ts +15 -0
  80. package/src/intelligence/__tests__/impact.test.d.ts.map +1 -0
  81. package/src/intelligence/__tests__/impact.test.js +384 -0
  82. package/src/intelligence/__tests__/impact.test.js.map +1 -0
  83. package/src/intelligence/__tests__/patterns.test.d.ts +8 -0
  84. package/src/intelligence/__tests__/patterns.test.d.ts.map +1 -0
  85. package/src/intelligence/__tests__/patterns.test.js +370 -0
  86. package/src/intelligence/__tests__/patterns.test.js.map +1 -0
  87. package/src/intelligence/__tests__/prediction.test.d.ts +8 -0
  88. package/src/intelligence/__tests__/prediction.test.d.ts.map +1 -0
  89. package/src/intelligence/__tests__/prediction.test.js +314 -0
  90. package/src/intelligence/__tests__/prediction.test.js.map +1 -0
  91. package/src/nexus/__tests__/nexus-e2e.test.d.ts +12 -0
  92. package/src/nexus/__tests__/nexus-e2e.test.d.ts.map +1 -0
  93. package/src/nexus/__tests__/nexus-e2e.test.js +1220 -0
  94. package/src/nexus/__tests__/nexus-e2e.test.js.map +1 -0
  95. package/src/nexus/__tests__/transfer.test.d.ts +8 -0
  96. package/src/nexus/__tests__/transfer.test.d.ts.map +1 -0
  97. package/src/nexus/__tests__/transfer.test.js +372 -0
  98. package/src/nexus/__tests__/transfer.test.js.map +1 -0
  99. package/src/nexus/__tests__/transfer.test.ts +1 -1
  100. package/src/routing/capability-matrix.ts +1435 -205
  101. package/src/scaffold.ts +18 -11
  102. package/src/skills/__tests__/routing-table.test.ts +53 -33
  103. package/src/skills/agents/install.ts +9 -1
  104. package/src/skills/routing-table.ts +39 -253
  105. package/src/skills/skill-paths.ts +3 -2
  106. package/src/store/__tests__/project-detect.test.ts +1 -1
  107. package/src/system/health.ts +18 -7
  108. package/src/ui/index.ts +0 -6
  109. package/src/validation/operation-gate-validators.ts +2 -2
  110. package/templates/CLEO-INJECTION.md +120 -0
  111. package/templates/README.md +29 -0
  112. package/templates/agent-registry.json +305 -0
  113. package/templates/cleo-gitignore +74 -0
  114. package/templates/config.template.json +187 -0
  115. package/templates/git-hooks/commit-msg +149 -0
  116. package/templates/git-hooks/pre-commit +40 -0
  117. package/templates/git-hooks/pre-push +79 -0
  118. package/templates/github/ISSUE_TEMPLATE/bug_report.yml +143 -0
  119. package/templates/github/ISSUE_TEMPLATE/config.yml +8 -0
  120. package/templates/github/ISSUE_TEMPLATE/feature_request.yml +125 -0
  121. package/templates/github/ISSUE_TEMPLATE/help_question.yml +99 -0
  122. package/templates/global-config.template.json +56 -0
  123. package/templates/hooks/precompact-safestop.sh +89 -0
  124. package/templates/issue-templates/bug_report.yml +143 -0
  125. package/templates/issue-templates/config.yml +8 -0
  126. package/templates/issue-templates/feature_request.yml +125 -0
  127. package/templates/issue-templates/help_question.yml +99 -0
  128. package/templates/skillsmp.json.example +28 -0
  129. package/templates/skillsmp.json.example.md +214 -0
  130. package/dist/ui/injection-legacy.d.ts +0 -26
  131. package/dist/ui/injection-legacy.d.ts.map +0 -1
  132. package/src/ui/__tests__/injection-registry.test.d.ts +0 -11
  133. package/src/ui/__tests__/injection-registry.test.d.ts.map +0 -1
  134. package/src/ui/__tests__/injection-registry.test.js +0 -46
  135. package/src/ui/__tests__/injection-registry.test.js.map +0 -1
  136. package/src/ui/__tests__/injection-registry.test.ts +0 -57
  137. package/src/ui/injection-legacy.ts +0 -44
@@ -9,6 +9,11 @@
9
9
  * - cli: Requires CLEO CLI subprocess (Unix-only)
10
10
  * - hybrid: Can run either way (prefers CLI when available)
11
11
  *
12
+ * preferredChannel encodes token-efficiency routing (from routing-table.ts):
13
+ * - mcp: Lower overhead (no CLI startup), direct DB access, structured JSON
14
+ * - cli: Human-readable output, shell integration, interactive prompts
15
+ * - either: No significant difference or context-dependent
16
+ *
12
17
  * Canonical location: src/core/routing/capability-matrix.ts
13
18
  * Re-exported from: src/dispatch/lib/capability-matrix.ts (backward compat)
14
19
  *
@@ -25,9 +30,6 @@ export type ExecutionMode = 'native' | 'cli' | 'hybrid';
25
30
  */
26
31
  export type GatewayType = 'query' | 'mutate';
27
32
 
28
- /**
29
- * Single operation capability entry
30
- */
31
33
  /**
32
34
  * Preferred communication channel for token efficiency.
33
35
  * Added for provider-agnostic skill routing (@task T5240).
@@ -39,7 +41,7 @@ export interface OperationCapability {
39
41
  operation: string;
40
42
  gateway: GatewayType;
41
43
  mode: ExecutionMode;
42
- preferredChannel?: PreferredChannel;
44
+ preferredChannel: PreferredChannel;
43
45
  }
44
46
 
45
47
  /**
@@ -61,7 +63,7 @@ export interface CapabilityReport {
61
63
  }
62
64
 
63
65
  /**
64
- * The capability matrix - source of truth for operation routing.
66
+ * The capability matrix - single source of truth for operation routing.
65
67
  *
66
68
  * Gateway registries (query.ts + mutate.ts) define the canonical MCP API surface.
67
69
  * This matrix defines the full routing table including CLI-only paths.
@@ -70,251 +72,1479 @@ export interface CapabilityReport {
70
72
  * native: TypeScript engine handles directly (cross-platform)
71
73
  * cli: Requires CLEO CLI (bash, Unix-only)
72
74
  * hybrid: Can use either path (prefers CLI when available for richer output)
75
+ *
76
+ * preferredChannel values are sourced from the former routing-table.ts (T5240)
77
+ * and merged here as the single SSoT structure.
73
78
  */
74
79
  const CAPABILITY_MATRIX: OperationCapability[] = [
75
80
  // === Tasks Domain ===
76
81
  // Query operations
77
- { domain: 'tasks', operation: 'show', gateway: 'query', mode: 'native' },
78
- { domain: 'tasks', operation: 'list', gateway: 'query', mode: 'native' },
79
- { domain: 'tasks', operation: 'find', gateway: 'query', mode: 'native' },
80
- { domain: 'tasks', operation: 'tree', gateway: 'query', mode: 'native' },
81
- { domain: 'tasks', operation: 'blockers', gateway: 'query', mode: 'native' },
82
- { domain: 'tasks', operation: 'depends', gateway: 'query', mode: 'native' },
83
- { domain: 'tasks', operation: 'analyze', gateway: 'query', mode: 'native' },
84
- { domain: 'tasks', operation: 'next', gateway: 'query', mode: 'native' },
85
- { domain: 'tasks', operation: 'plan', gateway: 'query', mode: 'native' },
86
- { domain: 'tasks', operation: 'relates', gateway: 'query', mode: 'native' },
87
- { domain: 'tasks', operation: 'complexity.estimate', gateway: 'query', mode: 'native' },
88
- { domain: 'tasks', operation: 'history', gateway: 'query', mode: 'native' },
89
- { domain: 'tasks', operation: 'current', gateway: 'query', mode: 'native' },
90
- { domain: 'tasks', operation: 'label.list', gateway: 'query', mode: 'native' },
82
+ { domain: 'tasks', operation: 'show', gateway: 'query', mode: 'native', preferredChannel: 'mcp' },
83
+ { domain: 'tasks', operation: 'list', gateway: 'query', mode: 'native', preferredChannel: 'mcp' },
84
+ { domain: 'tasks', operation: 'find', gateway: 'query', mode: 'native', preferredChannel: 'mcp' },
85
+ {
86
+ domain: 'tasks',
87
+ operation: 'tree',
88
+ gateway: 'query',
89
+ mode: 'native',
90
+ preferredChannel: 'either',
91
+ },
92
+ {
93
+ domain: 'tasks',
94
+ operation: 'blockers',
95
+ gateway: 'query',
96
+ mode: 'native',
97
+ preferredChannel: 'either',
98
+ },
99
+ {
100
+ domain: 'tasks',
101
+ operation: 'depends',
102
+ gateway: 'query',
103
+ mode: 'native',
104
+ preferredChannel: 'either',
105
+ },
106
+ {
107
+ domain: 'tasks',
108
+ operation: 'analyze',
109
+ gateway: 'query',
110
+ mode: 'native',
111
+ preferredChannel: 'either',
112
+ },
113
+ { domain: 'tasks', operation: 'next', gateway: 'query', mode: 'native', preferredChannel: 'mcp' },
114
+ { domain: 'tasks', operation: 'plan', gateway: 'query', mode: 'native', preferredChannel: 'mcp' },
115
+ {
116
+ domain: 'tasks',
117
+ operation: 'relates',
118
+ gateway: 'query',
119
+ mode: 'native',
120
+ preferredChannel: 'either',
121
+ },
122
+ {
123
+ domain: 'tasks',
124
+ operation: 'complexity.estimate',
125
+ gateway: 'query',
126
+ mode: 'native',
127
+ preferredChannel: 'either',
128
+ },
129
+ {
130
+ domain: 'tasks',
131
+ operation: 'history',
132
+ gateway: 'query',
133
+ mode: 'native',
134
+ preferredChannel: 'either',
135
+ },
136
+ {
137
+ domain: 'tasks',
138
+ operation: 'current',
139
+ gateway: 'query',
140
+ mode: 'native',
141
+ preferredChannel: 'mcp',
142
+ },
143
+ {
144
+ domain: 'tasks',
145
+ operation: 'label.list',
146
+ gateway: 'query',
147
+ mode: 'native',
148
+ preferredChannel: 'either',
149
+ },
91
150
  // Mutate operations
92
- { domain: 'tasks', operation: 'add', gateway: 'mutate', mode: 'native' },
93
- { domain: 'tasks', operation: 'update', gateway: 'mutate', mode: 'native' },
94
- { domain: 'tasks', operation: 'complete', gateway: 'mutate', mode: 'native' },
95
- { domain: 'tasks', operation: 'cancel', gateway: 'mutate', mode: 'native' },
96
- { domain: 'tasks', operation: 'delete', gateway: 'mutate', mode: 'native' },
97
- { domain: 'tasks', operation: 'archive', gateway: 'mutate', mode: 'native' },
98
- { domain: 'tasks', operation: 'restore', gateway: 'mutate', mode: 'native' },
99
- { domain: 'tasks', operation: 'reparent', gateway: 'mutate', mode: 'native' },
100
- { domain: 'tasks', operation: 'reorder', gateway: 'mutate', mode: 'native' },
101
- { domain: 'tasks', operation: 'relates.add', gateway: 'mutate', mode: 'native' },
102
- { domain: 'tasks', operation: 'start', gateway: 'mutate', mode: 'native' },
103
- { domain: 'tasks', operation: 'stop', gateway: 'mutate', mode: 'native' },
151
+ { domain: 'tasks', operation: 'add', gateway: 'mutate', mode: 'native', preferredChannel: 'mcp' },
152
+ {
153
+ domain: 'tasks',
154
+ operation: 'update',
155
+ gateway: 'mutate',
156
+ mode: 'native',
157
+ preferredChannel: 'mcp',
158
+ },
159
+ {
160
+ domain: 'tasks',
161
+ operation: 'complete',
162
+ gateway: 'mutate',
163
+ mode: 'native',
164
+ preferredChannel: 'mcp',
165
+ },
166
+ {
167
+ domain: 'tasks',
168
+ operation: 'cancel',
169
+ gateway: 'mutate',
170
+ mode: 'native',
171
+ preferredChannel: 'either',
172
+ },
173
+ {
174
+ domain: 'tasks',
175
+ operation: 'delete',
176
+ gateway: 'mutate',
177
+ mode: 'native',
178
+ preferredChannel: 'either',
179
+ },
180
+ {
181
+ domain: 'tasks',
182
+ operation: 'archive',
183
+ gateway: 'mutate',
184
+ mode: 'native',
185
+ preferredChannel: 'either',
186
+ },
187
+ {
188
+ domain: 'tasks',
189
+ operation: 'restore',
190
+ gateway: 'mutate',
191
+ mode: 'native',
192
+ preferredChannel: 'either',
193
+ },
194
+ {
195
+ domain: 'tasks',
196
+ operation: 'reparent',
197
+ gateway: 'mutate',
198
+ mode: 'native',
199
+ preferredChannel: 'either',
200
+ },
201
+ {
202
+ domain: 'tasks',
203
+ operation: 'reorder',
204
+ gateway: 'mutate',
205
+ mode: 'native',
206
+ preferredChannel: 'either',
207
+ },
208
+ {
209
+ domain: 'tasks',
210
+ operation: 'relates.add',
211
+ gateway: 'mutate',
212
+ mode: 'native',
213
+ preferredChannel: 'either',
214
+ },
215
+ {
216
+ domain: 'tasks',
217
+ operation: 'start',
218
+ gateway: 'mutate',
219
+ mode: 'native',
220
+ preferredChannel: 'mcp',
221
+ },
222
+ {
223
+ domain: 'tasks',
224
+ operation: 'stop',
225
+ gateway: 'mutate',
226
+ mode: 'native',
227
+ preferredChannel: 'mcp',
228
+ },
104
229
  // Sync sub-domain (provider-agnostic task reconciliation)
105
- { domain: 'tasks', operation: 'sync.reconcile', gateway: 'mutate', mode: 'native' },
106
- { domain: 'tasks', operation: 'sync.links', gateway: 'query', mode: 'native' },
107
- { domain: 'tasks', operation: 'sync.links.remove', gateway: 'mutate', mode: 'native' },
230
+ {
231
+ domain: 'tasks',
232
+ operation: 'sync.reconcile',
233
+ gateway: 'mutate',
234
+ mode: 'native',
235
+ preferredChannel: 'either',
236
+ },
237
+ {
238
+ domain: 'tasks',
239
+ operation: 'sync.links',
240
+ gateway: 'query',
241
+ mode: 'native',
242
+ preferredChannel: 'either',
243
+ },
244
+ {
245
+ domain: 'tasks',
246
+ operation: 'sync.links.remove',
247
+ gateway: 'mutate',
248
+ mode: 'native',
249
+ preferredChannel: 'either',
250
+ },
108
251
 
109
252
  // === Session Domain ===
110
253
  // Query operations
111
- { domain: 'session', operation: 'status', gateway: 'query', mode: 'native' },
112
- { domain: 'session', operation: 'list', gateway: 'query', mode: 'native' },
113
- { domain: 'session', operation: 'show', gateway: 'query', mode: 'native' },
114
- { domain: 'session', operation: 'decision.log', gateway: 'query', mode: 'native' },
115
- { domain: 'session', operation: 'context.drift', gateway: 'query', mode: 'native' },
116
- { domain: 'session', operation: 'handoff.show', gateway: 'query', mode: 'native' },
117
- { domain: 'session', operation: 'briefing.show', gateway: 'query', mode: 'native' },
118
- { domain: 'session', operation: 'find', gateway: 'query', mode: 'native' },
254
+ {
255
+ domain: 'session',
256
+ operation: 'status',
257
+ gateway: 'query',
258
+ mode: 'native',
259
+ preferredChannel: 'mcp',
260
+ },
261
+ {
262
+ domain: 'session',
263
+ operation: 'list',
264
+ gateway: 'query',
265
+ mode: 'native',
266
+ preferredChannel: 'either',
267
+ },
268
+ {
269
+ domain: 'session',
270
+ operation: 'show',
271
+ gateway: 'query',
272
+ mode: 'native',
273
+ preferredChannel: 'either',
274
+ },
275
+ {
276
+ domain: 'session',
277
+ operation: 'decision.log',
278
+ gateway: 'query',
279
+ mode: 'native',
280
+ preferredChannel: 'either',
281
+ },
282
+ {
283
+ domain: 'session',
284
+ operation: 'context.drift',
285
+ gateway: 'query',
286
+ mode: 'native',
287
+ preferredChannel: 'either',
288
+ },
289
+ {
290
+ domain: 'session',
291
+ operation: 'handoff.show',
292
+ gateway: 'query',
293
+ mode: 'native',
294
+ preferredChannel: 'mcp',
295
+ },
296
+ {
297
+ domain: 'session',
298
+ operation: 'briefing.show',
299
+ gateway: 'query',
300
+ mode: 'native',
301
+ preferredChannel: 'mcp',
302
+ },
303
+ {
304
+ domain: 'session',
305
+ operation: 'find',
306
+ gateway: 'query',
307
+ mode: 'native',
308
+ preferredChannel: 'either',
309
+ },
119
310
  // Mutate operations
120
- { domain: 'session', operation: 'start', gateway: 'mutate', mode: 'native' },
121
- { domain: 'session', operation: 'end', gateway: 'mutate', mode: 'native' },
122
- { domain: 'session', operation: 'resume', gateway: 'mutate', mode: 'native' },
123
- { domain: 'session', operation: 'suspend', gateway: 'mutate', mode: 'native' },
124
- { domain: 'session', operation: 'gc', gateway: 'mutate', mode: 'native' },
125
- { domain: 'session', operation: 'record.decision', gateway: 'mutate', mode: 'native' },
126
- { domain: 'session', operation: 'record.assumption', gateway: 'mutate', mode: 'native' },
311
+ {
312
+ domain: 'session',
313
+ operation: 'start',
314
+ gateway: 'mutate',
315
+ mode: 'native',
316
+ preferredChannel: 'mcp',
317
+ },
318
+ {
319
+ domain: 'session',
320
+ operation: 'end',
321
+ gateway: 'mutate',
322
+ mode: 'native',
323
+ preferredChannel: 'mcp',
324
+ },
325
+ {
326
+ domain: 'session',
327
+ operation: 'resume',
328
+ gateway: 'mutate',
329
+ mode: 'native',
330
+ preferredChannel: 'either',
331
+ },
332
+ {
333
+ domain: 'session',
334
+ operation: 'suspend',
335
+ gateway: 'mutate',
336
+ mode: 'native',
337
+ preferredChannel: 'either',
338
+ },
339
+ {
340
+ domain: 'session',
341
+ operation: 'gc',
342
+ gateway: 'mutate',
343
+ mode: 'native',
344
+ preferredChannel: 'either',
345
+ },
346
+ {
347
+ domain: 'session',
348
+ operation: 'record.decision',
349
+ gateway: 'mutate',
350
+ mode: 'native',
351
+ preferredChannel: 'either',
352
+ },
353
+ {
354
+ domain: 'session',
355
+ operation: 'record.assumption',
356
+ gateway: 'mutate',
357
+ mode: 'native',
358
+ preferredChannel: 'either',
359
+ },
127
360
 
128
361
  // === Admin Domain ===
129
362
  // Query operations
130
- { domain: 'admin', operation: 'version', gateway: 'query', mode: 'native' },
131
- { domain: 'admin', operation: 'health', gateway: 'query', mode: 'native' },
132
- { domain: 'admin', operation: 'config.show', gateway: 'query', mode: 'native' },
133
- { domain: 'admin', operation: 'stats', gateway: 'query', mode: 'native' },
134
- { domain: 'admin', operation: 'context', gateway: 'query', mode: 'native' },
135
- { domain: 'admin', operation: 'runtime', gateway: 'query', mode: 'native' },
136
- { domain: 'admin', operation: 'job', gateway: 'query', mode: 'native' },
137
- { domain: 'admin', operation: 'dash', gateway: 'query', mode: 'native' },
138
- { domain: 'admin', operation: 'log', gateway: 'query', mode: 'native' },
139
- { domain: 'admin', operation: 'sequence', gateway: 'query', mode: 'native' },
140
- { domain: 'admin', operation: 'help', gateway: 'query', mode: 'native' },
141
- { domain: 'admin', operation: 'token', gateway: 'query', mode: 'native' },
142
- { domain: 'admin', operation: 'export', gateway: 'query', mode: 'native' },
143
- { domain: 'admin', operation: 'adr.show', gateway: 'query', mode: 'native' },
144
- { domain: 'admin', operation: 'adr.find', gateway: 'query', mode: 'native' },
363
+ {
364
+ domain: 'admin',
365
+ operation: 'version',
366
+ gateway: 'query',
367
+ mode: 'native',
368
+ preferredChannel: 'either',
369
+ },
370
+ {
371
+ domain: 'admin',
372
+ operation: 'health',
373
+ gateway: 'query',
374
+ mode: 'native',
375
+ preferredChannel: 'either',
376
+ },
377
+ {
378
+ domain: 'admin',
379
+ operation: 'config.show',
380
+ gateway: 'query',
381
+ mode: 'native',
382
+ preferredChannel: 'either',
383
+ },
384
+ {
385
+ domain: 'admin',
386
+ operation: 'stats',
387
+ gateway: 'query',
388
+ mode: 'native',
389
+ preferredChannel: 'either',
390
+ },
391
+ {
392
+ domain: 'admin',
393
+ operation: 'context',
394
+ gateway: 'query',
395
+ mode: 'native',
396
+ preferredChannel: 'either',
397
+ },
398
+ {
399
+ domain: 'admin',
400
+ operation: 'runtime',
401
+ gateway: 'query',
402
+ mode: 'native',
403
+ preferredChannel: 'either',
404
+ },
405
+ {
406
+ domain: 'admin',
407
+ operation: 'job',
408
+ gateway: 'query',
409
+ mode: 'native',
410
+ preferredChannel: 'either',
411
+ },
412
+ { domain: 'admin', operation: 'dash', gateway: 'query', mode: 'native', preferredChannel: 'mcp' },
413
+ {
414
+ domain: 'admin',
415
+ operation: 'log',
416
+ gateway: 'query',
417
+ mode: 'native',
418
+ preferredChannel: 'either',
419
+ },
420
+ {
421
+ domain: 'admin',
422
+ operation: 'sequence',
423
+ gateway: 'query',
424
+ mode: 'native',
425
+ preferredChannel: 'either',
426
+ },
427
+ { domain: 'admin', operation: 'help', gateway: 'query', mode: 'native', preferredChannel: 'mcp' },
428
+ {
429
+ domain: 'admin',
430
+ operation: 'token',
431
+ gateway: 'query',
432
+ mode: 'native',
433
+ preferredChannel: 'either',
434
+ },
435
+ {
436
+ domain: 'admin',
437
+ operation: 'export',
438
+ gateway: 'query',
439
+ mode: 'native',
440
+ preferredChannel: 'either',
441
+ },
442
+ {
443
+ domain: 'admin',
444
+ operation: 'adr.show',
445
+ gateway: 'query',
446
+ mode: 'native',
447
+ preferredChannel: 'either',
448
+ },
449
+ {
450
+ domain: 'admin',
451
+ operation: 'adr.find',
452
+ gateway: 'query',
453
+ mode: 'native',
454
+ preferredChannel: 'either',
455
+ },
456
+ { domain: 'admin', operation: 'map', gateway: 'query', mode: 'native', preferredChannel: 'mcp' },
145
457
  // Mutate operations
146
- { domain: 'admin', operation: 'init', gateway: 'mutate', mode: 'native' },
147
- { domain: 'admin', operation: 'config.set', gateway: 'mutate', mode: 'native' },
148
- { domain: 'admin', operation: 'backup', gateway: 'mutate', mode: 'native' },
149
- { domain: 'admin', operation: 'migrate', gateway: 'mutate', mode: 'native' },
150
- { domain: 'admin', operation: 'cleanup', gateway: 'mutate', mode: 'native' },
151
- { domain: 'admin', operation: 'safestop', gateway: 'mutate', mode: 'native' },
152
- { domain: 'admin', operation: 'inject.generate', gateway: 'mutate', mode: 'native' },
153
- { domain: 'admin', operation: 'job.cancel', gateway: 'mutate', mode: 'native' },
154
- { domain: 'admin', operation: 'install.global', gateway: 'mutate', mode: 'native' },
155
- { domain: 'admin', operation: 'token', gateway: 'mutate', mode: 'native' },
156
- { domain: 'admin', operation: 'health', gateway: 'mutate', mode: 'native' },
157
- { domain: 'admin', operation: 'detect', gateway: 'mutate', mode: 'native' },
158
- { domain: 'admin', operation: 'import', gateway: 'mutate', mode: 'native' },
159
- { domain: 'admin', operation: 'context.inject', gateway: 'mutate', mode: 'native' },
160
- { domain: 'admin', operation: 'adr.sync', gateway: 'mutate', mode: 'native' },
458
+ {
459
+ domain: 'admin',
460
+ operation: 'init',
461
+ gateway: 'mutate',
462
+ mode: 'native',
463
+ preferredChannel: 'either',
464
+ },
465
+ {
466
+ domain: 'admin',
467
+ operation: 'config.set',
468
+ gateway: 'mutate',
469
+ mode: 'native',
470
+ preferredChannel: 'either',
471
+ },
472
+ {
473
+ domain: 'admin',
474
+ operation: 'backup',
475
+ gateway: 'mutate',
476
+ mode: 'native',
477
+ preferredChannel: 'either',
478
+ },
479
+ {
480
+ domain: 'admin',
481
+ operation: 'migrate',
482
+ gateway: 'mutate',
483
+ mode: 'native',
484
+ preferredChannel: 'either',
485
+ },
486
+ {
487
+ domain: 'admin',
488
+ operation: 'cleanup',
489
+ gateway: 'mutate',
490
+ mode: 'native',
491
+ preferredChannel: 'either',
492
+ },
493
+ {
494
+ domain: 'admin',
495
+ operation: 'safestop',
496
+ gateway: 'mutate',
497
+ mode: 'native',
498
+ preferredChannel: 'either',
499
+ },
500
+ {
501
+ domain: 'admin',
502
+ operation: 'inject.generate',
503
+ gateway: 'mutate',
504
+ mode: 'native',
505
+ preferredChannel: 'either',
506
+ },
507
+ {
508
+ domain: 'admin',
509
+ operation: 'job.cancel',
510
+ gateway: 'mutate',
511
+ mode: 'native',
512
+ preferredChannel: 'either',
513
+ },
514
+ {
515
+ domain: 'admin',
516
+ operation: 'install.global',
517
+ gateway: 'mutate',
518
+ mode: 'native',
519
+ preferredChannel: 'either',
520
+ },
521
+ {
522
+ domain: 'admin',
523
+ operation: 'token',
524
+ gateway: 'mutate',
525
+ mode: 'native',
526
+ preferredChannel: 'either',
527
+ },
528
+ {
529
+ domain: 'admin',
530
+ operation: 'health',
531
+ gateway: 'mutate',
532
+ mode: 'native',
533
+ preferredChannel: 'either',
534
+ },
535
+ {
536
+ domain: 'admin',
537
+ operation: 'detect',
538
+ gateway: 'mutate',
539
+ mode: 'native',
540
+ preferredChannel: 'either',
541
+ },
542
+ {
543
+ domain: 'admin',
544
+ operation: 'import',
545
+ gateway: 'mutate',
546
+ mode: 'native',
547
+ preferredChannel: 'either',
548
+ },
549
+ {
550
+ domain: 'admin',
551
+ operation: 'context.inject',
552
+ gateway: 'mutate',
553
+ mode: 'native',
554
+ preferredChannel: 'either',
555
+ },
556
+ {
557
+ domain: 'admin',
558
+ operation: 'adr.sync',
559
+ gateway: 'mutate',
560
+ mode: 'native',
561
+ preferredChannel: 'either',
562
+ },
563
+ {
564
+ domain: 'admin',
565
+ operation: 'map',
566
+ gateway: 'mutate',
567
+ mode: 'native',
568
+ preferredChannel: 'either',
569
+ },
161
570
 
162
571
  // === Check Domain ===
163
572
  // Query operations
164
- { domain: 'check', operation: 'schema', gateway: 'query', mode: 'native' },
165
- { domain: 'check', operation: 'protocol', gateway: 'query', mode: 'native' },
166
- { domain: 'check', operation: 'task', gateway: 'query', mode: 'native' },
167
- { domain: 'check', operation: 'manifest', gateway: 'query', mode: 'native' },
168
- { domain: 'check', operation: 'output', gateway: 'query', mode: 'native' },
169
- { domain: 'check', operation: 'compliance.summary', gateway: 'query', mode: 'native' },
170
- { domain: 'check', operation: 'test', gateway: 'query', mode: 'native' },
171
- { domain: 'check', operation: 'coherence', gateway: 'query', mode: 'native' },
172
- { domain: 'check', operation: 'gate.status', gateway: 'query', mode: 'native' },
173
- { domain: 'check', operation: 'archive.stats', gateway: 'query', mode: 'native' },
174
- { domain: 'check', operation: 'grade', gateway: 'query', mode: 'native' },
175
- { domain: 'check', operation: 'grade.list', gateway: 'query', mode: 'native' },
176
- { domain: 'check', operation: 'chain.validate', gateway: 'query', mode: 'native' },
573
+ {
574
+ domain: 'check',
575
+ operation: 'schema',
576
+ gateway: 'query',
577
+ mode: 'native',
578
+ preferredChannel: 'either',
579
+ },
580
+ {
581
+ domain: 'check',
582
+ operation: 'protocol',
583
+ gateway: 'query',
584
+ mode: 'native',
585
+ preferredChannel: 'either',
586
+ },
587
+ {
588
+ domain: 'check',
589
+ operation: 'task',
590
+ gateway: 'query',
591
+ mode: 'native',
592
+ preferredChannel: 'either',
593
+ },
594
+ {
595
+ domain: 'check',
596
+ operation: 'manifest',
597
+ gateway: 'query',
598
+ mode: 'native',
599
+ preferredChannel: 'either',
600
+ },
601
+ {
602
+ domain: 'check',
603
+ operation: 'output',
604
+ gateway: 'query',
605
+ mode: 'native',
606
+ preferredChannel: 'either',
607
+ },
608
+ {
609
+ domain: 'check',
610
+ operation: 'compliance.summary',
611
+ gateway: 'query',
612
+ mode: 'native',
613
+ preferredChannel: 'mcp',
614
+ },
615
+ {
616
+ domain: 'check',
617
+ operation: 'test',
618
+ gateway: 'query',
619
+ mode: 'native',
620
+ preferredChannel: 'either',
621
+ },
622
+ {
623
+ domain: 'check',
624
+ operation: 'coherence',
625
+ gateway: 'query',
626
+ mode: 'native',
627
+ preferredChannel: 'either',
628
+ },
629
+ {
630
+ domain: 'check',
631
+ operation: 'gate.status',
632
+ gateway: 'query',
633
+ mode: 'native',
634
+ preferredChannel: 'either',
635
+ },
636
+ {
637
+ domain: 'check',
638
+ operation: 'archive.stats',
639
+ gateway: 'query',
640
+ mode: 'native',
641
+ preferredChannel: 'either',
642
+ },
643
+ {
644
+ domain: 'check',
645
+ operation: 'grade',
646
+ gateway: 'query',
647
+ mode: 'native',
648
+ preferredChannel: 'either',
649
+ },
650
+ {
651
+ domain: 'check',
652
+ operation: 'grade.list',
653
+ gateway: 'query',
654
+ mode: 'native',
655
+ preferredChannel: 'either',
656
+ },
657
+ {
658
+ domain: 'check',
659
+ operation: 'chain.validate',
660
+ gateway: 'query',
661
+ mode: 'native',
662
+ preferredChannel: 'either',
663
+ },
177
664
  // Mutate operations
178
- { domain: 'check', operation: 'compliance.record', gateway: 'mutate', mode: 'native' },
179
- { domain: 'check', operation: 'test.run', gateway: 'mutate', mode: 'native' },
180
- { domain: 'check', operation: 'gate.set', gateway: 'mutate', mode: 'native' },
665
+ {
666
+ domain: 'check',
667
+ operation: 'compliance.record',
668
+ gateway: 'mutate',
669
+ mode: 'native',
670
+ preferredChannel: 'mcp',
671
+ },
672
+ {
673
+ domain: 'check',
674
+ operation: 'test.run',
675
+ gateway: 'mutate',
676
+ mode: 'native',
677
+ preferredChannel: 'either',
678
+ },
679
+ {
680
+ domain: 'check',
681
+ operation: 'gate.set',
682
+ gateway: 'mutate',
683
+ mode: 'native',
684
+ preferredChannel: 'either',
685
+ },
686
+ {
687
+ domain: 'check',
688
+ operation: 'compliance.sync',
689
+ gateway: 'mutate',
690
+ mode: 'native',
691
+ preferredChannel: 'either',
692
+ },
181
693
 
182
694
  // === Orchestrate Domain ===
183
695
  // Query operations
184
- { domain: 'orchestrate', operation: 'status', gateway: 'query', mode: 'native' },
185
- { domain: 'orchestrate', operation: 'next', gateway: 'query', mode: 'native' },
186
- { domain: 'orchestrate', operation: 'ready', gateway: 'query', mode: 'native' },
187
- { domain: 'orchestrate', operation: 'analyze', gateway: 'query', mode: 'native' },
188
- { domain: 'orchestrate', operation: 'context', gateway: 'query', mode: 'native' },
189
- { domain: 'orchestrate', operation: 'waves', gateway: 'query', mode: 'native' },
190
- { domain: 'orchestrate', operation: 'bootstrap', gateway: 'query', mode: 'native' },
191
- { domain: 'orchestrate', operation: 'unblock.opportunities', gateway: 'query', mode: 'native' },
192
- { domain: 'orchestrate', operation: 'tessera.list', gateway: 'query', mode: 'native' },
696
+ {
697
+ domain: 'orchestrate',
698
+ operation: 'status',
699
+ gateway: 'query',
700
+ mode: 'native',
701
+ preferredChannel: 'either',
702
+ },
703
+ {
704
+ domain: 'orchestrate',
705
+ operation: 'next',
706
+ gateway: 'query',
707
+ mode: 'native',
708
+ preferredChannel: 'either',
709
+ },
710
+ {
711
+ domain: 'orchestrate',
712
+ operation: 'ready',
713
+ gateway: 'query',
714
+ mode: 'native',
715
+ preferredChannel: 'either',
716
+ },
717
+ {
718
+ domain: 'orchestrate',
719
+ operation: 'analyze',
720
+ gateway: 'query',
721
+ mode: 'native',
722
+ preferredChannel: 'either',
723
+ },
724
+ {
725
+ domain: 'orchestrate',
726
+ operation: 'context',
727
+ gateway: 'query',
728
+ mode: 'native',
729
+ preferredChannel: 'either',
730
+ },
731
+ {
732
+ domain: 'orchestrate',
733
+ operation: 'waves',
734
+ gateway: 'query',
735
+ mode: 'native',
736
+ preferredChannel: 'either',
737
+ },
738
+ {
739
+ domain: 'orchestrate',
740
+ operation: 'bootstrap',
741
+ gateway: 'query',
742
+ mode: 'native',
743
+ preferredChannel: 'either',
744
+ },
745
+ {
746
+ domain: 'orchestrate',
747
+ operation: 'unblock.opportunities',
748
+ gateway: 'query',
749
+ mode: 'native',
750
+ preferredChannel: 'either',
751
+ },
752
+ {
753
+ domain: 'orchestrate',
754
+ operation: 'tessera.list',
755
+ gateway: 'query',
756
+ mode: 'native',
757
+ preferredChannel: 'either',
758
+ },
193
759
  // Mutate operations
194
- { domain: 'orchestrate', operation: 'start', gateway: 'mutate', mode: 'native' },
195
- { domain: 'orchestrate', operation: 'spawn', gateway: 'mutate', mode: 'native' },
196
- { domain: 'orchestrate', operation: 'handoff', gateway: 'mutate', mode: 'native' },
197
- { domain: 'orchestrate', operation: 'spawn.execute', gateway: 'mutate', mode: 'native' },
198
- { domain: 'orchestrate', operation: 'validate', gateway: 'mutate', mode: 'native' },
199
- { domain: 'orchestrate', operation: 'parallel', gateway: 'mutate', mode: 'native' },
200
- { domain: 'orchestrate', operation: 'tessera.instantiate', gateway: 'mutate', mode: 'native' },
760
+ {
761
+ domain: 'orchestrate',
762
+ operation: 'start',
763
+ gateway: 'mutate',
764
+ mode: 'native',
765
+ preferredChannel: 'either',
766
+ },
767
+ {
768
+ domain: 'orchestrate',
769
+ operation: 'spawn',
770
+ gateway: 'mutate',
771
+ mode: 'native',
772
+ preferredChannel: 'mcp',
773
+ },
774
+ {
775
+ domain: 'orchestrate',
776
+ operation: 'handoff',
777
+ gateway: 'mutate',
778
+ mode: 'native',
779
+ preferredChannel: 'either',
780
+ },
781
+ {
782
+ domain: 'orchestrate',
783
+ operation: 'spawn.execute',
784
+ gateway: 'mutate',
785
+ mode: 'native',
786
+ preferredChannel: 'either',
787
+ },
788
+ {
789
+ domain: 'orchestrate',
790
+ operation: 'validate',
791
+ gateway: 'mutate',
792
+ mode: 'native',
793
+ preferredChannel: 'either',
794
+ },
795
+ {
796
+ domain: 'orchestrate',
797
+ operation: 'parallel',
798
+ gateway: 'mutate',
799
+ mode: 'native',
800
+ preferredChannel: 'either',
801
+ },
802
+ {
803
+ domain: 'orchestrate',
804
+ operation: 'tessera.instantiate',
805
+ gateway: 'mutate',
806
+ mode: 'native',
807
+ preferredChannel: 'either',
808
+ },
201
809
 
202
810
  // === Memory Domain (brain.db cognitive memory -- T5241) ===
203
811
  // Query operations
204
- { domain: 'memory', operation: 'find', gateway: 'query', mode: 'native' },
205
- { domain: 'memory', operation: 'timeline', gateway: 'query', mode: 'native' },
206
- { domain: 'memory', operation: 'fetch', gateway: 'query', mode: 'native' },
207
- { domain: 'memory', operation: 'decision.find', gateway: 'query', mode: 'native' },
208
- { domain: 'memory', operation: 'pattern.find', gateway: 'query', mode: 'native' },
209
- { domain: 'memory', operation: 'learning.find', gateway: 'query', mode: 'native' },
210
- { domain: 'memory', operation: 'graph.show', gateway: 'query', mode: 'native' },
211
- { domain: 'memory', operation: 'graph.neighbors', gateway: 'query', mode: 'native' },
212
- { domain: 'memory', operation: 'reason.why', gateway: 'query', mode: 'native' },
213
- { domain: 'memory', operation: 'reason.similar', gateway: 'query', mode: 'native' },
214
- { domain: 'memory', operation: 'search.hybrid', gateway: 'query', mode: 'native' },
812
+ {
813
+ domain: 'memory',
814
+ operation: 'find',
815
+ gateway: 'query',
816
+ mode: 'native',
817
+ preferredChannel: 'mcp',
818
+ },
819
+ {
820
+ domain: 'memory',
821
+ operation: 'timeline',
822
+ gateway: 'query',
823
+ mode: 'native',
824
+ preferredChannel: 'mcp',
825
+ },
826
+ {
827
+ domain: 'memory',
828
+ operation: 'fetch',
829
+ gateway: 'query',
830
+ mode: 'native',
831
+ preferredChannel: 'mcp',
832
+ },
833
+ {
834
+ domain: 'memory',
835
+ operation: 'decision.find',
836
+ gateway: 'query',
837
+ mode: 'native',
838
+ preferredChannel: 'mcp',
839
+ },
840
+ {
841
+ domain: 'memory',
842
+ operation: 'pattern.find',
843
+ gateway: 'query',
844
+ mode: 'native',
845
+ preferredChannel: 'mcp',
846
+ },
847
+ {
848
+ domain: 'memory',
849
+ operation: 'learning.find',
850
+ gateway: 'query',
851
+ mode: 'native',
852
+ preferredChannel: 'mcp',
853
+ },
854
+ {
855
+ domain: 'memory',
856
+ operation: 'graph.show',
857
+ gateway: 'query',
858
+ mode: 'native',
859
+ preferredChannel: 'either',
860
+ },
861
+ {
862
+ domain: 'memory',
863
+ operation: 'graph.neighbors',
864
+ gateway: 'query',
865
+ mode: 'native',
866
+ preferredChannel: 'either',
867
+ },
868
+ {
869
+ domain: 'memory',
870
+ operation: 'reason.why',
871
+ gateway: 'query',
872
+ mode: 'native',
873
+ preferredChannel: 'either',
874
+ },
875
+ {
876
+ domain: 'memory',
877
+ operation: 'reason.similar',
878
+ gateway: 'query',
879
+ mode: 'native',
880
+ preferredChannel: 'either',
881
+ },
882
+ {
883
+ domain: 'memory',
884
+ operation: 'search.hybrid',
885
+ gateway: 'query',
886
+ mode: 'native',
887
+ preferredChannel: 'either',
888
+ },
215
889
  // Mutate operations
216
- { domain: 'memory', operation: 'observe', gateway: 'mutate', mode: 'native' },
217
- { domain: 'memory', operation: 'decision.store', gateway: 'mutate', mode: 'native' },
218
- { domain: 'memory', operation: 'pattern.store', gateway: 'mutate', mode: 'native' },
219
- { domain: 'memory', operation: 'learning.store', gateway: 'mutate', mode: 'native' },
220
- { domain: 'memory', operation: 'link', gateway: 'mutate', mode: 'native' },
221
- { domain: 'memory', operation: 'graph.add', gateway: 'mutate', mode: 'native' },
222
- { domain: 'memory', operation: 'graph.remove', gateway: 'mutate', mode: 'native' },
890
+ {
891
+ domain: 'memory',
892
+ operation: 'observe',
893
+ gateway: 'mutate',
894
+ mode: 'native',
895
+ preferredChannel: 'mcp',
896
+ },
897
+ {
898
+ domain: 'memory',
899
+ operation: 'decision.store',
900
+ gateway: 'mutate',
901
+ mode: 'native',
902
+ preferredChannel: 'mcp',
903
+ },
904
+ {
905
+ domain: 'memory',
906
+ operation: 'pattern.store',
907
+ gateway: 'mutate',
908
+ mode: 'native',
909
+ preferredChannel: 'mcp',
910
+ },
911
+ {
912
+ domain: 'memory',
913
+ operation: 'learning.store',
914
+ gateway: 'mutate',
915
+ mode: 'native',
916
+ preferredChannel: 'mcp',
917
+ },
918
+ {
919
+ domain: 'memory',
920
+ operation: 'link',
921
+ gateway: 'mutate',
922
+ mode: 'native',
923
+ preferredChannel: 'either',
924
+ },
925
+ {
926
+ domain: 'memory',
927
+ operation: 'graph.add',
928
+ gateway: 'mutate',
929
+ mode: 'native',
930
+ preferredChannel: 'either',
931
+ },
932
+ {
933
+ domain: 'memory',
934
+ operation: 'graph.remove',
935
+ gateway: 'mutate',
936
+ mode: 'native',
937
+ preferredChannel: 'either',
938
+ },
223
939
 
224
940
  // === Pipeline Domain ===
225
941
  // Stage sub-domain (RCASD lifecycle)
226
- { domain: 'pipeline', operation: 'stage.validate', gateway: 'query', mode: 'native' },
227
- { domain: 'pipeline', operation: 'stage.status', gateway: 'query', mode: 'native' },
228
- { domain: 'pipeline', operation: 'stage.history', gateway: 'query', mode: 'native' },
229
- { domain: 'pipeline', operation: 'stage.record', gateway: 'mutate', mode: 'native' },
230
- { domain: 'pipeline', operation: 'stage.skip', gateway: 'mutate', mode: 'native' },
231
- { domain: 'pipeline', operation: 'stage.reset', gateway: 'mutate', mode: 'native' },
232
- { domain: 'pipeline', operation: 'stage.gate.pass', gateway: 'mutate', mode: 'native' },
233
- { domain: 'pipeline', operation: 'stage.gate.fail', gateway: 'mutate', mode: 'native' },
942
+ {
943
+ domain: 'pipeline',
944
+ operation: 'stage.validate',
945
+ gateway: 'query',
946
+ mode: 'native',
947
+ preferredChannel: 'mcp',
948
+ },
949
+ {
950
+ domain: 'pipeline',
951
+ operation: 'stage.status',
952
+ gateway: 'query',
953
+ mode: 'native',
954
+ preferredChannel: 'mcp',
955
+ },
956
+ {
957
+ domain: 'pipeline',
958
+ operation: 'stage.history',
959
+ gateway: 'query',
960
+ mode: 'native',
961
+ preferredChannel: 'either',
962
+ },
963
+ {
964
+ domain: 'pipeline',
965
+ operation: 'stage.record',
966
+ gateway: 'mutate',
967
+ mode: 'native',
968
+ preferredChannel: 'either',
969
+ },
970
+ {
971
+ domain: 'pipeline',
972
+ operation: 'stage.skip',
973
+ gateway: 'mutate',
974
+ mode: 'native',
975
+ preferredChannel: 'either',
976
+ },
977
+ {
978
+ domain: 'pipeline',
979
+ operation: 'stage.reset',
980
+ gateway: 'mutate',
981
+ mode: 'native',
982
+ preferredChannel: 'either',
983
+ },
984
+ {
985
+ domain: 'pipeline',
986
+ operation: 'stage.gate.pass',
987
+ gateway: 'mutate',
988
+ mode: 'native',
989
+ preferredChannel: 'either',
990
+ },
991
+ {
992
+ domain: 'pipeline',
993
+ operation: 'stage.gate.fail',
994
+ gateway: 'mutate',
995
+ mode: 'native',
996
+ preferredChannel: 'either',
997
+ },
234
998
  // Manifest sub-domain (T5241)
235
- { domain: 'pipeline', operation: 'manifest.show', gateway: 'query', mode: 'native' },
236
- { domain: 'pipeline', operation: 'manifest.list', gateway: 'query', mode: 'native' },
237
- { domain: 'pipeline', operation: 'manifest.find', gateway: 'query', mode: 'native' },
238
- { domain: 'pipeline', operation: 'manifest.stats', gateway: 'query', mode: 'native' },
239
- { domain: 'pipeline', operation: 'manifest.append', gateway: 'mutate', mode: 'native' },
240
- { domain: 'pipeline', operation: 'manifest.archive', gateway: 'mutate', mode: 'native' },
999
+ {
1000
+ domain: 'pipeline',
1001
+ operation: 'manifest.show',
1002
+ gateway: 'query',
1003
+ mode: 'native',
1004
+ preferredChannel: 'either',
1005
+ },
1006
+ {
1007
+ domain: 'pipeline',
1008
+ operation: 'manifest.list',
1009
+ gateway: 'query',
1010
+ mode: 'native',
1011
+ preferredChannel: 'either',
1012
+ },
1013
+ {
1014
+ domain: 'pipeline',
1015
+ operation: 'manifest.find',
1016
+ gateway: 'query',
1017
+ mode: 'native',
1018
+ preferredChannel: 'either',
1019
+ },
1020
+ {
1021
+ domain: 'pipeline',
1022
+ operation: 'manifest.stats',
1023
+ gateway: 'query',
1024
+ mode: 'native',
1025
+ preferredChannel: 'either',
1026
+ },
1027
+ {
1028
+ domain: 'pipeline',
1029
+ operation: 'manifest.append',
1030
+ gateway: 'mutate',
1031
+ mode: 'native',
1032
+ preferredChannel: 'either',
1033
+ },
1034
+ {
1035
+ domain: 'pipeline',
1036
+ operation: 'manifest.archive',
1037
+ gateway: 'mutate',
1038
+ mode: 'native',
1039
+ preferredChannel: 'either',
1040
+ },
241
1041
  // Phase sub-domain (T5326)
242
- { domain: 'pipeline', operation: 'phase.show', gateway: 'query', mode: 'native' },
243
- { domain: 'pipeline', operation: 'phase.list', gateway: 'query', mode: 'native' },
244
- { domain: 'pipeline', operation: 'phase.set', gateway: 'mutate', mode: 'native' },
245
- { domain: 'pipeline', operation: 'phase.advance', gateway: 'mutate', mode: 'native' },
246
- { domain: 'pipeline', operation: 'phase.rename', gateway: 'mutate', mode: 'native' },
247
- { domain: 'pipeline', operation: 'phase.delete', gateway: 'mutate', mode: 'native' },
1042
+ {
1043
+ domain: 'pipeline',
1044
+ operation: 'phase.show',
1045
+ gateway: 'query',
1046
+ mode: 'native',
1047
+ preferredChannel: 'either',
1048
+ },
1049
+ {
1050
+ domain: 'pipeline',
1051
+ operation: 'phase.list',
1052
+ gateway: 'query',
1053
+ mode: 'native',
1054
+ preferredChannel: 'either',
1055
+ },
1056
+ {
1057
+ domain: 'pipeline',
1058
+ operation: 'phase.set',
1059
+ gateway: 'mutate',
1060
+ mode: 'native',
1061
+ preferredChannel: 'either',
1062
+ },
1063
+ {
1064
+ domain: 'pipeline',
1065
+ operation: 'phase.advance',
1066
+ gateway: 'mutate',
1067
+ mode: 'native',
1068
+ preferredChannel: 'either',
1069
+ },
1070
+ {
1071
+ domain: 'pipeline',
1072
+ operation: 'phase.rename',
1073
+ gateway: 'mutate',
1074
+ mode: 'native',
1075
+ preferredChannel: 'either',
1076
+ },
1077
+ {
1078
+ domain: 'pipeline',
1079
+ operation: 'phase.delete',
1080
+ gateway: 'mutate',
1081
+ mode: 'native',
1082
+ preferredChannel: 'either',
1083
+ },
248
1084
  // Chain sub-domain (T5405)
249
- { domain: 'pipeline', operation: 'chain.show', gateway: 'query', mode: 'native' },
250
- { domain: 'pipeline', operation: 'chain.list', gateway: 'query', mode: 'native' },
251
- { domain: 'pipeline', operation: 'chain.add', gateway: 'mutate', mode: 'native' },
252
- { domain: 'pipeline', operation: 'chain.instantiate', gateway: 'mutate', mode: 'native' },
253
- { domain: 'pipeline', operation: 'chain.advance', gateway: 'mutate', mode: 'native' },
1085
+ {
1086
+ domain: 'pipeline',
1087
+ operation: 'chain.show',
1088
+ gateway: 'query',
1089
+ mode: 'native',
1090
+ preferredChannel: 'either',
1091
+ },
1092
+ {
1093
+ domain: 'pipeline',
1094
+ operation: 'chain.list',
1095
+ gateway: 'query',
1096
+ mode: 'native',
1097
+ preferredChannel: 'either',
1098
+ },
1099
+ {
1100
+ domain: 'pipeline',
1101
+ operation: 'chain.add',
1102
+ gateway: 'mutate',
1103
+ mode: 'native',
1104
+ preferredChannel: 'either',
1105
+ },
1106
+ {
1107
+ domain: 'pipeline',
1108
+ operation: 'chain.instantiate',
1109
+ gateway: 'mutate',
1110
+ mode: 'native',
1111
+ preferredChannel: 'either',
1112
+ },
1113
+ {
1114
+ domain: 'pipeline',
1115
+ operation: 'chain.advance',
1116
+ gateway: 'mutate',
1117
+ mode: 'native',
1118
+ preferredChannel: 'either',
1119
+ },
254
1120
  // Release sub-domain (T5615 consolidated)
255
- { domain: 'pipeline', operation: 'release.list', gateway: 'query', mode: 'native' },
256
- { domain: 'pipeline', operation: 'release.show', gateway: 'query', mode: 'native' },
257
- { domain: 'pipeline', operation: 'release.channel.show', gateway: 'query', mode: 'native' },
258
- { domain: 'pipeline', operation: 'release.ship', gateway: 'mutate', mode: 'native' },
259
- { domain: 'pipeline', operation: 'release.cancel', gateway: 'mutate', mode: 'native' },
260
- { domain: 'pipeline', operation: 'release.rollback', gateway: 'mutate', mode: 'native' },
1121
+ {
1122
+ domain: 'pipeline',
1123
+ operation: 'release.list',
1124
+ gateway: 'query',
1125
+ mode: 'native',
1126
+ preferredChannel: 'either',
1127
+ },
1128
+ {
1129
+ domain: 'pipeline',
1130
+ operation: 'release.show',
1131
+ gateway: 'query',
1132
+ mode: 'native',
1133
+ preferredChannel: 'either',
1134
+ },
1135
+ {
1136
+ domain: 'pipeline',
1137
+ operation: 'release.channel.show',
1138
+ gateway: 'query',
1139
+ mode: 'native',
1140
+ preferredChannel: 'either',
1141
+ },
1142
+ {
1143
+ domain: 'pipeline',
1144
+ operation: 'release.ship',
1145
+ gateway: 'mutate',
1146
+ mode: 'native',
1147
+ preferredChannel: 'cli',
1148
+ },
1149
+ {
1150
+ domain: 'pipeline',
1151
+ operation: 'release.cancel',
1152
+ gateway: 'mutate',
1153
+ mode: 'native',
1154
+ preferredChannel: 'either',
1155
+ },
1156
+ {
1157
+ domain: 'pipeline',
1158
+ operation: 'release.rollback',
1159
+ gateway: 'mutate',
1160
+ mode: 'native',
1161
+ preferredChannel: 'either',
1162
+ },
261
1163
 
262
1164
  // === Tools Domain ===
263
1165
  // Issue operations
264
- { domain: 'tools', operation: 'issue.diagnostics', gateway: 'query', mode: 'native' },
1166
+ {
1167
+ domain: 'tools',
1168
+ operation: 'issue.diagnostics',
1169
+ gateway: 'query',
1170
+ mode: 'native',
1171
+ preferredChannel: 'either',
1172
+ },
265
1173
  // Skill operations
266
- { domain: 'tools', operation: 'skill.list', gateway: 'query', mode: 'native' },
267
- { domain: 'tools', operation: 'skill.show', gateway: 'query', mode: 'native' },
268
- { domain: 'tools', operation: 'skill.find', gateway: 'query', mode: 'native' },
269
- { domain: 'tools', operation: 'skill.dispatch', gateway: 'query', mode: 'native' },
270
- { domain: 'tools', operation: 'skill.verify', gateway: 'query', mode: 'native' },
271
- { domain: 'tools', operation: 'skill.dependencies', gateway: 'query', mode: 'native' },
272
- { domain: 'tools', operation: 'skill.spawn.providers', gateway: 'query', mode: 'native' },
273
- { domain: 'tools', operation: 'skill.catalog', gateway: 'query', mode: 'native' },
274
- { domain: 'tools', operation: 'skill.precedence', gateway: 'query', mode: 'native' },
275
- { domain: 'tools', operation: 'skill.install', gateway: 'mutate', mode: 'native' },
276
- { domain: 'tools', operation: 'skill.uninstall', gateway: 'mutate', mode: 'native' },
277
- { domain: 'tools', operation: 'skill.refresh', gateway: 'mutate', mode: 'native' },
1174
+ {
1175
+ domain: 'tools',
1176
+ operation: 'skill.list',
1177
+ gateway: 'query',
1178
+ mode: 'native',
1179
+ preferredChannel: 'mcp',
1180
+ },
1181
+ {
1182
+ domain: 'tools',
1183
+ operation: 'skill.show',
1184
+ gateway: 'query',
1185
+ mode: 'native',
1186
+ preferredChannel: 'mcp',
1187
+ },
1188
+ {
1189
+ domain: 'tools',
1190
+ operation: 'skill.find',
1191
+ gateway: 'query',
1192
+ mode: 'native',
1193
+ preferredChannel: 'mcp',
1194
+ },
1195
+ {
1196
+ domain: 'tools',
1197
+ operation: 'skill.dispatch',
1198
+ gateway: 'query',
1199
+ mode: 'native',
1200
+ preferredChannel: 'either',
1201
+ },
1202
+ {
1203
+ domain: 'tools',
1204
+ operation: 'skill.verify',
1205
+ gateway: 'query',
1206
+ mode: 'native',
1207
+ preferredChannel: 'either',
1208
+ },
1209
+ {
1210
+ domain: 'tools',
1211
+ operation: 'skill.dependencies',
1212
+ gateway: 'query',
1213
+ mode: 'native',
1214
+ preferredChannel: 'either',
1215
+ },
1216
+ {
1217
+ domain: 'tools',
1218
+ operation: 'skill.spawn.providers',
1219
+ gateway: 'query',
1220
+ mode: 'native',
1221
+ preferredChannel: 'either',
1222
+ },
1223
+ {
1224
+ domain: 'tools',
1225
+ operation: 'skill.catalog',
1226
+ gateway: 'query',
1227
+ mode: 'native',
1228
+ preferredChannel: 'either',
1229
+ },
1230
+ {
1231
+ domain: 'tools',
1232
+ operation: 'skill.precedence',
1233
+ gateway: 'query',
1234
+ mode: 'native',
1235
+ preferredChannel: 'either',
1236
+ },
1237
+ {
1238
+ domain: 'tools',
1239
+ operation: 'skill.install',
1240
+ gateway: 'mutate',
1241
+ mode: 'native',
1242
+ preferredChannel: 'either',
1243
+ },
1244
+ {
1245
+ domain: 'tools',
1246
+ operation: 'skill.uninstall',
1247
+ gateway: 'mutate',
1248
+ mode: 'native',
1249
+ preferredChannel: 'either',
1250
+ },
1251
+ {
1252
+ domain: 'tools',
1253
+ operation: 'skill.refresh',
1254
+ gateway: 'mutate',
1255
+ mode: 'native',
1256
+ preferredChannel: 'either',
1257
+ },
278
1258
  // Provider operations
279
- { domain: 'tools', operation: 'provider.list', gateway: 'query', mode: 'native' },
280
- { domain: 'tools', operation: 'provider.detect', gateway: 'query', mode: 'native' },
281
- { domain: 'tools', operation: 'provider.inject.status', gateway: 'query', mode: 'native' },
282
- { domain: 'tools', operation: 'provider.supports', gateway: 'query', mode: 'native' },
283
- { domain: 'tools', operation: 'provider.hooks', gateway: 'query', mode: 'native' },
284
- { domain: 'tools', operation: 'provider.inject', gateway: 'mutate', mode: 'native' },
1259
+ {
1260
+ domain: 'tools',
1261
+ operation: 'provider.list',
1262
+ gateway: 'query',
1263
+ mode: 'native',
1264
+ preferredChannel: 'mcp',
1265
+ },
1266
+ {
1267
+ domain: 'tools',
1268
+ operation: 'provider.detect',
1269
+ gateway: 'query',
1270
+ mode: 'native',
1271
+ preferredChannel: 'mcp',
1272
+ },
1273
+ {
1274
+ domain: 'tools',
1275
+ operation: 'provider.inject.status',
1276
+ gateway: 'query',
1277
+ mode: 'native',
1278
+ preferredChannel: 'either',
1279
+ },
1280
+ {
1281
+ domain: 'tools',
1282
+ operation: 'provider.supports',
1283
+ gateway: 'query',
1284
+ mode: 'native',
1285
+ preferredChannel: 'either',
1286
+ },
1287
+ {
1288
+ domain: 'tools',
1289
+ operation: 'provider.hooks',
1290
+ gateway: 'query',
1291
+ mode: 'native',
1292
+ preferredChannel: 'either',
1293
+ },
1294
+ {
1295
+ domain: 'tools',
1296
+ operation: 'provider.inject',
1297
+ gateway: 'mutate',
1298
+ mode: 'native',
1299
+ preferredChannel: 'either',
1300
+ },
1301
+ // Adapter sub-domain (T5240)
1302
+ {
1303
+ domain: 'tools',
1304
+ operation: 'adapter.list',
1305
+ gateway: 'query',
1306
+ mode: 'native',
1307
+ preferredChannel: 'mcp',
1308
+ },
1309
+ {
1310
+ domain: 'tools',
1311
+ operation: 'adapter.show',
1312
+ gateway: 'query',
1313
+ mode: 'native',
1314
+ preferredChannel: 'mcp',
1315
+ },
1316
+ {
1317
+ domain: 'tools',
1318
+ operation: 'adapter.detect',
1319
+ gateway: 'query',
1320
+ mode: 'native',
1321
+ preferredChannel: 'either',
1322
+ },
1323
+ {
1324
+ domain: 'tools',
1325
+ operation: 'adapter.health',
1326
+ gateway: 'query',
1327
+ mode: 'native',
1328
+ preferredChannel: 'either',
1329
+ },
1330
+ {
1331
+ domain: 'tools',
1332
+ operation: 'adapter.activate',
1333
+ gateway: 'mutate',
1334
+ mode: 'native',
1335
+ preferredChannel: 'mcp',
1336
+ },
1337
+ {
1338
+ domain: 'tools',
1339
+ operation: 'adapter.dispose',
1340
+ gateway: 'mutate',
1341
+ mode: 'native',
1342
+ preferredChannel: 'either',
1343
+ },
1344
+
285
1345
  // === Nexus Domain ===
286
1346
  // Query operations
287
- { domain: 'nexus', operation: 'status', gateway: 'query', mode: 'native' },
288
- { domain: 'nexus', operation: 'list', gateway: 'query', mode: 'native' },
289
- { domain: 'nexus', operation: 'show', gateway: 'query', mode: 'native' },
290
- { domain: 'nexus', operation: 'search', gateway: 'query', mode: 'native' },
291
- { domain: 'nexus', operation: 'graph', gateway: 'query', mode: 'native' },
292
- { domain: 'nexus', operation: 'deps', gateway: 'query', mode: 'native' },
293
- { domain: 'nexus', operation: 'resolve', gateway: 'query', mode: 'native' },
294
- { domain: 'nexus', operation: 'discover', gateway: 'query', mode: 'native' },
295
- { domain: 'nexus', operation: 'orphans.list', gateway: 'query', mode: 'native' },
296
- { domain: 'nexus', operation: 'blockers.show', gateway: 'query', mode: 'native' },
297
- { domain: 'nexus', operation: 'path.show', gateway: 'query', mode: 'native' },
298
- { domain: 'nexus', operation: 'share.status', gateway: 'query', mode: 'native' },
1347
+ {
1348
+ domain: 'nexus',
1349
+ operation: 'status',
1350
+ gateway: 'query',
1351
+ mode: 'native',
1352
+ preferredChannel: 'either',
1353
+ },
1354
+ {
1355
+ domain: 'nexus',
1356
+ operation: 'list',
1357
+ gateway: 'query',
1358
+ mode: 'native',
1359
+ preferredChannel: 'either',
1360
+ },
1361
+ {
1362
+ domain: 'nexus',
1363
+ operation: 'show',
1364
+ gateway: 'query',
1365
+ mode: 'native',
1366
+ preferredChannel: 'either',
1367
+ },
1368
+ {
1369
+ domain: 'nexus',
1370
+ operation: 'search',
1371
+ gateway: 'query',
1372
+ mode: 'native',
1373
+ preferredChannel: 'either',
1374
+ },
1375
+ {
1376
+ domain: 'nexus',
1377
+ operation: 'graph',
1378
+ gateway: 'query',
1379
+ mode: 'native',
1380
+ preferredChannel: 'either',
1381
+ },
1382
+ {
1383
+ domain: 'nexus',
1384
+ operation: 'deps',
1385
+ gateway: 'query',
1386
+ mode: 'native',
1387
+ preferredChannel: 'either',
1388
+ },
1389
+ {
1390
+ domain: 'nexus',
1391
+ operation: 'resolve',
1392
+ gateway: 'query',
1393
+ mode: 'native',
1394
+ preferredChannel: 'either',
1395
+ },
1396
+ {
1397
+ domain: 'nexus',
1398
+ operation: 'discover',
1399
+ gateway: 'query',
1400
+ mode: 'native',
1401
+ preferredChannel: 'either',
1402
+ },
1403
+ {
1404
+ domain: 'nexus',
1405
+ operation: 'orphans.list',
1406
+ gateway: 'query',
1407
+ mode: 'native',
1408
+ preferredChannel: 'either',
1409
+ },
1410
+ {
1411
+ domain: 'nexus',
1412
+ operation: 'blockers.show',
1413
+ gateway: 'query',
1414
+ mode: 'native',
1415
+ preferredChannel: 'either',
1416
+ },
1417
+ {
1418
+ domain: 'nexus',
1419
+ operation: 'path.show',
1420
+ gateway: 'query',
1421
+ mode: 'native',
1422
+ preferredChannel: 'either',
1423
+ },
1424
+ {
1425
+ domain: 'nexus',
1426
+ operation: 'share.status',
1427
+ gateway: 'query',
1428
+ mode: 'native',
1429
+ preferredChannel: 'either',
1430
+ },
1431
+ {
1432
+ domain: 'nexus',
1433
+ operation: 'transfer.preview',
1434
+ gateway: 'query',
1435
+ mode: 'native',
1436
+ preferredChannel: 'either',
1437
+ },
299
1438
  // Mutate operations
300
- { domain: 'nexus', operation: 'init', gateway: 'mutate', mode: 'native' },
301
- { domain: 'nexus', operation: 'register', gateway: 'mutate', mode: 'native' },
302
- { domain: 'nexus', operation: 'unregister', gateway: 'mutate', mode: 'native' },
303
- { domain: 'nexus', operation: 'sync', gateway: 'mutate', mode: 'native' },
304
- { domain: 'nexus', operation: 'reconcile', gateway: 'mutate', mode: 'native' },
305
- { domain: 'nexus', operation: 'permission.set', gateway: 'mutate', mode: 'native' },
306
- { domain: 'nexus', operation: 'share.snapshot.export', gateway: 'mutate', mode: 'native' },
307
- { domain: 'nexus', operation: 'share.snapshot.import', gateway: 'mutate', mode: 'native' },
1439
+ {
1440
+ domain: 'nexus',
1441
+ operation: 'init',
1442
+ gateway: 'mutate',
1443
+ mode: 'native',
1444
+ preferredChannel: 'either',
1445
+ },
1446
+ {
1447
+ domain: 'nexus',
1448
+ operation: 'register',
1449
+ gateway: 'mutate',
1450
+ mode: 'native',
1451
+ preferredChannel: 'either',
1452
+ },
1453
+ {
1454
+ domain: 'nexus',
1455
+ operation: 'unregister',
1456
+ gateway: 'mutate',
1457
+ mode: 'native',
1458
+ preferredChannel: 'either',
1459
+ },
1460
+ {
1461
+ domain: 'nexus',
1462
+ operation: 'sync',
1463
+ gateway: 'mutate',
1464
+ mode: 'native',
1465
+ preferredChannel: 'either',
1466
+ },
1467
+ {
1468
+ domain: 'nexus',
1469
+ operation: 'reconcile',
1470
+ gateway: 'mutate',
1471
+ mode: 'native',
1472
+ preferredChannel: 'either',
1473
+ },
1474
+ {
1475
+ domain: 'nexus',
1476
+ operation: 'permission.set',
1477
+ gateway: 'mutate',
1478
+ mode: 'native',
1479
+ preferredChannel: 'either',
1480
+ },
1481
+ {
1482
+ domain: 'nexus',
1483
+ operation: 'share.snapshot.export',
1484
+ gateway: 'mutate',
1485
+ mode: 'native',
1486
+ preferredChannel: 'either',
1487
+ },
1488
+ {
1489
+ domain: 'nexus',
1490
+ operation: 'share.snapshot.import',
1491
+ gateway: 'mutate',
1492
+ mode: 'native',
1493
+ preferredChannel: 'either',
1494
+ },
1495
+ {
1496
+ domain: 'nexus',
1497
+ operation: 'transfer',
1498
+ gateway: 'mutate',
1499
+ mode: 'native',
1500
+ preferredChannel: 'either',
1501
+ },
308
1502
 
309
1503
  // === Sticky Domain ===
310
1504
  // Query operations
311
- { domain: 'sticky', operation: 'list', gateway: 'query', mode: 'native' },
312
- { domain: 'sticky', operation: 'show', gateway: 'query', mode: 'native' },
1505
+ {
1506
+ domain: 'sticky',
1507
+ operation: 'list',
1508
+ gateway: 'query',
1509
+ mode: 'native',
1510
+ preferredChannel: 'mcp',
1511
+ },
1512
+ {
1513
+ domain: 'sticky',
1514
+ operation: 'show',
1515
+ gateway: 'query',
1516
+ mode: 'native',
1517
+ preferredChannel: 'mcp',
1518
+ },
313
1519
  // Mutate operations
314
- { domain: 'sticky', operation: 'add', gateway: 'mutate', mode: 'native' },
315
- { domain: 'sticky', operation: 'archive', gateway: 'mutate', mode: 'native' },
316
- { domain: 'sticky', operation: 'convert', gateway: 'mutate', mode: 'native' },
317
- { domain: 'sticky', operation: 'purge', gateway: 'mutate', mode: 'native' },
1520
+ {
1521
+ domain: 'sticky',
1522
+ operation: 'add',
1523
+ gateway: 'mutate',
1524
+ mode: 'native',
1525
+ preferredChannel: 'mcp',
1526
+ },
1527
+ {
1528
+ domain: 'sticky',
1529
+ operation: 'archive',
1530
+ gateway: 'mutate',
1531
+ mode: 'native',
1532
+ preferredChannel: 'either',
1533
+ },
1534
+ {
1535
+ domain: 'sticky',
1536
+ operation: 'convert',
1537
+ gateway: 'mutate',
1538
+ mode: 'native',
1539
+ preferredChannel: 'either',
1540
+ },
1541
+ {
1542
+ domain: 'sticky',
1543
+ operation: 'purge',
1544
+ gateway: 'mutate',
1545
+ mode: 'native',
1546
+ preferredChannel: 'either',
1547
+ },
318
1548
  ];
319
1549
 
320
1550
  /**