opencode-swarm 7.181.0 → 7.181.1

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/{coder-settlement-pqrfkm9d.js → coder-settlement-ee8bmg83.js} +4 -4
  4. package/dist/cli/{config-doctor-bjqg57jr.js → config-doctor-mnmxzg86.js} +3 -3
  5. package/dist/cli/{core-3t3dzkrc.js → core-m9yymv84.js} +2 -2
  6. package/dist/cli/{curator-y8qr4xgh.js → curator-7nmwpcxy.js} +22 -22
  7. package/dist/cli/{curator-drift-gay4fx5j.js → curator-drift-q42fr0c9.js} +5 -5
  8. package/dist/cli/{curator-llm-factory-1wx0bd8k.js → curator-llm-factory-s1b2p162.js} +22 -22
  9. package/dist/cli/{evidence-summary-service-jeewwfpg.js → evidence-summary-service-m2b0mxmr.js} +9 -9
  10. package/dist/cli/{gate-evidence-ncnfxz7t.js → gate-evidence-4y2x85g4.js} +3 -3
  11. package/dist/cli/{guardrail-explain-cg9e3rr8.js → guardrail-explain-nvmf3y7j.js} +23 -23
  12. package/dist/cli/{guardrail-log-tjcnpwhv.js → guardrail-log-202rfw7b.js} +4 -4
  13. package/dist/cli/{guardrail-reset-ey81kcdq.js → guardrail-reset-7nt7z18b.js} +22 -22
  14. package/dist/cli/{hive-promoter-ghcynvfv.js → hive-promoter-segsykns.js} +22 -22
  15. package/dist/cli/{index-m31a2q35.js → index-3qhx9dx0.js} +63 -58
  16. package/dist/cli/{index-pb3vrqsf.js → index-4h54k8h3.js} +2 -2
  17. package/dist/cli/{index-06f6h0fv.js → index-908yea8v.js} +1 -1
  18. package/dist/cli/{index-t8hv63wy.js → index-9j5jjqks.js} +1 -1
  19. package/dist/cli/{index-ytxgr424.js → index-a7z6jygf.js} +2 -2
  20. package/dist/cli/{index-gez80bfr.js → index-b2zbak7v.js} +2 -2
  21. package/dist/cli/{index-0vvpe98m.js → index-basp4sxt.js} +1 -1
  22. package/dist/cli/{index-886rpw6w.js → index-cyyvc1cd.js} +1 -1
  23. package/dist/cli/{index-ge1w25n8.js → index-edb3sgxg.js} +2 -2
  24. package/dist/cli/{index-gm67qky7.js → index-g5wjasjn.js} +3 -3
  25. package/dist/cli/{index-rqm075jf.js → index-g9ax7jyf.js} +2 -2
  26. package/dist/cli/{index-s5ghg4kg.js → index-gqe4sm73.js} +1 -1
  27. package/dist/cli/{index-jzg3wrx6.js → index-gydvqmtg.js} +4 -4
  28. package/dist/cli/{index-jysjhvpv.js → index-hxe22tx3.js} +5 -5
  29. package/dist/cli/{index-t5gqdkqx.js → index-jqjdejqe.js} +2 -2
  30. package/dist/cli/{index-xq9gsfsc.js → index-kjstkfgh.js} +3 -3
  31. package/dist/cli/{index-mkpczxy7.js → index-na3br902.js} +22 -22
  32. package/dist/cli/{index-6aj0ej18.js → index-pee6ykkg.js} +1 -1
  33. package/dist/cli/{index-dn0wqvv2.js → index-q1prchye.js} +5 -5
  34. package/dist/cli/{index-n7syegpa.js → index-r6p6x0pb.js} +16 -7
  35. package/dist/cli/{index-pc3cw1xm.js → index-rw0wy2y7.js} +3 -3
  36. package/dist/cli/{index-1rcwsfwz.js → index-rxs0rrv1.js} +24 -24
  37. package/dist/cli/{index-m7havzy4.js → index-tczqm089.js} +1 -1
  38. package/dist/cli/{index-yet4r7kp.js → index-vs83acgx.js} +3 -3
  39. package/dist/cli/{index-w872yykk.js → index-y4zjbrqs.js} +4 -0
  40. package/dist/cli/{index-r1cnmq4j.js → index-yhx94xpr.js} +4 -4
  41. package/dist/cli/{index-wxjvb4vq.js → index-ztph1v9m.js} +1 -1
  42. package/dist/cli/index.js +23 -23
  43. package/dist/cli/{knowledge-escalator-jrkx2b6j.js → knowledge-escalator-r9chkas8.js} +7 -7
  44. package/dist/cli/{knowledge-events-bha1zpbk.js → knowledge-events-5j2n6age.js} +5 -5
  45. package/dist/cli/{knowledge-store-q438tkyd.js → knowledge-store-mybx9bmx.js} +1 -1
  46. package/dist/cli/{knowledge-validator-3nx18fst.js → knowledge-validator-v1sj9tv4.js} +2 -2
  47. package/dist/cli/{mcp-98693syb.js → mcp-7yx5230p.js} +1 -1
  48. package/dist/cli/{model-preflight-61xgqwcs.js → model-preflight-ckvv1arg.js} +1 -1
  49. package/dist/cli/{pending-delegations-nkpvtkz4.js → pending-delegations-amjfmc7t.js} +2 -2
  50. package/dist/cli/{pr-subscriptions-qrvhr6jw.js → pr-subscriptions-rctqs0gk.js} +1 -1
  51. package/dist/cli/{pr-workflow-gate-k44gdrqd.js → pr-workflow-gate-9he8ys4e.js} +22 -22
  52. package/dist/cli/{scan-cursor-qjdn8kv6.js → scan-cursor-pxqkphrh.js} +2 -2
  53. package/dist/cli/{schema-pyax2tq7.js → schema-n8pk3f80.js} +2 -2
  54. package/dist/cli/{scope-persistence-dyc17kze.js → scope-persistence-p992x2yd.js} +6 -6
  55. package/dist/cli/{server-bmzj5vt2.js → server-ywrd2q6z.js} +22 -22
  56. package/dist/cli/{skill-generator-mp29bht6.js → skill-generator-cdppktqx.js} +8 -8
  57. package/dist/cli/{snapshot-coordination-init-azkzphpy.js → snapshot-coordination-init-z42ev5g9.js} +22 -22
  58. package/dist/cli/{speckit-checkoff-1cqfakw2.js → speckit-checkoff-6ynv46bn.js} +4 -4
  59. package/dist/cli/{worktree-collision-ownership-58sab2m6.js → worktree-collision-ownership-65971p3m.js} +2 -2
  60. package/dist/cli/{worktree-isolation-9egt1ccv.js → worktree-isolation-xf7dfc46.js} +22 -22
  61. package/dist/gate-evidence.d.ts +21 -0
  62. package/dist/index.js +31 -31
  63. package/dist/tools/index.d.ts +1 -0
  64. package/dist/tools/manifest.d.ts +1 -0
  65. package/dist/tools/recover-rework-task.d.ts +5 -0
  66. package/dist/tools/tool-metadata.d.ts +4 -0
  67. package/dist/workflow/rework-recovery.d.ts +38 -0
  68. package/dist/workflow/stage-a-repair.d.ts +42 -0
  69. package/package.json +1 -1
