opencode-swarm 7.172.1 → 7.172.3

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 (84) 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/background/pending-delegations.d.ts +1 -1
  4. package/dist/cli/{coder-settlement-pw4jbrez.js → coder-settlement-953gq8yr.js} +11 -11
  5. package/dist/cli/{config-doctor-ab0ckcsc.js → config-doctor-avg2n7zg.js} +3 -3
  6. package/dist/cli/{core-ty98bsnz.js → core-9gyeekh7.js} +4 -4
  7. package/dist/cli/{curation-policy-cvjd6kz8.js → curation-policy-yep7t261.js} +4 -4
  8. package/dist/cli/{curator-drift-b0pbzjxv.js → curator-drift-z8p6kwqg.js} +4 -4
  9. package/dist/cli/curator-llm-factory-p9rykf6q.js +72 -0
  10. package/dist/cli/{curator-rvrhbsy2.js → curator-w99yjeja.js} +36 -36
  11. package/dist/cli/{evidence-summary-service-wmer0c5b.js → evidence-summary-service-7099px21.js} +15 -15
  12. package/dist/cli/{gate-evidence-6d0f6ekr.js → gate-evidence-dpjqqz2c.js} +6 -6
  13. package/dist/cli/guardrail-explain-dns0en0j.js +73 -0
  14. package/dist/cli/{guardrail-log-bmyxcdfk.js → guardrail-log-742pxhff.js} +7 -7
  15. package/dist/cli/{guardrail-reset-9wmbhwff.js → guardrail-reset-nagdgrbn.js} +36 -36
  16. package/dist/cli/{hive-promoter-mc8xssba.js → hive-promoter-k2wf2s5z.js} +36 -36
  17. package/dist/cli/{index-yf1mvexg.js → index-01mjyjdt.js} +1 -1
  18. package/dist/cli/{index-q58xegd7.js → index-0wz1txjt.js} +2 -2
  19. package/dist/cli/{index-wf6pbrg7.js → index-20cdbfq3.js} +1 -1
  20. package/dist/cli/{index-ma38q4rf.js → index-2n16srdc.js} +1 -1
  21. package/dist/cli/{index-sakgsnxj.js → index-4xb2549e.js} +2 -2
  22. package/dist/cli/{index-hx0pas8b.js → index-52479s2h.js} +3 -3
  23. package/dist/cli/{index-ecaws78e.js → index-5frh43fj.js} +2 -2
  24. package/dist/cli/{index-ws3ggk1h.js → index-8p30wyx0.js} +1 -1
  25. package/dist/cli/{index-qfz31dcy.js → index-8rgw1289.js} +5 -5
  26. package/dist/cli/{index-ha3wsy2e.js → index-9h6zhnk0.js} +1 -1
  27. package/dist/cli/{index-mq69g46a.js → index-a1187fx5.js} +2 -2
  28. package/dist/cli/{index-twpzfwga.js → index-amje22mj.js} +2 -2
  29. package/dist/cli/{index-31fes86t.js → index-b395nw9b.js} +2 -2
  30. package/dist/cli/{index-66tshqdp.js → index-cbmt52r8.js} +4 -4
  31. package/dist/cli/{index-j8warkkj.js → index-ccncmdfx.js} +7 -7
  32. package/dist/cli/{index-hydccmm1.js → index-efbdfkw9.js} +1 -1
  33. package/dist/cli/{index-93z2fhyp.js → index-fdmcqg7f.js} +3 -3
  34. package/dist/cli/{index-c5wyannc.js → index-j5sx95zk.js} +5 -5
  35. package/dist/cli/{index-tr3tbtgw.js → index-j7zrvqnf.js} +2 -2
  36. package/dist/cli/{index-h91jjw6t.js → index-j8z3t7dv.js} +1 -1
  37. package/dist/cli/{index-bdqefjxg.js → index-jg2s11sg.js} +1 -1
  38. package/dist/cli/{index-3r17j2gc.js → index-jjaqrtv1.js} +10 -10
  39. package/dist/cli/{index-edext37b.js → index-jx2xbws0.js} +7 -7
  40. package/dist/cli/{index-rhe9zbe2.js → index-kb7fdfa1.js} +36 -36
  41. package/dist/cli/{index-9bg5vc22.js → index-kerhh5q4.js} +1 -1
  42. package/dist/cli/{index-jzrx2sx2.js → index-ksjpc8s8.js} +1 -1
  43. package/dist/cli/{index-br08k19k.js → index-nhh50fv0.js} +86 -79
  44. package/dist/cli/{index-zcjdw8dw.js → index-p2txw1sb.js} +1 -1
  45. package/dist/cli/{index-nzpw41w6.js → index-qzptb0gf.js} +1 -1
  46. package/dist/cli/{index-y5x1swr8.js → index-rxakec16.js} +6 -6
  47. package/dist/cli/{index-008sppht.js → index-s4ne4vyj.js} +4 -4
  48. package/dist/cli/{index-y21gyrt6.js → index-tef8vhhp.js} +38 -38
  49. package/dist/cli/{index-dg5znyqw.js → index-vcapf7mj.js} +17 -8
  50. package/dist/cli/{index-pmg1k4mv.js → index-ve0sgqp6.js} +7 -7
  51. package/dist/cli/{index-vqs7dxp7.js → index-whab5d23.js} +4 -4
  52. package/dist/cli/{index-w0141tkw.js → index-xd1abbh3.js} +8 -8
  53. package/dist/cli/{index-tm6z0wgj.js → index-xfdpbke0.js} +2 -2
  54. package/dist/cli/{index-9p00xent.js → index-y6bqbe76.js} +1 -1
  55. package/dist/cli/{index-re1ey51s.js → index-ygx8dqx5.js} +4 -4
  56. package/dist/cli/{index-jc0as97z.js → index-yh3fj6az.js} +3 -3
  57. package/dist/cli/{index-gdrdtbw6.js → index-yxegcfy5.js} +1 -1
  58. package/dist/cli/index.js +37 -37
  59. package/dist/cli/{knowledge-escalator-k4ab3f1f.js → knowledge-escalator-td5y5mk6.js} +12 -12
  60. package/dist/cli/{knowledge-events-aqy4hb15.js → knowledge-events-8v5ztbfw.js} +10 -10
  61. package/dist/cli/{knowledge-link-51m3c09s.js → knowledge-link-3qypq7bm.js} +3 -3
  62. package/dist/cli/{knowledge-store-xgkga9xj.js → knowledge-store-g6tzh47h.js} +4 -4
  63. package/dist/cli/{knowledge-validator-vvgs8m7m.js → knowledge-validator-5hr0h9fg.js} +6 -6
  64. package/dist/cli/{mcp-qvgka4c8.js → mcp-68s4qvzb.js} +1 -1
  65. package/dist/cli/{model-preflight-2mvdbj0c.js → model-preflight-gk1jysa8.js} +1 -1
  66. package/dist/cli/{pending-delegations-1xvmbw29.js → pending-delegations-09qr1aps.js} +10 -10
  67. package/dist/cli/{pr-subscriptions-13xqrhwx.js → pr-subscriptions-drmhmqs9.js} +10 -10
  68. package/dist/cli/{pr-workflow-gate-6qzpckxa.js → pr-workflow-gate-zr35z0q4.js} +36 -36
  69. package/dist/cli/{runner-k2t9n662.js → runner-2qypr9b5.js} +4 -4
  70. package/dist/cli/{scan-cursor-q5nycpzb.js → scan-cursor-m15pn4jd.js} +5 -5
  71. package/dist/cli/{schema-a8gskpey.js → schema-cgd0q9yv.js} +2 -2
  72. package/dist/cli/{scope-persistence-q0n6y3n7.js → scope-persistence-9q7knrw5.js} +14 -14
  73. package/dist/cli/{server-wmbahe8h.js → server-kxrmns85.js} +36 -36
  74. package/dist/cli/{skill-generator-z76whwng.js → skill-generator-hw3hne32.js} +14 -14
  75. package/dist/cli/{snapshot-coordination-init-k2fgw463.js → snapshot-coordination-init-qaqa4zyt.js} +36 -36
  76. package/dist/cli/{workspace-snapshot-93dx9rbt.js → workspace-snapshot-e63mg204.js} +3 -3
  77. package/dist/cli/{worktree-collision-ownership-deyrgr70.js → worktree-collision-ownership-sv60daa6.js} +11 -11
  78. package/dist/cli/{worktree-isolation-9rjxaxp6.js → worktree-isolation-nacnqxtw.js} +36 -36
  79. package/dist/index.js +8 -8
  80. package/dist/pr-review/circuit.d.ts +1 -1
  81. package/dist/pr-review/completion.d.ts +12 -3
  82. package/package.json +1 -1
  83. package/dist/cli/curator-llm-factory-69vje2m7.js +0 -72
  84. package/dist/cli/guardrail-explain-z06dyan0.js +0 -73
