opencode-swarm 7.186.6 → 7.186.8

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 (105) hide show
  1. package/.opencode/skills/swarm-pr-review/SKILL.md +3 -3
  2. package/.opencode/skills/swarm-pr-review/references/lane-output-recoverability.md +4 -3
  3. package/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
  4. package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
  5. package/dist/agents/architect.d.ts +1 -1
  6. package/dist/background/pending-delegations.d.ts +4 -1
  7. package/dist/cli/{auto-checkpoint-bgd0a0fe.js → auto-checkpoint-hw4rttv4.js} +8 -8
  8. package/dist/cli/{checkpoint-t8c2gmqm.js → checkpoint-fdkh943k.js} +15 -15
  9. package/dist/cli/{coder-settlement-vk29vfn1.js → coder-settlement-91r5s8ar.js} +11 -11
  10. package/dist/cli/{config-doctor-8xynpb9m.js → config-doctor-nzds5xzf.js} +3 -3
  11. package/dist/cli/{core-fcnw5r5t.js → core-w0gq7vwa.js} +4 -4
  12. package/dist/cli/{curation-policy-3dvythny.js → curation-policy-kw6x1cba.js} +4 -4
  13. package/dist/cli/{curator-drift-qjfxv50p.js → curator-drift-svnc70x4.js} +9 -9
  14. package/dist/cli/{curator-8tkrb089.js → curator-gkrn8wz3.js} +40 -40
  15. package/dist/cli/curator-llm-factory-j51cttb2.js +81 -0
  16. package/dist/cli/{evidence-summary-service-dnr5a5pk.js → evidence-summary-service-a2tx8tbn.js} +18 -18
  17. package/dist/cli/{gate-evidence-tcamm09w.js → gate-evidence-28bys0r0.js} +6 -6
  18. package/dist/cli/guardrail-explain-qjyz300y.js +82 -0
  19. package/dist/cli/{guardrail-log-cxxmstms.js → guardrail-log-rw25bt8g.js} +7 -7
  20. package/dist/cli/{guardrail-reset-457d9p0v.js → guardrail-reset-w5kpwfxb.js} +40 -40
  21. package/dist/cli/{hive-promoter-sq960nda.js → hive-promoter-qzz0veev.js} +40 -40
  22. package/dist/cli/{index-48jvqqfa.js → index-03z05sbb.js} +5 -1
  23. package/dist/cli/{index-8y9p665v.js → index-06pcq86m.js} +1 -1
  24. package/dist/cli/{index-da44jcxw.js → index-0ghn241n.js} +1 -1
  25. package/dist/cli/{index-mdxqv3r9.js → index-0k283qtq.js} +1 -1
  26. package/dist/cli/{index-tq8f6ar8.js → index-0qpa53jg.js} +5 -5
  27. package/dist/cli/{index-2nvwnfhp.js → index-144jx1jn.js} +4 -4
  28. package/dist/cli/{index-4dkmehar.js → index-227te5a7.js} +1 -1
  29. package/dist/cli/{index-jabe1bne.js → index-2nbws8bd.js} +4 -4
  30. package/dist/cli/{index-cj326ajn.js → index-4y6pndcf.js} +3 -3
  31. package/dist/cli/{index-5h9nwtwr.js → index-5dgg9vhz.js} +4 -4
  32. package/dist/cli/{index-fsy8r0je.js → index-616pp1nq.js} +2 -2
  33. package/dist/cli/{index-hgbz52qk.js → index-7ae4sgp4.js} +5 -5
  34. package/dist/cli/{index-j0j82th1.js → index-7pstt3w2.js} +1 -1
  35. package/dist/cli/{index-5z1xrkaa.js → index-84wt7q5y.js} +2 -2
  36. package/dist/cli/{index-23hjgzze.js → index-agm6hegf.js} +4 -4
  37. package/dist/cli/{index-rqtdtzv6.js → index-b9zqye89.js} +40 -40
  38. package/dist/cli/{index-rrn60xvr.js → index-c12cz80m.js} +2 -2
  39. package/dist/cli/{index-cm20cnc4.js → index-c5x4yzt6.js} +5 -5
  40. package/dist/cli/{index-zdvee7mc.js → index-cvwkjnr5.js} +1 -1
  41. package/dist/cli/{index-xhqzrh7e.js → index-d21545hp.js} +42 -42
  42. package/dist/cli/{index-20qmrz79.js → index-dbwpcjhw.js} +7 -7
  43. package/dist/cli/{index-pbd3cefv.js → index-e47fhj4k.js} +4 -4
  44. package/dist/cli/{index-g319bdeh.js → index-e4hy4des.js} +1 -1
  45. package/dist/cli/{index-422vhxgk.js → index-e6tjg7t9.js} +7 -7
  46. package/dist/cli/{index-q4vf9k47.js → index-extgtmxm.js} +1 -1
  47. package/dist/cli/{index-kdtgj87n.js → index-gapyat7s.js} +2 -2
  48. package/dist/cli/{index-m9xhje7p.js → index-gsqmefdg.js} +1 -1
  49. package/dist/cli/{index-4rkx8wz7.js → index-ha4r51k4.js} +2 -2
  50. package/dist/cli/{index-8jhpedx9.js → index-k55ep5se.js} +1 -1
  51. package/dist/cli/{index-1835td25.js → index-kg4yp11g.js} +3 -3
  52. package/dist/cli/{index-5v7s12fm.js → index-mtb763x4.js} +1 -1
  53. package/dist/cli/{index-gvch83kc.js → index-n1szkmbz.js} +1 -1
  54. package/dist/cli/{index-090p63c6.js → index-n5ekzhad.js} +4 -4
  55. package/dist/cli/{index-pg9v3yc1.js → index-pntrhnj8.js} +7 -7
  56. package/dist/cli/{index-re2t51n9.js → index-prksynjw.js} +3 -3
  57. package/dist/cli/{index-k47skbz0.js → index-q8dj8b88.js} +2 -2
  58. package/dist/cli/{index-b1vt7jcj.js → index-qc1x5vvb.js} +129 -86
  59. package/dist/cli/{index-zyx7p0kb.js → index-sjwpvte3.js} +2 -2
  60. package/dist/cli/{index-p47yt21j.js → index-t6na8zpb.js} +3 -3
  61. package/dist/cli/{index-2qhj0zq0.js → index-tw513bvn.js} +21 -10
  62. package/dist/cli/{index-zsvy6hyj.js → index-whk4027k.js} +4 -4
  63. package/dist/cli/{index-h9gkgwn6.js → index-x5mkva6s.js} +1 -1
  64. package/dist/cli/{index-qmg435z5.js → index-xgsy3hzf.js} +10 -10
  65. package/dist/cli/{index-743kwz1r.js → index-zcpd36zm.js} +1 -1
  66. package/dist/cli/{index-j2m9q6w1.js → index-znc71e1c.js} +1 -1
  67. package/dist/cli/index.js +41 -41
  68. package/dist/cli/{knowledge-escalator-0tbrvw0y.js → knowledge-escalator-0dj3bvh2.js} +12 -12
  69. package/dist/cli/{knowledge-events-htkej7nz.js → knowledge-events-zwhb8jnb.js} +10 -10
  70. package/dist/cli/{knowledge-link-xwn2ww1d.js → knowledge-link-pmbyqe3b.js} +3 -3
  71. package/dist/cli/{knowledge-store-w2yc2809.js → knowledge-store-67n0qbhg.js} +4 -4
  72. package/dist/cli/{knowledge-validator-jkhcf22k.js → knowledge-validator-b58w129y.js} +6 -6
  73. package/dist/cli/{mcp-tmmf89e9.js → mcp-ayc74bm2.js} +1 -1
  74. package/dist/cli/{model-preflight-v02k622n.js → model-preflight-nvjb3bv5.js} +40 -40
  75. package/dist/cli/{pending-delegations-dhak2kek.js → pending-delegations-yvh7b951.js} +10 -10
  76. package/dist/cli/{pr-subscriptions-aaec8rne.js → pr-subscriptions-pkj5mmra.js} +10 -10
  77. package/dist/cli/{pr-workflow-gate-szwc4bd9.js → pr-workflow-gate-zg6tg3c0.js} +40 -40
  78. package/dist/cli/{runner-mfxyvzv5.js → runner-jev9vea3.js} +4 -4
  79. package/dist/cli/{scan-cursor-nyys1xp0.js → scan-cursor-8nkt0n1b.js} +5 -5
  80. package/dist/cli/{schema-3x47j05d.js → schema-ahy4ps8z.js} +2 -2
  81. package/dist/cli/{scope-persistence-9a0cq54w.js → scope-persistence-h8b2hcy9.js} +14 -14
  82. package/dist/cli/{server-ky8hhr3h.js → server-14wr2fz2.js} +40 -40
  83. package/dist/cli/{skill-generator-cvmvggej.js → skill-generator-2pk8fvfz.js} +14 -14
  84. package/dist/cli/{snapshot-coordination-init-7714e0rg.js → snapshot-coordination-init-keeqdwph.js} +40 -40
  85. package/dist/cli/{speckit-checkoff-atsgqxqd.js → speckit-checkoff-yf09ctgv.js} +5 -5
  86. package/dist/cli/{workspace-snapshot-hcgztg7w.js → workspace-snapshot-28p0ekng.js} +3 -3
  87. package/dist/cli/{worktree-collision-ownership-1hn0zvr1.js → worktree-collision-ownership-7ctmpqx6.js} +11 -11
  88. package/dist/cli/{worktree-isolation-xkdx8hne.js → worktree-isolation-2c1hvct4.js} +40 -40
  89. package/dist/hooks/diff-scope.d.ts +6 -0
  90. package/dist/hooks/pr-workflow-gate.d.ts +1 -1
  91. package/dist/index.js +80 -79
  92. package/dist/pr-review/circuit.d.ts +1 -1
  93. package/dist/pr-review/completion.d.ts +1 -0
  94. package/dist/pr-review/reducer.d.ts +2 -1
  95. package/dist/pr-review/types.d.ts +2 -1
  96. package/dist/state.d.ts +6 -0
  97. package/dist/tools/cancel-lane-batch.d.ts +38 -0
  98. package/dist/tools/dispatch-lanes.d.ts +19 -0
  99. package/dist/tools/index.d.ts +1 -0
  100. package/dist/tools/manifest.d.ts +1 -0
  101. package/dist/tools/tool-metadata.d.ts +4 -0
  102. package/dist/tools/update-task-status.d.ts +7 -0
  103. package/package.json +1 -1
  104. package/dist/cli/curator-llm-factory-24megesc.js +0 -81
  105. package/dist/cli/guardrail-explain-e1v8k0wp.js +0 -82