@@ -8,7 +8,7 @@ import {
8
8
  protectedRoots,
9
9
  redactDecisionLineForArchive,
10
10
  stableCanonicalStringify
11
- } from "./index-t5gqdkqx.js";
11
+ } from "./index-jqjdejqe.js";
12
12
  import {
13
13
  LANGUAGE_REGISTRY,
14
14
  _internals as _internals3,
@@ -40,7 +40,7 @@ import {
40
40
  readDoctorArtifact,
41
41
  removeStraySwarmDir,
42
42
  runConfigDoctor
43
- } from "./index-gez80bfr.js";
43
+ } from "./index-b2zbak7v.js";
44
44
  import {
45
45
  MAX_TRANSIENT_RETRIES,
46
46
  archiveEvidence,
@@ -77,7 +77,7 @@ import {
77
77
  updateTaskStatus,
78
78
  validateProjectRoot,
79
79
  withPlanLifecycleLock
80
- } from "./index-dn0wqvv2.js";
80
+ } from "./index-q1prchye.js";
81
81
  import {
82
82
  EvaluationTaskV1Schema,
83
83
  GateAuditManifestV1Schema,
@@ -114,7 +114,7 @@ import {
114
114
  resolveSpeckitProjection,
115
115
  validateSpeckit,
116
116
  writeProjectedSpecSync
117
- } from "./index-m7havzy4.js";
117
+ } from "./index-tczqm089.js";
118
118
  import {
119
119
  containsControlChars,
120
120
  containsPathTraversal,
@@ -142,15 +142,15 @@ import {
142
142
  retireSkill,
143
143
  selectCandidateEntries,
144
144
  syncBundledProjectSkillsIfMissingAsync
145
- } from "./index-yet4r7kp.js";
145
+ } from "./index-vs83acgx.js";
146
146
  import {
147
147
  readRecentEscalations
148
- } from "./index-jysjhvpv.js";
148
+ } from "./index-hxe22tx3.js";
149
149
  import {
150
150
  alreadyCuratedThisGeneration,
151
151
  claimNextScanBatch,
152
152
  resolveCohortId
153
- } from "./index-886rpw6w.js";
153
+ } from "./index-cyyvc1cd.js";
154
154
  import {
155
155
  CURATOR_CONSOLIDATION_PROMPT,
156
156
  CURATOR_INIT_PROMPT,
@@ -182,7 +182,7 @@ import {
182
182
  listCoderSettlementWalStates,
183
183
  recoverCoderSettlement,
184
184
  recoverStaleCoderSettlements
185
- } from "./index-xq9gsfsc.js";
185
+ } from "./index-kjstkfgh.js";
186
186
  import {
187
187
  parsePorcelainV2Snapshot,
188
188
  resolveCommitCountSince,
@@ -253,7 +253,7 @@ import {
253
253
  transitionTaskWorkflowEvidence,
254
254
  withTaskEvidenceTransaction,
255
255
  writeWorkflowWalFile
256
- } from "./index-n7syegpa.js";
256
+ } from "./index-r6p6x0pb.js";
257
257
  import {
258
258
  isPathUnderSwarmWorktreeBase,
259
259
  listLiveLaneOwners,
@@ -262,7 +262,7 @@ import {
262
262
  recordLiveLaneOwner,
263
263
  removeWorktree,
264
264
  resolveWorktreeBaseDir
265
- } from "./index-ytxgr424.js";
265
+ } from "./index-a7z6jygf.js";
266
266
  import {
267
267
  DEFAULT_STALE_DELEGATION_TIMEOUT_MS,
268
268
  DELEGATION_COMPACTION_HIGH_WATER_BYTES,
@@ -296,7 +296,7 @@ import {
296
296
  scanBackgroundCoderReservationsForAdmission,
297
297
  scanDelegationsForRecovery,
298
298
  sweepStaleDelegations
299
- } from "./index-t8hv63wy.js";
299
+ } from "./index-9j5jjqks.js";
300
300
  import {
301
301
  MAX_EVENT_LOG_ENTRIES,
302
302
  _internals,
@@ -312,7 +312,7 @@ import {
312
312
  recordKnowledgeEvent,
313
313
  recordPhaseCloseIntent,
314
314
  resolveKnowledgeEventsPath
315
- } from "./index-gm67qky7.js";
315
+ } from "./index-g5wjasjn.js";
316
316
  import {
317
317
  estimateTokens,
318
318
  readSwarmFileAsync,
@@ -338,7 +338,7 @@ import {
338
338
  validateActionableFields,
339
339
  validateLesson,
340
340
  validateSkillPath
341
- } from "./index-s5ghg4kg.js";
341
+ } from "./index-gqe4sm73.js";
342
342
  import {
343
343
  MAX_CURATION_PROPOSALS,
344
344
  authorizeCuration,
@@ -349,7 +349,7 @@ import {
349
349
  } from "./index-rtry5xyf.js";
350
350
  import {
351
351
  resolveWorktreeIsolationConfig
352
- } from "./index-pc3cw1xm.js";
352
+ } from "./index-rw0wy2y7.js";
353
353
  import {
354
354
  RetrospectiveEvidenceSchema
355
355
  } from "./index-frcemc0b.js";
