opencode-swarm 7.188.11 → 7.189.0

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 (69) hide show
  1. package/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
  2. package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
  3. package/dist/cli/{auto-checkpoint-kyb5rw8j.js → auto-checkpoint-m7c4x8bk.js} +4 -4
  4. package/dist/cli/{checkpoint-9e3f8ers.js → checkpoint-m7q9886q.js} +8 -8
  5. package/dist/cli/{coder-settlement-9j4ejab4.js → coder-settlement-hh81z2f7.js} +3 -3
  6. package/dist/cli/{config-doctor-jd5yckkb.js → config-doctor-0rexy3xt.js} +7 -7
  7. package/dist/cli/{core-eyzqvwpk.js → core-ays6stz4.js} +1 -1
  8. package/dist/cli/{curator-q6f0e79e.js → curator-dfzkfgs0.js} +25 -25
  9. package/dist/cli/{curator-drift-wyt8jf7r.js → curator-drift-nts5atks.js} +5 -5
  10. package/dist/cli/{curator-llm-factory-3b0jvvkd.js → curator-llm-factory-nrn6n2p1.js} +25 -25
  11. package/dist/cli/{doctor-knowledge-receipt-phase-id-19qdy72k.js → doctor-knowledge-receipt-phase-id-ec40k5hn.js} +4 -4
  12. package/dist/cli/{evidence-summary-service-k5ztgaca.js → evidence-summary-service-vgtm72g5.js} +9 -9
  13. package/dist/cli/{gate-evidence-6gw4w2e8.js → gate-evidence-vmn65kxe.js} +2 -2
  14. package/dist/cli/{guardrail-explain-ewgj1gyw.js → guardrail-explain-9jmr8ezt.js} +26 -26
  15. package/dist/cli/{guardrail-log-vp628cge.js → guardrail-log-hc8fjm4x.js} +3 -3
  16. package/dist/cli/{guardrail-reset-qycc0pns.js → guardrail-reset-ct00w300.js} +25 -25
  17. package/dist/cli/{hive-promoter-z8r9xc9r.js → hive-promoter-2xax6van.js} +25 -25
  18. package/dist/cli/{index-66e6yba5.js → index-0gejy4cx.js} +2 -2
  19. package/dist/cli/{index-0r1nrgq3.js → index-16m2m4ah.js} +1 -1
  20. package/dist/cli/{index-c562pan0.js → index-1cwmj1gs.js} +1 -1
  21. package/dist/cli/{index-wh9h5vj1.js → index-2btybj8w.js} +1 -1
  22. package/dist/cli/{index-rbgg2q19.js → index-2nexf5vz.js} +92 -97
  23. package/dist/cli/{index-2262zz0m.js → index-34vsyj15.js} +2 -2
  24. package/dist/cli/{index-bgv93ngx.js → index-3dx0c7ve.js} +25 -25
  25. package/dist/cli/{index-6xppxtfc.js → index-4a7j5f60.js} +3 -3
  26. package/dist/cli/{index-pqx85rk1.js → index-4p3jh14t.js} +1 -1
  27. package/dist/cli/{index-5m77ayzt.js → index-5cfhwd65.js} +1 -1
  28. package/dist/cli/{index-sgawa007.js → index-5v09zw1q.js} +1 -1
  29. package/dist/cli/{index-5kcjrkme.js → index-89f56ej4.js} +27 -27
  30. package/dist/cli/{index-3jx1yhqk.js → index-9gqb5nkj.js} +3 -3
  31. package/dist/cli/{index-0tazb5m3.js → index-9j3ybyfs.js} +1 -1
  32. package/dist/cli/{index-zpsc691s.js → index-bskex45z.js} +1 -1
  33. package/dist/cli/{index-03syhrv4.js → index-bzbxn24k.js} +2 -2
  34. package/dist/cli/{index-4paxe7hp.js → index-cbqkag7q.js} +1 -1
  35. package/dist/cli/{index-58pk41rj.js → index-cdjxzs2r.js} +4 -4
  36. package/dist/cli/{index-m0e1xjee.js → index-cj4mp0fm.js} +6 -6
  37. package/dist/cli/{index-axreszvd.js → index-fbgjj7h5.js} +2 -2
  38. package/dist/cli/{index-0rd6br4q.js → index-g03m5jhw.js} +2 -2
  39. package/dist/cli/{index-z55btbf2.js → index-kqegvngt.js} +2 -2
  40. package/dist/cli/{index-xr1bfzee.js → index-mfxef20k.js} +1 -1
  41. package/dist/cli/{index-mzyvv3hz.js → index-nhsafbrh.js} +1 -1
  42. package/dist/cli/{index-yvp5c2e2.js → index-qx3g1bbe.js} +1 -1
  43. package/dist/cli/{index-8ndndvcw.js → index-skdpgjar.js} +5 -5
  44. package/dist/cli/{index-1dhbk164.js → index-w4zscz6p.js} +1 -1
  45. package/dist/cli/{index-m1v2qd3z.js → index-waxvpwbv.js} +1 -1
  46. package/dist/cli/{index-n1pntydp.js → index-wqa31xnf.js} +3 -3
  47. package/dist/cli/{index-1yx34x6m.js → index-z29hksyw.js} +3 -3
  48. package/dist/cli/index.js +26 -26
  49. package/dist/cli/{knowledge-escalator-1hk1sxaj.js → knowledge-escalator-v3c8w86g.js} +7 -7
  50. package/dist/cli/{knowledge-events-12jxfydt.js → knowledge-events-kagaccj9.js} +5 -5
  51. package/dist/cli/{knowledge-store-xr64wqmj.js → knowledge-store-ywxjk5pb.js} +1 -1
  52. package/dist/cli/{knowledge-validator-978b1j5n.js → knowledge-validator-210gkpec.js} +2 -2
  53. package/dist/cli/{mcp-qxwxzchp.js → mcp-58hgx6av.js} +1 -1
  54. package/dist/cli/{model-preflight-b9mbnymf.js → model-preflight-e69b48n0.js} +25 -25
  55. package/dist/cli/{pending-delegations-0ej13k7z.js → pending-delegations-g24d3qa9.js} +2 -2
  56. package/dist/cli/{pr-subscriptions-c35gt902.js → pr-subscriptions-qprh2zsm.js} +1 -1
  57. package/dist/cli/{pr-workflow-gate-a17sdc22.js → pr-workflow-gate-pj7dhkv4.js} +25 -25
  58. package/dist/cli/{scan-cursor-a9y3qfj0.js → scan-cursor-s5wsxxd1.js} +2 -2
  59. package/dist/cli/{schema-dn0247wt.js → schema-smgngq9m.js} +1 -1
  60. package/dist/cli/{scope-persistence-v62cew31.js → scope-persistence-tbv2ar4w.js} +5 -5
  61. package/dist/cli/{server-tna0jzhz.js → server-7p2ds5w2.js} +25 -25
  62. package/dist/cli/{skill-generator-yr4dc37y.js → skill-generator-r4hsne71.js} +8 -8
  63. package/dist/cli/{snapshot-coordination-init-f2dsrgvy.js → snapshot-coordination-init-ydjwh56d.js} +25 -25
  64. package/dist/cli/{speckit-checkoff-gwjz28vf.js → speckit-checkoff-aj75vmjq.js} +3 -3
  65. package/dist/cli/{worktree-collision-ownership-p7g40dpp.js → worktree-collision-ownership-0bxj9f0t.js} +2 -2
  66. package/dist/cli/{worktree-isolation-f76g3j4v.js → worktree-isolation-h0c22pm2.js} +25 -25
  67. package/dist/commands/skill-opt.d.ts +0 -2
  68. package/dist/index.js +15 -15
  69. package/package.json +1 -1