@@ -8,13 +8,13 @@ import {
8
8
  protectedRoots,
9
9
  redactDecisionLineForArchive,
10
10
  stableCanonicalStringify
11
- } from "./index-1835td25.js";
11
+ } from "./index-kg4yp11g.js";
12
12
  import {
13
13
  detectStraySwarmDirs,
14
14
  readDoctorArtifact,
15
15
  removeStraySwarmDir,
16
16
  runConfigDoctor
17
- } from "./index-4rkx8wz7.js";
17
+ } from "./index-ha4r51k4.js";
18
18
  import {
19
19
  archiveEvidence,
20
20
  checkRequirementCoverage,
@@ -26,7 +26,7 @@ import {
26
26
  sanitizeTaskId,
27
27
  saveEvidence,
28
28
  validateProjectRoot
29
- } from "./index-090p63c6.js";
29
+ } from "./index-n5ekzhad.js";
30
30
  import {
31
31
  LANGUAGE_REGISTRY,
32
32
  _internals as _internals3,
@@ -44,7 +44,7 @@ import {
44
44
  runEvaluation,
45
45
  runExternalTool,
46
46
  withDisposableWorktree
47
- } from "./index-h9gkgwn6.js";
47
+ } from "./index-x5mkva6s.js";
48
48
  import {
49
49
  EvaluationTaskV1Schema,
50
50
  GateAuditManifestV1Schema,
@@ -61,7 +61,7 @@ import {
61
61
  saveGateAuditResult,
62
62
  savePromotionDecision,
63
63
  saveTaskSetSnapshot
64
- } from "./index-8jhpedx9.js";
64
+ } from "./index-k55ep5se.js";
65
65
  import {
66
66
  canonicalHash,
67
67
  canonicalJson,
@@ -77,7 +77,7 @@ import {
77
77
  alreadyCuratedThisGeneration,
78
78
  claimNextScanBatch,
79
79
  resolveCohortId
80
- } from "./index-k47skbz0.js";
80
+ } from "./index-q8dj8b88.js";
81
81
  import {
82
82
  CURATOR_CONSOLIDATION_PROMPT,
83
83
  CURATOR_INIT_PROMPT,
@@ -96,13 +96,13 @@ import {
96
96
  getGroupCommitWriter,
97
97
  importLegacyJsonl,
98
98
  readPriorDriftReports
99
- } from "./index-p47yt21j.js";
99
+ } from "./index-t6na8zpb.js";
100
100
  import {
101
101
  assertNoUnsettledCoderDispatch,
102
102
  listCoderSettlementWalStates,
103
103
  recoverCoderSettlement,
104
104
  recoverStaleCoderSettlements
105
- } from "./index-20qmrz79.js";
105
+ } from "./index-dbwpcjhw.js";
106
106
  import {
107
107
  BUNDLED_PROJECT_SKILL_ROOT,
108
108
  DEFAULT_SKILL_MIN_CONFIDENCE,
@@ -123,11 +123,11 @@ import {
123
123
  retireSkill,
124
124
  selectCandidateEntries,
125
125
  syncBundledProjectSkillsIfMissingAsync
126
- } from "./index-pbd3cefv.js";
126
+ } from "./index-e47fhj4k.js";
127
127
  import {
128
128
  buildEscalationBriefing,
129
129
  readRecentEscalations
130
- } from "./index-cm20cnc4.js";
130
+ } from "./index-c5x4yzt6.js";
131
131
  import {
132
132
  parsePorcelainV2Snapshot,
133
133
  resolveCommitCountSince,
@@ -155,7 +155,7 @@ import {
155
155
  resolveRemoteUrlIdentity,
156
156
  resolveRemoteUrlIdentityAsync,
157
157
  switchPrFeedbackTrackingCandidateAsync
158
- } from "./index-5z1xrkaa.js";
158
+ } from "./index-84wt7q5y.js";
159
159
  import {
160
160
  buildCorrelationId,
161
161
  buildIssueUrl,
@@ -176,12 +176,12 @@ import {
176
176
  sweepStale,
177
177
  unsubscribe,
178
178
  updateSnapshot
179
- } from "./index-tq8f6ar8.js";
179
+ } from "./index-0qpa53jg.js";
180
180
  import {
181
181
  WORKTREE_LIFECYCLE_LOCK_FILE,
182
182
  recordWorktreeProvisioningOwner,
183
183
  removeWorktreeProvisioningOwner
184
- } from "./index-zyx7p0kb.js";
184
+ } from "./index-sjwpvte3.js";
185
185
  import {
186
186
  getLanguageForExtension
187
187
  } from "./index-pt7h91zc.js";