@@ -361,7 +361,7 @@ import {
361
361
  clearScopeBindings,
362
362
  readAuthoritativeScopeBindingSet,
363
363
  readDeclaredScopeFilesFromBindings
364
- } from "./index-6aj0ej18.js";
364
+ } from "./index-pee6ykkg.js";
365
365
  import {
366
366
  clearPlanLedgerForReset,
367
367
  computePlanStructureHash,
@@ -377,7 +377,7 @@ import {
377
377
  replayFromLedgerWithStatus,
378
378
  resolvePlanningProfile,
379
379
  takeSnapshotEvent
380
- } from "./index-ge1w25n8.js";
380
+ } from "./index-edb3sgxg.js";
381
381
  import {
382
382
  CORE_EVENT_LOCKED,
383
383
  appendCoreEventSync,
@@ -461,7 +461,7 @@ import {
461
461
  transactFile,
462
462
  transactKnowledge,
463
463
  wordBigrams
464
- } from "./index-r1cnmq4j.js";
464
+ } from "./index-yhx94xpr.js";
465
465
  import {
466
466
  readTailJsonl,
467
467
  readTailJsonlDetailed,
@@ -537,7 +537,7 @@ import {
537
537
  loadGateOverrides,
538
538
  loadPluginConfig,
539
539
  loadPluginConfigWithMeta
540
- } from "./index-0vvpe98m.js";
540
+ } from "./index-basp4sxt.js";
541
541
  import {
542
542
  addDeferredWarning,
543
543
  advisoryWarn,
@@ -566,7 +566,7 @@ import {
566
566
  resolveAutoReviewConfig,
567
567
  resolveGeneratedAgentRole,
568
568
  stripKnownSwarmPrefix
569
- } from "./index-rqm075jf.js";
569
+ } from "./index-g9ax7jyf.js";
570
570
  import {
571
571
  AGENT_TOOL_MAP,
572
572
  ALL_AGENT_NAMES,
@@ -589,7 +589,7 @@ import {
589
589
  init_agent_names,
590
590
  init_constants,
591
591
  init_tool_metadata
592
- } from "./index-w872yykk.js";
592
+ } from "./index-y4zjbrqs.js";
593
593
  import {
594
594
  KNOWLEDGE_SCHEMA_VERSION,
595
595
  OUTCOME_BLOCK_THRESHOLD,
@@ -3260,7 +3260,7 @@ async function importLegacyPrWorkflowGateStateIfNeeded(directory, sessionID, all
3260
3260
  return null;
3261
3261
  throw error2;
3262
3262
  }
3263
- const legacy = allowSalvagedImport ? (await (await import("./pr-workflow-gate-k44gdrqd.js")).readPrWorkflowGateStateForRecovery(directory, sessionID))?.state ?? null : await readPrWorkflowGateStateFileFromDisk(filePath, sessionID);
3263
+ const legacy = allowSalvagedImport ? (await (await import("./pr-workflow-gate-9he8ys4e.js")).readPrWorkflowGateStateForRecovery(directory, sessionID))?.state ?? null : await readPrWorkflowGateStateFileFromDisk(filePath, sessionID);
3264
3264
  if (!legacy)
3265
3265
  return null;
3266
3266
  const namespace = workflowGateStateCoordinationNamespace(sessionID);
@@ -3347,7 +3347,7 @@ async function deleteStateWhileLocked(directory, sessionID, options = {}) {
3347
3347
  let recoveryState = null;
3348
3348
  if (!currentAuthoritative) {
3349
3349
  if (options.allowSalvagedRead) {
3350
- const { readPrWorkflowGateStateForRecovery } = await import("./pr-workflow-gate-k44gdrqd.js");
3350
+ const { readPrWorkflowGateStateForRecovery } = await import("./pr-workflow-gate-9he8ys4e.js");
3351
3351
  recoveryState = (await readPrWorkflowGateStateForRecovery(directory, normalizedSessionID))?.state ?? null;
3352
3352
  }
3353
3353
  if (!recoveryState) {
@@ -14494,7 +14494,7 @@ function isLaneOwnedByCurrentSession(branchName, expectedSessionId) {
14494
14494
  return extracted === expectedSessionId;
14495
14495
  }
14496
14496
  async function inspectStandardWorktreeCollisionOwnership(identity) {
14497
- const collisionOwnership = await import("./worktree-collision-ownership-58sab2m6.js");
14497
+ const collisionOwnership = await import("./worktree-collision-ownership-65971p3m.js");
14498
14498
  return collisionOwnership.inspectStandardWorktreeCollisionOwnership(identity);
14499
14499
  }
14500
14500
  async function runRecoveryGit(directory, args, timeoutMs = 15000) {
@@ -14920,7 +14920,7 @@ async function precreateStandardWorktreeSession(args) {
14920
14920
  const laneProfile = computeLaneRuntimeProfile(worktreeConfig.runtime_isolation, laneIndex, handle.worktreePath);
14921
14921
  if (laneProfile) {
14922
14922
  try {
14923
- const { writeLaneProfileToDiskReal } = await import("./core-3t3dzkrc.js");
14923
+ const { writeLaneProfileToDiskReal } = await import("./core-m9yymv84.js");
14924
14924
  await writeLaneProfileToDiskReal(handle.worktreePath, laneProfile.laneIndex, laneProfile.envOverrides);
14925
14925
  } catch {}
14926
14926
  }
@@ -15899,7 +15899,7 @@ async function finishStandardWorktreeDispatch(directory, dispatch, config, callI
15899
15899
  }
15900
15900
  clearWorktreeMergeStatus(statusKey);
15901
15901
  try {
15902
- const { removeLaneProfileFromDiskReal } = await import("./core-3t3dzkrc.js");
15902
+ const { removeLaneProfileFromDiskReal } = await import("./core-m9yymv84.js");
15903
15903
  await removeLaneProfileFromDiskReal(dispatch.handle.worktreePath, dispatch.laneIndex);
15904
15904
  } catch {}
15905
15905
  const state = serializationStateBySessionID.get(dispatch.parentSessionID);
@@ -22842,7 +22842,7 @@ function getDisplayFinalPromptPressure() {
22842
22842
  async function rehydratePrSubscriptions(sessionID, directory) {
22843
22843
  const map = new Map;
22844
22844
  try {
22845
- const { listActive: listActive2 } = await import("./pr-subscriptions-qrvhr6jw.js");
22845
+ const { listActive: listActive2 } = await import("./pr-subscriptions-rctqs0gk.js");
22846
22846
  const records = await listActive2(directory);
22847
22847
  for (const record of records) {
22848
22848
  if (record.sessionID !== sessionID)
@@ -39786,9 +39786,9 @@ function hashContent(content) {
39786
39786
  return createHash24("sha1").update(content).digest("hex");
39787
39787
  }
39788
39788
  async function loadConfigForPolicyCurator(directory) {
39789
- const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-pyax2tq7.js");
39789
+ const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-n8pk3f80.js");
39790
39790
  try {
39791
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-jzg3wrx6.js");
39791
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-gydvqmtg.js");
39792
39792
  const { config: loadedConfig } = loadPluginConfigWithMeta2(directory);
39793
39793
  return KnowledgeConfigSchema2.parse(loadedConfig.knowledge ?? {});
39794
39794
  } catch {
@@ -42846,7 +42846,7 @@ async function resolveCuratorLLMDelegate(directory, mode, sessionId) {
42846
42846
  const seam = _internals36.createCuratorLLMDelegate;
42847
42847
  if (seam)
42848
42848
  return seam(directory, mode, sessionId);
42849
- const { createCuratorLLMDelegate } = await import("./curator-llm-factory-1wx0bd8k.js");
42849
+ const { createCuratorLLMDelegate } = await import("./curator-llm-factory-s1b2p162.js");
42850
42850
  return createCuratorLLMDelegate(directory, mode, sessionId);
42851
42851
  }
42852
42852
  async function reconcileCloseTerminalStateForPlan(directory, targetPlan, options) {
@@ -43241,7 +43241,7 @@ async function runFinalizeStage(ctx) {
43241
43241
  }
43242
43242
  }
43243
43243
  try {
43244
- const { CuratorConfigSchema: CCS } = await import("./schema-pyax2tq7.js");
43244
+ const { CuratorConfigSchema: CCS } = await import("./schema-n8pk3f80.js");
43245
43245
  const { config: pmLoadedConfig } = _internals36.loadPluginConfigWithMeta(ctx.directory);
43246
43246
  const curatorCfg = CCS.parse(pmLoadedConfig.curator ?? {});
43247
43247
  if (curatorCfg.enabled && curatorCfg.postmortem_enabled) {
@@ -45353,7 +45353,7 @@ function serializeAgentSession(s) {
45353
45353
  }
45354
45354
  async function writeSnapshot(directory, state) {
45355
45355
  try {
45356
- const { ensureSnapshotCoordinationReady } = await import("./snapshot-coordination-init-azkzphpy.js");
45356
+ const { ensureSnapshotCoordinationReady } = await import("./snapshot-coordination-init-z42ev5g9.js");
45357
45357
  await ensureSnapshotCoordinationReady(directory);
45358
45358
  const snapshot = {
45359
45359
  version: 3,
@@ -48370,7 +48370,7 @@ function planMerges(active, threshold, maxComparisons, maxMerges) {
48370
48370
  };
48371
48371
  }
48372
48372
  async function sweepActiveNearDuplicates(directory, options = {}) {
48373
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-jzg3wrx6.js");
48373
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-gydvqmtg.js");
48374
48374
  const { config } = loadPluginConfigWithMeta2(directory);
48375
48375
  const sweepConfig = config.learning?.dedup_sweep;
48376
48376
  if (sweepConfig?.enabled === false)
@@ -49494,7 +49494,7 @@ async function runCuratorPhase(directory, phase, agentsDispatched, config, knowl
49494
49494
  }
49495
49495
  if (config.skill_generation_enabled === true && skillCandidates.length > 0) {
49496
49496
  try {
49497
- const skillModule = await import("./skill-generator-mp29bht6.js");
49497
+ const skillModule = await import("./skill-generator-cdppktqx.js");
49498
49498
  for (const cand of skillCandidates) {
49499
49499
  if (cand.confidence < (config.min_skill_confidence ?? DEFAULT_SKILL_MIN_CONFIDENCE)) {
49500
49500
  continue;
@@ -49966,7 +49966,7 @@ async function applyCuratorKnowledgeUpdates(directory, recommendations, knowledg
49966
49966
  } catch {}
49967
49967
  }
49968
49968
  if (contradictedEntries.length > 0 && knowledgeConfig.contradiction_threshold_action === "quarantine") {
49969
- const { maybeQuarantineOnContradiction } = await import("./knowledge-escalator-jrkx2b6j.js");
49969
+ const { maybeQuarantineOnContradiction } = await import("./knowledge-escalator-r9chkas8.js");
49970
49970
  for (const { id } of contradictedEntries) {
49971
49971
  try {
49972
49972
  await maybeQuarantineOnContradiction(directory, id, knowledgeConfig.contradiction_quarantine_threshold, knowledgeConfig.contradiction_quarantine_window_days);
@@ -50798,7 +50798,7 @@ async function runCuratorPostMortem(directory, options = {}) {
50798
50798
  warnings.push("Failed to collect knowledge summary.");
50799
50799
  }
50800
50800
  try {
50801
- const { getScanStatus } = await import("./scan-cursor-qjdn8kv6.js");
50801
+ const { getScanStatus } = await import("./scan-cursor-pxqkphrh.js");
50802
50802
  const scanStatus = await getScanStatus(directory);
50803
50803
  if (scanStatus.remaining_estimate > 0) {
50804
50804
  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.`);
@@ -50970,9 +50970,9 @@ var _internals54 = {
50970
50970
  verifyPostMortemKnowledgeActions,
50971
50971
  repairPostMortemActions,
50972
50972
  loadDefaultKnowledgeConfig: async (directory) => {
50973
- const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-pyax2tq7.js");
50973
+ const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-n8pk3f80.js");
50974
50974
  try {
50975
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-jzg3wrx6.js");
50975
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-gydvqmtg.js");
50976
50976
  const loaded = loadPluginConfigWithMeta2(directory);
50977
50977
  return KnowledgeConfigSchema2.parse(loaded.config.knowledge ?? {});
50978
50978
  } catch {
@@ -50980,11 +50980,11 @@ var _internals54 = {
50980
50980
  }
50981
50981
  },
50982
50982
  applyCuratorKnowledgeUpdates: async (directory, recommendations, knowledgeConfig, generation) => {
50983
- const { applyCuratorKnowledgeUpdates: applyCuratorKnowledgeUpdates2 } = await import("./curator-y8qr4xgh.js");
50983
+ const { applyCuratorKnowledgeUpdates: applyCuratorKnowledgeUpdates2 } = await import("./curator-7nmwpcxy.js");
50984
50984
  return applyCuratorKnowledgeUpdates2(directory, recommendations, knowledgeConfig, generation);
50985
50985
  },
50986
50986
  checkHivePromotions: async (entries2, knowledgeConfig, directory) => {
50987
- const { checkHivePromotions } = await import("./hive-promoter-ghcynvfv.js");
50987
+ const { checkHivePromotions } = await import("./hive-promoter-segsykns.js");
50988
50988
  return checkHivePromotions(entries2, knowledgeConfig, directory);
50989
50989
  },
50990
50990
  applyProposalTriage: async (directory, triage) => {
@@ -50993,7 +50993,7 @@ var _internals54 = {
50993
50993
  activateProposal,
50994
50994
  listSkills: listSkills2,
50995
50995
  sanitizeSlug
50996
- } = await import("./skill-generator-mp29bht6.js");
50996
+ } = await import("./skill-generator-cdppktqx.js");
50997
50997
  const result = {
50998
50998
  approved: [],
50999
50999
  rejected: [],
@@ -51035,7 +51035,7 @@ var _internals54 = {
51035
51035
  return result;
51036
51036
  },
51037
51037
  readPriorDriftReports: async (directory) => {
51038
- const { readPriorDriftReports } = await import("./curator-drift-gay4fx5j.js");
51038
+ const { readPriorDriftReports } = await import("./curator-drift-q42fr0c9.js");
51039
51039
  return readPriorDriftReports(directory);
51040
51040
  },
51041
51041
  readSwarmKnowledge: (directory) => readKnowledge(resolveSwarmKnowledgePath(directory))
@@ -60831,9 +60831,9 @@ var _internals64 = {
60831
60831
  loadPluginConfigWithMeta,
60832
60832
  loadCuratorDeps: async () => {
60833
60833
  const [{ CuratorConfigSchema }, curator, { createCuratorLLMDelegate }] = await Promise.all([
60834
- import("./schema-pyax2tq7.js"),
60835
- import("./curator-y8qr4xgh.js"),
60836
- import("./curator-llm-factory-1wx0bd8k.js")
60834
+ import("./schema-n8pk3f80.js"),
60835
+ import("./curator-7nmwpcxy.js"),
60836
+ import("./curator-llm-factory-s1b2p162.js")
60837
60837
  ]);
60838
60838
  return { CuratorConfigSchema, curator, createCuratorLLMDelegate };
60839
60839
  }
@@ -62641,8 +62641,10 @@ async function appendStageARepairEvent(directory, payload) {
62641
62641
  timestamp: new Date().toISOString(),
62642
62642
  ...payload
62643
62643
  });
62644
+ return true;
62644
62645
  } catch (error2) {
62645
62646
  criticalWarn(`[stage-a-repair] audit event write failed: ${error2 instanceof Error ? error2.message : String(error2)}`);
62647
+ return false;
62646
62648
  }
62647
62649
  }
62648
62650
  async function hasGreenPostSettlementPreCheck(directory, settledAfterMs) {
@@ -63165,7 +63167,7 @@ async function computeCurationDiagnostics(directory, entries2) {
63165
63167
  let scanCompleted = false;
63166
63168
  let scanRemaining = 0;
63167
63169
  try {
63168
- const { getScanStatus } = await import("./scan-cursor-qjdn8kv6.js");
63170
+ const { getScanStatus } = await import("./scan-cursor-pxqkphrh.js");
63169
63171
  const status = await getScanStatus(directory);
63170
63172
  scanGeneration = status.generation;
63171
63173
  scanCompleted = status.completed;
@@ -63175,10 +63177,10 @@ async function computeCurationDiagnostics(directory, entries2) {
63175
63177
  try {
63176
63178
  const { isLinked: isLinked2 } = await import("./knowledge-link-s2qs178z.js");
63177
63179
  if (isLinked2(directory)) {
63178
- const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-pyax2tq7.js");
63180
+ const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-n8pk3f80.js");
63179
63181
  let config;
63180
63182
  try {
63181
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-jzg3wrx6.js");
63183
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-gydvqmtg.js");
63182
63184
  const loaded = loadPluginConfigWithMeta2(directory);
63183
63185
  config = KnowledgeConfigSchema2.parse(loaded.config.knowledge ?? {});
63184
63186
  } catch {
@@ -64621,7 +64623,7 @@ async function handleDoctorCommand(directory, args) {
64621
64623
  const result = runConfigDoctor(config, directory);
64622
64624
  let output;
64623
64625
  if (enableAutoFix && result.hasAutoFixableIssues) {
64624
- const { runConfigDoctorWithFixes } = await import("./config-doctor-bjqg57jr.js");
64626
+ const { runConfigDoctorWithFixes } = await import("./config-doctor-mnmxzg86.js");
64625
64627
  const fixResult = await runConfigDoctorWithFixes(directory, config, true, {
64626
64628
  applyLossy: true
64627
64629
  });
@@ -64659,7 +64661,7 @@ async function handleDoctorCommand(directory, args) {
64659
64661
  `;
64660
64662
  }
64661
64663
  try {
64662
- const { runModelPreflight } = await import("./model-preflight-61xgqwcs.js");
64664
+ const { runModelPreflight } = await import("./model-preflight-ckvv1arg.js");
64663
64665
  const preflight = await runModelPreflight(config, swarmState.opencodeClient);
64664
64666
  if (preflight.catalogAvailable) {
64665
64667
  const unresolved = preflight.resolutions.filter((resolution) => resolution.status === "unresolved");
@@ -65575,7 +65577,7 @@ async function handleEvidenceCommand(directory, args) {
65575
65577
  return formatTaskEvidenceMarkdown(evidenceData);
65576
65578
  }
65577
65579
  async function handleEvidenceSummaryCommand(directory) {
65578
- const { buildEvidenceSummary } = await import("./evidence-summary-service-jeewwfpg.js");
65580
+ const { buildEvidenceSummary } = await import("./evidence-summary-service-m2b0mxmr.js");
65579
65581
  const artifact = await buildEvidenceSummary(directory);
65580
65582
  if (!artifact) {
65581
65583
  return "No plan found. Run `/swarm plan` to check plan status.";
@@ -87467,7 +87469,7 @@ function createCuratorLLMDelegate(directory, mode = "init", sessionId) {
87467
87469
  }
87468
87470
  const sdkOpts = signal ? { signal } : {};
87469
87471
  try {
87470
- const { getSwarmAgents: getSwarmAgents2, resolveFallbackModel: resolveFallbackModel2 } = await import("./index-mkpczxy7.js");
87472
+ const { getSwarmAgents: getSwarmAgents2, resolveFallbackModel: resolveFallbackModel2 } = await import("./index-na3br902.js");
87471
87473
  const createResult = await client.session.create({
87472
87474
  ...sessionId ? {
87473
87475
  body: {
@@ -88209,7 +88211,7 @@ async function cancelPrFeedbackLoop(directory, sessionID, reason) {
88209
88211
  clearedEvents: []
88210
88212
  };
88211
88213
  try {
88212
- const { cancelPrFeedbackPublication: cancelPrFeedbackPublication2 } = await import("./pr-workflow-gate-k44gdrqd.js");
88214
+ const { cancelPrFeedbackPublication: cancelPrFeedbackPublication2 } = await import("./pr-workflow-gate-9he8ys4e.js");
88213
88215
  await cancelPrFeedbackPublication2(directory, sessionID, reason);
88214
88216
  } catch (err) {
88215
88217
  warn(`[pr-feedback-loop] cancelPrFeedbackPublication failed (fail-open): ${err instanceof Error ? err.message : String(err)}`);
@@ -96519,6 +96521,9 @@ function renderStageARepairOutcome(outcome) {
96519
96521
  case "repaired":
96520
96522
  return `\u2705 Task ${outcome.taskId}: Stage A repaired \u2014 stage_a_passed written at generation ${outcome.generation} without re-running the coder`;
96521
96523
  case "skipped_not_wedged":
96524
+ if (outcome.state === "rework_required") {
96525
+ return `\u23ED\uFE0F Task ${outcome.taskId}: workflow state is rework_required \u2014 not a coder_delegated Stage A wedge, nothing to repair here. If the Stage B verdict did not require a code change, have the architect run the recover_rework_task tool for this task; otherwise delegate the coder to repair first.`;
96526
+ }
96522
96527
  return `\u23ED\uFE0F Task ${outcome.taskId}: workflow state is ${outcome.state} with pre_check proof present or not settled \u2014 nothing to repair`;
96523
96528
  case "skipped_not_green":
96524
96529
  return `\u23ED\uFE0F Task ${outcome.taskId}: no green post-settlement pre-check evidence (${outcome.reason === "no_pre_check_bundles" ? "missing or non-green secretscan/SAST bundle \u2014 run pre_check_batch first" : "latest pre-check run failed or predates the settlement"}) \u2014 refusing to mark Stage A passed without proof`;
@@ -98410,7 +98415,7 @@ async function handleResetSessionCommand(directory, args, sessionID) {
98410
98415
  "",
98411
98416
  "Session state cleared. Plan, evidence, and knowledge preserved.",
98412
98417
  "",
98413
- "In-memory circuit breakers and revision limits have been cleared. " + "Durable per-task retry gates (the coder retry circuit breaker, bound " + "to commit settlement in the events audit log and .swarm/evidence/) " + "intentionally survive this reset. If a task is blocked with " + "TASK_RETRY_CRITIC_REQUIRED waiting for a critic_sounding_board " + "APPROVED verdict that was already obtained, have the architect " + "record it with the approve_retry_sounding_board tool."
98418
+ "In-memory circuit breakers and revision limits have been cleared. " + "Durable per-task retry gates (the coder retry circuit breaker, bound " + "to commit settlement in the events audit log and .swarm/evidence/) " + "intentionally survive this reset. If a task is blocked with " + "TASK_RETRY_CRITIC_REQUIRED waiting for a critic_sounding_board " + "APPROVED verdict that was already obtained, have the architect " + "record it with the approve_retry_sounding_board tool. A task left " + "at rework_required also survives this reset; when the Stage B " + "verdict did not require a code change, the architect can exit it " + "with the recover_rework_task tool (issue #2755)."
98414
98419
  ].join(`
98415
98420
  `);
98416
98421
  }
@@ -104838,7 +104843,7 @@ function buildDetailedHelp(commandName, entry) {
104838
104843
  async function handleHelpCommand(ctx) {
104839
104844
  const targetCommand = ctx.args.join(" ");
104840
104845
  if (!targetCommand) {
104841
- const { buildHelpText } = await import("./index-1rcwsfwz.js");
104846
+ const { buildHelpText } = await import("./index-rxs0rrv1.js");
104842
104847
  return buildHelpText();
104843
104848
  }
104844
104849
  const tokens = targetCommand.split(/\s+/);
@@ -104852,7 +104857,7 @@ async function handleHelpCommand(ctx) {
104852
104857
  > Note: \`/swarm ${resolved.key}\` is a deprecated alias for \`/swarm ${aliasTarget}\`.` : detailed;
104853
104858
  }
104854
104859
  const similar = _internals24.findSimilarCommands(targetCommand);
104855
- const { buildHelpText: fullHelp } = await import("./index-1rcwsfwz.js");
104860
+ const { buildHelpText: fullHelp } = await import("./index-rxs0rrv1.js");
104856
104861
  if (similar.length > 0) {
104857
104862
  return `Command '/swarm ${targetCommand}' not found.
104858
104863
 
@@ -105167,7 +105172,7 @@ var COMMAND_REGISTRY = {
105167
105172
  },
105168
105173
  "guardrail explain": {
105169
105174
  handler: async (ctx) => {
105170
- const { handleGuardrailExplain } = await import("./guardrail-explain-cg9e3rr8.js");
105175
+ const { handleGuardrailExplain } = await import("./guardrail-explain-nvmf3y7j.js");
105171
105176
  return handleGuardrailExplain(ctx.directory, ctx.args);
105172
105177
  },
105173
105178
  description: "Dry-run: show what the guardrails would do to a command or write target (executes nothing)",
@@ -105177,7 +105182,7 @@ var COMMAND_REGISTRY = {
105177
105182
  },
105178
105183
  "guardrail reset": {
105179
105184
  handler: async (ctx) => {
105180
- const { handleGuardrailReset } = await import("./guardrail-reset-ey81kcdq.js");
105185
+ const { handleGuardrailReset } = await import("./guardrail-reset-7nt7z18b.js");
105181
105186
  return handleGuardrailReset(ctx.args, ctx.sessionID);
105182
105187
  },
105183
105188
  description: "Reset one exact active invocation/action circuit after repair",
@@ -105198,7 +105203,7 @@ var COMMAND_REGISTRY = {
105198
105203
  },
105199
105204
  "guardrail-log": {
105200
105205
  handler: async (ctx) => {
105201
- const { handleGuardrailLog } = await import("./guardrail-log-tjcnpwhv.js");
105206
+ const { handleGuardrailLog } = await import("./guardrail-log-202rfw7b.js");
105202
105207
  return handleGuardrailLog(ctx.directory, ctx.args);
105203
105208
  },
105204
105209
  description: "Read the guardrail decision log (use --blocks-only for blocks)",
@@ -14,14 +14,14 @@ import {
14
14
  detectWindowsWrites,
15
15
  getSharedClassifierGuardrailBlock,
16
16
  resolveWriteTargets
17
- } from "./index-m31a2q35.js";
17
+ } from "./index-3qhx9dx0.js";
18
18
  import {
19
19
  checkFileAuthority,
20
20
  classifyFile,
21
21
  isInDeclaredScope,
22
22
  redactPath,
23
23
  redactShellCommand
24
- } from "./index-t5gqdkqx.js";
24
+ } from "./index-jqjdejqe.js";
25
25
 
26
26
  // src/services/guardrail-explain-service.ts
27
27
  import path from "path";
@@ -9,7 +9,7 @@ import {
9
9
  import {
10
10
  init_loader,
11
11
  loadPluginConfig
12
- } from "./index-0vvpe98m.js";
12
+ } from "./index-basp4sxt.js";
13
13
  import {
14
14
  init_logger,
15
15
  log,
@@ -4660,7 +4660,7 @@ async function reconcileLegacyCoderSettlements(directory, maxRecords, onReconcil
4660
4660
  const candidates = readDelegations(directory).filter((record) => record.normalizedAgent === "coder" && Boolean(record.legacyCoderSettlementTransfer) && Boolean(record.terminalResult)).slice(0, maxRecords);
4661
4661
  if (candidates.length === 0)
4662
4662
  return 0;
4663
- const { transferCoderSettlementToBackground } = await import("./coder-settlement-pqrfkm9d.js");
4663
+ const { transferCoderSettlementToBackground } = await import("./coder-settlement-ee8bmg83.js");
4664
4664
  let transferred = 0;
4665
4665
  for (const record of candidates) {
4666
4666
  try {
@@ -20,7 +20,7 @@ import {
20
20
  import {
21
21
  SWARM_WORKTREE_DIR_NAME,
22
22
  init_constants
23
- } from "./index-w872yykk.js";
23
+ } from "./index-y4zjbrqs.js";
24
24
  import {
25
25
  init_logger,
26
26
  log
@@ -242,7 +242,7 @@ var _internals2 = {
242
242
  symlinkSync: fs2.symlinkSync
243
243
  },
244
244
  writeScopeToDisk: async (directory, taskId, files) => {
245
- const { writeScopeToDisk: realWrite } = await import("./scope-persistence-dyc17kze.js");
245
+ const { writeScopeToDisk: realWrite } = await import("./scope-persistence-p992x2yd.js");
246
246
  return realWrite(directory, taskId, files);
247
247
  },
248
248
  writeLaneProfileToDisk: async (_worktreePath, _laneIndex, _envOverrides) => {
@@ -12,13 +12,13 @@ import {
12
12
  PluginConfigSchema,
13
13
  init_schema,
14
14
  stripKnownSwarmPrefix
15
- } from "./index-rqm075jf.js";
15
+ } from "./index-g9ax7jyf.js";
16
16
  import {
17
17
  ALL_AGENT_NAMES,
18
18
  TOOL_NAME_SET,
19
19
  init_constants,
20
20
  init_tool_metadata
21
- } from "./index-w872yykk.js";
21
+ } from "./index-y4zjbrqs.js";
22
22
  import {
23
23
  log
24
24
  } from "./index-zgwm4ryv.js";
@@ -12,7 +12,7 @@ import {
12
12
  PluginConfigSchema,
13
13
  init_schema,
14
14
  resolveExternalSkillsConfig
15
- } from "./index-rqm075jf.js";
15
+ } from "./index-g9ax7jyf.js";
16
16
  import {
17
17
  DangerousMergeKeyError,
18
18
  MAX_MERGE_DEPTH,
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  readKnowledge,
4
4
  transactKnowledge
5
- } from "./index-r1cnmq4j.js";
5
+ } from "./index-yhx94xpr.js";
6
6
  import {
7
7
  resolveKnowledgeStoreDir
8
8
  } from "./index-12ewkms0.js";
@@ -25,11 +25,11 @@ import {
25
25
  import {
26
26
  init_loader,
27
27
  loadPluginConfig
28
- } from "./index-0vvpe98m.js";
28
+ } from "./index-basp4sxt.js";
29
29
  import {
30
30
  init_package,
31
31
  package_default
32
- } from "./index-rqm075jf.js";
32
+ } from "./index-g9ax7jyf.js";
33
33
  import {
34
34
  criticalWarn,
35
35
  init_logger,
@@ -26,11 +26,11 @@ import {
26
26
  } from "./index-7g4c7s5r.js";
27
27
  import {
28
28
  loadPluginConfigWithMeta
29
- } from "./index-0vvpe98m.js";
29
+ } from "./index-basp4sxt.js";
30
30
  import {
31
31
  KnowledgeConfigSchema,
32
32
  init_schema
33
- } from "./index-rqm075jf.js";
33
+ } from "./index-g9ax7jyf.js";
34
34
  import {
35
35
  init_logger,
36
36
  warn
@@ -2813,7 +2813,7 @@ async function applyKnowledgeVerdictFeedback(directory, options) {
2813
2813
  }
2814
2814
  let bumps = 0;
2815
2815
  if (deltas.length > 0) {
2816
- const { bumpKnowledgeConfidenceBatch } = await import("./knowledge-store-q438tkyd.js");
2816
+ const { bumpKnowledgeConfidenceBatch } = await import("./knowledge-store-mybx9bmx.js");
2817
2817
  bumps = await bumpKnowledgeConfidenceBatch(directory, deltas, options?.floorOptions);
2818
2818
  }
2819
2819
  return {
@@ -3,7 +3,7 @@ import {
3
3
  ALL_AGENT_NAMES,
4
4
  SUMMARIZER_EXEMPT_TOOL_NAMES,
5
5
  init_constants
6
- } from "./index-w872yykk.js";
6
+ } from "./index-y4zjbrqs.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.181.0",
24
+ version: "7.181.1",
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",
@@ -9,7 +9,7 @@ import {
9
9
  resolveSwarmKnowledgePath,
10
10
  resolveSwarmRejectedPath,
11
11
  transactKnowledge
12
- } from "./index-r1cnmq4j.js";
12
+ } from "./index-yhx94xpr.js";
13
13
  import {
14
14
  resolveKnowledgeStoreDir
15
15
  } from "./index-12ewkms0.js";