@@ -16,7 +16,7 @@ import {
16
16
  resolveExecutableFromPath,
17
17
  runEvaluation,
18
18
  runExternalTool
19
- } from "./index-ha3wsy2e.js";
19
+ } from "./index-9h6zhnk0.js";
20
20
  import {
21
21
  finalizeShellAuditForClose,
22
22
  isPolicyProtectedPath,
@@ -26,20 +26,20 @@ import {
26
26
  protectedRoots,
27
27
  redactDecisionLineForArchive,
28
28
  stableCanonicalStringify
29
- } from "./index-hx0pas8b.js";
29
+ } from "./index-52479s2h.js";
30
30
  import {
31
31
  canonicalProjectKey,
32
32
  closeGroupCommitWriter,
33
33
  getGlobalEventBus,
34
34
  getGroupCommitWriter,
35
35
  importLegacyJsonl
36
- } from "./index-h91jjw6t.js";
36
+ } from "./index-j8z3t7dv.js";
37
37
  import {
38
38
  detectStraySwarmDirs,
39
39
  readDoctorArtifact,
40
40
  removeStraySwarmDir,
41
41
  runConfigDoctor
42
- } from "./index-sakgsnxj.js";
42
+ } from "./index-4xb2549e.js";
43
43
  import {
44
44
  MAX_TRANSIENT_RETRIES,
45
45
  archiveEvidence,
@@ -81,7 +81,7 @@ import {
81
81
  updateTaskStatus,
82
82
  validateProjectRoot,
83
83
  withPlanLifecycleLock
84
- } from "./index-3r17j2gc.js";
84
+ } from "./index-jjaqrtv1.js";
85
85
  import {
86
86
  EvaluationTaskV1Schema,
87
87
  GateAuditManifestV1Schema,
@@ -98,7 +98,7 @@ import {
98
98
  saveGateAuditResult,
99
99
  savePromotionDecision,
100
100
  saveTaskSetSnapshot
101
- } from "./index-nzpw41w6.js";
101
+ } from "./index-qzptb0gf.js";
102
102
  import {
103
103
  canonicalHash,
104
104
  canonicalJson,
@@ -146,15 +146,15 @@ import {
146
146
  retireSkill,
147
147
  selectCandidateEntries,
148
148
  syncBundledProjectSkillsIfMissingAsync
149
- } from "./index-re1ey51s.js";
149
+ } from "./index-ygx8dqx5.js";
150
150
  import {
151
151
  readRecentEscalations
152
- } from "./index-qfz31dcy.js";
152
+ } from "./index-8rgw1289.js";
153
153
  import {
154
154
  alreadyCuratedThisGeneration,
155
155
  claimNextScanBatch,
156
156
  resolveCohortId
157
- } from "./index-tm6z0wgj.js";
157
+ } from "./index-xfdpbke0.js";
158
158
  import {
159
159
  CURATOR_CONSOLIDATION_PROMPT,
160
160
  CURATOR_INIT_PROMPT,
@@ -174,7 +174,7 @@ import {
174
174
  sweepStale,
175
175
  unsubscribe,
176
176
  updateSnapshot
177
- } from "./index-y5x1swr8.js";
177
+ } from "./index-rxakec16.js";
178
178
  import {
179
179
  clearWorktreeMergeStatus,
180
180
  getAllWorktreeMergeFailures,
@@ -186,7 +186,7 @@ import {
186
186
  listCoderSettlementWalStates,
187
187
  recoverCoderSettlement,
188
188
  recoverStaleCoderSettlements
189
- } from "./index-w0141tkw.js";
189
+ } from "./index-xd1abbh3.js";
190
190
  import {
191
191
  parsePorcelainV2Snapshot,
192
192
  resolveCommitCountSince,
@@ -214,12 +214,12 @@ import {
214
214
  resolveRemoteUrlIdentity,
215
215
  resolveRemoteUrlIdentityAsync,
216
216
  switchPrFeedbackTrackingCandidateAsync
217
- } from "./index-mq69g46a.js";
217
+ } from "./index-a1187fx5.js";
218
218
  import {
219
219
  WORKTREE_LIFECYCLE_LOCK_FILE,
220
220
  recordWorktreeProvisioningOwner,
221
221
  removeWorktreeProvisioningOwner
222
- } from "./index-tr3tbtgw.js";
222
+ } from "./index-j7zrvqnf.js";
223
223
  import {
224
224
  getLanguageForExtension
225
225
  } from "./index-pt7h91zc.js";
