opencode-swarm 7.142.1 → 7.143.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 (45) hide show
  1. package/.opencode/skills/execute/SKILL.md +1 -1
  2. package/.opencode/skills/phase-wrap/SKILL.md +2 -2
  3. package/dist/cli/{config-doctor-2a3qmp5p.js → config-doctor-t1r5qwxk.js} +2 -2
  4. package/dist/cli/{core-h9z49ant.js → core-e30p4vz9.js} +1 -1
  5. package/dist/cli/{curator-mtz194wy.js → curator-ctasdmmq.js} +17 -17
  6. package/dist/cli/{curator-llm-factory-9fr243kj.js → curator-llm-factory-y9xg7k6k.js} +17 -17
  7. package/dist/cli/{evidence-summary-service-fgckng0a.js → evidence-summary-service-7bmg5r8y.js} +6 -6
  8. package/dist/cli/{gate-evidence-ppna7em4.js → gate-evidence-1v0cj4c6.js} +2 -2
  9. package/dist/cli/{guardrail-explain-ejdvvnjz.js → guardrail-explain-6x9psbwz.js} +18 -18
  10. package/dist/cli/{guardrail-log-adjs25ye.js → guardrail-log-pma4m8vr.js} +3 -3
  11. package/dist/cli/{hive-promoter-jejme31e.js → hive-promoter-g16grej1.js} +17 -17
  12. package/dist/cli/{index-kbshtwha.js → index-15h4dpsn.js} +3 -3
  13. package/dist/cli/{index-0r4qs243.js → index-1g473508.js} +19 -19
  14. package/dist/cli/{index-ajfa2wmj.js → index-28jr28fg.js} +3 -3
  15. package/dist/cli/{index-ktazgjqw.js → index-2n8y67b4.js} +2 -2
  16. package/dist/cli/{index-sdqtecsd.js → index-336ra397.js} +1 -1
  17. package/dist/cli/{index-vy11zjvh.js → index-6texwk9p.js} +1 -1
  18. package/dist/cli/{index-vefjxxmb.js → index-96h1v2jw.js} +1 -1
  19. package/dist/cli/{index-9wmx9ca8.js → index-9v53ez3a.js} +2 -2
  20. package/dist/cli/{index-2mb5y2w1.js → index-fhxh447f.js} +1 -1
  21. package/dist/cli/{index-gtkk5rx7.js → index-fprxtq3q.js} +3 -3
  22. package/dist/cli/{index-bkkxxwcd.js → index-g0pbvfhw.js} +1 -1
  23. package/dist/cli/{index-xfhe29z3.js → index-htmsm37t.js} +5 -5
  24. package/dist/cli/{index-j02ez59y.js → index-keskta0w.js} +4 -4
  25. package/dist/cli/{index-9kf3mj08.js → index-kxpz3ncd.js} +1 -1
  26. package/dist/cli/{index-h7ye3bzp.js → index-m4v9kab1.js} +47 -47
  27. package/dist/cli/{index-rthq1a6w.js → index-n96ay8w4.js} +1 -1
  28. package/dist/cli/{index-we279je2.js → index-q8st0mtw.js} +1 -1
  29. package/dist/cli/{index-xah70t2t.js → index-r0tn9kpa.js} +1 -1
  30. package/dist/cli/{index-bb4pcn58.js → index-s89y08tk.js} +2 -2
  31. package/dist/cli/{index-myav90y6.js → index-sb16w4wj.js} +1 -1
  32. package/dist/cli/{index-k1xsjzm3.js → index-x6qq39e9.js} +3 -3
  33. package/dist/cli/index.js +17 -17
  34. package/dist/cli/{knowledge-escalator-0b80ryka.js → knowledge-escalator-1b2hmcgn.js} +6 -6
  35. package/dist/cli/{knowledge-events-8x2wt562.js → knowledge-events-vx4fqjzb.js} +4 -4
  36. package/dist/cli/{knowledge-store-d0xj6wht.js → knowledge-store-t2qyr4yr.js} +1 -1
  37. package/dist/cli/{knowledge-validator-ewfj679a.js → knowledge-validator-c7871bjc.js} +2 -2
  38. package/dist/cli/{scan-cursor-hfyz7zpw.js → scan-cursor-pnbpfjjc.js} +2 -2
  39. package/dist/cli/{schema-ney3c685.js → schema-47xpcghn.js} +1 -1
  40. package/dist/cli/{scope-persistence-dbfgs7gh.js → scope-persistence-wxx1jpfw.js} +4 -4
  41. package/dist/cli/{skill-generator-p651jex5.js → skill-generator-s456hfta.js} +7 -7
  42. package/dist/cli/{worktree-isolation-513vx61s.js → worktree-isolation-d0xgp705.js} +17 -17
  43. package/dist/hooks/delegation-gate.d.ts +65 -0
  44. package/dist/index.js +22 -18
  45. package/package.json +1 -1
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  autoCommitDirty,
4
4
  cleanUntrackedFiles
5
- } from "./index-bkkxxwcd.js";
5
+ } from "./index-g0pbvfhw.js";
6
6
  import {
7
7
  validateSwarmPath
8
8
  } from "./index-k46me75h.js";
