opencode-swarm 7.188.5 → 7.188.7

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 (91) hide show
  1. package/README.md +2 -2
  2. package/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
  3. package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
  4. package/dist/cli/{auto-checkpoint-6z6dhqak.js → auto-checkpoint-1z9d2jrk.js} +8 -8
  5. package/dist/cli/{checkpoint-99vqentz.js → checkpoint-f8165pv4.js} +13 -13
  6. package/dist/cli/{coder-settlement-07dkrqvy.js → coder-settlement-gaby6spt.js} +9 -9
  7. package/dist/cli/{config-doctor-0pqexbab.js → config-doctor-4wgw6nak.js} +12 -12
  8. package/dist/cli/{core-zx4az38t.js → core-y89texpp.js} +2 -2
  9. package/dist/cli/{curation-policy-nxcx99yp.js → curation-policy-65ckmmd5.js} +5 -5
  10. package/dist/cli/{curator-drift-0ne6gnj0.js → curator-drift-rpwrx355.js} +6 -6
  11. package/dist/cli/{curator-llm-factory-gdedzs6k.js → curator-llm-factory-1qbcj7vs.js} +36 -36
  12. package/dist/cli/{curator-s08eqma1.js → curator-tkz65fvw.js} +36 -36
  13. package/dist/cli/{doctor-knowledge-receipt-phase-id-kpzaepq8.js → doctor-knowledge-receipt-phase-id-11q7en6t.js} +7 -7
  14. package/dist/cli/{evidence-summary-service-xadab4ym.js → evidence-summary-service-hn7vdm45.js} +16 -16
  15. package/dist/cli/{gate-evidence-c3d7ewv4.js → gate-evidence-sxh3r64f.js} +6 -6
  16. package/dist/cli/{guardrail-explain-enbr5ne9.js → guardrail-explain-e0wbeyk1.js} +37 -37
  17. package/dist/cli/{guardrail-log-0g59n4ae.js → guardrail-log-gzrj46h0.js} +7 -7
  18. package/dist/cli/{guardrail-reset-e0m3p15n.js → guardrail-reset-7z62s1j5.js} +36 -36
  19. package/dist/cli/{hive-promoter-1jb0t5g2.js → hive-promoter-88d95wk8.js} +36 -36
  20. package/dist/cli/{index-3b71hf2k.js → index-03ad14qc.js} +2 -2
  21. package/dist/cli/{index-sg2agtt5.js → index-0j5ggeem.js} +1 -1
  22. package/dist/cli/{index-j9swvmt3.js → index-1xa8wq76.js} +1 -1
  23. package/dist/cli/{index-txr48a64.js → index-2vtrjm19.js} +38 -38
  24. package/dist/cli/{index-vn8phy76.js → index-2wctq2hn.js} +1 -1
  25. package/dist/cli/{index-br33a6v7.js → index-5102w44y.js} +3 -3
  26. package/dist/cli/{index-98zfmfnn.js → index-61kszszd.js} +4 -4
  27. package/dist/cli/{index-0cdkb7e8.js → index-7eajwwfg.js} +4 -4
  28. package/dist/cli/{index-w5p9crxx.js → index-7k9hdn0b.js} +4 -4
  29. package/dist/cli/{index-03ng9y76.js → index-7zyktm9f.js} +7 -7
  30. package/dist/cli/{index-wx43mc8h.js → index-8q8783g0.js} +1 -1
  31. package/dist/cli/{index-8f0j6kf2.js → index-8sqyx5rh.js} +3 -3
  32. package/dist/cli/{index-z11watrb.js → index-8xabhfwr.js} +2 -2
  33. package/dist/cli/{index-ykaaejka.js → index-9czp2dcg.js} +3 -3
  34. package/dist/cli/{index-9qbn3chx.js → index-9tes309n.js} +1 -1
  35. package/dist/cli/{index-85npnq5t.js → index-a4s5yrdd.js} +4 -4
  36. package/dist/cli/{index-d95b3yce.js → index-c016phsk.js} +6 -6
  37. package/dist/cli/{index-4ak3ewt2.js → index-c937rpbm.js} +3 -3
  38. package/dist/cli/{index-h83221w1.js → index-d3rjvm9e.js} +3 -3
  39. package/dist/cli/{index-dd258pfn.js → index-eh0sg1pz.js} +4 -4
  40. package/dist/cli/{index-4m7cywkf.js → index-emh69vk9.js} +90 -77
  41. package/dist/cli/{index-9f7y0rym.js → index-ffmw6af9.js} +36 -36
  42. package/dist/cli/{index-cjekszvy.js → index-g39cmzpj.js} +600 -4
  43. package/dist/cli/{index-jevq7a7b.js → index-ghjg1rxe.js} +2 -2
  44. package/dist/cli/{index-5nwfz9bn.js → index-hh7pa3yk.js} +1 -1
  45. package/dist/cli/{index-jc2ndtdt.js → index-k8sarme1.js} +1 -1
  46. package/dist/cli/{index-p746x44z.js → index-kap459mr.js} +4 -4
  47. package/dist/cli/{index-bjh6cw86.js → index-m9g7s9ee.js} +4 -4
  48. package/dist/cli/{index-3jn6155r.js → index-pnfd3s7s.js} +1 -1
  49. package/dist/cli/{index-hq7mfqe5.js → index-q9kefh33.js} +1 -1
  50. package/dist/cli/{index-ar33mkxc.js → index-rw0c6qtt.js} +4 -4
  51. package/dist/cli/{index-f1wqew85.js → index-snwj9ptc.js} +2 -2
  52. package/dist/cli/{index-4zran0jk.js → index-twb3f4tk.js} +1 -1
  53. package/dist/cli/{index-dmdg2zay.js → index-wrdktgpy.js} +2 -2
  54. package/dist/cli/{index-1tgkj4mf.js → index-xj3k6x1h.js} +2 -2
  55. package/dist/cli/{index-n7vy4gb3.js → index-xsdphmet.js} +6 -6
  56. package/dist/cli/{index-vktygb4k.js → index-y3sk68m5.js} +2 -2
  57. package/dist/cli/{index-1kd2cbcz.js → index-y8z9x87e.js} +3 -3
  58. package/dist/cli/{index-fbwerevq.js → index-yj1cwps4.js} +1 -1
  59. package/dist/cli/{index-dmnvgc03.js → index-ytms8x1h.js} +4 -4
  60. package/dist/cli/{index-bstjg81q.js → index-zfbxfm2m.js} +33 -33
  61. package/dist/cli/index.js +37 -37
  62. package/dist/cli/{knowledge-escalator-c65r55bv.js → knowledge-escalator-ejfb2e7c.js} +13 -13
  63. package/dist/cli/{knowledge-events-exc94dr2.js → knowledge-events-3fzfehwy.js} +11 -11
  64. package/dist/cli/{knowledge-link-kgt3zx0c.js → knowledge-link-h4pdcnya.js} +4 -4
  65. package/dist/cli/{knowledge-store-b2qm637m.js → knowledge-store-swxk4tr6.js} +5 -5
  66. package/dist/cli/{knowledge-validator-44pn1xrn.js → knowledge-validator-0a1at9gm.js} +7 -7
  67. package/dist/cli/{mcp-6qjt8ey7.js → mcp-0ah7s1j0.js} +1 -1
  68. package/dist/cli/{model-preflight-dh9dadg8.js → model-preflight-nfvapzyj.js} +80 -36
  69. package/dist/cli/{pending-delegations-vcqw78d8.js → pending-delegations-hynywgkj.js} +7 -7
  70. package/dist/cli/{pr-subscriptions-2vp2sxjb.js → pr-subscriptions-k86p5qcn.js} +7 -7
  71. package/dist/cli/{pr-workflow-gate-cy24tc3c.js → pr-workflow-gate-3ett6hjh.js} +36 -36
  72. package/dist/cli/{runner-zeqpd2c2.js → runner-4hfmp1ag.js} +5 -5
  73. package/dist/cli/{scan-cursor-3hyz0qnh.js → scan-cursor-9961dhv1.js} +6 -6
  74. package/dist/cli/{schema-4s2nnpqt.js → schema-s5zbnzmv.js} +2 -2
  75. package/dist/cli/{scope-persistence-1bvaeene.js → scope-persistence-2w562h83.js} +12 -12
  76. package/dist/cli/{server-zb4j57w6.js → server-vrk0k61v.js} +36 -36
  77. package/dist/cli/{skill-generator-fqh79jr7.js → skill-generator-bfcjzp20.js} +15 -15
  78. package/dist/cli/{snapshot-coordination-init-v50k6v2v.js → snapshot-coordination-init-8ykpp5m6.js} +36 -36
  79. package/dist/cli/{speckit-checkoff-mcxxpmy4.js → speckit-checkoff-3x52vw64.js} +4 -4
  80. package/dist/cli/{telemetry-eq1cwq2x.js → telemetry-kvhe94gs.js} +1 -1
  81. package/dist/cli/{worktree-collision-ownership-fk6spbrf.js → worktree-collision-ownership-kjw1pqfc.js} +7 -7
  82. package/dist/cli/{worktree-isolation-ht89tqrc.js → worktree-isolation-xdgm4ekx.js} +36 -36
  83. package/dist/config/consumers.d.ts +35 -0
  84. package/dist/host/v2/events.d.ts +19 -1
  85. package/dist/host/v2/model-apply.d.ts +39 -0
  86. package/dist/host/v2/setup.d.ts +0 -35
  87. package/dist/index.js +16 -16
  88. package/dist/models/task-model-routing.d.ts +8 -0
  89. package/dist/services/model-preflight.d.ts +24 -0
  90. package/dist/utils/provider-error-classification.d.ts +30 -4
  91. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  loadPlanJsonOnly