@@ -257,7 +257,7 @@ import {
257
257
  transitionTaskWorkflowEvidence,
258
258
  withTaskEvidenceTransaction,
259
259
  writeWorkflowWalFile
260
- } from "./index-jc0as97z.js";
260
+ } from "./index-yh3fj6az.js";
261
261
  import {
262
262
  isPathUnderSwarmWorktreeBase,
263
263
  listLiveLaneOwners,
@@ -266,7 +266,7 @@ import {
266
266
  recordLiveLaneOwner,
267
267
  removeWorktree,
268
268
  resolveWorktreeBaseDir
269
- } from "./index-008sppht.js";
269
+ } from "./index-s4ne4vyj.js";
270
270
  import {
271
271
  DEFAULT_STALE_DELEGATION_TIMEOUT_MS,
272
272
  DELEGATION_COMPACTION_HIGH_WATER_BYTES,
@@ -300,7 +300,7 @@ import {
300
300
  scanBackgroundCoderReservationsForAdmission,
301
301
  scanDelegationsForRecovery,
302
302
  sweepStaleDelegations
303
- } from "./index-dg5znyqw.js";
303
+ } from "./index-vcapf7mj.js";
304
304
  import {
305
305
  MAX_EVENT_LOG_ENTRIES,
306
306
  _internals,
@@ -316,13 +316,13 @@ import {
316
316
  recordKnowledgeEvent,
317
317
  recordPhaseCloseIntent,
318
318
  resolveKnowledgeEventsPath
319
- } from "./index-pmg1k4mv.js";
319
+ } from "./index-ve0sgqp6.js";
320
320
  import {
321
321
  estimateTokens,
322
322
  readSwarmFileAsync,
323
323
  safeHook,
324
324
  validateSwarmPath
325
- } from "./index-ma38q4rf.js";
325
+ } from "./index-2n16srdc.js";
326
326
  import {
327
327
  bunFile,
328
328
  bunSpawn,
@@ -342,18 +342,18 @@ import {
342
342
  validateActionableFields,
343
343
  validateLesson,
344
344
  validateSkillPath
345
- } from "./index-66tshqdp.js";
345
+ } from "./index-cbmt52r8.js";
346
346
  import {
347
347
  MAX_CURATION_PROPOSALS,
348
348
  authorizeCuration,
349
349
  buildConfigFingerprintInput
350
- } from "./index-hydccmm1.js";
350
+ } from "./index-efbdfkw9.js";
351
351
  import {
352
352
  cohortConfigFingerprint
353
353
  } from "./index-rtry5xyf.js";
354
354
  import {
355
355
  resolveWorktreeIsolationConfig
356
- } from "./index-93z2fhyp.js";
356
+ } from "./index-fdmcqg7f.js";
357
357
  import {
358
358
  RetrospectiveEvidenceSchema
359
359
  } from "./index-frcemc0b.js";
@@ -364,7 +364,7 @@ import {
364
364
  clearScopeBindingFromDisk,
365
365
  clearScopeBindings,
366
366
  readScopeFromDisk
367
- } from "./index-edext37b.js";
367
+ } from "./index-jx2xbws0.js";
368
368
  import {
369
369
  clearPlanLedgerForReset,
370
370
  computePlanStructureHash,
@@ -380,7 +380,7 @@ import {
380
380
  replayFromLedgerWithStatus,
381
381
  resolvePlanningProfile,
382
382
  takeSnapshotEvent
383
- } from "./index-c5wyannc.js";
383
+ } from "./index-j5sx95zk.js";
384
384
  import {
385
385
  CORE_EVENT_LOCKED,
386
386
  appendCoreEventSync,
@@ -390,7 +390,7 @@ import {
390
390
  hasSpecDriftAuditEvent,
391
391
  hasTaskRepairAuditEvent,
392
392
  readCoreEvents
393
- } from "./index-9bg5vc22.js";
393
+ } from "./index-kerhh5q4.js";
394
394
  import {
395
395
  DEFAULT_QA_GATES,
396
396
  computeProfileHash,
@@ -398,7 +398,7 @@ import {
398
398
  getEffectiveGates,
399
399
  getProfileLookupForIdentity,
400
400
  setGatesForIdentity
401
- } from "./index-31fes86t.js";
401
+ } from "./index-b395nw9b.js";
402
402
  import {
403
403
  MAX_COORDINATION_STATE_LIST_ROWS,
404
404
  deleteCoordinationImports,
@@ -410,7 +410,7 @@ import {
410
410
  listCoordinationStates,
411
411
  transitionCoordinationState,
412
412
  withCoordinationTransaction
413
- } from "./index-9p00xent.js";
413
+ } from "./index-y6bqbe76.js";
414
414
  import {
415
415
  DURABILITY_CLASSES,
416
416
  closeAllProjectDbs,
@@ -418,7 +418,7 @@ import {
418
418
  getProjectDb,
419
419
  projectDbExists,
420
420
  projectDbPath
421
- } from "./index-bdqefjxg.js";
421
+ } from "./index-jg2s11sg.js";
422
422
  import {
423
423
  loadDatabaseCtor
424
424
  } from "./index-rdm3px0g.js";