@@ -194,7 +194,7 @@ import {
194
194
  checkpoint,
195
195
  createSwarmTool,
196
196
  resolveWorkingDirectory
197
- } from "./index-5h9nwtwr.js";
197
+ } from "./index-5dgg9vhz.js";
198
198
  import {
199
199
  MAX_TRANSIENT_RETRIES,
200
200
  PlanRecoverySupersededError,
@@ -222,7 +222,7 @@ import {
222
222
  transientBackoff,
223
223
  updateTaskStatus,
224
224
  withPlanLifecycleLock
225
- } from "./index-qmg435z5.js";
225
+ } from "./index-xgsy3hzf.js";
226
226
  import {
227
227
  containsControlChars,
228
228
  containsPathTraversal,
@@ -238,7 +238,7 @@ import {
238
238
  resolveSpeckitProjection,
239
239
  validateSpeckit,
240
240
  writeProjectedSpecSync
241
- } from "./index-5v7s12fm.js";
241
+ } from "./index-mtb763x4.js";
242
242
  import {
243
243
  clearWorktreeMergeStatus,
244
244
  getAllWorktreeMergeFailures,
@@ -269,7 +269,7 @@ import {
269
269
  transitionTaskWorkflowEvidenceWithStatus,
270
270
  withTaskEvidenceTransaction,
271
271
  writeWorkflowWalFile
272
- } from "./index-cj326ajn.js";
272
+ } from "./index-4y6pndcf.js";
273
273
  import {
274
274
  isPathUnderSwarmWorktreeBase,
275
275
  listLiveLaneOwners,
@@ -278,7 +278,7 @@ import {
278
278
  recordLiveLaneOwner,
279
279
  removeWorktree,
280
280
  resolveWorktreeBaseDir
281
- } from "./index-2nvwnfhp.js";
281
+ } from "./index-144jx1jn.js";
282
282
  import {
283
283
  DEFAULT_STALE_DELEGATION_TIMEOUT_MS,
284
284
  DELEGATION_COMPACTION_HIGH_WATER_BYTES,
@@ -312,7 +312,7 @@ import {
312
312
  scanBackgroundCoderReservationsForAdmission,
313
313
  scanDelegationsForRecovery,
314
314
  sweepStaleDelegations
315
- } from "./index-2qhj0zq0.js";
315
+ } from "./index-tw513bvn.js";
316
316
  import {
317
317
  MAX_EVENT_LOG_ENTRIES,
318
318
  _internals,
@@ -331,7 +331,7 @@ import {
331
331
  recordKnowledgeEvent,
332
332
  recordPhaseCloseIntent,
333
333
  resolveKnowledgeEventsPath
334
- } from "./index-422vhxgk.js";
334
+ } from "./index-e6tjg7t9.js";
335
335
  import {
336
336
  estimateCharsForTokens,
337
337
  estimateTokens,
@@ -339,7 +339,7 @@ import {
339
339
  readSwarmFileAsync,
340
340
  safeHook,
341
341
  validateSwarmPath
342
- } from "./index-j2m9q6w1.js";
342
+ } from "./index-znc71e1c.js";
343
343
  import {
344
344
  bunFile,
345
345
  bunSpawn,
@@ -359,18 +359,18 @@ import {
359
359
  validateActionableFields,
360
360
  validateLesson,
361
361
  validateSkillPath
362
- } from "./index-23hjgzze.js";
362
+ } from "./index-agm6hegf.js";
363
363
  import {
364
364
  MAX_CURATION_PROPOSALS,
365
365
  authorizeCuration,
366
366
  buildConfigFingerprintInput
367
- } from "./index-j0j82th1.js";
367
+ } from "./index-7pstt3w2.js";
368
368
  import {
369
369
  cohortConfigFingerprint
370
370
  } from "./index-rtry5xyf.js";
371
371
  import {
372
372
  resolveWorktreeIsolationConfig
373
- } from "./index-re2t51n9.js";
373
+ } from "./index-prksynjw.js";
374
374
  import {
375
375
  RetrospectiveEvidenceSchema
376
376
  } from "./index-kbkk7vnh.js";
@@ -382,7 +382,7 @@ import {
382
382
  clearScopeBindings,
383
383
  readAuthoritativeScopeBindingSet,
384
384
  readDeclaredScopeFilesFromBindings
385
- } from "./index-hgbz52qk.js";
385
+ } from "./index-7ae4sgp4.js";
386
386
  import {
387
387
  clearPlanLedgerForReset,
388
388
  computePlanStructureHash,
@@ -398,7 +398,7 @@ import {
398
398
  replayFromLedgerWithStatus,
399
399
  resolvePlanningProfile,
400
400
  takeSnapshotEvent
401
- } from "./index-jabe1bne.js";
401
+ } from "./index-2nbws8bd.js";
402
402
  import {
403
403
  CORE_EVENT_LOCKED,
404
404
  appendCoreEventSync,
@@ -408,7 +408,7 @@ import {
408
408
  hasSpecDriftAuditEvent,
409
409
  hasTaskRepairAuditEvent,
410
410
  readCoreEvents
411
- } from "./index-743kwz1r.js";
411
+ } from "./index-zcpd36zm.js";
412
412
  import {
413
413
  DEFAULT_QA_GATES,
414
414
  computeProfileHash,
@@ -416,7 +416,7 @@ import {
416
416
  getEffectiveGates,
417
417
  getProfileLookupForIdentity,
418
418
  setGatesForIdentity
419
- } from "./index-q4vf9k47.js";
419
+ } from "./index-extgtmxm.js";
420
420
  import {
421
421
  MAX_COORDINATION_STATE_LIST_ROWS,
422
422
  deleteCoordinationImports,
@@ -427,7 +427,7 @@ import {
427
427
  listCoordinationStates,
428
428
  transitionCoordinationState,
429
429
  withCoordinationTransaction
430
- } from "./index-gvch83kc.js";
430
+ } from "./index-n1szkmbz.js";
431
431
  import {
432
432
  DURABILITY_CLASSES,
433
433
  closeAllProjectDbs,
@@ -436,7 +436,7 @@ import {
436
436
  projectDbExists,
437
437
  projectDbPath,
438
438
  withImmediateTransaction
439
- } from "./index-mdxqv3r9.js";
439
+ } from "./index-0k283qtq.js";
440
440
  import {
441
441
  canonicalExistingFilesystemPath,
442
442
  canonicalPathForFutureIo,
@@ -456,7 +456,7 @@ import {
456
456
  observeModelLimitResolution,
457
457
  observeStoreHealth,
458
458
  readLearningHealth
459
- } from "./index-8y9p665v.js";
459
+ } from "./index-06pcq86m.js";
460
460
  import {
461
461
  appendKnowledge,
462
462
  appendRejectedLesson,
@@ -487,7 +487,7 @@ import {
487
487
  transactFile,
488
488
  transactKnowledge,
489
489
  wordBigrams
490
- } from "./index-pg9v3yc1.js";
490
+ } from "./index-pntrhnj8.js";
491
491
  import {
492
492
  readTailJsonl,
493
493
  readTailJsonlDetailed,
@@ -508,10 +508,10 @@ import {
508
508
  resolveLinkDir,
509
509
  sanitizeLinkId,
510
510
  writeLinkPointer
511
- } from "./index-m9xhje7p.js";
511
+ } from "./index-gsqmefdg.js";
512
512
  import {
513
513
  atomicWriteFile
514
- } from "./index-4dkmehar.js";
514
+ } from "./index-227te5a7.js";
515
515
  import {
516
516
  withEvidenceLock
517
517
  } from "./index-mr86ywsj.js";