@@ -8,14 +8,14 @@ import {
8
8
  protectedRoots,
9
9
  redactDecisionLineForArchive,
10
10
  stableCanonicalStringify
11
- } from "./index-pqx85rk1.js";
11
+ } from "./index-4p3jh14t.js";
12
12
  import {
13
13
  detectStraySwarmDirs,
14
14
  readDoctorArtifact,
15
15
  removeStraySwarmDir,
16
16
  resolvePlanParallelizationFlag,
17
17
  runConfigDoctor
18
- } from "./index-axreszvd.js";
18
+ } from "./index-fbgjj7h5.js";
19
19
  import {
20
20
  archiveEvidence,
21
21
  checkRequirementCoverage,
@@ -27,7 +27,7 @@ import {
27
27
  sanitizeTaskId,
28
28
  saveEvidence,
29
29
  validateProjectRoot
30
- } from "./index-mzyvv3hz.js";
30
+ } from "./index-nhsafbrh.js";
31
31
  import {
32
32
  JAVA_SYMBOL_GRAMMAR,
33
33
  LANGUAGE_REGISTRY,
@@ -89,7 +89,7 @@ import {
89
89
  alreadyCuratedThisGeneration,
90
90
  claimNextScanBatch,
91
91
  resolveCohortId
92
- } from "./index-zpsc691s.js";
92
+ } from "./index-bskex45z.js";
93
93
  import {
94
94
  CURATOR_CONSOLIDATION_PROMPT,
95
95
  CURATOR_INIT_PROMPT,
@@ -108,13 +108,13 @@ import {
108
108
  getGroupCommitWriter,
109
109
  importLegacyJsonl,
110
110
  readPriorDriftReports
111
- } from "./index-4paxe7hp.js";
111
+ } from "./index-cbqkag7q.js";
112
112
  import {
113
113
  assertNoUnsettledCoderDispatch,
114
114
  listCoderSettlementWalStates,
115
115
  recoverCoderSettlement,
116
116
  recoverStaleCoderSettlements
117
- } from "./index-n1pntydp.js";
117
+ } from "./index-wqa31xnf.js";
118
118
  import {
119
119
  BUNDLED_PROJECT_SKILL_ROOT,
120
120
  DEFAULT_SKILL_MIN_CONFIDENCE,
@@ -135,11 +135,11 @@ import {
135
135
  retireSkill,
136
136
  selectCandidateEntries,
137
137
  syncBundledProjectSkillsIfMissingAsync
138
- } from "./index-3jx1yhqk.js";
138
+ } from "./index-9gqb5nkj.js";
139
139
  import {
140
140
  buildEscalationBriefing,
141
141
  readRecentEscalations
142
- } from "./index-m0e1xjee.js";
142
+ } from "./index-cj4mp0fm.js";
143
143
  import {
144
144
  parsePorcelainV2Snapshot,
145
145
  resolveCommitCountSince,
@@ -219,7 +219,7 @@ import {
219
219
  resolveWorkingDirectory,
220
220
  swarmOverwriteCandidates,
221
221
  trackedDirtyCandidates
222
- } from "./index-1yx34x6m.js";
222
+ } from "./index-z29hksyw.js";
223
223
  import {
224
224
  MAX_TRANSIENT_RETRIES,
225
225
  PlanRecoverySupersededError,
@@ -246,7 +246,7 @@ import {
246
246
  transientBackoff,
247
247
  updateTaskStatus,
248
248
  withPlanLifecycleLock
249
- } from "./index-8ndndvcw.js";
249
+ } from "./index-skdpgjar.js";
250
250
  import {
251
251
  containsControlChars,
252
252
  containsPathTraversal,
@@ -262,7 +262,7 @@ import {
262
262
  resolveSpeckitProjection,
263
263
  validateSpeckit,
264
264
  writeProjectedSpecSync
265
- } from "./index-0r1nrgq3.js";
265
+ } from "./index-16m2m4ah.js";
266
266
  import {
267
267
  clearWorktreeMergeStatus,
268
268
  getAllWorktreeMergeFailures,
@@ -293,7 +293,7 @@ import {
293
293
  transitionTaskWorkflowEvidenceWithStatus,
294
294
  withTaskEvidenceTransaction,
295
295
  writeWorkflowWalFile
296
- } from "./index-sgawa007.js";
296
+ } from "./index-5v09zw1q.js";
297
297
  import {
298
298
  isPathUnderSwarmWorktreeBase,
299
299
  listLiveLaneOwners,
@@ -302,7 +302,7 @@ import {
302
302
  recordLiveLaneOwner,
303
303
  removeWorktree,
304
304
  resolveWorktreeBaseDir
305
- } from "./index-xr1bfzee.js";
305
+ } from "./index-mfxef20k.js";
306
306
  import {
307
307
  DEFAULT_STALE_DELEGATION_TIMEOUT_MS,
308
308
  DELEGATION_COMPACTION_HIGH_WATER_BYTES,
@@ -336,7 +336,7 @@ import {
336
336
  scanBackgroundCoderReservationsForAdmission,
337
337
  scanDelegationsForRecovery,
338
338
  sweepStaleDelegations
339
- } from "./index-0tazb5m3.js";
339
+ } from "./index-9j3ybyfs.js";
340
340
  import {
341
341
  MAX_EVENT_LOG_ENTRIES,
342
342
  _internals,
@@ -348,7 +348,7 @@ import {
348
348
  recordHiveKnowledgeEvent,
349
349
  recordKnowledgeEvent,
350
350
  resolveKnowledgeEventsPath
351
- } from "./index-z55btbf2.js";
351
+ } from "./index-kqegvngt.js";
352
352
  import {
353
353
  commitDisplayedMembership,
354
354
  commitEmptyRetrieval,
@@ -361,7 +361,7 @@ import {
361
361
  queryLiveMemberships,
362
362
  reconcilePhaseClose,
363
363
  recordPhaseCloseIntent
364
- } from "./index-2262zz0m.js";
364
+ } from "./index-34vsyj15.js";
365
365
  import {
366
366
  sanitizeContextText
367
367
  } from "./index-m9zzj4ee.js";