@@ -433,7 +433,7 @@ import {
433
433
  observeCuratorCompliance,
434
434
  observeStoreHealth,
435
435
  readLearningHealth
436
- } from "./index-gdrdtbw6.js";
436
+ } from "./index-yxegcfy5.js";
437
437
  import {
438
438
  appendKnowledge,
439
439
  appendRejectedLesson,
@@ -463,7 +463,7 @@ import {
463
463
  transactFile,
464
464
  transactKnowledge,
465
465
  wordBigrams
466
- } from "./index-j8warkkj.js";
466
+ } from "./index-ccncmdfx.js";
467
467
  import {
468
468
  readTailJsonl,
469
469
  readTailJsonlDetailed,
@@ -484,7 +484,7 @@ import {
484
484
  resolveLinkDir,
485
485
  sanitizeLinkId,
486
486
  writeLinkPointer
487
- } from "./index-jzrx2sx2.js";
487
+ } from "./index-ksjpc8s8.js";
488
488
  import {
489
489
  assertProjectRoot,
490
490
  atomicWriteFile,
@@ -493,7 +493,7 @@ import {
493
493
  listActiveLocks,
494
494
  tryAcquireLock,
495
495
  withEvidenceLock
496
- } from "./index-yf1mvexg.js";
496
+ } from "./index-01mjyjdt.js";
497
497
  import {
498
498
  require_proper_lockfile
499
499
  } from "./index-7g4c7s5r.js";