4
- } from "./index-03ng9y76.js";
4
+ } from "./index-7zyktm9f.js";
5
5
  import {
6
6
  isCanonicalPathWithinRoot
7
7
  } from "./index-6b295cas.js";
@@ -15,24 +15,584 @@ import {
15
15
  PluginConfigSchema,
16
16
  init_schema,
17
17
  stripKnownSwarmPrefix
18
- } from "./index-jevq7a7b.js";
18
+ } from "./index-ghjg1rxe.js";
19
19
  import {
20
20
  ALL_AGENT_NAMES,
21
21
  TOOL_NAME_SET,
22
22
  init_constants,
23
23
  init_tool_metadata
24
- } from "./index-bstjg81q.js";
24
+ } from "./index-zfbxfm2m.js";
25
25
  import {
26
26
  log
27
27
  } from "./index-zgwm4ryv.js";
28
28
 
29
29
  // src/services/config-doctor.ts
30
30
  init_constants();
31
- init_schema();
32
31
  import * as crypto from "crypto";
33
32
  import * as fs from "fs";
34
33
  import * as os from "os";
35
34
  import * as path from "path";
35
+
36
+ // src/config/consumers.ts
37
+ var CONFIG_CONSUMERS = {
38
+ $schema: { consumers: ["src/services/config-doctor.ts:validateConfigKey"] },
39
+ config_format_version: {
40
+ consumers: [
41
+ "src/services/config-doctor.ts:validateConfigKey",
42
+ "src/services/config-doctor.ts:runConfigDoctor"
43
+ ]
44
+ },
45
+ preset: {
46
+ consumers: [
47
+ "src/commands/council.ts:parseArgs",
48
+ "src/config/loader.ts:loadRawConfigFromPath",
49
+ "src/index.ts:initializeOpenCodeSwarm",
50
+ "src/tools/phase-complete/gates/final-review-gate.ts:runFinalReviewGate"
51
+ ]
52
+ },
53
+ agents: {
54
+ consumers: [
55
+ "src/agents/index.ts:_swarmAgentsMap",
56
+ "src/commands/full-auto.ts:handleFullAutoCommand"
57
+ ]
58
+ },
59
+ default_agent: {
60
+ consumers: [
61
+ "src/agents/index.ts:getAgentConfigs",
62
+ "src/services/model-preflight.ts:collectEnabledAgentModels",
63
+ "src/services/config-doctor.ts:validateConfigKey"
64
+ ]
65
+ },
66
+ auto_select_architect: {
67
+ consumers: [
68
+ "src/index.ts:initializeOpenCodeSwarm",
69
+ "src/services/config-doctor.ts:validateConfigKey"
70
+ ]
71
+ },
72
+ swarms: {
73
+ consumers: [
74
+ "src/agents/index.ts:createAgents",
75
+ "src/config/agent-model.ts:resolveAgentTarget",
76
+ "src/index.ts:initializeOpenCodeSwarm",
77
+ "src/review/runtime.ts:effectiveAgentConfig"
78
+ ]
79
+ },
80
+ max_iterations: {
81
+ consumers: [
82
+ "src/index.ts:initializeOpenCodeSwarm",
83
+ "src/services/config-doctor.ts:validateConfigKey"
84
+ ]
85
+ },
86
+ pipeline: {
87
+ consumers: [
88
+ "src/hooks/system-enhancer.ts:createSystemEnhancerHook",
89
+ "src/memory/embeddings/local-provider.ts:LocalEmbeddingProvider",
90
+ "src/memory/embeddings/reranker.ts:CrossEncoderReranker",
91
+ "src/memory/pii.ts:NerPiiDetector"
92
+ ]
93
+ },
94
+ phase_complete: {
95
+ consumers: [
96
+ "src/index.ts:initializeOpenCodeSwarm",
97
+ "src/tools/phase-complete.ts:executePhaseComplete",
98
+ "src/tools/plugin-registration.ts:buildPluginToolObject",
99
+ "src/services/config-doctor.ts:validateConfigKey"
100
+ ]
101
+ },
102
+ qa_retry_limit: {
103
+ consumers: [
104
+ "src/agents/index.ts:createSwarmAgents",
105
+ "src/services/config-doctor.ts:validateConfigKey"
106
+ ]
107
+ },
108
+ execution_mode: {
109
+ consumers: [
110
+ "src/agents/architect.ts:createArchitectAgent",
111
+ "src/agents/index.ts:createSwarmAgents",
112
+ "src/index.ts:initializeOpenCodeSwarm",
113
+ "src/plan/planning-profile.ts:resolveRepositoryDefaultPlanningProfile"
114
+ ]
115
+ },
116
+ inject_phase_reminders: {
117
+ consumers: [
118
+ "src/hooks/pipeline-tracker.ts:createPipelineTrackerHook",
119
+ "src/services/config-doctor.ts:validateConfigKey"
120
+ ]
121
+ },
122
+ hooks: {
123
+ consumers: [
124
+ "src/commands/registry.ts:handlePrFeedbackCommandWithTransition",
125
+ "src/hooks/agent-activity.ts:createAgentActivityHooks",
126
+ "src/hooks/compaction-customizer.ts:createCompactionCustomizerHook",
127
+ "src/hooks/delegation-tracker.ts:createDelegationTrackerHook"
128
+ ]
129
+ },
130
+ pr_review_resilience: {
131
+ consumers: [
132
+ "src/tools/dispatch-lanes.ts:executeDispatchLanesAsync",
133
+ "src/services/config-doctor.ts:validateConfigKey"
134
+ ]
135
+ },
136
+ review_routing: {
137
+ consumers: [
138
+ "src/background/stage-b-gates.ts:ingestBackgroundStageBCompletion",
139
+ "src/hooks/delegation-gate.ts:createDelegationGateHook",
140
+ "src/tools/update-task-status.ts:routeGateAllowsTask",
141
+ "src/services/config-doctor.ts:validateConfigKey"
142
+ ]
143
+ },
144
+ lane_liveness_watchdog: {
145
+ consumers: [
146
+ "src/commands/registry.ts:handlePrFeedbackCommandWithTransition",
147
+ "src/tools/abort-pr-workflow.ts:executeAbortPrWorkflow",
148
+ "src/tools/complete-pr-workflow.ts:executeCompletePrWorkflow",
149
+ "src/services/config-doctor.ts:validateConfigKey"
150
+ ]
151
+ },
152
+ dispatch_protection: {
153
+ consumers: [
154
+ "src/index.ts:initializeOpenCodeSwarm",
155
+ "src/services/config-doctor.ts:validateConfigKey"
156
+ ]
157
+ },
158
+ pr_review_legacy_transcript_compatibility: {
159
+ consumers: [
160
+ "src/tools/dispatch-lanes.ts:launchAsyncLane",
161
+ "src/services/config-doctor.ts:validateConfigKey"
162
+ ]
163
+ },
164
+ gates: {
165
+ consumers: [
166
+ "src/config/loader.ts:sanitizeGatesConfig",
167
+ "src/commands/qa-gates.ts:handleQaGatesCommand",
168
+ "src/commands/gate-audit.ts:parseArgs"
169
+ ]
170
+ },
171
+ context_budget: {
172
+ consumers: [
173
+ "src/hooks/context-budget.ts:createContextBudgetHandler",
174
+ "src/hooks/final-context-accounting.ts:createFinalContextAccountingStep",
175
+ "src/hooks/system-enhancer.ts:createSystemEnhancerHook",
176
+ "src/index.ts:initializeOpenCodeSwarm"
177
+ ]
178
+ },
179
+ pricing: {
180
+ consumers: [
181
+ "src/background/delegation-lifecycle.ts:emitDelegationCostObservation",
182
+ "src/evaluation/ephemeral-agent-dispatcher.ts:unavailableCostFields",
183
+ "src/index.ts:emitPendingCostCorrection",
184
+ "src/services/cost-accounting.ts:extractCostEvidence"
185
+ ]
186
+ },
187
+ guardrails: {
188
+ consumers: [
189
+ "src/config/loader.ts:buildConfigWithMeta",
190
+ "src/hooks/full-auto-permission.ts:createFullAutoPermissionHook",
191
+ "src/index.ts:initializeOpenCodeSwarm",
192
+ "src/services/config-doctor.ts:validateConfigKey"
193
+ ]
194
+ },
195
+ watchdog: {
196
+ consumers: [
197
+ "src/hooks/pr-workflow-gate.ts:evaluateLaneLivenessWatchdogEscalation",
198
+ "src/index.ts:initializeOpenCodeSwarm",
199
+ "src/services/config-doctor.ts:validateConfigKey"
200
+ ]
201
+ },
202
+ self_review: {
203
+ consumers: [
204
+ "src/index.ts:initializeOpenCodeSwarm",
205
+ "src/services/config-doctor.ts:validateConfigKey"
206
+ ]
207
+ },
208
+ auto_review: {
209
+ consumers: [
210
+ "src/agents/index.ts:createSwarmAgents",
211
+ "src/index.ts:initializeOpenCodeSwarm",
212
+ "src/tools/phase-complete/gates/final-review-gate.ts:runFinalReviewGate",
213
+ "src/tools/plugin-registration.ts:buildPluginToolObject"
214
+ ]
215
+ },
216
+ tool_filter: {
217
+ consumers: [
218
+ "src/agents/index.ts:getAgentConfigs",
219
+ "src/full-auto/policy.ts:resolveAgentCapabilityTools",
220
+ "src/services/config-doctor.ts:validateConfigKey"
221
+ ]
222
+ },
223
+ authority: {
224
+ consumers: [
225
+ "src/hooks/delegation-gate/worktree-isolation.ts:maybeSelectRecoverableAuthority",
226
+ "src/hooks/delegation-gate/worktree-recovery-authority.ts:publishWorktreeRecoveryAuthorityUnlocked",
227
+ "src/index.ts:initializeOpenCodeSwarm",
228
+ "src/learning/provenance.ts:stampLearningProvenance"
229
+ ]
230
+ },
231
+ plan_cursor: {
232
+ consumers: [
233
+ "src/hooks/system-enhancer.ts:createSystemEnhancerHook",
234
+ "src/services/config-doctor.ts:validateConfigKey"
235
+ ]
236
+ },
237
+ context_map: {
238
+ consumers: [
239
+ "src/hooks/context-capsule-inject.ts:createContextCapsuleInjectHook",
240
+ "src/index.ts:initializeOpenCodeSwarm",
241
+ "src/services/config-doctor.ts:validateConfigKey"
242
+ ]
243
+ },
244
+ repo_graph: {
245
+ consumers: [
246
+ "src/evaluation/retrieval-quality.ts:materializeDisposableWorkspace",
247
+ "src/hooks/repo-graph-injection.ts:buildLaneOrientationBlock",
248
+ "src/hooks/system-enhancer.ts:createSystemEnhancerHook",
249
+ "src/index.ts:initializeOpenCodeSwarm"
250
+ ]
251
+ },
252
+ evidence: {
253
+ consumers: [
254
+ "src/background/candidate-parser.ts:parseText",
255
+ "src/background/pr-review-trigger-contract.ts:buildPrReviewTriggerReceiptV2",
256
+ "src/background/stage-b-gates.ts:resolveBackgroundStageBRoute",
257
+ "src/commands/archive.ts:handleArchiveCommand"
258
+ ]
259
+ },
260
+ summaries: {
261
+ consumers: [
262
+ "src/commands/close/orchestrator.ts:handleCloseCommand",
263
+ "src/index.ts:createSwarmCommandSystemRuleHook",
264
+ "src/services/config-doctor.ts:validateConfigKey"
265
+ ]
266
+ },
267
+ retention: {
268
+ consumers: [
269
+ "src/commands/close/orchestrator.ts:handleCloseCommand",
270
+ "src/index.ts:initializeOpenCodeSwarm",
271
+ "src/training/vault.ts:sweepTrainingVaultExpiry",
272
+ "src/services/config-doctor.ts:validateConfigKey"
273
+ ]
274
+ },
275
+ review_passes: {
276
+ consumers: [
277
+ "src/hooks/system-enhancer.ts:createSystemEnhancerHook",
278
+ "src/services/config-doctor.ts:validateConfigKey"
279
+ ]
280
+ },
281
+ adversarial_detection: {
282
+ consumers: [
283
+ "src/hooks/system-enhancer.ts:createSystemEnhancerHook",
284
+ "src/services/config-doctor.ts:validateConfigKey"
285
+ ]
286
+ },
287
+ adversarial_testing: {
288
+ consumers: [
289
+ "src/agents/index.ts:createSwarmAgents",
290
+ "src/services/config-doctor.ts:validateConfigKey"
291
+ ]
292
+ },
293
+ integration_analysis: {
294
+ consumers: [
295
+ "src/hooks/system-enhancer.ts:createSystemEnhancerHook",
296
+ "src/services/config-doctor.ts:validateConfigKey"
297
+ ]
298
+ },
299
+ docs: {
300
+ consumers: [
301
+ "src/hooks/system-enhancer.ts:createSystemEnhancerHook",
302
+ "src/services/config-doctor.ts:validateConfigKey"
303
+ ]
304
+ },
305
+ design_docs: {
306
+ consumers: [
307
+ "src/agents/index.ts:createSwarmAgents",
308
+ "src/commands/design-docs.ts:handleDesignDocsCommand",
309
+ "src/services/model-preflight.ts:collectConfiguredAgentModels",
310
+ "src/tools/phase-complete.ts:executePhaseComplete"
311
+ ]
312
+ },
313
+ speckit_checkoff: {
314
+ consumers: [
315
+ "src/sdd/speckit-checkoff.ts:maybePropagateSpeckitCheckoff",
316
+ "src/services/config-doctor.ts:validateConfigKey"
317
+ ]
318
+ },
319
+ git: { consumers: ["src/config/loader.ts:exposedGitBinary"] },
320
+ ui_review: {
321
+ consumers: [
322
+ "src/agents/index.ts:createSwarmAgents",
323
+ "src/hooks/system-enhancer.ts:createSystemEnhancerHook",
324
+ "src/services/model-preflight.ts:collectConfiguredAgentModels",
325
+ "src/services/config-doctor.ts:validateConfigKey"
326
+ ]
327
+ },
328
+ compaction_advisory: {
329
+ consumers: [
330
+ "src/hooks/system-enhancer.ts:createSystemEnhancerHook",
331
+ "src/services/config-doctor.ts:validateConfigKey"
332
+ ]
333
+ },
334
+ lint: {
335
+ consumers: [
336
+ "src/agents/project-context.ts:selectLintCommand",
337
+ "src/hooks/system-enhancer.ts:createSystemEnhancerHook",
338
+ "src/services/trajectory-cluster.ts:motifPredicate",
339
+ "src/tools/pre-check-batch.ts:serializePreCheckResult"
340
+ ]
341
+ },
342
+ secretscan: {
343
+ consumers: [
344
+ "src/hooks/system-enhancer.ts:createSystemEnhancerHook",
345
+ "src/tools/secretscan.ts:runSecretscan",
346
+ "src/services/config-doctor.ts:validateConfigKey"
347
+ ]
348
+ },
349
+ checkpoint: {
350
+ consumers: [
351
+ "src/background/delegation-health.ts:writeDelegationHealthArtifact",
352
+ "src/hooks/knowledge-receipt-ledger.ts:validateRecordPayload",
353
+ "src/plan/auto-checkpoint.ts:maybeSaveAutoCheckpoint",
354
+ "src/services/status-service.ts:formatStatusMarkdown"
355
+ ]
356
+ },
357
+ apply_patch: {
358
+ consumers: [
359
+ "src/tools/apply-patch.ts:isUnsupportedPatchFormat",
360
+ "src/services/config-doctor.ts:validateConfigKey"
361
+ ]
362
+ },
363
+ automation: {
364
+ consumers: [
365
+ "src/hooks/system-enhancer.ts:createSystemEnhancerHook",
366
+ "src/index.ts:initializeOpenCodeSwarm",
367
+ "src/services/status-service.ts:collectDecisionDriftSnapshot",
368
+ "src/services/config-doctor.ts:validateConfigKey"
369
+ ]
370
+ },
371
+ knowledge: {
372
+ consumers: [
373
+ "src/commands/close/orchestrator.ts:handleCloseCommand",
374
+ "src/commands/consolidate.ts:handleConsolidateCommand",
375
+ "src/commands/curate.ts:handleCurateCommand",
376
+ "src/commands/knowledge.ts:authorizeUserCuration"
377
+ ]
378
+ },
379
+ memory: {
380
+ consumers: [
381
+ "src/agents/index.ts:createSwarmAgents",
382
+ "src/commands/close/orchestrator.ts:handleCloseCommand",
383
+ "src/commands/memory-link.ts:handleMemoryLinkCommand",
384
+ "src/commands/memory.ts:handleMemoryConsolidationLogCommand"
385
+ ]
386
+ },
387
+ forge: {
388
+ consumers: [
389
+ "src/providers/forge-provider.ts:resolveForgeContextFromPluginConfig"
390
+ ]
391
+ },
392
+ observability: {
393
+ consumers: [
394
+ "src/index.ts:initializeOpenCodeSwarm",
395
+ "src/services/config-doctor.ts:validateConfigKey"
396
+ ]
397
+ },
398
+ learning: {
399
+ consumers: [
400
+ "src/hooks/knowledge-dedup-sweep.ts:sweepActiveNearDuplicates",
401
+ "src/hooks/system-enhancer.ts:createSystemEnhancerHook",
402
+ "src/index.ts:initializeOpenCodeSwarm",
403
+ "src/memory/config.ts:resolveMemoryConfig"
404
+ ]
405
+ },
406
+ consensus: {
407
+ consumers: [
408
+ "src/tools/consensus-mine.ts:consensus_mine",
409
+ "src/services/config-doctor.ts:validateConfigKey"
410
+ ]
411
+ },
412
+ curator: {
413
+ consumers: [
414
+ "src/hooks/phase-monitor.ts:createPhaseMonitorHook",
415
+ "src/services/diagnose-service.ts:checkCurator"
416
+ ]
417
+ },
418
+ architectural_supervision: {
419
+ consumers: [
420
+ "src/agents/index.ts:createSwarmAgents",
421
+ "src/hooks/phase-monitor.ts:createPhaseMonitorHook",
422
+ "src/tools/phase-complete/gates/architecture-supervisor-gate.ts:runArchitectureSupervisorGate",
423
+ "src/tools/phase-complete.ts:executePhaseComplete"
424
+ ]
425
+ },
426
+ knowledge_application: {
427
+ consumers: [
428
+ "src/index.ts:initializeOpenCodeSwarm",
429
+ "src/services/config-doctor.ts:validateConfigKey"
430
+ ]
431
+ },
432
+ skillPropagation: {
433
+ consumers: [
434
+ "src/index.ts:initializeOpenCodeSwarm",
435
+ "src/services/config-doctor.ts:validateConfigKey"
436
+ ]
437
+ },
438
+ skill_improver: {
439
+ consumers: [
440
+ "src/commands/close/finalize-stage.ts:runFinalizeStage",
441
+ "src/commands/consolidate.ts:handleConsolidateCommand",
442
+ "src/index.ts:initializeOpenCodeSwarm",
443
+ "src/tools/phase-complete.ts:executePhaseComplete"
444
+ ]
445
+ },
446
+ harness_evolution: {
447
+ consumers: [
448
+ "src/commands/harness.ts:getHarnessConfig",
449
+ "src/services/config-doctor.ts:validateConfigKey"
450
+ ]
451
+ },
452
+ harness_opt: {
453
+ consumers: [
454
+ "src/commands/harness-opt.ts:readHarnessOptConfigFromProject",
455
+ "src/services/config-doctor.ts:validateConfigKey"
456
+ ]
457
+ },
458
+ spec_writer: { consumers: ["src/tools/spec-write.ts:MAX_SPEC_BYTES"] },
459
+ tool_output: {
460
+ consumers: [
461
+ "src/index.ts:initializeOpenCodeSwarm",
462
+ "src/services/config-doctor.ts:validateConfigKey"
463
+ ]
464
+ },
465
+ slop_detector: {
466
+ consumers: [
467
+ "src/index.ts:initializeOpenCodeSwarm",
468
+ "src/services/config-doctor.ts:validateConfigKey"
469
+ ]
470
+ },
471
+ todo_gate: {
472
+ consumers: [
473
+ "src/tools/check-gate-status.ts:readEvidenceFile",
474
+ "src/tools/phase-complete/gates/todo-gate.ts:runTodoGateGate",
475
+ "src/services/config-doctor.ts:validateConfigKey"
476
+ ]
477
+ },
478
+ incremental_verify: {
479
+ consumers: [
480
+ "src/index.ts:initializeOpenCodeSwarm",
481
+ "src/services/config-doctor.ts:validateConfigKey"
482
+ ]
483
+ },
484
+ compaction_service: {
485
+ consumers: [
486
+ "src/index.ts:initializeOpenCodeSwarm",
487
+ "src/services/config-doctor.ts:validateConfigKey"
488
+ ]
489
+ },
490
+ prm: {
491
+ consumers: [
492
+ "src/index.ts:initializeOpenCodeSwarm",
493
+ "src/services/config-doctor.ts:validateConfigKey"
494
+ ]
495
+ },
496
+ council: {
497
+ consumers: [
498
+ "src/agents/index.ts:createSwarmAgents",
499
+ "src/commands/pr-review.ts:parseArgs",
500
+ "src/full-auto/policy.ts:resolveAgentCapabilityTools",
501
+ "src/gate-evidence.ts:clearWorkflowGateProof"
502
+ ]
503
+ },
504
+ parallelization: {
505
+ inert: "PR-1 dark foundation \u2014 no production code path branches on enabled=true yet, so setting this key has no runtime effect. For live parallel dispatch use the plan execution_profile (parallelization_enabled, max_concurrent_tasks, set per-plan by the architect; see /swarm concurrency)."
506
+ },
507
+ worktree: {
508
+ consumers: [
509
+ "src/background/completion-observer.ts:createBackgroundCompletionObserver",
510
+ "src/background/pending-delegations.ts:isUnsettledWorktreeOwner",
511
+ "src/config/worktree-isolation-config.ts:resolveWorktreeIsolationConfig",
512
+ "src/hooks/delegation-gate/worktree-collision-ownership.ts:classifyRecord"
513
+ ]
514
+ },
515
+ turbo: {
516
+ consumers: [
517
+ "src/agents/index.ts:createSwarmAgents",
518
+ "src/commands/epic.ts:renderCalibration",
519
+ "src/commands/turbo.ts:handleTurboCommand",
520
+ "src/config/worktree-isolation-config.ts:resolveWorktreeIsolationConfig"
521
+ ]
522
+ },
523
+ turbo_mode: {
524
+ consumers: [
525
+ "src/state.ts:resolveInitialTurboMode",
526
+ "src/services/config-doctor.ts:validateConfigKey"
527
+ ]
528
+ },
529
+ quiet: {
530
+ consumers: [
531
+ "src/agents/index.ts:createSwarmAgents",
532
+ "src/hooks/skill-injection.ts:SKILL_INJECTION_TOP_N",
533
+ "src/index.ts:initializeOpenCodeSwarm",
534
+ "src/utils/gitignore-warning.ts:ensureSwarmGitExcluded"
535
+ ]
536
+ },
537
+ version_check: {
538
+ consumers: [
539
+ "src/index.ts:initializeOpenCodeSwarm",
540
+ "src/services/config-doctor.ts:validateConfigKey"
541
+ ]
542
+ },
543
+ full_auto: {
544
+ consumers: [
545
+ "src/commands/full-auto.ts:handleFullAutoCommand",
546
+ "src/config/loader.ts:rawFullAutoLocked",
547
+ "src/full-auto/cadence.ts:configCadence",
548
+ "src/hooks/full-auto-delegation.ts:scanForProtectedPaths"
549
+ ]
550
+ },
551
+ pr_feedback_loop: {
552
+ consumers: [
553
+ "src/background/pr-feedback-loop-runtime.ts:isPrFeedbackLoopEnabled",
554
+ "src/background/pr-feedback-loop.ts:claimAndProcessPrFeedbackEventUnlocked",
555
+ "src/services/config-doctor.ts:validateConfigKey"
556
+ ]
557
+ },
558
+ pr_monitor: {
559
+ consumers: [
560
+ "src/background/pr-feedback-loop-runtime.ts:isPrFeedbackLoopEnabled",
561
+ "src/commands/pr-subscribe.ts:handlePrSubscribeCommand",
562
+ "src/index.ts:initializeOpenCodeSwarm",
563
+ "src/services/config-doctor.ts:validateConfigKey"
564
+ ]
565
+ },
566
+ external_skills: {
567
+ consumers: [
568
+ "src/agents/index.ts:createSwarmAgents",
569
+ "src/full-auto/policy.ts:resolveAgentCapabilityTools"
570
+ ]
571
+ },
572
+ skills: {
573
+ consumers: [
574
+ "src/agents/index.ts:createSwarmAgents",
575
+ "src/config/lane-permissions.ts:LastWinsRuleMap",
576
+ "src/full-auto/policy.ts:resolveAgentCapabilityTools",
577
+ "src/services/skill-improver.ts:buildUserPrompt"
578
+ ]
579
+ },
580
+ skill_opt: {
581
+ consumers: [
582
+ "src/commands/skill-opt.ts:readSkillOptConfigFromProject",
583
+ "src/services/config-doctor.ts:validateConfigKey"
584
+ ]
585
+ },
586
+ dashboard: {
587
+ consumers: [
588
+ "src/index.ts:initializeOpenCodeSwarm",
589
+ "src/services/config-doctor.ts:validateConfigKey"
590
+ ]
591
+ }
592
+ };
593
+
594
+ // src/services/config-doctor.ts
595
+ init_schema();
36
596
  init_tool_metadata();