@@ -554,7 +554,7 @@ import {
554
554
  matchTempGrammar,
555
555
  parseTargetBasename,
556
556
  resetSwarmArtifactCache
557
- } from "./index-g319bdeh.js";
557
+ } from "./index-e4hy4des.js";
558
558
  import {
559
559
  PlanSchema,
560
560
  TaskStatusSchema,
@@ -568,7 +568,7 @@ import {
568
568
  loadGateOverrides,
569
569
  loadPluginConfig,
570
570
  loadPluginConfigWithMeta
571
- } from "./index-zdvee7mc.js";
571
+ } from "./index-cvwkjnr5.js";
572
572
  import {
573
573
  addDeferredWarning,
574
574
  advisoryWarn,
@@ -600,7 +600,7 @@ import {
600
600
  resolveContextWindow,
601
601
  resolveGeneratedAgentRole,
602
602
  stripKnownSwarmPrefix
603
- } from "./index-fsy8r0je.js";
603
+ } from "./index-616pp1nq.js";
604
604
  import {
605
605
  AGENT_TOOL_MAP,
606
606
  ALL_AGENT_NAMES,
@@ -623,7 +623,7 @@ import {
623
623
  init_agent_names,
624
624
  init_constants,
625
625
  init_tool_metadata
626
- } from "./index-48jvqqfa.js";
626
+ } from "./index-03z05sbb.js";
627
627
  import {
628
628
  KNOWLEDGE_SCHEMA_VERSION,
629
629
  OUTCOME_BLOCK_THRESHOLD,
@@ -3389,7 +3389,7 @@ async function importLegacyPrWorkflowGateStateIfNeeded(directory, sessionID, all
3389
3389
  return null;
3390
3390
  throw error2;
3391
3391
  }
3392
- const legacy = allowSalvagedImport ? (await (await import("./pr-workflow-gate-szwc4bd9.js")).readPrWorkflowGateStateForRecovery(directory, sessionID))?.state ?? null : await readPrWorkflowGateStateFileFromDisk(filePath, sessionID);
3392
+ const legacy = allowSalvagedImport ? (await (await import("./pr-workflow-gate-zg6tg3c0.js")).readPrWorkflowGateStateForRecovery(directory, sessionID))?.state ?? null : await readPrWorkflowGateStateFileFromDisk(filePath, sessionID);
3393
3393
  if (!legacy)
3394
3394
  return null;
3395
3395
  const namespace = workflowGateStateCoordinationNamespace(sessionID);
@@ -3476,7 +3476,7 @@ async function deleteStateWhileLocked(directory, sessionID, options = {}) {
3476
3476
  let recoveryState = null;
3477
3477
  if (!currentAuthoritative) {
3478
3478
  if (options.allowSalvagedRead) {
3479
- const { readPrWorkflowGateStateForRecovery } = await import("./pr-workflow-gate-szwc4bd9.js");
3479
+ const { readPrWorkflowGateStateForRecovery } = await import("./pr-workflow-gate-zg6tg3c0.js");
3480
3480
  recoveryState = (await readPrWorkflowGateStateForRecovery(directory, normalizedSessionID))?.state ?? null;
3481
3481
  }
3482
3482
  if (!recoveryState) {
@@ -4292,6 +4292,9 @@ function classifyPrReviewCircuitSignal(record) {
4292
4292
  if (result?.workflowLaneFailureClass === "liveness") {
4293
4293
  return { kind: "ignored", reason: "host_abandonment" };
4294
4294
  }
4295
+ if (result?.workflowLaneFailureClass === "operator_cancelled") {
4296
+ return { kind: "ignored", reason: "operator_abandonment" };
4297
+ }
4295
4298
  switch (record.status) {
4296
4299
  case "error":
4297
4300
  return { kind: "ignored", reason: "unknown" };
@@ -4746,13 +4749,20 @@ var PR_REVIEW_FAILURE_CLASS_SAFE_DETAILS = {
4746
4749
  contract: "lane failed its output contract after the bounded retry budget was exhausted",
4747
4750
  resource: "lane exhausted its resource budget before producing valid output",
4748
4751
  deadline: "lane passed its collection deadline without valid terminal output",
4749
- liveness: "lane was abandoned by its host (presumed-stale sweep, unobservable host session, or operator cancellation) without an observed agent failure"
4752
+ liveness: "lane was abandoned by its host (presumed-stale sweep or unobservable host session) without an observed agent failure",
4753
+ operator_cancelled: "lane was cancelled by an explicit operator action (confirmed cancel or human force abort), not by a host or provider failure"
4750
4754
  };
4751
4755
  var PrReviewUnresolvedDimensionRecordSchema = exports_external.object({
4752
4756
  dimension: exports_external.enum(PR_REVIEW_BASE_DIMENSION_IDS),
4753
4757
  terminalState: exports_external.enum(["FAILED", "CANCELLED", "NOT_LAUNCHED"]),
4754
4758
  reasonKind: exports_external.enum(["lane_failure", "cancelled", "not_launched"]),
4755
- failureClass: exports_external.enum(["contract", "resource", "deadline", "liveness"]).optional(),
4759
+ failureClass: exports_external.enum([
4760
+ "contract",
4761
+ "resource",
4762
+ "deadline",
4763
+ "liveness",
4764
+ "operator_cancelled"
4765
+ ]).optional(),
4756
4766
  terminalEventId: exports_external.string().min(1).max(256).optional(),
4757
4767
  batchId: exports_external.string().min(1).max(128).optional(),
4758
4768
  laneId: exports_external.string().min(1).max(128).optional(),
@@ -15039,7 +15049,7 @@ function isLaneOwnedByCurrentSession(branchName, expectedSessionId) {
15039
15049
  return extracted === expectedSessionId;
15040
15050
  }
15041
15051
  async function inspectStandardWorktreeCollisionOwnership(identity) {
15042
- const collisionOwnership = await import("./worktree-collision-ownership-1hn0zvr1.js");
15052
+ const collisionOwnership = await import("./worktree-collision-ownership-7ctmpqx6.js");
15043
15053
  return collisionOwnership.inspectStandardWorktreeCollisionOwnership(identity);
15044
15054
  }
15045
15055
  async function runRecoveryGit(directory, args, timeoutMs = 15000) {
@@ -15465,7 +15475,7 @@ async function precreateStandardWorktreeSession(args) {
15465
15475
  const laneProfile = computeLaneRuntimeProfile(worktreeConfig.runtime_isolation, laneIndex, handle.worktreePath);
15466
15476
  if (laneProfile) {
15467
15477
  try {
15468
- const { writeLaneProfileToDiskReal } = await import("./core-fcnw5r5t.js");
15478
+ const { writeLaneProfileToDiskReal } = await import("./core-w0gq7vwa.js");
15469
15479
  await writeLaneProfileToDiskReal(handle.worktreePath, laneProfile.laneIndex, laneProfile.envOverrides);
15470
15480
  } catch {}
15471
15481
  }
@@ -16444,7 +16454,7 @@ async function finishStandardWorktreeDispatch(directory, dispatch, config, callI
16444
16454
  }
16445
16455
  clearWorktreeMergeStatus(statusKey);
16446
16456
  try {
16447
- const { removeLaneProfileFromDiskReal } = await import("./core-fcnw5r5t.js");
16457
+ const { removeLaneProfileFromDiskReal } = await import("./core-w0gq7vwa.js");
16448
16458
  await removeLaneProfileFromDiskReal(dispatch.handle.worktreePath, dispatch.laneIndex);
16449
16459
  } catch {}
16450
16460
  const state = serializationStateBySessionID.get(dispatch.parentSessionID);
@@ -24083,7 +24093,7 @@ function clearCriticalShownIds(sessionID) {
24083
24093
  async function rehydratePrSubscriptions(sessionID, directory) {
24084
24094
  const map = new Map;
24085
24095
  try {
24086
- const { listActive: listActive2 } = await import("./pr-subscriptions-aaec8rne.js");
24096
+ const { listActive: listActive2 } = await import("./pr-subscriptions-pkj5mmra.js");
24087
24097
  const records = await listActive2(directory);
24088
24098
  for (const record of records) {
24089
24099
  if (record.sessionID !== sessionID)
@@ -25516,11 +25526,13 @@ async function settlePresumedStalePrWorkflowLanes(directory, sessionID, options)
25516
25526
  disclosure
25517
25527
  };
25518
25528
  }
25519
- async function finalizeOverriddenProbeRetainedLanes(directory, sessionID, correlationIds, horizonMs = PR_WORKFLOW_STALE_LANE_TIMEOUT_MS) {
25529
+ async function finalizeOverriddenProbeRetainedLanes(directory, sessionID, correlationIds, horizonMs = PR_WORKFLOW_STALE_LANE_TIMEOUT_MS, reason = "/swarm abort-pr-workflow force override") {
25520
25530
  try {
25521
25531
  await _test_exports2.sweepStaleDelegationsAsync(directory, horizonMs, {
25522
25532
  statuses: PR_WORKFLOW_SWEEPABLE_LANE_STATUSES,
25523
- includeCorrelationIds: new Set(correlationIds)
25533
+ includeCorrelationIds: new Set(correlationIds),
25534
+ failureClass: "operator_cancelled",
25535
+ reasonPrefix: `lane finalized by operator force abort: ${reason}`
25524
25536
  });
25525
25537
  } catch {}
25526
25538
  const targeted = new Set(correlationIds);
@@ -25682,7 +25694,7 @@ async function abortPrWorkflow(directory, sessionID, options = { kind: "recovery
25682
25694
  } catch {}
25683
25695
  throw error2;
25684
25696
  }
25685
- const overrideOutcome = overridesProbeRetention ? await finalizeOverriddenProbeRetainedLanes(directory, state.sessionID, overrideTargetedLaneIds, resolveEffectivePrLaneHorizonMs(options.laneLiveness?.laneLivenessWatchdog, options.laneLiveness?.backgroundPendingTimeoutMs).horizonMs) : {
25697
+ const overrideOutcome = overridesProbeRetention ? await finalizeOverriddenProbeRetainedLanes(directory, state.sessionID, overrideTargetedLaneIds, resolveEffectivePrLaneHorizonMs(options.laneLiveness?.laneLivenessWatchdog, options.laneLiveness?.backgroundPendingTimeoutMs).horizonMs, options.reason ?? "/swarm abort-pr-workflow force override") : {
25686
25698
  sessionOpenLaneIds: [],
25687
25699
  finalizedLaneIds: [],
25688
25700
  sparedLaneDescriptions: []
@@ -29811,6 +29823,36 @@ async function completePrWorkflow(directory, sessionID, expectedMode, prHeadSha,
29811
29823
  const allowedList = allowedPrReviewReportVerdicts(finalizationSettlement.kind, [], { disclosedCoverageDegradation: disclosedDegradation }).join(" | ");
29812
29824
  throw new Error(`BLOCKED: PR_REVIEW ${finalizationSettlement.kind} completion allows report_verdict ${allowedList}; got "${verdict}". Partial coverage never approves and never claims a full review.`);
29813
29825
  };
29826
+ if (settlement.kind === "PARTIAL" || settlement.kind === "NO_COVERAGE") {
29827
+ const stagedPolicyEnabled = state.prReviewResilience?.policy?.enabled === true;
29828
+ const consumedLegacyContractRetry = new Set(state.prReviewContractRetryDimensions ?? []);
29829
+ const attemptsUsed = state.prReviewResilience?.attempts?.length ?? 0;
29830
+ const maxAttempts = 1 + (state.prReviewResilience?.policy?.maxRetryAttemptsAfterInitial ?? 0);
29831
+ const retryableRemainder = settlement.unresolvedDimensions.filter((entry) => {
29832
+ if (entry.failureClass === "operator_cancelled")
29833
+ return false;
29834
+ if (stagedPolicyEnabled) {
29835
+ return entry.failureClass === "contract" || entry.failureClass === "resource";
29836
+ }
29837
+ return entry.failureClass === "contract" && !consumedLegacyContractRetry.has(entry.dimension);
29838
+ });
29839
+ if (retryableRemainder.length > 0 && attemptsUsed < maxAttempts) {
29840
+ try {
29841
+ appendCoreEventSync(directory, {
29842
+ type: "pr_review_completion_retryable_remainder",
29843
+ timestamp: isoNow(),
29844
+ sessionID: state.sessionID,
29845
+ prHeadSha: state.prHeadSha,
29846
+ coverageKind: settlement.kind,
29847
+ remainingDimensions: retryableRemainder.map((entry) => `${entry.dimension}:${entry.terminalState}:${entry.failureClass ?? "none"}`),
29848
+ attemptsUsed,
29849
+ maxAttempts,
29850
+ stagedPolicyEnabled
29851
+ });
29852
+ } catch {}
29853
+ throw new Error(`BLOCKED: PR_REVIEW ${settlement.kind} completion refused while eligible retryable work remains and retry budget is available. Remaining dimensions: ${retryableRemainder.map((entry) => `${entry.dimension} (${entry.failureClass})`).join(", ")}. Retry budget: ${attemptsUsed}/${maxAttempts} attempts used${stagedPolicyEnabled ? " (staged policy)" : " (legacy single contract retry)"} \u2014 re-dispatch the dimension(s) via dispatch_lanes_async to consume the retry budget, or end the workflow through the human force path (/swarm abort-pr-workflow). If lanes are still live at an earlier stage, settle them explicitly first \u2014 cancel_lane_batch (confirm: true + reason) refuses busy/retry lanes, so live work is never destroyed on the model path.`);
29854
+ }
29855
+ }
29814
29856
  dispatchCoverageFinalization(settlement);
29815
29857
  if (settlement.kind === "NO_COVERAGE") {
29816
29858
  const noCoverageRunId = state.prReviewArtifactRunId ?? state.prReviewReservedRunId ?? generatePrReviewRunId();
@@ -30304,6 +30346,7 @@ function containsProtectedWorkflowPath(value) {
30304
30346
  }
30305
30347
  var PR_WORKFLOW_SHARED_CONTROLLER_TOOLS = new Set([
30306
30348
  "abort_pr_workflow",
30349
+ "cancel_lane_batch",
30307
30350
  "collect_lane_results",
30308
30351
  "complete_pr_workflow",
30309
30352
  "dispatch_lanes_async",
@@ -40521,9 +40564,9 @@ function hashContent(content) {
40521
40564
  return createHash27("sha1").update(content).digest("hex");
40522
40565
  }
40523
40566
  async function loadConfigForPolicyCurator(directory) {
40524
- const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-3x47j05d.js");
40567
+ const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-ahy4ps8z.js");
40525
40568
  try {
40526
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-zsvy6hyj.js");
40569
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-whk4027k.js");
40527
40570
  const { config: loadedConfig } = loadPluginConfigWithMeta2(directory);
40528
40571
  return KnowledgeConfigSchema2.parse(loadedConfig.knowledge ?? {});
40529
40572
  } catch {
@@ -43581,7 +43624,7 @@ async function resolveCuratorLLMDelegate(directory, mode, sessionId) {
43581
43624
  const seam = _internals38.createCuratorLLMDelegate;
43582
43625
  if (seam)
43583
43626
  return seam(directory, mode, sessionId);
43584
- const { createCuratorLLMDelegate } = await import("./curator-llm-factory-24megesc.js");
43627
+ const { createCuratorLLMDelegate } = await import("./curator-llm-factory-j51cttb2.js");
43585
43628
  return createCuratorLLMDelegate(directory, mode, sessionId);
43586
43629
  }
43587
43630
  async function reconcileCloseTerminalStateForPlan(directory, targetPlan, options) {
@@ -43976,7 +44019,7 @@ async function runFinalizeStage(ctx) {
43976
44019
  }
43977
44020
  }
43978
44021
  try {
43979
- const { CuratorConfigSchema: CCS } = await import("./schema-3x47j05d.js");
44022
+ const { CuratorConfigSchema: CCS } = await import("./schema-ahy4ps8z.js");
43980
44023
  const { config: pmLoadedConfig } = _internals38.loadPluginConfigWithMeta(ctx.directory);
43981
44024
  const curatorCfg = CCS.parse(pmLoadedConfig.curator ?? {});
43982
44025
  if (curatorCfg.enabled && curatorCfg.postmortem_enabled) {
@@ -46162,7 +46205,7 @@ function serializeAgentSession(s) {
46162
46205
  }
46163
46206
  async function writeSnapshot(directory, state) {
46164
46207
  try {
46165
- const { ensureSnapshotCoordinationReady } = await import("./snapshot-coordination-init-7714e0rg.js");
46208
+ const { ensureSnapshotCoordinationReady } = await import("./snapshot-coordination-init-keeqdwph.js");
46166
46209
  await ensureSnapshotCoordinationReady(directory);
46167
46210
  const snapshot = {
46168
46211
  version: 3,
@@ -49340,7 +49383,7 @@ function planMerges(active, threshold, maxComparisons, maxMerges) {
49340
49383
  };
49341
49384
  }
49342
49385
  async function sweepActiveNearDuplicates(directory, options = {}) {
49343
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-zsvy6hyj.js");
49386
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-whk4027k.js");
49344
49387
  const { config } = loadPluginConfigWithMeta2(directory);
49345
49388
  const sweepConfig = config.learning?.dedup_sweep;
49346
49389
  if (sweepConfig?.enabled === false)
@@ -50464,7 +50507,7 @@ async function runCuratorPhase(directory, phase, agentsDispatched, config, knowl
50464
50507
  }
50465
50508
  if (config.skill_generation_enabled === true && skillCandidates.length > 0) {
50466
50509
  try {
50467
- const skillModule = await import("./skill-generator-cvmvggej.js");
50510
+ const skillModule = await import("./skill-generator-2pk8fvfz.js");
50468
50511
  for (const cand of skillCandidates) {
50469
50512
  if (cand.confidence < (config.min_skill_confidence ?? DEFAULT_SKILL_MIN_CONFIDENCE)) {
50470
50513
  continue;
@@ -50936,7 +50979,7 @@ async function applyCuratorKnowledgeUpdates(directory, recommendations, knowledg
50936
50979
  } catch {}
50937
50980
  }
50938
50981
  if (contradictedEntries.length > 0 && knowledgeConfig.contradiction_threshold_action === "quarantine") {
50939
- const { maybeQuarantineOnContradiction } = await import("./knowledge-escalator-0tbrvw0y.js");
50982
+ const { maybeQuarantineOnContradiction } = await import("./knowledge-escalator-0dj3bvh2.js");
50940
50983
  for (const { id } of contradictedEntries) {
50941
50984
  try {
50942
50985
  await maybeQuarantineOnContradiction(directory, id, knowledgeConfig.contradiction_quarantine_threshold, knowledgeConfig.contradiction_quarantine_window_days);
@@ -51768,7 +51811,7 @@ async function runCuratorPostMortem(directory, options = {}) {
51768
51811
  warnings.push("Failed to collect knowledge summary.");
51769
51812
  }
51770
51813
  try {
51771
- const { getScanStatus } = await import("./scan-cursor-nyys1xp0.js");
51814
+ const { getScanStatus } = await import("./scan-cursor-8nkt0n1b.js");
51772
51815
  const scanStatus = await getScanStatus(directory);
51773
51816
  if (scanStatus.remaining_estimate > 0) {
51774
51817
  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.`);
@@ -51940,9 +51983,9 @@ var _internals57 = {
51940
51983
  verifyPostMortemKnowledgeActions,
51941
51984
  repairPostMortemActions,
51942
51985
  loadDefaultKnowledgeConfig: async (directory) => {
51943
- const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-3x47j05d.js");
51986
+ const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-ahy4ps8z.js");
51944
51987
  try {
51945
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-zsvy6hyj.js");
51988
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-whk4027k.js");
51946
51989
  const loaded = loadPluginConfigWithMeta2(directory);
51947
51990
  return KnowledgeConfigSchema2.parse(loaded.config.knowledge ?? {});
51948
51991
  } catch {
@@ -51950,11 +51993,11 @@ var _internals57 = {
51950
51993
  }
51951
51994
  },
51952
51995
  applyCuratorKnowledgeUpdates: async (directory, recommendations, knowledgeConfig, generation) => {
51953
- const { applyCuratorKnowledgeUpdates: applyCuratorKnowledgeUpdates2 } = await import("./curator-8tkrb089.js");
51996
+ const { applyCuratorKnowledgeUpdates: applyCuratorKnowledgeUpdates2 } = await import("./curator-gkrn8wz3.js");
51954
51997
  return applyCuratorKnowledgeUpdates2(directory, recommendations, knowledgeConfig, generation);
51955
51998
  },
51956
51999
  checkHivePromotions: async (entries2, knowledgeConfig, directory) => {
51957
- const { checkHivePromotions } = await import("./hive-promoter-sq960nda.js");
52000
+ const { checkHivePromotions } = await import("./hive-promoter-qzz0veev.js");
51958
52001
  return checkHivePromotions(entries2, knowledgeConfig, directory);
51959
52002
  },
51960
52003
  applyProposalTriage: async (directory, triage) => {
@@ -51963,7 +52006,7 @@ var _internals57 = {
51963
52006
  activateProposal,
51964
52007
  listSkills: listSkills2,
51965
52008
  sanitizeSlug
51966
- } = await import("./skill-generator-cvmvggej.js");
52009
+ } = await import("./skill-generator-2pk8fvfz.js");
51967
52010
  const result = {
51968
52011
  approved: [],
51969
52012
  rejected: [],
@@ -52005,7 +52048,7 @@ var _internals57 = {
52005
52048
  return result;
52006
52049
  },
52007
52050
  readPriorDriftReports: async (directory) => {
52008
- const { readPriorDriftReports: readPriorDriftReports2 } = await import("./curator-drift-qjfxv50p.js");
52051
+ const { readPriorDriftReports: readPriorDriftReports2 } = await import("./curator-drift-svnc70x4.js");
52009
52052
  return readPriorDriftReports2(directory);
52010
52053
  },
52011
52054
  readSwarmKnowledge: (directory) => readKnowledge(resolveSwarmKnowledgePath(directory))
@@ -61808,9 +61851,9 @@ var _internals67 = {
61808
61851
  loadPluginConfigWithMeta,
61809
61852
  loadCuratorDeps: async () => {
61810
61853
  const [{ CuratorConfigSchema }, curator, { createCuratorLLMDelegate }] = await Promise.all([
61811
- import("./schema-3x47j05d.js"),
61812
- import("./curator-8tkrb089.js"),
61813
- import("./curator-llm-factory-24megesc.js")
61854
+ import("./schema-ahy4ps8z.js"),
61855
+ import("./curator-gkrn8wz3.js"),
61856
+ import("./curator-llm-factory-j51cttb2.js")
61814
61857
  ]);
61815
61858
  return { CuratorConfigSchema, curator, createCuratorLLMDelegate };
61816
61859
  }
@@ -62024,7 +62067,7 @@ async function readStatusFileRecord(directory) {
62024
62067
  }
62025
62068
  async function handleDashboardCommand(directory, _args) {
62026
62069
  const handle = getDashboardHandle(directory);
62027
- if (handle && handle.listening) {
62070
+ if (handle?.listening) {
62028
62071
  return [
62029
62072
  "## Swarm dashboard",
62030
62073
  "",
@@ -63510,7 +63553,7 @@ function classifySettlementWalState(entry, workflow) {
63510
63553
  const base = {
63511
63554
  taskId: entry.taskId,
63512
63555
  transitionId: entry.transitionId,
63513
- generation: entry.expectedGeneration ?? (workflow && workflow.authoritative ? workflow.generation : undefined)
63556
+ generation: entry.expectedGeneration ?? (workflow?.authoritative ? workflow.generation : undefined)
63514
63557
  };
63515
63558
  if (entry.state === "unreadable") {
63516
63559
  return {
@@ -64208,7 +64251,7 @@ async function computeCurationDiagnostics(directory, entries2) {
64208
64251
  let scanCompleted = false;
64209
64252
  let scanRemaining = 0;
64210
64253
  try {
64211
- const { getScanStatus } = await import("./scan-cursor-nyys1xp0.js");
64254
+ const { getScanStatus } = await import("./scan-cursor-8nkt0n1b.js");
64212
64255
  const status = await getScanStatus(directory);
64213
64256
  scanGeneration = status.generation;
64214
64257
  scanCompleted = status.completed;
@@ -64216,19 +64259,19 @@ async function computeCurationDiagnostics(directory, entries2) {
64216
64259
  } catch {}
64217
64260
  let configMatch = null;
64218
64261
  try {
64219
- const { isLinked: isLinked2 } = await import("./knowledge-link-xwn2ww1d.js");
64262
+ const { isLinked: isLinked2 } = await import("./knowledge-link-pmbyqe3b.js");
64220
64263
  if (isLinked2(directory)) {
64221
- const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-3x47j05d.js");
64264
+ const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-ahy4ps8z.js");
64222
64265
  let config;
64223
64266
  try {
64224
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-zsvy6hyj.js");
64267
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-whk4027k.js");
64225
64268
  const loaded = loadPluginConfigWithMeta2(directory);
64226
64269
  config = KnowledgeConfigSchema2.parse(loaded.config.knowledge ?? {});
64227
64270
  } catch {
64228
64271
  config = KnowledgeConfigSchema2.parse({});
64229
64272
  }
64230
64273
  const { cohortConfigFingerprint: cohortConfigFingerprint2 } = await import("./config-fingerprint-v22xh5a2.js");
64231
- const { buildConfigFingerprintInput: buildConfigFingerprintInput2, readCohortConfigFingerprint } = await import("./curation-policy-3dvythny.js");
64274
+ const { buildConfigFingerprintInput: buildConfigFingerprintInput2, readCohortConfigFingerprint } = await import("./curation-policy-kw6x1cba.js");
64232
64275
  const currentFp = cohortConfigFingerprint2(buildConfigFingerprintInput2(config));
64233
64276
  const cohortFp = await readCohortConfigFingerprint(directory);
64234
64277
  configMatch = cohortFp === null ? null : currentFp === cohortFp;
@@ -65676,7 +65719,7 @@ async function handleDoctorCommand(directory, args) {
65676
65719
  const result = runConfigDoctor(config, directory);
65677
65720
  let output;
65678
65721
  if (enableAutoFix && result.hasAutoFixableIssues) {
65679
- const { runConfigDoctorWithFixes } = await import("./config-doctor-8xynpb9m.js");
65722
+ const { runConfigDoctorWithFixes } = await import("./config-doctor-nzds5xzf.js");
65680
65723
  const fixResult = await runConfigDoctorWithFixes(directory, config, true, {
65681
65724
  applyLossy: true
65682
65725
  });
@@ -65714,7 +65757,7 @@ async function handleDoctorCommand(directory, args) {
65714
65757
  `;
65715
65758
  }
65716
65759
  try {
65717
- const { runModelPreflight } = await import("./model-preflight-v02k622n.js");
65760
+ const { runModelPreflight } = await import("./model-preflight-nvjb3bv5.js");
65718
65761
  const preflight = await runModelPreflight(config, swarmState.opencodeClient, { generatedAgentNames: swarmState.generatedAgentNames });
65719
65762
  const missingSelection = preflight.resolutions.filter((resolution) => resolution.status === "missing-selection");
65720
65763
  const unresolved = preflight.catalogAvailable ? preflight.resolutions.filter((resolution) => resolution.status === "unresolved") : [];
@@ -66641,7 +66684,7 @@ async function handleEvidenceCommand(directory, args) {
66641
66684
  return formatTaskEvidenceMarkdown(evidenceData);
66642
66685
  }
66643
66686
  async function handleEvidenceSummaryCommand(directory) {
66644
- const { buildEvidenceSummary } = await import("./evidence-summary-service-dnr5a5pk.js");
66687
+ const { buildEvidenceSummary } = await import("./evidence-summary-service-a2tx8tbn.js");
66645
66688
  const artifact = await buildEvidenceSummary(directory);
66646
66689
  if (!artifact) {
66647
66690
  return "No plan found. Run `/swarm plan` to check plan status.";
@@ -90974,7 +91017,7 @@ function createCuratorLLMDelegate(directory, mode = "init", sessionId) {
90974
91017
  }
90975
91018
  const sdkOpts = signal ? { signal } : {};
90976
91019
  try {
90977
- const { getSwarmAgents: getSwarmAgents2, resolveFallbackModel: resolveFallbackModel2 } = await import("./index-rqtdtzv6.js");
91020
+ const { getSwarmAgents: getSwarmAgents2, resolveFallbackModel: resolveFallbackModel2 } = await import("./index-b9zqye89.js");
90978
91021
  const createResult = await client.session.create({
90979
91022
  ...sessionId ? {
90980
91023
  body: {
@@ -93311,7 +93354,7 @@ async function cancelPrFeedbackLoopUnlocked(directory, sessionID, reason) {
93311
93354
  clearedEvents: []
93312
93355
  };
93313
93356
  try {
93314
- const { cancelPrFeedbackPublication: cancelPrFeedbackPublication2 } = await import("./pr-workflow-gate-szwc4bd9.js");
93357
+ const { cancelPrFeedbackPublication: cancelPrFeedbackPublication2 } = await import("./pr-workflow-gate-zg6tg3c0.js");
93315
93358
  await cancelPrFeedbackPublication2(directory, sessionID, reason);
93316
93359
  } catch (err) {
93317
93360
  warn(`[pr-feedback-loop] cancelPrFeedbackPublication failed (fail-open): ${err instanceof Error ? err.message : String(err)}`);
@@ -106961,7 +107004,7 @@ async function runValidationWithTransientRetry(input, candidateContent, baseline
106961
107004
  if (!input.dispatcher) {
106962
107005
  throw new Error("no evaluation dispatcher available (cannot run validation)");
106963
107006
  }
106964
- const { createModelEvaluationExecutor: createModelEvaluationExecutor2 } = await import("./runner-mfxyvzv5.js");
107007
+ const { createModelEvaluationExecutor: createModelEvaluationExecutor2 } = await import("./runner-jev9vea3.js");
106965
107008
  const executor = createModelEvaluationExecutor2(input.dispatcher, input.sessionId);
106966
107009
  const result = await withProtectedSetIntegrity([evalInputRoot, ...protectedRoots(input.directory)], () => _internals129.evaluateCandidateV1({
106967
107010
  projectRoot: input.directory,
@@ -109590,7 +109633,7 @@ function buildDetailedHelp(commandName, entry) {
109590
109633
  async function handleHelpCommand(ctx) {
109591
109634
  const targetCommand = ctx.args.join(" ");
109592
109635
  if (!targetCommand) {
109593
- const { buildHelpText } = await import("./index-xhqzrh7e.js");
109636
+ const { buildHelpText } = await import("./index-d21545hp.js");
109594
109637
  return buildHelpText();
109595
109638
  }
109596
109639
  const tokens = targetCommand.split(/\s+/);
@@ -109604,7 +109647,7 @@ async function handleHelpCommand(ctx) {
109604
109647
  > Note: \`/swarm ${resolved.key}\` is a deprecated alias for \`/swarm ${aliasTarget}\`.` : detailed;
109605
109648
  }
109606
109649
  const similar = _internals27.findSimilarCommands(targetCommand);
109607
- const { buildHelpText: fullHelp } = await import("./index-xhqzrh7e.js");
109650
+ const { buildHelpText: fullHelp } = await import("./index-d21545hp.js");
109608
109651
  if (similar.length > 0) {
109609
109652
  return `Command '/swarm ${targetCommand}' not found.
109610
109653
 
@@ -109932,7 +109975,7 @@ var COMMAND_REGISTRY = {
109932
109975
  },
109933
109976
  "guardrail explain": {
109934
109977
  handler: async (ctx) => {
109935
- const { handleGuardrailExplain } = await import("./guardrail-explain-e1v8k0wp.js");
109978
+ const { handleGuardrailExplain } = await import("./guardrail-explain-qjyz300y.js");
109936
109979
  return handleGuardrailExplain(ctx.directory, ctx.args);
109937
109980
  },
109938
109981
  description: "Dry-run: show what the guardrails would do to a command or write target (executes nothing)",
@@ -109942,7 +109985,7 @@ var COMMAND_REGISTRY = {
109942
109985
  },
109943
109986
  "guardrail reset": {
109944
109987
  handler: async (ctx) => {
109945
- const { handleGuardrailReset } = await import("./guardrail-reset-457d9p0v.js");
109988
+ const { handleGuardrailReset } = await import("./guardrail-reset-w5kpwfxb.js");
109946
109989
  return handleGuardrailReset(ctx.args, ctx.sessionID);
109947
109990
  },
109948
109991
  description: "Reset one exact active invocation/action circuit after repair",
@@ -109963,7 +110006,7 @@ var COMMAND_REGISTRY = {
109963
110006
  },
109964
110007
  "guardrail-log": {
109965
110008
  handler: async (ctx) => {
109966
- const { handleGuardrailLog } = await import("./guardrail-log-cxxmstms.js");
110009
+ const { handleGuardrailLog } = await import("./guardrail-log-rw25bt8g.js");
109967
110010
  return handleGuardrailLog(ctx.directory, ctx.args);
109968
110011
  },
109969
110012
  description: "Read the guardrail decision log (use --blocks-only for blocks)",
@@ -111163,7 +111206,7 @@ function resolveRegistryEntry(key) {
111163
111206
  init_constants();
111164
111207
  init_warning_buffer();
111165
111208
  var ARCHITECT_MEMORY_OUTCOME_GUIDANCE = `After using recalled memory or a graph answer, call \`swarm_memory_outcome\` to record whether it was \`useful\`, a \`dead_end\`, or \`corrected\`, with the relevant file/symbol anchors. If you correct a memory-backed claim, record \`corrected\` and include the corrected explanation in \`correction\`.`;
111166
- var ARCHITECT_PROMPT_BUDGET_CHARS = 161000;
111209
+ var ARCHITECT_PROMPT_BUDGET_CHARS = 161500;
111167
111210
  var ARCHITECT_TOOL_DESCRIPTION_PROMPT_CAP_CHARS = 240;
111168
111211
  function estimateModelTokens(text) {
111169
111212
  return Math.ceil(text.length / 4);