@@ -515,7 +515,7 @@ import {
515
515
  matchTempGrammar,
516
516
  parseTargetBasename,
517
517
  resetSwarmArtifactCache
518
- } from "./index-ws3ggk1h.js";
518
+ } from "./index-8p30wyx0.js";
519
519
  import {
520
520
  canonicalRootKey,
521
521
  canonicalRootKeyFresh,
@@ -532,7 +532,7 @@ import {
532
532
  loadGateOverrides,
533
533
  loadPluginConfig,
534
534
  loadPluginConfigWithMeta
535
- } from "./index-zcjdw8dw.js";
535
+ } from "./index-p2txw1sb.js";
536
536
  import {
537
537
  init_git_executable,
538
538
  resolveGitExecutable,
@@ -561,7 +561,7 @@ import {
561
561
  resolveAutoReviewConfig,
562
562
  resolveGeneratedAgentRole,
563
563
  stripKnownSwarmPrefix
564
- } from "./index-twpzfwga.js";
564
+ } from "./index-amje22mj.js";
565
565
  import {
566
566
  AGENT_TOOL_MAP,
567
567
  ALL_AGENT_NAMES,
@@ -584,7 +584,7 @@ import {
584
584
  init_agent_names,
585
585
  init_constants,
586
586
  init_tool_metadata
587
- } from "./index-ecaws78e.js";
587
+ } from "./index-5frh43fj.js";
588
588
  import {
589
589
  KNOWLEDGE_SCHEMA_VERSION,
590
590
  OUTCOME_BLOCK_THRESHOLD,
@@ -3175,7 +3175,7 @@ async function importLegacyPrWorkflowGateStateIfNeeded(directory, sessionID, all
3175
3175
  return null;
3176
3176
  throw error2;
3177
3177
  }
3178
- const legacy = allowSalvagedImport ? (await (await import("./pr-workflow-gate-6qzpckxa.js")).readPrWorkflowGateStateForRecovery(directory, sessionID))?.state ?? null : await readPrWorkflowGateStateFileFromDisk(filePath, sessionID);
3178
+ const legacy = allowSalvagedImport ? (await (await import("./pr-workflow-gate-zr35z0q4.js")).readPrWorkflowGateStateForRecovery(directory, sessionID))?.state ?? null : await readPrWorkflowGateStateFileFromDisk(filePath, sessionID);
3179
3179
  if (!legacy)
3180
3180
  return null;
3181
3181
  const namespace = workflowGateStateCoordinationNamespace(sessionID);
@@ -3245,7 +3245,7 @@ async function deleteStateWhileLocked(directory, sessionID, options = {}) {
3245
3245
  let recoveryState = null;
3246
3246
  if (!currentAuthoritative) {
3247
3247
  if (options.allowSalvagedRead) {
3248
- const { readPrWorkflowGateStateForRecovery } = await import("./pr-workflow-gate-6qzpckxa.js");
3248
+ const { readPrWorkflowGateStateForRecovery } = await import("./pr-workflow-gate-zr35z0q4.js");
3249
3249
  recoveryState = (await readPrWorkflowGateStateForRecovery(directory, normalizedSessionID))?.state ?? null;
3250
3250
  }
3251
3251
  if (!recoveryState) {
@@ -4049,6 +4049,9 @@ function classifyPrReviewCircuitSignal(record) {
4049
4049
  }
4050
4050
  return { kind: "ignored", reason: "unknown" };
4051
4051
  }
4052
+ if (result?.workflowLaneFailureClass === "liveness") {
4053
+ return { kind: "ignored", reason: "host_abandonment" };
4054
+ }
4052
4055
  switch (record.status) {
4053
4056
  case "error":
4054
4057
  return { kind: "ignored", reason: "unknown" };
@@ -4329,13 +4332,14 @@ function allowedPrReviewReportVerdicts(kind) {
4329
4332
  var PR_REVIEW_FAILURE_CLASS_SAFE_DETAILS = {
4330
4333
  contract: "lane failed its output contract after the bounded retry budget was exhausted",
4331
4334
  resource: "lane exhausted its resource budget before producing valid output",
4332
- deadline: "lane passed its collection deadline without valid terminal output"
4335
+ deadline: "lane passed its collection deadline without valid terminal output",
4336
+ liveness: "lane was abandoned by its host (presumed-stale sweep, unobservable host session, or operator cancellation) without an observed agent failure"
4333
4337
  };
4334
4338
  var PrReviewUnresolvedDimensionRecordSchema = exports_external.object({
4335
4339
  dimension: exports_external.enum(PR_REVIEW_BASE_DIMENSION_IDS),
4336
4340
  terminalState: exports_external.enum(["FAILED", "CANCELLED", "NOT_LAUNCHED"]),
4337
4341
  reasonKind: exports_external.enum(["lane_failure", "cancelled", "not_launched"]),
4338
- failureClass: exports_external.enum(["contract", "resource", "deadline"]).optional(),
4342
+ failureClass: exports_external.enum(["contract", "resource", "deadline", "liveness"]).optional(),
4339
4343
  terminalEventId: exports_external.string().min(1).max(256).optional(),
4340
4344
  batchId: exports_external.string().min(1).max(128).optional(),
4341
4345
  laneId: exports_external.string().min(1).max(128).optional(),
@@ -4531,14 +4535,17 @@ function latestTypedFailureForBaseDimension(directory, state, dimension) {
4531
4535
  continue;
4532
4536
  for (const record of batchRead.value.filter((candidate) => candidate.laneId === lane.laneId)) {
4533
4537
  const terminal = record.terminalResult;
4538
+ const eventlessFailure = !terminal && CIRCUIT_TERMINAL_DELEGATION_STATUSES.has(record.status);
4534
4539
  const result = terminal?.result ?? record.result;
4535
4540
  const failureClass = result?.workflowLaneFailureClass;
4536
- if (!terminal || !failureClass || terminal.status === "completed")
4541
+ if (!terminal && !eventlessFailure || !failureClass)
4542
+ continue;
4543
+ if ((terminal?.status ?? record.status) === "completed")
4537
4544
  continue;
4538
4545
  const candidate = {
4539
4546
  failureClass,
4540
- terminalEventId: terminal.eventId,
4541
- recordedAt: terminal.recordedAt,
4547
+ terminalEventId: terminal ? terminal.eventId : `eventless:${record.status}:${result?.digest ?? ""}`,
4548
+ recordedAt: terminal ? terminal.recordedAt : record.completedAt ?? record.updatedAt,
4542
4549
  batchId: batch.batchId,
4543
4550
  laneId: lane.laneId
4544
4551
  };
@@ -13988,7 +13995,7 @@ function isLaneOwnedByCurrentSession(branchName, expectedSessionId) {
13988
13995
  return extracted === expectedSessionId;
13989
13996
  }
13990
13997
  async function inspectStandardWorktreeCollisionOwnership(identity) {
13991
- const collisionOwnership = await import("./worktree-collision-ownership-deyrgr70.js");
13998
+ const collisionOwnership = await import("./worktree-collision-ownership-sv60daa6.js");
13992
13999
  return collisionOwnership.inspectStandardWorktreeCollisionOwnership(identity);
13993
14000
  }
13994
14001
  async function runRecoveryGit(directory, args, timeoutMs = 15000) {
@@ -14414,7 +14421,7 @@ async function precreateStandardWorktreeSession(args) {
14414
14421
  const laneProfile = computeLaneRuntimeProfile(worktreeConfig.runtime_isolation, laneIndex, handle.worktreePath);
14415
14422
  if (laneProfile) {
14416
14423
  try {
14417
- const { writeLaneProfileToDiskReal } = await import("./core-ty98bsnz.js");
14424
+ const { writeLaneProfileToDiskReal } = await import("./core-9gyeekh7.js");
14418
14425
  await writeLaneProfileToDiskReal(handle.worktreePath, laneProfile.laneIndex, laneProfile.envOverrides);
14419
14426
  } catch {}
14420
14427
  }
@@ -15385,7 +15392,7 @@ async function finishStandardWorktreeDispatch(directory, dispatch, config, callI
15385
15392
  }
15386
15393
  clearWorktreeMergeStatus(statusKey);
15387
15394
  try {
15388
- const { removeLaneProfileFromDiskReal } = await import("./core-ty98bsnz.js");
15395
+ const { removeLaneProfileFromDiskReal } = await import("./core-9gyeekh7.js");
15389
15396
  await removeLaneProfileFromDiskReal(dispatch.handle.worktreePath, dispatch.laneIndex);
15390
15397
  } catch {}
15391
15398
  const state = serializationStateBySessionID.get(dispatch.parentSessionID);
@@ -21981,7 +21988,7 @@ function getDisplayFinalPromptPressure() {
21981
21988
  async function rehydratePrSubscriptions(sessionID, directory) {
21982
21989
  const map = new Map;
21983
21990
  try {
21984
- const { listActive: listActive2 } = await import("./pr-subscriptions-13xqrhwx.js");
21991
+ const { listActive: listActive2 } = await import("./pr-subscriptions-drmhmqs9.js");
21985
21992
  const records = await listActive2(directory);
21986
21993
  for (const record of records) {
21987
21994
  if (record.sessionID !== sessionID)
@@ -38503,9 +38510,9 @@ function hashContent(content) {
38503
38510
  return createHash23("sha1").update(content).digest("hex");
38504
38511
  }
38505
38512
  async function loadConfigForPolicyCurator(directory) {
38506
- const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-a8gskpey.js");
38513
+ const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-cgd0q9yv.js");
38507
38514
  try {
38508
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-vqs7dxp7.js");
38515
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-whab5d23.js");
38509
38516
  const { config: loadedConfig } = loadPluginConfigWithMeta2(directory);
38510
38517
  return KnowledgeConfigSchema2.parse(loadedConfig.knowledge ?? {});
38511
38518
  } catch {
@@ -41563,7 +41570,7 @@ async function resolveCuratorLLMDelegate(directory, mode, sessionId) {
41563
41570
  const seam = _internals35.createCuratorLLMDelegate;
41564
41571
  if (seam)
41565
41572
  return seam(directory, mode, sessionId);
41566
- const { createCuratorLLMDelegate } = await import("./curator-llm-factory-69vje2m7.js");
41573
+ const { createCuratorLLMDelegate } = await import("./curator-llm-factory-p9rykf6q.js");
41567
41574
  return createCuratorLLMDelegate(directory, mode, sessionId);
41568
41575
  }
41569
41576
  async function reconcileCloseTerminalStateForPlan(directory, targetPlan, options) {
@@ -41958,7 +41965,7 @@ async function runFinalizeStage(ctx) {
41958
41965
  }
41959
41966
  }
41960
41967
  try {
41961
- const { CuratorConfigSchema: CCS } = await import("./schema-a8gskpey.js");
41968
+ const { CuratorConfigSchema: CCS } = await import("./schema-cgd0q9yv.js");
41962
41969
  const { config: pmLoadedConfig } = _internals35.loadPluginConfigWithMeta(ctx.directory);
41963
41970
  const curatorCfg = CCS.parse(pmLoadedConfig.curator ?? {});
41964
41971
  if (curatorCfg.enabled && curatorCfg.postmortem_enabled) {
@@ -43792,7 +43799,7 @@ function serializeAgentSession(s) {
43792
43799
  }
43793
43800
  async function writeSnapshot(directory, state) {
43794
43801
  try {
43795
- const { ensureSnapshotCoordinationReady } = await import("./snapshot-coordination-init-k2fgw463.js");
43802
+ const { ensureSnapshotCoordinationReady } = await import("./snapshot-coordination-init-qaqa4zyt.js");
43796
43803
  await ensureSnapshotCoordinationReady(directory);
43797
43804
  const snapshot = {
43798
43805
  version: 3,
@@ -46448,7 +46455,7 @@ function planMerges(active, threshold, maxComparisons, maxMerges) {
46448
46455
  };
46449
46456
  }
46450
46457
  async function sweepActiveNearDuplicates(directory, options = {}) {
46451
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-vqs7dxp7.js");
46458
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-whab5d23.js");
46452
46459
  const { config } = loadPluginConfigWithMeta2(directory);
46453
46460
  const sweepConfig = config.learning?.dedup_sweep;
46454
46461
  if (sweepConfig?.enabled === false)
@@ -47572,7 +47579,7 @@ async function runCuratorPhase(directory, phase, agentsDispatched, config, knowl
47572
47579
  }
47573
47580
  if (config.skill_generation_enabled === true && skillCandidates.length > 0) {
47574
47581
  try {
47575
- const skillModule = await import("./skill-generator-z76whwng.js");
47582
+ const skillModule = await import("./skill-generator-hw3hne32.js");
47576
47583
  for (const cand of skillCandidates) {
47577
47584
  if (cand.confidence < (config.min_skill_confidence ?? DEFAULT_SKILL_MIN_CONFIDENCE)) {
47578
47585
  continue;
@@ -48044,7 +48051,7 @@ async function applyCuratorKnowledgeUpdates(directory, recommendations, knowledg
48044
48051
  } catch {}
48045
48052
  }
48046
48053
  if (contradictedEntries.length > 0 && knowledgeConfig.contradiction_threshold_action === "quarantine") {
48047
- const { maybeQuarantineOnContradiction } = await import("./knowledge-escalator-k4ab3f1f.js");
48054
+ const { maybeQuarantineOnContradiction } = await import("./knowledge-escalator-td5y5mk6.js");
48048
48055
  for (const { id } of contradictedEntries) {
48049
48056
  try {
48050
48057
  await maybeQuarantineOnContradiction(directory, id, knowledgeConfig.contradiction_quarantine_threshold, knowledgeConfig.contradiction_quarantine_window_days);
@@ -48876,7 +48883,7 @@ async function runCuratorPostMortem(directory, options = {}) {
48876
48883
  warnings.push("Failed to collect knowledge summary.");
48877
48884
  }
48878
48885
  try {
48879
- const { getScanStatus } = await import("./scan-cursor-q5nycpzb.js");
48886
+ const { getScanStatus } = await import("./scan-cursor-m15pn4jd.js");
48880
48887
  const scanStatus = await getScanStatus(directory);
48881
48888
  if (scanStatus.remaining_estimate > 0) {
48882
48889
  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.`);
@@ -49048,9 +49055,9 @@ var _internals51 = {
49048
49055
  verifyPostMortemKnowledgeActions,
49049
49056
  repairPostMortemActions,
49050
49057
  loadDefaultKnowledgeConfig: async (directory) => {
49051
- const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-a8gskpey.js");
49058
+ const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-cgd0q9yv.js");
49052
49059
  try {
49053
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-vqs7dxp7.js");
49060
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-whab5d23.js");
49054
49061
  const loaded = loadPluginConfigWithMeta2(directory);
49055
49062
  return KnowledgeConfigSchema2.parse(loaded.config.knowledge ?? {});
49056
49063
  } catch {
@@ -49058,11 +49065,11 @@ var _internals51 = {
49058
49065
  }
49059
49066
  },
49060
49067
  applyCuratorKnowledgeUpdates: async (directory, recommendations, knowledgeConfig, generation) => {
49061
- const { applyCuratorKnowledgeUpdates: applyCuratorKnowledgeUpdates2 } = await import("./curator-rvrhbsy2.js");
49068
+ const { applyCuratorKnowledgeUpdates: applyCuratorKnowledgeUpdates2 } = await import("./curator-w99yjeja.js");
49062
49069
  return applyCuratorKnowledgeUpdates2(directory, recommendations, knowledgeConfig, generation);
49063
49070
  },
49064
49071
  checkHivePromotions: async (entries2, knowledgeConfig, directory) => {
49065
- const { checkHivePromotions } = await import("./hive-promoter-mc8xssba.js");
49072
+ const { checkHivePromotions } = await import("./hive-promoter-k2wf2s5z.js");
49066
49073
  return checkHivePromotions(entries2, knowledgeConfig, directory);
49067
49074
  },
49068
49075
  applyProposalTriage: async (directory, triage) => {
@@ -49071,7 +49078,7 @@ var _internals51 = {
49071
49078
  activateProposal,
49072
49079
  listSkills: listSkills2,
49073
49080
  sanitizeSlug
49074
- } = await import("./skill-generator-z76whwng.js");
49081
+ } = await import("./skill-generator-hw3hne32.js");
49075
49082
  const result = {
49076
49083
  approved: [],
49077
49084
  rejected: [],
@@ -49113,7 +49120,7 @@ var _internals51 = {
49113
49120
  return result;
49114
49121
  },
49115
49122
  readPriorDriftReports: async (directory) => {
49116
- const { readPriorDriftReports } = await import("./curator-drift-b0pbzjxv.js");
49123
+ const { readPriorDriftReports } = await import("./curator-drift-z8p6kwqg.js");
49117
49124
  return readPriorDriftReports(directory);
49118
49125
  },
49119
49126
  readSwarmKnowledge: (directory) => readKnowledge(resolveSwarmKnowledgePath(directory))
@@ -58909,9 +58916,9 @@ var _internals61 = {
58909
58916
  loadPluginConfigWithMeta,
58910
58917
  loadCuratorDeps: async () => {
58911
58918
  const [{ CuratorConfigSchema }, curator, { createCuratorLLMDelegate }] = await Promise.all([
58912
- import("./schema-a8gskpey.js"),
58913
- import("./curator-rvrhbsy2.js"),
58914
- import("./curator-llm-factory-69vje2m7.js")
58919
+ import("./schema-cgd0q9yv.js"),
58920
+ import("./curator-w99yjeja.js"),
58921
+ import("./curator-llm-factory-p9rykf6q.js")
58915
58922
  ]);
58916
58923
  return { CuratorConfigSchema, curator, createCuratorLLMDelegate };
58917
58924
  }
@@ -60820,7 +60827,7 @@ async function computeCurationDiagnostics(directory, entries2) {
60820
60827
  let scanCompleted = false;
60821
60828
  let scanRemaining = 0;
60822
60829
  try {
60823
- const { getScanStatus } = await import("./scan-cursor-q5nycpzb.js");
60830
+ const { getScanStatus } = await import("./scan-cursor-m15pn4jd.js");
60824
60831
  const status = await getScanStatus(directory);
60825
60832
  scanGeneration = status.generation;
60826
60833
  scanCompleted = status.completed;
@@ -60828,19 +60835,19 @@ async function computeCurationDiagnostics(directory, entries2) {
60828
60835
  } catch {}
60829
60836
  let configMatch = null;
60830
60837
  try {
60831
- const { isLinked: isLinked2 } = await import("./knowledge-link-51m3c09s.js");
60838
+ const { isLinked: isLinked2 } = await import("./knowledge-link-3qypq7bm.js");
60832
60839
  if (isLinked2(directory)) {
60833
- const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-a8gskpey.js");
60840
+ const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-cgd0q9yv.js");
60834
60841
  let config;
60835
60842
  try {
60836
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-vqs7dxp7.js");
60843
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-whab5d23.js");
60837
60844
  const loaded = loadPluginConfigWithMeta2(directory);
60838
60845
  config = KnowledgeConfigSchema2.parse(loaded.config.knowledge ?? {});
60839
60846
  } catch {
60840
60847
  config = KnowledgeConfigSchema2.parse({});
60841
60848
  }
60842
60849
  const { cohortConfigFingerprint: cohortConfigFingerprint2 } = await import("./config-fingerprint-v22xh5a2.js");
60843
- const { buildConfigFingerprintInput: buildConfigFingerprintInput2, readCohortConfigFingerprint } = await import("./curation-policy-cvjd6kz8.js");
60850
+ const { buildConfigFingerprintInput: buildConfigFingerprintInput2, readCohortConfigFingerprint } = await import("./curation-policy-yep7t261.js");
60844
60851
  const currentFp = cohortConfigFingerprint2(buildConfigFingerprintInput2(config));
60845
60852
  const cohortFp = await readCohortConfigFingerprint(directory);
60846
60853
  configMatch = cohortFp === null ? null : currentFp === cohortFp;
@@ -62231,7 +62238,7 @@ async function handleDoctorCommand(directory, args) {
62231
62238
  const result = runConfigDoctor(config, directory);
62232
62239
  let output;
62233
62240
  if (enableAutoFix && result.hasAutoFixableIssues) {
62234
- const { runConfigDoctorWithFixes } = await import("./config-doctor-ab0ckcsc.js");
62241
+ const { runConfigDoctorWithFixes } = await import("./config-doctor-avg2n7zg.js");
62235
62242
  const fixResult = await runConfigDoctorWithFixes(directory, config, true, {
62236
62243
  applyLossy: true
62237
62244
  });
@@ -62269,7 +62276,7 @@ async function handleDoctorCommand(directory, args) {
62269
62276
  `;
62270
62277
  }
62271
62278
  try {
62272
- const { runModelPreflight } = await import("./model-preflight-2mvdbj0c.js");
62279
+ const { runModelPreflight } = await import("./model-preflight-gk1jysa8.js");
62273
62280
  const preflight = await runModelPreflight(config, swarmState.opencodeClient);
62274
62281
  if (preflight.catalogAvailable) {
62275
62282
  const unresolved = preflight.resolutions.filter((resolution) => resolution.status === "unresolved");
@@ -63185,7 +63192,7 @@ async function handleEvidenceCommand(directory, args) {
63185
63192
  return formatTaskEvidenceMarkdown(evidenceData);
63186
63193
  }
63187
63194
  async function handleEvidenceSummaryCommand(directory) {
63188
- const { buildEvidenceSummary } = await import("./evidence-summary-service-wmer0c5b.js");
63195
+ const { buildEvidenceSummary } = await import("./evidence-summary-service-7099px21.js");
63189
63196
  const artifact = await buildEvidenceSummary(directory);
63190
63197
  if (!artifact) {
63191
63198
  return "No plan found. Run `/swarm plan` to check plan status.";
@@ -83205,7 +83212,7 @@ function createCuratorLLMDelegate(directory, mode = "init", sessionId) {
83205
83212
  }
83206
83213
  const sdkOpts = signal ? { signal } : {};
83207
83214
  try {
83208
- const { getSwarmAgents: getSwarmAgents2, resolveFallbackModel: resolveFallbackModel2 } = await import("./index-rhe9zbe2.js");
83215
+ const { getSwarmAgents: getSwarmAgents2, resolveFallbackModel: resolveFallbackModel2 } = await import("./index-kb7fdfa1.js");
83209
83216
  const createResult = await client.session.create({
83210
83217
  ...sessionId ? {
83211
83218
  body: {
@@ -97409,7 +97416,7 @@ async function runValidationWithTransientRetry(input, candidateContent, baseline
97409
97416
  if (!input.dispatcher) {
97410
97417
  throw new Error("no evaluation dispatcher available (cannot run validation)");
97411
97418
  }
97412
- const { createModelEvaluationExecutor: createModelEvaluationExecutor2 } = await import("./runner-k2t9n662.js");
97419
+ const { createModelEvaluationExecutor: createModelEvaluationExecutor2 } = await import("./runner-2qypr9b5.js");
97413
97420
  const executor = createModelEvaluationExecutor2(input.dispatcher, input.sessionId);
97414
97421
  const result = await withProtectedSetIntegrity([evalInputRoot, ...protectedRoots(input.directory)], () => _internals117.evaluateCandidateV1({
97415
97422
  projectRoot: input.directory,
@@ -100038,7 +100045,7 @@ function buildDetailedHelp(commandName, entry) {
100038
100045
  async function handleHelpCommand(ctx) {
100039
100046
  const targetCommand = ctx.args.join(" ");
100040
100047
  if (!targetCommand) {
100041
- const { buildHelpText } = await import("./index-y21gyrt6.js");
100048
+ const { buildHelpText } = await import("./index-tef8vhhp.js");
100042
100049
  return buildHelpText();
100043
100050
  }
100044
100051
  const tokens = targetCommand.split(/\s+/);
@@ -100052,7 +100059,7 @@ async function handleHelpCommand(ctx) {
100052
100059
  > Note: \`/swarm ${resolved.key}\` is a deprecated alias for \`/swarm ${aliasTarget}\`.` : detailed;
100053
100060
  }
100054
100061
  const similar = _internals24.findSimilarCommands(targetCommand);
100055
- const { buildHelpText: fullHelp } = await import("./index-y21gyrt6.js");
100062
+ const { buildHelpText: fullHelp } = await import("./index-tef8vhhp.js");
100056
100063
  if (similar.length > 0) {
100057
100064
  return `Command '/swarm ${targetCommand}' not found.
100058
100065
 
@@ -100367,7 +100374,7 @@ var COMMAND_REGISTRY = {
100367
100374
  },
100368
100375
  "guardrail explain": {
100369
100376
  handler: async (ctx) => {
100370
- const { handleGuardrailExplain } = await import("./guardrail-explain-z06dyan0.js");
100377
+ const { handleGuardrailExplain } = await import("./guardrail-explain-dns0en0j.js");
100371
100378
  return handleGuardrailExplain(ctx.directory, ctx.args);
100372
100379
  },
100373
100380
  description: "Dry-run: show what the guardrails would do to a command or write target (executes nothing)",
@@ -100377,7 +100384,7 @@ var COMMAND_REGISTRY = {
100377
100384
  },
100378
100385
  "guardrail reset": {
100379
100386
  handler: async (ctx) => {
100380
- const { handleGuardrailReset } = await import("./guardrail-reset-9wmbhwff.js");
100387
+ const { handleGuardrailReset } = await import("./guardrail-reset-nagdgrbn.js");
100381
100388
  return handleGuardrailReset(ctx.args, ctx.sessionID);
100382
100389
  },
100383
100390
  description: "Reset one exact active invocation/action circuit after repair",
@@ -100398,7 +100405,7 @@ var COMMAND_REGISTRY = {
100398
100405
  },
100399
100406
  "guardrail-log": {
100400
100407
  handler: async (ctx) => {
100401
- const { handleGuardrailLog } = await import("./guardrail-log-bmyxcdfk.js");
100408
+ const { handleGuardrailLog } = await import("./guardrail-log-742pxhff.js");
100402
100409
  return handleGuardrailLog(ctx.directory, ctx.args);
100403
100410
  },
100404
100411
  description: "Read the guardrail decision log (use --blocks-only for blocks)",
@@ -14,7 +14,7 @@ import {
14
14
  PluginConfigSchema,
15
15
  init_schema,
16
16
  resolveExternalSkillsConfig
17
- } from "./index-twpzfwga.js";
17
+ } from "./index-amje22mj.js";
18
18
  import {
19
19
  exports_external,
20
20
  init_zod
@@ -11,7 +11,7 @@ import {
11
11
  assertProjectRoot,
12
12
  atomicWriteFile,
13
13
  withEvidenceLock
14
- } from "./index-yf1mvexg.js";
14
+ } from "./index-01mjyjdt.js";
15
15
  import {
16
16
  exports_external,
17
17
  init_zod