37
597
  var CONFIG_DOCTOR_MAX_CONFIG_FILE_BYTES = 102400;
38
598
  var KNOWN_TOP_LEVEL_KEYS = new Set(Object.keys(PluginConfigSchema.shape));
@@ -133,6 +693,41 @@ function emitObjectTypeMismatch(key, value, findings) {
133
693
  function isPlainObject(value) {
134
694
  return typeof value === "object" && value !== null && !Array.isArray(value);
135
695
  }
696
+ function collectRawInertKeyFindings(directory) {
697
+ const findings = [];
698
+ const { userConfigPath, projectConfigPath } = getConfigPaths(directory);
699
+ const seen = new Set;
700
+ for (const configPath of [userConfigPath, projectConfigPath]) {
701
+ if (!fs.existsSync(configPath))
702
+ continue;
703
+ try {
704
+ const stats = fs.statSync(configPath);
705
+ if (stats.size > CONFIG_DOCTOR_MAX_CONFIG_FILE_BYTES)
706
+ continue;
707
+ const raw = JSON.parse(fs.readFileSync(configPath, "utf-8"));
708
+ if (!isPlainObject(raw))
709
+ continue;
710
+ for (const key of Object.keys(raw)) {
711
+ if (seen.has(key))
712
+ continue;
713
+ const declaration = CONFIG_CONSUMERS[key];
714
+ if (!declaration || !("inert" in declaration))
715
+ continue;
716
+ seen.add(key);
717
+ findings.push({
718
+ id: "inert-config-key",
719
+ title: `Inert config key: ${key}`,
720
+ description: `Config key "${key}" (in ${configPath}) is declared inert: ${declaration.inert}`,
721
+ severity: "warn",
722
+ path: key,
723
+ currentValue: raw[key],
724
+ autoFixable: false
725
+ });
726
+ }
727
+ } catch {}
728
+ }
729
+ return findings;
730
+ }
136
731
  function collectRawCouncilPolicyFindings(directory) {
137
732
  const findings = [];
138
733
  const { userConfigPath, projectConfigPath } = getConfigPaths(directory);
@@ -1506,6 +2101,7 @@ function runConfigDoctor(config, directory, planParallelizationEnabled = null) {
1506
2101
  findings.push(...collectRawStrictSectionFindings(directory));
1507
2102
  findings.push(...collectRawValueConstraintFindings(directory));
1508
2103
  findings.push(...collectRawAutoReviewCompatibilityFindings(directory));
2104
+ findings.push(...collectRawInertKeyFindings(directory));
1509
2105
  findings.push(...collectLeanTurboGateSatisfiabilityFindings(config));
1510
2106
  emitWorktreeIsolationLayeringAdvisory(config, findings, planParallelizationEnabled);
1511
2107
  const summary = {
@@ -3,7 +3,7 @@ import {
3
3
  ALL_AGENT_NAMES,
4
4
  SUMMARIZER_EXEMPT_TOOL_NAMES,
5
5
  init_constants
6
- } from "./index-bstjg81q.js";
6
+ } from "./index-zfbxfm2m.js";
7
7
  import {
8
8
  OUTCOME_BLOCK_THRESHOLD,
9
9
  init_knowledge_types
@@ -21,7 +21,7 @@ var package_default;
21
21
  var init_package = __esm(() => {
22
22
  package_default = {
23
23
  name: "opencode-swarm",
24
- version: "7.188.5",
24
+ version: "7.188.7",
25
25
  description: "Architect-centric agentic swarm plugin for OpenCode - hub-and-spoke orchestration with SME consultation, code generation, and QA review",
26
26
  main: "dist/index.js",
27
27
  types: "dist/index.d.ts",
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  withEvidenceLock
4
- } from "./index-4zran0jk.js";
4
+ } from "./index-twb3f4tk.js";
5
5
  import {
6
6
  atomicWriteFileAnyRoot
7
7
  } from "./index-p2tqzwh6.js";
@@ -9,7 +9,7 @@ import {
9
9
  readEvaluationRun,
10
10
  saveEvaluationRun,
11
11
  saveTaskSetSnapshot
12
- } from "./index-z11watrb.js";
12
+ } from "./index-8xabhfwr.js";
13
13
  import {
14
14
  canonicalHash,
15
15
  computeCandidateInputContentHash,