@@ -18,7 +18,7 @@ import {
18
18
  readTaskEvidence,
19
19
  readTaskEvidenceRaw,
20
20
  sanitizeTaskId
21
- } from "./index-2mb5y2w1.js";
21
+ } from "./index-fhxh447f.js";
22
22
  import {
23
23
  _internals,
24
24
  buildDefaultPolicy,
@@ -58,7 +58,7 @@ import {
58
58
  replayFromLedgerWithStatus,
59
59
  takeSnapshotEvent,
60
60
  takeSnapshotWithRetry
61
- } from "./index-myav90y6.js";
61
+ } from "./index-sb16w4wj.js";
62
62
  import {
63
63
  assertProjectRoot,
64
64
  tryAcquireLock,
@@ -74,7 +74,7 @@ import {
74
74
  } from "./index-4nt52yr9.js";
75
75
  import {
76
76
  PlanSchema
77
- } from "./index-sdqtecsd.js";
77
+ } from "./index-336ra397.js";
78
78
  import {
79
79
  criticalWarn,
80
80
  error,
@@ -86,7 +86,7 @@ var _internals = {
86
86
  symlinkSync: fs.symlinkSync
87
87
  },
88
88
  writeScopeToDisk: async (directory, taskId, files) => {
89
- const { writeScopeToDisk: realWrite } = await import("./scope-persistence-dbfgs7gh.js");
89
+ const { writeScopeToDisk: realWrite } = await import("./scope-persistence-wxx1jpfw.js");
90
90
  return realWrite(directory, taskId, files);
91
91
  },
92
92
  writeLaneProfileToDisk: async (_worktreePath, _laneIndex, _envOverrides) => {
@@ -3,7 +3,7 @@ import {
3
3
  queryHistoricalOutcomes,
4
4
  readKnowledgeEvents,
5
5
  recordKnowledgeEvent
6
- } from "./index-ajfa2wmj.js";
6
+ } from "./index-28jr28fg.js";
7
7
  import {
8
8
  jaccardBigram,
9
9
  readKnowledge,
@@ -11,7 +11,7 @@ import {
11
11
  resolveSwarmKnowledgePath,
12
12
  transactKnowledge,
13
13
  wordBigrams
14
- } from "./index-j02ez59y.js";
14
+ } from "./index-keskta0w.js";
15
15
  import {
16
16
  init_knowledge_types,
17
17
  isActiveStatus
@@ -224,11 +224,11 @@ async function maybeQuarantineOnContradiction(directory, entryId, threshold, win
224
224
  alreadyInactive: true
225
225
  };
226
226
  }
227
- const { quarantineEntry } = await import("./knowledge-validator-ewfj679a.js");
227
+ const { quarantineEntry } = await import("./knowledge-validator-c7871bjc.js");
228
228
  let policyConfig;
229
229
  try {
230
- const { KnowledgeConfigSchema } = await import("./schema-ney3c685.js");
231
- const { loadPluginConfigWithMeta } = await import("./index-kbshtwha.js");
230
+ const { KnowledgeConfigSchema } = await import("./schema-47xpcghn.js");
231
+ const { loadPluginConfigWithMeta } = await import("./index-15h4dpsn.js");
232
232
  const { config: loadedConfig } = loadPluginConfigWithMeta(directory);
233
233
  policyConfig = KnowledgeConfigSchema.parse(loadedConfig.knowledge ?? {});
234
234
  } catch {
@@ -709,7 +709,7 @@ async function applyConfidenceFloorAction(directory, touched, options) {
709
709
  const {
710
710
  readAuthoritativeKnowledgeCounterRollups,
711
711
  effectiveRetrievalOutcomes
712
- } = await import("./knowledge-events-8x2wt562.js");
712
+ } = await import("./knowledge-events-vx4fqjzb.js");
713
713
  const rollups = await readAuthoritativeKnowledgeCounterRollups(directory);
714
714
  const flagIds = new Set;
715
715
  for (const e of atFloor) {
@@ -776,11 +776,11 @@ async function applyConfidenceFloorAction(directory, touched, options) {
776
776
  });
777
777
  }
778
778
  if (action === "quarantine" && toQuarantine.length > 0) {
779
- const { quarantineEntry } = await import("./knowledge-validator-ewfj679a.js");
780
- const { KnowledgeConfigSchema } = await import("./schema-ney3c685.js");
779
+ const { quarantineEntry } = await import("./knowledge-validator-c7871bjc.js");
780
+ const { KnowledgeConfigSchema } = await import("./schema-47xpcghn.js");
781
781
  let config;
782
782
  try {
783
- const { loadPluginConfigWithMeta } = await import("./index-kbshtwha.js");
783
+ const { loadPluginConfigWithMeta } = await import("./index-15h4dpsn.js");
784
784
  const { config: loadedConfig } = loadPluginConfigWithMeta(directory);
785
785
  config = KnowledgeConfigSchema.parse(loadedConfig.knowledge ?? {});
786
786
  } catch {
@@ -9,7 +9,7 @@ import {
9
9
  resolveSwarmKnowledgePath,
10
10
  resolveSwarmRejectedPath,
11
11
  transactKnowledge
12
- } from "./index-j02ez59y.js";
12
+ } from "./index-keskta0w.js";
13
13
  import {
14
14
  resolveKnowledgeStoreDir
15
15
  } from "./index-w7x7qxz2.js";
@@ -20,7 +20,7 @@ import {
20
20
  } from "./index-y9h2vqf6.js";
21
21
  import {
22
22
  stableCanonicalStringify
23
- } from "./index-rthq1a6w.js";
23
+ } from "./index-n96ay8w4.js";
24
24
  import {
25
25
  getGlobalEventBus
26
26
  } from "./index-c8s9a3zh.js";
@@ -29,7 +29,7 @@ import {
29
29
  readDoctorArtifact,
30
30
  removeStraySwarmDir,
31
31
  runConfigDoctor
32
- } from "./index-xah70t2t.js";
32
+ } from "./index-r0tn9kpa.js";
33
33
  import {
34
34
  MAX_TRANSIENT_RETRIES,
35
35
  archiveEvidence,
@@ -76,7 +76,7 @@ import {
76
76
  updateTaskCheckpointReceipt,
77
77
  updateTaskStatus,
78
78
  validateProjectRoot
79
- } from "./index-gtkk5rx7.js";
79
+ } from "./index-fprxtq3q.js";
80
80
  import {
81
81
  loadDatabaseCtor
82
82
  } from "./index-134d35c1.js";