@@ -392,7 +392,7 @@ import {
392
392
  validateActionableFields,
393
393
  validateLesson,
394
394
  validateSkillPath
395
- } from "./index-wh9h5vj1.js";
395
+ } from "./index-2btybj8w.js";
396
396
  import {
397
397
  MAX_CURATION_PROPOSALS,
398
398
  authorizeCuration,
@@ -403,7 +403,7 @@ import {
403
403
  } from "./index-rtry5xyf.js";
404
404
  import {
405
405
  resolveWorktreeIsolationConfig
406
- } from "./index-0rd6br4q.js";
406
+ } from "./index-g03m5jhw.js";
407
407
  import {
408
408
  RetrospectiveEvidenceSchema
409
409
  } from "./index-pkhbd2t5.js";
@@ -415,7 +415,7 @@ import {
415
415
  clearScopeBindings,
416
416
  readAuthoritativeScopeBindingSet,
417
417
  readDeclaredScopeFilesFromBindings
418
- } from "./index-1dhbk164.js";
418
+ } from "./index-w4zscz6p.js";
419
419
  import {
420
420
  clearPlanLedgerForReset,
421
421
  computePlanStructureHash,
@@ -431,7 +431,7 @@ import {
431
431
  replayFromLedgerWithStatus,
432
432
  resolvePlanningProfile,
433
433
  takeSnapshotEvent
434
- } from "./index-03syhrv4.js";
434
+ } from "./index-bzbxn24k.js";
435
435
  import {
436
436
  CORE_EVENT_LOCKED,
437
437
  appendCoreEventSync,
@@ -520,7 +520,7 @@ import {
520
520
  transactFile,
521
521
  transactKnowledge,
522
522
  wordBigrams
523
- } from "./index-58pk41rj.js";
523
+ } from "./index-cdjxzs2r.js";
524
524
  import {
525
525
  readTailJsonl,
526
526
  readTailJsonlDetailed,
@@ -601,7 +601,7 @@ import {
601
601
  loadGateOverrides,
602
602
  loadPluginConfig,
603
603
  loadPluginConfigWithMeta
604
- } from "./index-m1v2qd3z.js";
604
+ } from "./index-waxvpwbv.js";
605
605
  import {
606
606
  addDeferredWarning,
607
607
  advisoryWarn,
@@ -617,7 +617,6 @@ import {
617
617
  DEFAULT_PR_REVIEW_RESILIENCE_CONFIG,
618
618
  DEFAULT_SKILL_OPT_CONFIG,
619
619
  FALLBACK_MODELS_MAX,
620
- HarnessOptConfigSchema,
621
620
  KnowledgeConfigSchema,
622
621
  LaneLivenessWatchdogConfigSchema,
623
622
  MemoryConfigSchema,
@@ -633,7 +632,7 @@ import {
633
632
  resolveContextWindow,
634
633
  resolveGeneratedAgentRole,
635
634
  stripKnownSwarmPrefix
636
- } from "./index-c562pan0.js";
635
+ } from "./index-1cwmj1gs.js";
637
636
  import {
638
637
  AGENT_TOOL_MAP,
639
638
  ALL_AGENT_NAMES,
@@ -3422,7 +3421,7 @@ async function importLegacyPrWorkflowGateStateIfNeeded(directory, sessionID, all
3422
3421
  return null;
3423
3422
  throw error2;
3424
3423
  }
3425
- const legacy = allowSalvagedImport ? (await (await import("./pr-workflow-gate-a17sdc22.js")).readPrWorkflowGateStateForRecovery(directory, sessionID))?.state ?? null : await readPrWorkflowGateStateFileFromDisk(filePath, sessionID);
3424
+ const legacy = allowSalvagedImport ? (await (await import("./pr-workflow-gate-pj7dhkv4.js")).readPrWorkflowGateStateForRecovery(directory, sessionID))?.state ?? null : await readPrWorkflowGateStateFileFromDisk(filePath, sessionID);
3426
3425
  if (!legacy)
3427
3426
  return null;
3428
3427
  const namespace = workflowGateStateCoordinationNamespace(sessionID);
@@ -3509,7 +3508,7 @@ async function deleteStateWhileLocked(directory, sessionID, options = {}) {
3509
3508
  let recoveryState = null;
3510
3509
  if (!currentAuthoritative) {
3511
3510
  if (options.allowSalvagedRead) {
3512
- const { readPrWorkflowGateStateForRecovery } = await import("./pr-workflow-gate-a17sdc22.js");
3511
+ const { readPrWorkflowGateStateForRecovery } = await import("./pr-workflow-gate-pj7dhkv4.js");
3513
3512
  recoveryState = (await readPrWorkflowGateStateForRecovery(directory, normalizedSessionID))?.state ?? null;
3514
3513
  }
3515
3514
  if (!recoveryState) {
@@ -15082,7 +15081,7 @@ function isLaneOwnedByCurrentSession(branchName, expectedSessionId) {
15082
15081
  return extracted === expectedSessionId;
15083
15082
  }
15084
15083
  async function inspectStandardWorktreeCollisionOwnership(identity) {
15085
- const collisionOwnership = await import("./worktree-collision-ownership-p7g40dpp.js");
15084
+ const collisionOwnership = await import("./worktree-collision-ownership-0bxj9f0t.js");
15086
15085
  return collisionOwnership.inspectStandardWorktreeCollisionOwnership(identity);
15087
15086
  }
15088
15087
  async function runRecoveryGit(directory, args, timeoutMs = 15000) {
@@ -15508,7 +15507,7 @@ async function precreateStandardWorktreeSession(args) {
15508
15507
  const laneProfile = computeLaneRuntimeProfile(worktreeConfig.runtime_isolation, laneIndex, handle.worktreePath);
15509
15508
  if (laneProfile) {
15510
15509
  try {
15511
- const { writeLaneProfileToDiskReal } = await import("./core-eyzqvwpk.js");
15510
+ const { writeLaneProfileToDiskReal } = await import("./core-ays6stz4.js");
15512
15511
  await writeLaneProfileToDiskReal(handle.worktreePath, laneProfile.laneIndex, laneProfile.envOverrides);
15513
15512
  } catch {}
15514
15513
  }
@@ -16487,7 +16486,7 @@ async function finishStandardWorktreeDispatch(directory, dispatch, config, callI
16487
16486
  }
16488
16487
  clearWorktreeMergeStatus(statusKey);
16489
16488
  try {
16490
- const { removeLaneProfileFromDiskReal } = await import("./core-eyzqvwpk.js");
16489
+ const { removeLaneProfileFromDiskReal } = await import("./core-ays6stz4.js");
16491
16490
  await removeLaneProfileFromDiskReal(dispatch.handle.worktreePath, dispatch.laneIndex);
16492
16491
  } catch {}
16493
16492
  const state = serializationStateBySessionID.get(dispatch.parentSessionID);
@@ -24125,7 +24124,7 @@ function clearCriticalShownIds(sessionID) {
24125
24124
  async function rehydratePrSubscriptions(sessionID, directory) {
24126
24125
  const map = new Map;
24127
24126
  try {
24128
- const { listActive: listActive2 } = await import("./pr-subscriptions-c35gt902.js");
24127
+ const { listActive: listActive2 } = await import("./pr-subscriptions-qprh2zsm.js");
24129
24128
  const records = await listActive2(directory);
24130
24129
  for (const record of records) {
24131
24130
  if (record.sessionID !== sessionID)
@@ -40672,9 +40671,9 @@ function hashContent(content) {
40672
40671
  return createHash27("sha1").update(content).digest("hex");
40673
40672
  }
40674
40673
  async function loadConfigForPolicyCurator(directory) {
40675
- const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-dn0247wt.js");
40674
+ const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-smgngq9m.js");
40676
40675
  try {
40677
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-6xppxtfc.js");
40676
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-4a7j5f60.js");
40678
40677
  const { config: loadedConfig } = loadPluginConfigWithMeta2(directory);
40679
40678
  return KnowledgeConfigSchema2.parse(loadedConfig.knowledge ?? {});
40680
40679
  } catch {
@@ -43732,7 +43731,7 @@ async function resolveCuratorLLMDelegate(directory, mode, sessionId) {
43732
43731
  const seam = _internals38.createCuratorLLMDelegate;
43733
43732
  if (seam)
43734
43733
  return seam(directory, mode, sessionId);
43735
- const { createCuratorLLMDelegate } = await import("./curator-llm-factory-3b0jvvkd.js");
43734
+ const { createCuratorLLMDelegate } = await import("./curator-llm-factory-nrn6n2p1.js");
43736
43735
  return createCuratorLLMDelegate(directory, mode, sessionId);
43737
43736
  }
43738
43737
  async function reconcileCloseTerminalStateForPlan(directory, targetPlan, options) {
@@ -44127,7 +44126,7 @@ async function runFinalizeStage(ctx) {
44127
44126
  }
44128
44127
  }
44129
44128
  try {
44130
- const { CuratorConfigSchema: CCS } = await import("./schema-dn0247wt.js");
44129
+ const { CuratorConfigSchema: CCS } = await import("./schema-smgngq9m.js");
44131
44130
  const { config: pmLoadedConfig } = _internals38.loadPluginConfigWithMeta(ctx.directory);
44132
44131
  const curatorCfg = CCS.parse(pmLoadedConfig.curator ?? {});
44133
44132
  if (curatorCfg.enabled && curatorCfg.postmortem_enabled) {
@@ -46364,7 +46363,7 @@ function serializeAgentSession(s) {
46364
46363
  }
46365
46364
  async function writeSnapshot(directory, state) {
46366
46365
  try {
46367
- const { ensureSnapshotCoordinationReady } = await import("./snapshot-coordination-init-f2dsrgvy.js");
46366
+ const { ensureSnapshotCoordinationReady } = await import("./snapshot-coordination-init-ydjwh56d.js");
46368
46367
  await ensureSnapshotCoordinationReady(directory);
46369
46368
  const snapshot = {
46370
46369
  version: 3,
@@ -49374,7 +49373,7 @@ function planMerges(active, threshold, maxComparisons, maxMerges) {
49374
49373
  };
49375
49374
  }
49376
49375
  async function sweepActiveNearDuplicates(directory, options = {}) {
49377
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-6xppxtfc.js");
49376
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-4a7j5f60.js");
49378
49377
  const { config } = loadPluginConfigWithMeta2(directory);
49379
49378
  const sweepConfig = config.learning?.dedup_sweep;
49380
49379
  if (sweepConfig?.enabled === false)
@@ -50498,7 +50497,7 @@ async function runCuratorPhase(directory, phase, agentsDispatched, config, knowl
50498
50497
  }
50499
50498
  if (config.skill_generation_enabled === true && skillCandidates.length > 0) {
50500
50499
  try {
50501
- const skillModule = await import("./skill-generator-yr4dc37y.js");
50500
+ const skillModule = await import("./skill-generator-r4hsne71.js");
50502
50501
  for (const cand of skillCandidates) {
50503
50502
  if (cand.confidence < (config.min_skill_confidence ?? DEFAULT_SKILL_MIN_CONFIDENCE)) {
50504
50503
  continue;
@@ -50970,7 +50969,7 @@ async function applyCuratorKnowledgeUpdates(directory, recommendations, knowledg
50970
50969
  } catch {}
50971
50970
  }
50972
50971
  if (contradictedEntries.length > 0 && knowledgeConfig.contradiction_threshold_action === "quarantine") {
50973
- const { maybeQuarantineOnContradiction } = await import("./knowledge-escalator-1hk1sxaj.js");
50972
+ const { maybeQuarantineOnContradiction } = await import("./knowledge-escalator-v3c8w86g.js");
50974
50973
  for (const { id } of contradictedEntries) {
50975
50974
  try {
50976
50975
  await maybeQuarantineOnContradiction(directory, id, knowledgeConfig.contradiction_quarantine_threshold, knowledgeConfig.contradiction_quarantine_window_days);
@@ -51802,7 +51801,7 @@ async function runCuratorPostMortem(directory, options = {}) {
51802
51801
  warnings.push("Failed to collect knowledge summary.");
51803
51802
  }
51804
51803
  try {
51805
- const { getScanStatus } = await import("./scan-cursor-a9y3qfj0.js");
51804
+ const { getScanStatus } = await import("./scan-cursor-s5wsxxd1.js");
51806
51805
  const scanStatus = await getScanStatus(directory);
51807
51806
  if (scanStatus.remaining_estimate > 0) {
51808
51807
  warnings.push(`Fair scan: reviewed ${knowledgeSummary.length} entries this sweep (generation ${scanStatus.generation}); ${scanStatus.remaining_estimate} more eligible entries will be visited in future curation sweeps.`);
@@ -51974,9 +51973,9 @@ var _internals56 = {
51974
51973
  verifyPostMortemKnowledgeActions,
51975
51974
  repairPostMortemActions,
51976
51975
  loadDefaultKnowledgeConfig: async (directory) => {
51977
- const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-dn0247wt.js");
51976
+ const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-smgngq9m.js");
51978
51977
  try {
51979
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-6xppxtfc.js");
51978
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-4a7j5f60.js");
51980
51979
  const loaded = loadPluginConfigWithMeta2(directory);
51981
51980
  return KnowledgeConfigSchema2.parse(loaded.config.knowledge ?? {});
51982
51981
  } catch {
@@ -51984,11 +51983,11 @@ var _internals56 = {
51984
51983
  }
51985
51984
  },
51986
51985
  applyCuratorKnowledgeUpdates: async (directory, recommendations, knowledgeConfig, generation) => {
51987
- const { applyCuratorKnowledgeUpdates: applyCuratorKnowledgeUpdates2 } = await import("./curator-q6f0e79e.js");
51986
+ const { applyCuratorKnowledgeUpdates: applyCuratorKnowledgeUpdates2 } = await import("./curator-dfzkfgs0.js");
51988
51987
  return applyCuratorKnowledgeUpdates2(directory, recommendations, knowledgeConfig, generation);
51989
51988
  },
51990
51989
  checkHivePromotions: async (entries2, knowledgeConfig, directory) => {
51991
- const { checkHivePromotions } = await import("./hive-promoter-z8r9xc9r.js");
51990
+ const { checkHivePromotions } = await import("./hive-promoter-2xax6van.js");
51992
51991
  return checkHivePromotions(entries2, knowledgeConfig, directory);
51993
51992
  },
51994
51993
  applyProposalTriage: async (directory, triage) => {
@@ -51997,7 +51996,7 @@ var _internals56 = {
51997
51996
  activateProposal,
51998
51997
  listSkills: listSkills2,
51999
51998
  sanitizeSlug
52000
- } = await import("./skill-generator-yr4dc37y.js");
51999
+ } = await import("./skill-generator-r4hsne71.js");
52001
52000
  const result = {
52002
52001
  approved: [],
52003
52002
  rejected: [],
@@ -52039,7 +52038,7 @@ var _internals56 = {
52039
52038
  return result;
52040
52039
  },
52041
52040
  readPriorDriftReports: async (directory) => {
52042
- const { readPriorDriftReports: readPriorDriftReports2 } = await import("./curator-drift-wyt8jf7r.js");
52041
+ const { readPriorDriftReports: readPriorDriftReports2 } = await import("./curator-drift-nts5atks.js");
52043
52042
  return readPriorDriftReports2(directory);
52044
52043
  },
52045
52044
  readSwarmKnowledge: (directory) => readKnowledge(resolveSwarmKnowledgePath(directory))
@@ -61842,9 +61841,9 @@ var _internals66 = {
61842
61841
  loadPluginConfigWithMeta,
61843
61842
  loadCuratorDeps: async () => {
61844
61843
  const [{ CuratorConfigSchema }, curator, { createCuratorLLMDelegate }] = await Promise.all([
61845
- import("./schema-dn0247wt.js"),
61846
- import("./curator-q6f0e79e.js"),
61847
- import("./curator-llm-factory-3b0jvvkd.js")
61844
+ import("./schema-smgngq9m.js"),
61845
+ import("./curator-dfzkfgs0.js"),
61846
+ import("./curator-llm-factory-nrn6n2p1.js")
61848
61847
  ]);
61849
61848
  return { CuratorConfigSchema, curator, createCuratorLLMDelegate };
61850
61849
  }
@@ -64282,7 +64281,7 @@ async function computeCurationDiagnostics(directory, entries2) {
64282
64281
  let scanCompleted = false;
64283
64282
  let scanRemaining = 0;
64284
64283
  try {
64285
- const { getScanStatus } = await import("./scan-cursor-a9y3qfj0.js");
64284
+ const { getScanStatus } = await import("./scan-cursor-s5wsxxd1.js");
64286
64285
  const status = await getScanStatus(directory);
64287
64286
  scanGeneration = status.generation;
64288
64287
  scanCompleted = status.completed;
@@ -64292,10 +64291,10 @@ async function computeCurationDiagnostics(directory, entries2) {
64292
64291
  try {
64293
64292
  const { isLinked: isLinked2 } = await import("./knowledge-link-h4pdcnya.js");
64294
64293
  if (isLinked2(directory)) {
64295
- const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-dn0247wt.js");
64294
+ const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-smgngq9m.js");
64296
64295
  let config;
64297
64296
  try {
64298
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-6xppxtfc.js");
64297
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-4a7j5f60.js");
64299
64298
  const loaded = loadPluginConfigWithMeta2(directory);
64300
64299
  config = KnowledgeConfigSchema2.parse(loaded.config.knowledge ?? {});
64301
64300
  } catch {
@@ -65751,7 +65750,7 @@ async function handleDoctorCommand(directory, args) {
65751
65750
  const result = runConfigDoctor(config, directory, planParallelizationEnabled);
65752
65751
  let output;
65753
65752
  if (enableAutoFix && result.hasAutoFixableIssues) {
65754
- const { runConfigDoctorWithFixes } = await import("./config-doctor-jd5yckkb.js");
65753
+ const { runConfigDoctorWithFixes } = await import("./config-doctor-0rexy3xt.js");
65755
65754
  const fixResult = await runConfigDoctorWithFixes(directory, config, true, {
65756
65755
  applyLossy: true
65757
65756
  });
@@ -65789,7 +65788,7 @@ async function handleDoctorCommand(directory, args) {
65789
65788
  `;
65790
65789
  }
65791
65790
  try {
65792
- const { runModelPreflight } = await import("./model-preflight-b9mbnymf.js");
65791
+ const { runModelPreflight } = await import("./model-preflight-e69b48n0.js");
65793
65792
  const preflight = await runModelPreflight(config, swarmState.opencodeClient, { generatedAgentNames: swarmState.generatedAgentNames });
65794
65793
  const missingSelection = preflight.resolutions.filter((resolution) => resolution.status === "missing-selection");
65795
65794
  const unresolved = preflight.catalogAvailable ? preflight.resolutions.filter((resolution) => resolution.status === "unresolved") : [];
@@ -65823,7 +65822,7 @@ async function handleDoctorCommand(directory, args) {
65823
65822
  }
65824
65823
  } catch {}
65825
65824
  try {
65826
- const { renderKnowledgeReceiptPhaseIdSection } = await import("./doctor-knowledge-receipt-phase-id-19qdy72k.js");
65825
+ const { renderKnowledgeReceiptPhaseIdSection } = await import("./doctor-knowledge-receipt-phase-id-ec40k5hn.js");
65827
65826
  output += await renderKnowledgeReceiptPhaseIdSection(directory, enableAutoFix);
65828
65827
  } catch {}
65829
65828
  const strayDirs = detectStraySwarmDirs(directory);
@@ -66720,7 +66719,7 @@ async function handleEvidenceCommand(directory, args) {
66720
66719
  return formatTaskEvidenceMarkdown(evidenceData);
66721
66720
  }
66722
66721
  async function handleEvidenceSummaryCommand(directory) {
66723
- const { buildEvidenceSummary } = await import("./evidence-summary-service-k5ztgaca.js");
66722
+ const { buildEvidenceSummary } = await import("./evidence-summary-service-vgtm72g5.js");
66724
66723
  const artifact = await buildEvidenceSummary(directory);
66725
66724
  if (!artifact) {
66726
66725
  return "No plan found. Run `/swarm plan` to check plan status.";
@@ -77047,6 +77046,7 @@ async function handleHarnessCandidateDiffCommand(directory, args, options = {})
77047
77046
  }
77048
77047
 
77049
77048
  // src/commands/harness-opt.ts
77049
+ init_loader();
77050
77050
  init_schema();
77051
77051
  import { existsSync as existsSync57, readFileSync as readFileSync52 } from "fs";
77052
77052
  import * as path104 from "path";
@@ -78151,20 +78151,15 @@ function emit2(result, json) {
78151
78151
  ${JSON.stringify(result, null, 2)}
78152
78152
  \`\`\``;
78153
78153
  }
78154
- function resolveHarnessOptConfig(block) {
78155
- const parsed = HarnessOptConfigSchema.safeParse(block ?? {});
78156
- return parsed.success ? parsed.data : { ...DEFAULT_HARNESS_OPT_CONFIG };
78157
- }
78158
78154
  function readHarnessOptConfigFromProject(directory) {
78159
78155
  try {
78160
- const cfgPath = path104.join(directory, "opencode.json");
78161
- if (!existsSync57(cfgPath))
78162
- return { ...DEFAULT_HARNESS_OPT_CONFIG };
78163
- const raw = JSON.parse(readFileSync52(cfgPath, "utf8"));
78164
- const block = raw?.harness_opt ?? raw?.swarm?.harness_opt;
78165
- return resolveHarnessOptConfig(block);
78156
+ const { config: pluginConfig } = loadPluginConfigWithMeta(directory);
78157
+ if (pluginConfig.harness_opt === undefined) {
78158
+ return { config: { ...DEFAULT_HARNESS_OPT_CONFIG }, blockPresent: false };
78159
+ }
78160
+ return { config: pluginConfig.harness_opt, blockPresent: true };
78166
78161
  } catch {
78167
- return { ...DEFAULT_HARNESS_OPT_CONFIG };
78162
+ return { config: { ...DEFAULT_HARNESS_OPT_CONFIG }, blockPresent: false };
78168
78163
  }
78169
78164
  }
78170
78165
  function loadTasksFile(directory, tasksFile) {
@@ -78252,13 +78247,14 @@ async function handleHarnessOptRun(directory, args, runtime = {}) {
78252
78247
  error: "pass --confirm to execute a governed round (a test split consumes the held-out set exactly once)"
78253
78248
  }, parsed.json);
78254
78249
  }
78255
- const config = runtime.config ?? readHarnessOptConfigFromProject(directory);
78256
- if (!config.enabled) {
78250
+ const resolved = runtime.config ? { config: runtime.config, blockPresent: true } : readHarnessOptConfigFromProject(directory);
78251
+ if (!resolved.config.enabled) {
78257
78252
  return emit2({
78258
78253
  status: "disabled",
78259
- error: "harness_opt.enabled is false \u2014 set to true to execute governed rounds (proposal-only by default)"
78254
+ error: resolved.blockPresent ? "harness_opt.enabled is false \u2014 set to true to execute governed rounds (proposal-only by default)" : "harness_opt block not found in .opencode/opencode-swarm.json (project) or the user-level config \u2014 set harness_opt.enabled: true there to execute governed rounds"
78260
78255
  }, parsed.json);
78261
78256
  }
78257
+ const config = resolved.config;
78262
78258
  const loaded = loadTasksFile(directory, parsed.tasksFile);
78263
78259
  if ("error" in loaded) {
78264
78260
  return emit2({ status: "error", error: loaded.error }, parsed.json);
@@ -78399,7 +78395,7 @@ async function handleHarnessOptCompare(directory, args, runtime = {}) {
78399
78395
  }, parsed.json);
78400
78396
  }
78401
78397
  const executor = buildRoundExecutor(runtime.dispatcher, runtime.parentSessionId);
78402
- const config = runtime.config ?? readHarnessOptConfigFromProject(directory);
78398
+ const config = (runtime.config ? { config: runtime.config } : readHarnessOptConfigFromProject(directory)).config;
78403
78399
  const comparative = await runComparativeProtocol({
78404
78400
  projectRoot: directory,
78405
78401
  tasks: loaded.tasks,
@@ -79764,7 +79760,7 @@ ${USAGE12}`;
79764
79760
  }
79765
79761
 
79766
79762
  // src/commands/knowledge.ts
79767
- import { join as join85 } from "path";
79763
+ import { join as join84 } from "path";
79768
79764
  init_schema();
79769
79765
 
79770
79766
  // src/hooks/knowledge-migrator.ts
@@ -80282,7 +80278,7 @@ async function handleKnowledgeRestoreCommand(directory, args) {
80282
80278
  }
80283
80279
  return `\u274C Entry ${fullId2} could not be unarchived${result.reason ? ` (${result.reason})` : ""}.`;
80284
80280
  }
80285
- const quarantinePath = join85(resolveKnowledgeStoreDir(directory), "knowledge-quarantined.jsonl");
80281
+ const quarantinePath = join84(resolveKnowledgeStoreDir(directory), "knowledge-quarantined.jsonl");
80286
80282
  const entries2 = await readKnowledge(quarantinePath);
80287
80283
  const resolved = resolveEntryByPrefix(entries2, inputId);
80288
80284
  if ("error" in resolved) {
@@ -91167,7 +91163,7 @@ function createCuratorLLMDelegate(directory, mode = "init", sessionId) {
91167
91163
  }
91168
91164
  const sdkOpts = signal ? { signal } : {};
91169
91165
  try {
91170
- const { getSwarmAgents: getSwarmAgents2, resolveFallbackModel: resolveFallbackModel2 } = await import("./index-bgv93ngx.js");
91166
+ const { getSwarmAgents: getSwarmAgents2, resolveFallbackModel: resolveFallbackModel2 } = await import("./index-3dx0c7ve.js");
91171
91167
  const createResult = await client.session.create({
91172
91168
  ...sessionId ? {
91173
91169
  body: {
@@ -93504,7 +93500,7 @@ async function cancelPrFeedbackLoopUnlocked(directory, sessionID, reason) {
93504
93500
  clearedEvents: []
93505
93501
  };
93506
93502
  try {
93507
- const { cancelPrFeedbackPublication: cancelPrFeedbackPublication2 } = await import("./pr-workflow-gate-a17sdc22.js");
93503
+ const { cancelPrFeedbackPublication: cancelPrFeedbackPublication2 } = await import("./pr-workflow-gate-pj7dhkv4.js");
93508
93504
  await cancelPrFeedbackPublication2(directory, sessionID, reason);
93509
93505
  } catch (err) {
93510
93506
  warn(`[pr-feedback-loop] cancelPrFeedbackPublication failed (fail-open): ${err instanceof Error ? err.message : String(err)}`);
@@ -106425,6 +106421,7 @@ Ensure this is a git repository with commit history.`;
106425
106421
  }
106426
106422
 
106427
106423
  // src/commands/skill-opt.ts
106424
+ init_loader();
106428
106425
  init_schema();
106429
106426
  import { copyFileSync as copyFileSync5, existsSync as existsSync82, mkdirSync as mkdirSync46, readFileSync as readFileSync71 } from "fs";
106430
106427
  import * as path149 from "path";
@@ -107515,13 +107512,6 @@ function validateIds(skillSlug, candidateId2, json) {
107515
107512
  }
107516
107513
  return null;
107517
107514
  }
107518
- function resolveSkillOptConfig(input) {
107519
- if (input === undefined || input === null || typeof input !== "object" || Array.isArray(input)) {
107520
- return { ...DEFAULT_SKILL_OPT_CONFIG };
107521
- }
107522
- const cfg = input;
107523
- return { ...DEFAULT_SKILL_OPT_CONFIG, ...cfg };
107524
- }
107525
107515
  function parseSkillOptArgs(args) {
107526
107516
  const json = args.includes("--json");
107527
107517
  const confirm = args.includes("--confirm");
@@ -107553,21 +107543,20 @@ ${JSON.stringify(result, null, 2)}
107553
107543
  }
107554
107544
  function readSkillOptConfigFromProject(directory) {
107555
107545
  try {
107556
- const cfgPath = path149.join(directory, "opencode.json");
107557
- if (!existsSync82(cfgPath))
107558
- return { ...DEFAULT_SKILL_OPT_CONFIG };
107559
- const raw = JSON.parse(readFileSync71(cfgPath, "utf8"));
107560
- const block = raw?.skill_opt ?? raw?.swarm?.skill_opt;
107561
- return resolveSkillOptConfig(block);
107546
+ const { config: pluginConfig } = loadPluginConfigWithMeta(directory);
107547
+ if (pluginConfig.skill_opt === undefined) {
107548
+ return { config: { ...DEFAULT_SKILL_OPT_CONFIG }, blockPresent: false };
107549
+ }
107550
+ return { config: pluginConfig.skill_opt, blockPresent: true };
107562
107551
  } catch {
107563
- return { ...DEFAULT_SKILL_OPT_CONFIG };
107552
+ return { config: { ...DEFAULT_SKILL_OPT_CONFIG }, blockPresent: false };
107564
107553
  }
107565
107554
  }
107566
107555
  async function handleSkillOptPlan(directory, args, runtime = {}) {
107567
107556
  const parsed = parseSkillOptArgs(args);
107568
107557
  if (!parsed.skillSlug)
107569
107558
  return emit3({ status: "error", error: "missing skill slug" }, parsed.json);
107570
- const config = runtime.config ?? readSkillOptConfigFromProject(directory);
107559
+ const config = (runtime.config ? { config: runtime.config } : readSkillOptConfigFromProject(directory)).config;
107571
107560
  const models = parsed.models.length > 0 ? parsed.models : ["default"];
107572
107561
  const result = await runOptimizationRound({
107573
107562
  directory,
@@ -107589,11 +107578,11 @@ async function handleSkillOptRun(directory, args, runtime = {}) {
107589
107578
  const parsed = parseSkillOptArgs(args);
107590
107579
  if (!parsed.skillSlug)
107591
107580
  return emit3({ status: "error", error: "missing skill slug" }, parsed.json);
107592
- const config = runtime.config ?? readSkillOptConfigFromProject(directory);
107593
- if (!config.enabled) {
107581
+ const resolved = runtime.config ? { config: runtime.config, blockPresent: true } : readSkillOptConfigFromProject(directory);
107582
+ if (!resolved.config.enabled) {
107594
107583
  return emit3({
107595
107584
  status: "disabled",
107596
- error: "skill_opt.enabled is false \u2014 set to true to execute rounds (proposal-only by default)"
107585
+ error: resolved.blockPresent ? "skill_opt.enabled is false \u2014 set to true to execute rounds (proposal-only by default)" : "skill_opt block not found in .opencode/opencode-swarm.json (project) or the user-level config \u2014 set skill_opt.enabled: true there to execute rounds"
107597
107586
  }, parsed.json);
107598
107587
  }
107599
107588
  if (!parsed.confirm) {
@@ -107602,6 +107591,7 @@ async function handleSkillOptRun(directory, args, runtime = {}) {
107602
107591
  error: "pass --confirm to execute a round (this consumes a held-out test set)"
107603
107592
  }, parsed.json);
107604
107593
  }
107594
+ const config = resolved.config;
107605
107595
  const models = parsed.models.length > 0 ? parsed.models : ["default"];
107606
107596
  const inputRoot = path149.join(directory, ".swarm", "evolution", "skills", "_eval-input");
107607
107597
  if (!existsSync82(inputRoot))
@@ -109898,7 +109888,7 @@ function buildDetailedHelp(commandName, entry) {
109898
109888
  async function handleHelpCommand(ctx) {
109899
109889
  const targetCommand = ctx.args.join(" ");
109900
109890
  if (!targetCommand) {
109901
- const { buildHelpText } = await import("./index-5kcjrkme.js");
109891
+ const { buildHelpText } = await import("./index-89f56ej4.js");
109902
109892
  return buildHelpText();
109903
109893
  }
109904
109894
  const tokens = targetCommand.split(/\s+/);
@@ -109912,7 +109902,7 @@ async function handleHelpCommand(ctx) {
109912
109902
  > Note: \`/swarm ${resolved.key}\` is a deprecated alias for \`/swarm ${aliasTarget}\`.` : detailed;
109913
109903
  }
109914
109904
  const similar = _internals27.findSimilarCommands(targetCommand);
109915
- const { buildHelpText: fullHelp } = await import("./index-5kcjrkme.js");
109905
+ const { buildHelpText: fullHelp } = await import("./index-89f56ej4.js");
109916
109906
  if (similar.length > 0) {
109917
109907
  return `Command '/swarm ${targetCommand}' not found.
109918
109908
 
@@ -110240,7 +110230,7 @@ var COMMAND_REGISTRY = {
110240
110230
  },
110241
110231
  "guardrail explain": {
110242
110232
  handler: async (ctx) => {
110243
- const { handleGuardrailExplain } = await import("./guardrail-explain-ewgj1gyw.js");
110233
+ const { handleGuardrailExplain } = await import("./guardrail-explain-9jmr8ezt.js");
110244
110234
  return handleGuardrailExplain(ctx.directory, ctx.args);
110245
110235
  },
110246
110236
  description: "Dry-run: show what the guardrails would do to a command or write target (executes nothing)",
@@ -110250,7 +110240,7 @@ var COMMAND_REGISTRY = {
110250
110240
  },
110251
110241
  "guardrail reset": {
110252
110242
  handler: async (ctx) => {
110253
- const { handleGuardrailReset } = await import("./guardrail-reset-qycc0pns.js");
110243
+ const { handleGuardrailReset } = await import("./guardrail-reset-ct00w300.js");
110254
110244
  return handleGuardrailReset(ctx.args, ctx.sessionID);
110255
110245
  },
110256
110246
  description: "Reset one exact active invocation/action circuit after repair",
@@ -110271,7 +110261,7 @@ var COMMAND_REGISTRY = {
110271
110261
  },
110272
110262
  "guardrail-log": {
110273
110263
  handler: async (ctx) => {
110274
- const { handleGuardrailLog } = await import("./guardrail-log-vp628cge.js");
110264
+ const { handleGuardrailLog } = await import("./guardrail-log-hc8fjm4x.js");
110275
110265
  return handleGuardrailLog(ctx.directory, ctx.args);
110276
110266
  },
110277
110267
  description: "Read the guardrail decision log (use --blocks-only for blocks)",
@@ -110330,6 +110320,7 @@ var COMMAND_REGISTRY = {
110330
110320
  },
110331
110321
  "skill-opt": {
110332
110322
  handler: (ctx) => handleSkillOptPlan(ctx.directory, ctx.args, {
110323
+ config: ctx.config?.skill_opt,
110333
110324
  dispatcher: ctx.evaluationModelDispatcher,
110334
110325
  parentSessionId: ctx.sessionID
110335
110326
  }),
@@ -110341,6 +110332,7 @@ var COMMAND_REGISTRY = {
110341
110332
  },
110342
110333
  "skill-opt plan": {
110343
110334
  handler: (ctx) => handleSkillOptPlan(ctx.directory, ctx.args, {
110335
+ config: ctx.config?.skill_opt,
110344
110336
  dispatcher: ctx.evaluationModelDispatcher,
110345
110337
  parentSessionId: ctx.sessionID
110346
110338
  }),
@@ -110352,6 +110344,7 @@ var COMMAND_REGISTRY = {
110352
110344
  },
110353
110345
  "skill-opt run": {
110354
110346
  handler: (ctx) => handleSkillOptRun(ctx.directory, ctx.args, {
110347
+ config: ctx.config?.skill_opt,
110355
110348
  dispatcher: ctx.evaluationModelDispatcher,
110356
110349
  parentSessionId: ctx.sessionID
110357
110350
  }),
@@ -110431,6 +110424,7 @@ var COMMAND_REGISTRY = {
110431
110424
  },
110432
110425
  "harness-opt run": {
110433
110426
  handler: (ctx) => handleHarnessOptRun(ctx.directory, ctx.args, {
110427
+ config: ctx.config?.harness_opt,
110434
110428
  dispatcher: ctx.evaluationModelDispatcher,
110435
110429
  parentSessionId: ctx.sessionID
110436
110430
  }),
@@ -110458,6 +110452,7 @@ var COMMAND_REGISTRY = {
110458
110452
  },
110459
110453
  "harness-opt compare": {
110460
110454
  handler: (ctx) => handleHarnessOptCompare(ctx.directory, ctx.args, {
110455
+ config: ctx.config?.harness_opt,
110461
110456
  dispatcher: ctx.evaluationModelDispatcher,
110462
110457
  parentSessionId: ctx.sessionID
110463
110458
  }),