@@ -163,15 +163,15 @@ import {
163
163
  retireSkill,
164
164
  selectCandidateEntries,
165
165
  syncBundledProjectSkillsIfMissingAsync
166
- } from "./index-k1xsjzm3.js";
166
+ } from "./index-x6qq39e9.js";
167
167
  import {
168
168
  readRecentEscalations
169
- } from "./index-xfhe29z3.js";
169
+ } from "./index-htmsm37t.js";
170
170
  import {
171
171
  alreadyCuratedThisGeneration,
172
172
  claimNextScanBatch,
173
173
  resolveCohortId
174
- } from "./index-vy11zjvh.js";
174
+ } from "./index-6texwk9p.js";
175
175
  import {
176
176
  CURATOR_INIT_PROMPT,
177
177
  CURATOR_PHASE_PROMPT,
@@ -211,11 +211,11 @@ import {
211
211
  startupOrphanRecovery,
212
212
  withTaskEvidenceTransaction,
213
213
  writeWorkflowWalFile
214
- } from "./index-2mb5y2w1.js";
214
+ } from "./index-fhxh447f.js";
215
215
  import {
216
216
  provisionWorktree,
217
217
  removeWorktree
218
- } from "./index-bkkxxwcd.js";
218
+ } from "./index-g0pbvfhw.js";
219
219
  import {
220
220
  findByBatchId,
221
221
  readDelegations
@@ -237,7 +237,7 @@ import {
237
237
  recordKnowledgeEvent,
238
238
  recordPhaseCloseIntent,
239
239
  resolveKnowledgeEventsPath
240
- } from "./index-ajfa2wmj.js";
240
+ } from "./index-28jr28fg.js";
241
241
  import {
242
242
  readSwarmFileAsync,
243
243
  safeHook,
@@ -253,7 +253,7 @@ import {
253
253
  validateActionableFields,
254
254
  validateLesson,
255
255
  validateSkillPath
256
- } from "./index-9kf3mj08.js";
256
+ } from "./index-kxpz3ncd.js";
257
257
  import {
258
258
  authorizeCuration,
259
259
  buildConfigFingerprintInput
@@ -290,7 +290,7 @@ import {
290
290
  transactFile,
291
291
  transactKnowledge,
292
292
  wordBigrams
293
- } from "./index-j02ez59y.js";
293
+ } from "./index-keskta0w.js";
294
294
  import {
295
295
  resolveHiveDataDir,
296
296
  resolveHiveEventsPath,
@@ -316,7 +316,7 @@ import {
316
316
  } from "./index-ed5ykebp.js";
317
317
  import {
318
318
  resolveWorktreeIsolationConfig
319
- } from "./index-ktazgjqw.js";
319
+ } from "./index-2n8y67b4.js";
320
320
  import {
321
321
  RetrospectiveEvidenceSchema
322
322
  } from "./index-gprxjmm7.js";
@@ -325,7 +325,7 @@ import {
325
325
  clearAllScopes,
326
326
  clearScopeBindingFromDisk,
327
327
  clearScopeBindings
328
- } from "./index-9wmx9ca8.js";
328
+ } from "./index-9v53ez3a.js";
329
329
  import {
330
330
  appendLedgerEvent,
331
331
  computePlanHash,
@@ -338,7 +338,7 @@ import {
338
338
  readPlanEpochIdentity,
339
339
  replayFromLedgerWithStatus,
340
340
  takeSnapshotEvent
341
- } from "./index-myav90y6.js";
341
+ } from "./index-sb16w4wj.js";
342
342
  import {
343
343
  isPathWithinDeclaredScope
344
344
  } from "./index-556ja8an.js";
@@ -368,7 +368,7 @@ import {
368
368
  init_loader,
369
369
  loadPluginConfig,
370
370
  loadPluginConfigWithMeta
371
- } from "./index-sdqtecsd.js";
371
+ } from "./index-336ra397.js";
372
372
  import {
373
373
  advisoryWarn,
374
374
  getDeferredWarnings,
@@ -394,7 +394,7 @@ import {
394
394
  package_default,
395
395
  resolveAutoReviewConfig,
396
396
  stripKnownSwarmPrefix
397
- } from "./index-we279je2.js";
397
+ } from "./index-q8st0mtw.js";
398
398
  import {
399
399
  AGENT_TOOL_MAP,
400
400
  ALL_AGENT_NAMES,
@@ -4072,7 +4072,7 @@ async function cleanupRecoveredWorktree(directory, descriptor) {
4072
4072
  awaitingMergeByCallID,
4073
4073
  cleanupStandardWorktreeForCallId,
4074
4074
  standardWorktreeByCallID
4075
- } = await import("./worktree-isolation-513vx61s.js");
4075
+ } = await import("./worktree-isolation-d0xgp705.js");
4076
4076
  standardWorktreeByCallID.delete(descriptor.callID);
4077
4077
  if (hasResidue)
4078
4078
  awaitingMergeByCallID.set(descriptor.callID, {
@@ -4151,7 +4151,7 @@ async function recoverCoderSettlement(directory, taskId) {
4151
4151
  awaitingMergeByCallID,
4152
4152
  finishStandardWorktreeDispatch,
4153
4153
  standardWorktreeByCallID
4154
- } = await import("./worktree-isolation-513vx61s.js");
4154
+ } = await import("./worktree-isolation-d0xgp705.js");
4155
4155
  const descriptor = wal.worktree;
4156
4156
  const reconstructedDispatch = {
4157
4157
  callID: descriptor.callID,
@@ -14836,7 +14836,7 @@ function planMerges(active, threshold, maxComparisons, maxMerges) {
14836
14836
  };
14837
14837
  }
14838
14838
  async function sweepActiveNearDuplicates(directory, options = {}) {
14839
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-kbshtwha.js");
14839
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-15h4dpsn.js");
14840
14840
  const { config } = loadPluginConfigWithMeta2(directory);
14841
14841
  const sweepConfig = config.learning?.dedup_sweep;
14842
14842
  if (sweepConfig?.enabled === false)
@@ -15920,7 +15920,7 @@ async function runCuratorPhase(directory, phase, agentsDispatched, config, knowl
15920
15920
  }
15921
15921
  if (config.skill_generation_enabled === true && skillCandidates.length > 0) {
15922
15922
  try {
15923
- const skillModule = await import("./skill-generator-p651jex5.js");
15923
+ const skillModule = await import("./skill-generator-s456hfta.js");
15924
15924
  for (const cand of skillCandidates) {
15925
15925
  if (cand.confidence < (config.min_skill_confidence ?? DEFAULT_SKILL_MIN_CONFIDENCE)) {
15926
15926
  continue;
@@ -16380,7 +16380,7 @@ async function applyCuratorKnowledgeUpdates(directory, recommendations, knowledg
16380
16380
  } catch {}
16381
16381
  }
16382
16382
  if (contradictedEntries.length > 0 && knowledgeConfig.contradiction_threshold_action === "quarantine") {
16383
- const { maybeQuarantineOnContradiction } = await import("./knowledge-escalator-0b80ryka.js");
16383
+ const { maybeQuarantineOnContradiction } = await import("./knowledge-escalator-1b2hmcgn.js");
16384
16384
  for (const { id } of contradictedEntries) {
16385
16385
  try {
16386
16386
  await maybeQuarantineOnContradiction(directory, id, knowledgeConfig.contradiction_quarantine_threshold, knowledgeConfig.contradiction_quarantine_window_days);
@@ -17199,7 +17199,7 @@ async function runCuratorPostMortem(directory, options = {}) {
17199
17199
  warnings.push("Failed to collect knowledge summary.");
17200
17200
  }
17201
17201
  try {
17202
- const { getScanStatus } = await import("./scan-cursor-hfyz7zpw.js");
17202
+ const { getScanStatus } = await import("./scan-cursor-pnbpfjjc.js");
17203
17203
  const scanStatus = await getScanStatus(directory);
17204
17204
  if (scanStatus.remaining_estimate > 0) {
17205
17205
  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.`);
@@ -17371,9 +17371,9 @@ var _internals23 = {
17371
17371
  verifyPostMortemKnowledgeActions,
17372
17372
  repairPostMortemActions,
17373
17373
  loadDefaultKnowledgeConfig: async (directory) => {
17374
- const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-ney3c685.js");
17374
+ const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-47xpcghn.js");
17375
17375
  try {
17376
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-kbshtwha.js");
17376
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-15h4dpsn.js");
17377
17377
  const loaded = loadPluginConfigWithMeta2(directory);
17378
17378
  return KnowledgeConfigSchema2.parse(loaded.config.knowledge ?? {});
17379
17379
  } catch {
@@ -17381,11 +17381,11 @@ var _internals23 = {
17381
17381
  }
17382
17382
  },
17383
17383
  applyCuratorKnowledgeUpdates: async (directory, recommendations, knowledgeConfig, generation) => {
17384
- const { applyCuratorKnowledgeUpdates: applyCuratorKnowledgeUpdates2 } = await import("./curator-mtz194wy.js");
17384
+ const { applyCuratorKnowledgeUpdates: applyCuratorKnowledgeUpdates2 } = await import("./curator-ctasdmmq.js");
17385
17385
  return applyCuratorKnowledgeUpdates2(directory, recommendations, knowledgeConfig, generation);
17386
17386
  },
17387
17387
  checkHivePromotions: async (entries, knowledgeConfig, directory) => {
17388
- const { checkHivePromotions } = await import("./hive-promoter-jejme31e.js");
17388
+ const { checkHivePromotions } = await import("./hive-promoter-g16grej1.js");
17389
17389
  return checkHivePromotions(entries, knowledgeConfig, directory);
17390
17390
  },
17391
17391
  applyProposalTriage: async (directory, triage) => {
@@ -17394,7 +17394,7 @@ var _internals23 = {
17394
17394
  activateProposal,
17395
17395
  listSkills: listSkills2,
17396
17396
  sanitizeSlug
17397
- } = await import("./skill-generator-p651jex5.js");
17397
+ } = await import("./skill-generator-s456hfta.js");
17398
17398
  const result = {
17399
17399
  approved: [],
17400
17400
  rejected: [],
@@ -18730,9 +18730,9 @@ function hashContent(content) {
18730
18730
  return createHash7("sha1").update(content).digest("hex");
18731
18731
  }
18732
18732
  async function loadConfigForPolicyCurator(directory) {
18733
- const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-ney3c685.js");
18733
+ const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-47xpcghn.js");
18734
18734
  try {
18735
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-kbshtwha.js");
18735
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-15h4dpsn.js");
18736
18736
  const { config: loadedConfig } = loadPluginConfigWithMeta2(directory);
18737
18737
  return KnowledgeConfigSchema2.parse(loadedConfig.knowledge ?? {});
18738
18738
  } catch {
@@ -27574,7 +27574,7 @@ async function runFinalizeStage(ctx) {
27574
27574
  }
27575
27575
  }
27576
27576
  try {
27577
- const { CuratorConfigSchema: CCS } = await import("./schema-ney3c685.js");
27577
+ const { CuratorConfigSchema: CCS } = await import("./schema-47xpcghn.js");
27578
27578
  const { config: pmLoadedConfig } = _internals36.loadPluginConfigWithMeta(ctx.directory);
27579
27579
  const curatorCfg = CCS.parse(pmLoadedConfig.curator ?? {});
27580
27580
  if (curatorCfg.enabled && curatorCfg.postmortem_enabled) {
@@ -29852,9 +29852,9 @@ var _internals41 = {
29852
29852
  loadPluginConfigWithMeta,
29853
29853
  loadCuratorDeps: async () => {
29854
29854
  const [{ CuratorConfigSchema }, curator, { createCuratorLLMDelegate: createCuratorLLMDelegate2 }] = await Promise.all([
29855
- import("./schema-ney3c685.js"),
29856
- import("./curator-mtz194wy.js"),
29857
- import("./curator-llm-factory-9fr243kj.js")
29855
+ import("./schema-47xpcghn.js"),
29856
+ import("./curator-ctasdmmq.js"),
29857
+ import("./curator-llm-factory-y9xg7k6k.js")
29858
29858
  ]);
29859
29859
  return { CuratorConfigSchema, curator, createCuratorLLMDelegate: createCuratorLLMDelegate2 };
29860
29860
  }
@@ -30759,7 +30759,7 @@ async function computeCurationDiagnostics(directory, entries) {
30759
30759
  let scanCompleted = false;
30760
30760
  let scanRemaining = 0;
30761
30761
  try {
30762
- const { getScanStatus } = await import("./scan-cursor-hfyz7zpw.js");
30762
+ const { getScanStatus } = await import("./scan-cursor-pnbpfjjc.js");
30763
30763
  const status = await getScanStatus(directory);
30764
30764
  scanGeneration = status.generation;
30765
30765
  scanCompleted = status.completed;
@@ -30769,10 +30769,10 @@ async function computeCurationDiagnostics(directory, entries) {
30769
30769
  try {
30770
30770
  const { isLinked: isLinked2 } = await import("./knowledge-link-fn5j3r4q.js");
30771
30771
  if (isLinked2(directory)) {
30772
- const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-ney3c685.js");
30772
+ const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-47xpcghn.js");
30773
30773
  let config;
30774
30774
  try {
30775
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-kbshtwha.js");
30775
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-15h4dpsn.js");
30776
30776
  const loaded = loadPluginConfigWithMeta2(directory);
30777
30777
  config = KnowledgeConfigSchema2.parse(loaded.config.knowledge ?? {});
30778
30778
  } catch {
@@ -31990,7 +31990,7 @@ async function handleDoctorCommand(directory, args) {
31990
31990
  const result = runConfigDoctor(config, directory);
31991
31991
  let output;
31992
31992
  if (enableAutoFix && result.hasAutoFixableIssues) {
31993
- const { runConfigDoctorWithFixes } = await import("./config-doctor-2a3qmp5p.js");
31993
+ const { runConfigDoctorWithFixes } = await import("./config-doctor-t1r5qwxk.js");
31994
31994
  const fixResult = await runConfigDoctorWithFixes(directory, config, true, {
31995
31995
  applyLossy: true
31996
31996
  });
@@ -32827,7 +32827,7 @@ async function handleEvidenceCommand(directory, args) {
32827
32827
  return formatTaskEvidenceMarkdown(evidenceData);
32828
32828
  }
32829
32829
  async function handleEvidenceSummaryCommand(directory) {
32830
- const { buildEvidenceSummary } = await import("./evidence-summary-service-fgckng0a.js");
32830
+ const { buildEvidenceSummary } = await import("./evidence-summary-service-7bmg5r8y.js");
32831
32831
  const artifact = await buildEvidenceSummary(directory);
32832
32832
  if (!artifact) {
32833
32833
  return "No plan found. Run `/swarm plan` to check plan status.";
@@ -57444,7 +57444,7 @@ function buildDetailedHelp(commandName, entry) {
57444
57444
  async function handleHelpCommand(ctx) {
57445
57445
  const targetCommand = ctx.args.join(" ");
57446
57446
  if (!targetCommand) {
57447
- const { buildHelpText } = await import("./index-0r4qs243.js");
57447
+ const { buildHelpText } = await import("./index-1g473508.js");
57448
57448
  return buildHelpText();
57449
57449
  }
57450
57450
  const tokens = targetCommand.split(/\s+/);
@@ -57453,7 +57453,7 @@ async function handleHelpCommand(ctx) {
57453
57453
  return _internals87.buildDetailedHelp(resolved.key, resolved.entry);
57454
57454
  }
57455
57455
  const similar = _internals87.findSimilarCommands(targetCommand);
57456
- const { buildHelpText: fullHelp } = await import("./index-0r4qs243.js");
57456
+ const { buildHelpText: fullHelp } = await import("./index-1g473508.js");
57457
57457
  if (similar.length > 0) {
57458
57458
  return `Command '/swarm ${targetCommand}' not found.
57459
57459
 
@@ -57630,7 +57630,7 @@ var COMMAND_REGISTRY = {
57630
57630
  },
57631
57631
  "guardrail explain": {
57632
57632
  handler: async (ctx) => {
57633
- const { handleGuardrailExplain } = await import("./guardrail-explain-ejdvvnjz.js");
57633
+ const { handleGuardrailExplain } = await import("./guardrail-explain-6x9psbwz.js");
57634
57634
  return handleGuardrailExplain(ctx.directory, ctx.args);
57635
57635
  },
57636
57636
  description: "Dry-run: show what the guardrails would do to a command or write target (executes nothing)",
@@ -57640,7 +57640,7 @@ var COMMAND_REGISTRY = {
57640
57640
  },
57641
57641
  "guardrail-explain": {
57642
57642
  handler: async (ctx) => {
57643
- const { handleGuardrailExplain } = await import("./guardrail-explain-ejdvvnjz.js");
57643
+ const { handleGuardrailExplain } = await import("./guardrail-explain-6x9psbwz.js");
57644
57644
  return handleGuardrailExplain(ctx.directory, ctx.args);
57645
57645
  },
57646
57646
  description: "Dry-run: show what the guardrails would do to a command or write target (executes nothing)",
@@ -57650,7 +57650,7 @@ var COMMAND_REGISTRY = {
57650
57650
  },
57651
57651
  "guardrail-log": {
57652
57652
  handler: async (ctx) => {
57653
- const { handleGuardrailLog } = await import("./guardrail-log-adjs25ye.js");
57653
+ const { handleGuardrailLog } = await import("./guardrail-log-pma4m8vr.js");
57654
57654
  return handleGuardrailLog(ctx.directory, ctx.args);
57655
57655
  },
57656
57656
  description: "Read the guardrail decision log (use --blocks-only for blocks)",
@@ -59046,7 +59046,7 @@ Before delegating to {{AGENT_PREFIX}}reviewer: call check_gate_status for the cu
59046
59046
 
59047
59047
  ACCEPTANCE FIELD RESOLUTION \u2014 REQUIRED on every {{AGENT_PREFIX}}coder and {{AGENT_PREFIX}}reviewer Task dispatch. A dispatch with no ACCEPTANCE: line is BLOCKED by the delegation gate before the agent runs (ACCEPTANCE_FIELD_REQUIRED). Resolve it as:
59048
59048
  1. Read the current task's \`fr_refs\` from the plan.
59049
- 2. If \`fr_refs\` is non-empty: look up EVERY listed FR-###/SC-### id in the current \`.swarm/spec.md\` and copy each one's full requirement text into ACCEPTANCE VERBATIM \u2014 byte-for-byte, no summarizing or paraphrasing, and concatenate all of them when a task maps to more than one.
59049
+ 2. If \`fr_refs\` is non-empty: list every mapped FR-###/SC-### id on the ACCEPTANCE line (e.g. \`ACCEPTANCE: FR-007, FR-012\`). The delegation gate automatically injects each id's full verbatim requirement text from the current \`.swarm/spec.md\` into the dispatch before the downstream agent runs \u2014 you do NOT need to copy the requirement bodies yourself (pasting them yourself is also fine and changes nothing). Never replace an id with a summary or paraphrase.
59050
59050
  3. When the task has no spec mapping: if \`fr_refs\` is empty or absent, populate ACCEPTANCE with a task-derived one-line restatement of what DONE looks like instead (the same pattern as \`acceptanceCriteria\` above).
59051
59051
  ACCEPTANCE must never be empty \u2014 lacking a spec mapping is normal and is not a reason to omit it.
59052
59052
  NOTE: the plan-task \`acceptance\` field is a different thing. Writing acceptance on the plan task does NOT satisfy this rule. The delegation prompt needs its own literal \`ACCEPTANCE:\` line.
@@ -60873,7 +60873,7 @@ DIFF: [changed files/functions, or "infer from FILE" if omitted]
60873
60873
  AFFECTS: [callers/consumers/dependents to inspect, or "infer from diff"]
60874
60874
  CHECK: [list of dimensions to evaluate]
60875
60875
  GATES: [pre-completed gate results (lint, SAST, secretscan, etc.), or "none" if unavailable]
60876
- ACCEPTANCE: [verbatim FR/SC requirement text this diff must satisfy, copied byte-for-byte from spec.md when the task maps to one or more FR-###/SC-### items \u2014 never a paraphrase or summary. When the task maps to no spec requirement, this is a task-derived, one-line restatement of what DONE looks like instead. This field is never empty.]
60876
+ ACCEPTANCE: [the mapped FR-###/SC-### ids this diff must satisfy (e.g. FR-007) \u2014 the delegation gate injects their verbatim requirement text from spec.md automatically; the injected text is authoritative and never a paraphrase. When the task maps to no spec requirement, this is a task-derived, one-line restatement of what DONE looks like instead. This field is never empty.]
60877
60877
  SKILLS: [optional \u2014 either "none", repo-relative file: references (preferred), or inline skill content pasted by architect]
60878
60878
  SKILLS_USED_BY_CODER: [list of skill paths that were passed to the coder for this task, or "none" if no skills were used]
60879
60879
 
@@ -64985,7 +64985,7 @@ async function precreateStandardWorktreeSession(args) {
64985
64985
  const laneProfile = computeLaneRuntimeProfile(worktreeConfig.runtime_isolation, laneIndex, provisionResult.worktreePath);
64986
64986
  if (laneProfile) {
64987
64987
  try {
64988
- const { writeLaneProfileToDiskReal } = await import("./core-h9z49ant.js");
64988
+ const { writeLaneProfileToDiskReal } = await import("./core-e30p4vz9.js");
64989
64989
  await writeLaneProfileToDiskReal(provisionResult.worktreePath, laneProfile.laneIndex, laneProfile.envOverrides);
64990
64990
  } catch {}
64991
64991
  }
@@ -65484,7 +65484,7 @@ async function finishStandardWorktreeDispatch(directory, dispatch, config, callI
65484
65484
  }
65485
65485
  clearWorktreeMergeStatus(statusKey);
65486
65486
  try {
65487
- const { removeLaneProfileFromDiskReal } = await import("./core-h9z49ant.js");
65487
+ const { removeLaneProfileFromDiskReal } = await import("./core-e30p4vz9.js");
65488
65488
  await removeLaneProfileFromDiskReal(dispatch.handle.worktreePath, dispatch.laneIndex);
65489
65489
  } catch {}
65490
65490
  const state = serializationStateBySessionID.get(dispatch.parentSessionID);
@@ -15,7 +15,7 @@ import {
15
15
  import {
16
16
  init_schema,
17
17
  stripKnownSwarmPrefix
18
- } from "./index-we279je2.js";
18
+ } from "./index-q8st0mtw.js";
19
19
  import {
20
20
  init_constants
21
21
  } from "./index-jqsfsqbx.js";
@@ -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.142.1",
24
+ version: "7.143.0",
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
  PluginConfigSchema,
10
10
  init_schema,
11
11
  stripKnownSwarmPrefix
12
- } from "./index-we279je2.js";
12
+ } from "./index-q8st0mtw.js";
13
13
  import {
14
14
  ALL_AGENT_NAMES,
15
15
  init_constants
@@ -12,14 +12,14 @@ import {
12
12
  detectPosixWrites,
13
13
  detectWindowsWrites,
14
14
  resolveWriteTargets
15
- } from "./index-h7ye3bzp.js";
15
+ } from "./index-m4v9kab1.js";
16
16
  import {
17
17
  checkFileAuthority,
18
18
  classifyFile,
19
19
  isInDeclaredScope,
20
20
  redactPath,
21
21
  redactShellCommand
22
- } from "./index-rthq1a6w.js";
22
+ } from "./index-n96ay8w4.js";
23
23
 
24
24
  // src/services/guardrail-explain-service.ts
25
25
  import path from "path";
@@ -11,7 +11,7 @@ import {
11
11
  PlanSchema,
12
12
  TaskStatusSchema,
13
13
  init_loader
14
- } from "./index-sdqtecsd.js";
14
+ } from "./index-336ra397.js";
15
15
  import {
16
16
  criticalWarn,
17
17
  init_logger,
@@ -2,18 +2,18 @@
2
2
  import {
3
3
  effectiveRetrievalOutcomes,
4
4
  readAuthoritativeKnowledgeCounterRollups
5
- } from "./index-ajfa2wmj.js";
5
+ } from "./index-28jr28fg.js";
6
6
  import {
7
7
  ALLOWED_SKILL_PATH_PREFIXES,
8
8
  validateSkillPath
9
- } from "./index-9kf3mj08.js";
9
+ } from "./index-kxpz3ncd.js";
10
10
  import {
11
11
  computeOutcomeSignal,
12
12
  readKnowledge,
13
13
  resolveHiveKnowledgePath,
14
14
  resolveSwarmKnowledgePath,
15
15
  transactKnowledge
16
- } from "./index-j02ez59y.js";
16
+ } from "./index-keskta0w.js";
17
17
  import {
18
18
  advisoryWarn,
19
19
  init_warning_buffer
package/dist/cli/index.js CHANGED
@@ -7,59 +7,59 @@ import {
7
7
  getPluginConfigDir,
8
8
  getPluginLockFilePaths,
9
9
  resolveCommand
10
- } from "./index-h7ye3bzp.js";
10
+ } from "./index-m4v9kab1.js";
11
11
  import"./index-4905hd2m.js";
12
12
  import"./index-ebwznsfy.js";
13
13
  import"./index-y9h2vqf6.js";
14
- import"./index-rthq1a6w.js";
14
+ import"./index-n96ay8w4.js";
15
15
  import"./index-c8s9a3zh.js";
16
- import"./index-xah70t2t.js";
17
- import"./index-gtkk5rx7.js";
16
+ import"./index-r0tn9kpa.js";
17
+ import"./index-fprxtq3q.js";
18
18
  import"./index-134d35c1.js";
19
19
  import"./index-k92cagmt.js";
20
20
  import"./index-y8552snf.js";
21
21
  import"./index-9ss2m4rs.js";
22
22
  import"./index-74hpm6sh.js";
23
- import"./index-k1xsjzm3.js";
24
- import"./index-xfhe29z3.js";
25
- import"./index-vy11zjvh.js";
23
+ import"./index-x6qq39e9.js";
24
+ import"./index-htmsm37t.js";
25
+ import"./index-6texwk9p.js";
26
26
  import"./index-xmzmeknp.js";
27
27
  import"./index-82m5kwtd.js";
28
28
  import"./index-zsrtt42s.js";
29
29
  import"./index-qwm6vdyv.js";
30
- import"./index-2mb5y2w1.js";
31
- import"./index-bkkxxwcd.js";
30
+ import"./index-fhxh447f.js";
31
+ import"./index-g0pbvfhw.js";
32
32
  import"./index-7c4bxgdh.js";
33
33
  import"./index-8fwhhayc.js";
34
34
  import"./index-q1exe2b3.js";
35
- import"./index-ajfa2wmj.js";
35
+ import"./index-28jr28fg.js";
36
36
  import"./index-k46me75h.js";
37
37
  import"./index-ee3x66a5.js";
38
- import"./index-9kf3mj08.js";
38
+ import"./index-kxpz3ncd.js";
39
39
  import"./index-tq5s07ta.js";
40
40
  import"./index-rtry5xyf.js";
41
- import"./index-j02ez59y.js";
41
+ import"./index-keskta0w.js";
42
42
  import"./index-ae75rja9.js";
43
43
  import"./index-w7x7qxz2.js";
44
44
  import"./index-erfnw81g.js";
45
45
  import"./index-ed5ykebp.js";
46
- import"./index-ktazgjqw.js";
46
+ import"./index-2n8y67b4.js";
47
47
  import"./index-gprxjmm7.js";
48
48
  import"./index-n832052r.js";
49
- import"./index-9wmx9ca8.js";
50
- import"./index-myav90y6.js";
49
+ import"./index-9v53ez3a.js";
50
+ import"./index-sb16w4wj.js";
51
51
  import"./index-556ja8an.js";
52
52
  import"./index-k31en0ja.js";
53
53
  import"./index-7g4c7s5r.js";
54
54
  import"./index-s2rcz51a.js";
55
55
  import"./index-4nt52yr9.js";
56
- import"./index-sdqtecsd.js";
56
+ import"./index-336ra397.js";
57
57
  import"./index-4rhhvd1a.js";
58
58
  import"./index-zgwm4ryv.js";
59
59
  import {
60
60
  init_package,
61
61
  package_default
62
- } from "./index-we279je2.js";
62
+ } from "./index-q8st0mtw.js";
63
63
  import {
64
64
  DEFAULT_AGENT_CONFIGS,
65
65
  init_constants