opencode-swarm 7.192.1 → 7.192.2

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 (115) hide show
  1. package/.opencode/skills/critic-gate/SKILL.md +2 -1
  2. package/.opencode/skills/execute/SKILL.md +1 -1
  3. package/README.md +5 -3
  4. package/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
  5. package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
  6. package/dist/agents/critic.d.ts +2 -2
  7. package/dist/cli/{auto-checkpoint-kkakqktp.js → auto-checkpoint-735m8sz7.js} +8 -8
  8. package/dist/cli/{capability-probe-3mgxcfr9.js → capability-probe-rty1315z.js} +1 -1
  9. package/dist/cli/{checkpoint-cefw75xe.js → checkpoint-ptzc5jev.js} +16 -16
  10. package/dist/cli/{coder-settlement-tgdjczyp.js → coder-settlement-hh5165m1.js} +12 -12
  11. package/dist/cli/{config-doctor-sns7gbj2.js → config-doctor-wzzvhpcr.js} +15 -15
  12. package/dist/cli/{core-q8xvp8bw.js → core-0jarm64k.js} +3 -3
  13. package/dist/cli/{curation-policy-2q5xs0xg.js → curation-policy-yzdznz4z.js} +6 -6
  14. package/dist/cli/{curator-drift-1n3akmda.js → curator-drift-f4aqxz9e.js} +8 -8
  15. package/dist/cli/{curator-mgdsxrpv.js → curator-f7crssw2.js} +43 -43
  16. package/dist/cli/curator-llm-factory-kxnzvhje.js +82 -0
  17. package/dist/cli/{doctor-knowledge-receipt-phase-id-33bp8fcs.js → doctor-knowledge-receipt-phase-id-qvp1h3xv.js} +8 -8
  18. package/dist/cli/{evidence-summary-service-sb888pg8.js → evidence-summary-service-379skych.js} +19 -19
  19. package/dist/cli/{gate-evidence-rmk87c6m.js → gate-evidence-b4cfrrgn.js} +7 -7
  20. package/dist/cli/guardrail-explain-tcnfc3te.js +83 -0
  21. package/dist/cli/{guardrail-log-d18dcweh.js → guardrail-log-xe1evybk.js} +7 -7
  22. package/dist/cli/{guardrail-reset-1xeeetk7.js → guardrail-reset-jwx5hsgp.js} +43 -43
  23. package/dist/cli/{hive-promoter-44grgbq4.js → hive-promoter-nks9a9s8.js} +43 -43
  24. package/dist/cli/{index-xjqa26fs.js → index-0e1nxkte.js} +1 -1
  25. package/dist/cli/{index-63v3gmgr.js → index-1n7sf9gz.js} +2 -2
  26. package/dist/cli/{index-ajp4dabz.js → index-25zjz6kv.js} +5 -5
  27. package/dist/cli/{index-af3nmk6c.js → index-29z0w323.js} +7 -7
  28. package/dist/cli/{index-fsm9gv1p.js → index-2y7y0bxf.js} +43 -43
  29. package/dist/cli/{index-advcaree.js → index-4qreeddq.js} +4 -4
  30. package/dist/cli/{index-nb1c3342.js → index-4tfr4j1a.js} +7 -7
  31. package/dist/cli/{index-k6h66zm3.js → index-4twjbsfw.js} +2 -2
  32. package/dist/cli/{index-xw19x0t7.js → index-5dws7eyb.js} +1 -1
  33. package/dist/cli/{index-t0se5zwe.js → index-5gy5dc2n.js} +2 -2
  34. package/dist/cli/{index-pkgbrrn7.js → index-5s74qd5b.js} +1 -1
  35. package/dist/cli/{index-f32hs2vt.js → index-7a92gwbg.js} +4 -4
  36. package/dist/cli/{index-3txrbsa1.js → index-7bppy3ve.js} +4 -4
  37. package/dist/cli/{index-km4x7yfb.js → index-878ksabw.js} +11 -11
  38. package/dist/cli/{index-6shk3n43.js → index-89826pb5.js} +2 -2
  39. package/dist/cli/{index-ga1pcs49.js → index-8zj647hc.js} +1 -1
  40. package/dist/cli/{index-w52xyp9v.js → index-914wsfyy.js} +2 -2
  41. package/dist/cli/{index-b79a8pc2.js → index-a83gmv2e.js} +2 -2
  42. package/dist/cli/{index-d4cjbm4p.js → index-a9m7h5v0.js} +2 -2
  43. package/dist/cli/{index-50b8f6qz.js → index-asm2r4g2.js} +4 -4
  44. package/dist/cli/{index-yfmgbhwz.js → index-ba87gkb4.js} +20 -6
  45. package/dist/cli/{index-kvtwwj8b.js → index-bgzpw6ge.js} +1 -1
  46. package/dist/cli/{index-2wps5fec.js → index-br28jc6d.js} +3 -3
  47. package/dist/cli/{index-sgxbqba0.js → index-bzfn85kq.js} +119 -55
  48. package/dist/cli/{index-ysazjncb.js → index-cf003krm.js} +6 -6
  49. package/dist/cli/{index-4cm1p2kj.js → index-dt4cjxbz.js} +1 -1
  50. package/dist/cli/{index-f6e44xh2.js → index-dtet46e6.js} +7 -7
  51. package/dist/cli/{index-8bx6vhzk.js → index-e8k0v19e.js} +1 -1
  52. package/dist/cli/{index-mhqh2dc9.js → index-eaess7dm.js} +1 -1
  53. package/dist/cli/{index-r3gphy10.js → index-ejq082zj.js} +5 -5
  54. package/dist/cli/{index-ejfmgkt0.js → index-f54stv77.js} +3 -3
  55. package/dist/cli/{index-t433r606.js → index-fzqn2kk8.js} +2 -2
  56. package/dist/cli/{index-28zgn6sm.js → index-g8jd3h4r.js} +2 -2
  57. package/dist/cli/{index-s81tvz98.js → index-hcsz7bhg.js} +3 -3
  58. package/dist/cli/{index-jdw63xyd.js → index-k96fx4yw.js} +2 -2
  59. package/dist/cli/{index-9b6bxe9b.js → index-mbn4vn3z.js} +1 -1
  60. package/dist/cli/{index-7vnr5cmp.js → index-mtqwyjrg.js} +1 -1
  61. package/dist/cli/{index-025wg2re.js → index-nwswxes7.js} +3 -3
  62. package/dist/cli/{index-cje7tt58.js → index-q0bctx7k.js} +1 -1
  63. package/dist/cli/{index-vf6pqke0.js → index-qp3twbdz.js} +45 -45
  64. package/dist/cli/{index-vt8hk0pt.js → index-qta3x82z.js} +244 -106
  65. package/dist/cli/{index-v3bmeqqh.js → index-w8e73tp0.js} +12 -7
  66. package/dist/cli/{index-0yrsvwdf.js → index-w917g452.js} +6 -6
  67. package/dist/cli/{index-ney8qpg3.js → index-w9y482mp.js} +1 -1
  68. package/dist/cli/{index-edk2sgse.js → index-xen0j48x.js} +2 -2
  69. package/dist/cli/{index-867d9dhf.js → index-xf5v44qh.js} +3 -3
  70. package/dist/cli/{index-bwh9196c.js → index-ypvz2c60.js} +7 -7
  71. package/dist/cli/{index-95hc7xn4.js → index-yte4hqhv.js} +3 -3
  72. package/dist/cli/index.d.ts +2 -2
  73. package/dist/cli/index.js +60 -54
  74. package/dist/cli/{knowledge-escalator-naq700x5.js → knowledge-escalator-gzzr7cy2.js} +14 -14
  75. package/dist/cli/{knowledge-events-mmh5cya6.js → knowledge-events-b16yc189.js} +12 -12
  76. package/dist/cli/{knowledge-link-76egdqc9.js → knowledge-link-a5tvjqdt.js} +5 -5
  77. package/dist/cli/{knowledge-store-9dxr9jb9.js → knowledge-store-arj3by4h.js} +6 -6
  78. package/dist/cli/{knowledge-validator-eze3s6fn.js → knowledge-validator-b3qhjg0t.js} +8 -8
  79. package/dist/cli/{mcp-1x2tpk71.js → mcp-972t0jt0.js} +1 -1
  80. package/dist/cli/{model-preflight-hgb7kf5d.js → model-preflight-f1xvxk6e.js} +43 -43
  81. package/dist/cli/{pending-delegations-zg4q1k5q.js → pending-delegations-fv5xz799.js} +12 -12
  82. package/dist/cli/{pr-subscriptions-zw8aev5s.js → pr-subscriptions-4mcwj33s.js} +12 -12
  83. package/dist/cli/{pr-workflow-gate-dcbpd451.js → pr-workflow-gate-ap5cp211.js} +43 -43
  84. package/dist/cli/{runner-y529qa4d.js → runner-8qybgy4n.js} +6 -6
  85. package/dist/cli/{scan-cursor-pdxmndd0.js → scan-cursor-tceyckdx.js} +7 -7
  86. package/dist/cli/{schema-hzz32642.js → schema-pqevpe3m.js} +1 -1
  87. package/dist/cli/{scope-persistence-h4b6p951.js → scope-persistence-ta6ydymv.js} +15 -15
  88. package/dist/cli/{server-7gd7tqt5.js → server-s9bfax7h.js} +43 -43
  89. package/dist/cli/{skill-generator-7g7sca90.js → skill-generator-xdg4626x.js} +16 -16
  90. package/dist/cli/{snapshot-coordination-init-4q5ykq22.js → snapshot-coordination-init-wn0hnwyv.js} +43 -43
  91. package/dist/cli/{speckit-checkoff-5bfxs8r7.js → speckit-checkoff-8x139jpf.js} +4 -4
  92. package/dist/cli/{telemetry-9szfdfqv.js → telemetry-qaymh4gg.js} +1 -1
  93. package/dist/cli/{workspace-snapshot-nre732xt.js → workspace-snapshot-vfpnxjsp.js} +3 -3
  94. package/dist/cli/{worktree-collision-ownership-327d06qw.js → worktree-collision-ownership-as8hnnff.js} +13 -13
  95. package/dist/cli/{worktree-isolation-zqzs3wkk.js → worktree-isolation-7vrs8t9b.js} +49 -43
  96. package/dist/commands/turbo.d.ts +4 -3
  97. package/dist/config/constants.d.ts +2 -2
  98. package/dist/config/plan-schema.d.ts +16 -0
  99. package/dist/epic/phase-readiness.d.ts +4 -2
  100. package/dist/evaluation/ephemeral-agent-dispatcher.d.ts +11 -0
  101. package/dist/failures/provider-message-error.d.ts +32 -0
  102. package/dist/hooks/delegation-gate/worktree-isolation.d.ts +40 -0
  103. package/dist/hooks/delegation-gate.d.ts +13 -0
  104. package/dist/hooks/extractors.d.ts +2 -0
  105. package/dist/hooks/guardrails/index.d.ts +2 -0
  106. package/dist/hooks/guardrails/parallel-gate-attribution.d.ts +10 -0
  107. package/dist/index.js +415 -412
  108. package/dist/plan/ledger.d.ts +21 -3
  109. package/dist/sandbox/linux/bubblewrap-executor.d.ts +24 -0
  110. package/dist/services/skill-optimizer/store.d.ts +2 -2
  111. package/dist/tools/phase-complete.d.ts +4 -0
  112. package/opencode-swarm.schema.json +1 -1
  113. package/package.json +1 -1
  114. package/dist/cli/curator-llm-factory-tfn0cp68.js +0 -82
  115. package/dist/cli/guardrail-explain-n9ndp99q.js +0 -83
@@ -8,14 +8,14 @@ import {
8
8
  protectedRoots,
9
9
  redactDecisionLineForArchive,
10
10
  stableCanonicalStringify
11
- } from "./index-867d9dhf.js";
11
+ } from "./index-xf5v44qh.js";
12
12
  import {
13
13
  detectStraySwarmDirs,
14
14
  readDoctorArtifact,
15
15
  removeStraySwarmDir,
16
16
  resolvePlanParallelizationFlag,
17
17
  runConfigDoctor
18
- } from "./index-95hc7xn4.js";
18
+ } from "./index-yte4hqhv.js";
19
19
  import {
20
20
  archiveEvidence,
21
21
  checkRequirementCoverage,
@@ -27,7 +27,7 @@ import {
27
27
  sanitizeTaskId,
28
28
  saveEvidence,
29
29
  validateProjectRoot
30
- } from "./index-ajp4dabz.js";
30
+ } from "./index-25zjz6kv.js";
31
31
  import {
32
32
  JAVA_SYMBOL_GRAMMAR,
33
33
  LANGUAGE_REGISTRY,
@@ -56,7 +56,7 @@ import {
56
56
  runEvaluation,
57
57
  runExternalTool,
58
58
  withDisposableWorktree
59
- } from "./index-xjqa26fs.js";
59
+ } from "./index-0e1nxkte.js";
60
60
  import {
61
61
  EvaluationTaskV1Schema,
62
62
  GateAuditManifestV1Schema,
@@ -73,7 +73,7 @@ import {
73
73
  saveGateAuditResult,
74
74
  savePromotionDecision,
75
75
  saveTaskSetSnapshot
76
- } from "./index-t0se5zwe.js";
76
+ } from "./index-5gy5dc2n.js";
77
77
  import {
78
78
  canonicalHash,
79
79
  canonicalJson,
@@ -89,7 +89,7 @@ import {
89
89
  alreadyCuratedThisGeneration,
90
90
  claimNextScanBatch,
91
91
  resolveCohortId
92
- } from "./index-w52xyp9v.js";
92
+ } from "./index-914wsfyy.js";
93
93
  import {
94
94
  CURATOR_CONSOLIDATION_PROMPT,
95
95
  CURATOR_INIT_PROMPT,
@@ -108,13 +108,13 @@ import {
108
108
  getGroupCommitWriter,
109
109
  importLegacyJsonl,
110
110
  readPriorDriftReports
111
- } from "./index-2wps5fec.js";
111
+ } from "./index-br28jc6d.js";
112
112
  import {
113
113
  assertNoUnsettledCoderDispatch,
114
114
  listCoderSettlementWalStates,
115
115
  recoverCoderSettlement,
116
116
  recoverStaleCoderSettlements
117
- } from "./index-nb1c3342.js";
117
+ } from "./index-4tfr4j1a.js";
118
118
  import {
119
119
  BUNDLED_PROJECT_SKILL_ROOT,
120
120
  DEFAULT_SKILL_MIN_CONFIDENCE,
@@ -135,11 +135,11 @@ import {
135
135
  retireSkill,
136
136
  selectCandidateEntries,
137
137
  syncBundledProjectSkillsIfMissingAsync
138
- } from "./index-50b8f6qz.js";
138
+ } from "./index-asm2r4g2.js";
139
139
  import {
140
140
  buildEscalationBriefing,
141
141
  readRecentEscalations
142
- } from "./index-0yrsvwdf.js";
142
+ } from "./index-w917g452.js";
143
143
  import {
144
144
  parsePorcelainV2Snapshot,
145
145
  resolveCommitCountSince,
@@ -167,7 +167,7 @@ import {
167
167
  resolveRemoteUrlIdentity,
168
168
  resolveRemoteUrlIdentityAsync,
169
169
  switchPrFeedbackTrackingCandidateAsync
170
- } from "./index-t433r606.js";
170
+ } from "./index-fzqn2kk8.js";
171
171
  import {
172
172
  buildCorrelationId,
173
173
  buildIssueUrl,
@@ -188,13 +188,13 @@ import {
188
188
  sweepStale,
189
189
  unsubscribe,
190
190
  updateSnapshot
191
- } from "./index-f6e44xh2.js";
191
+ } from "./index-dtet46e6.js";
192
192
  import {
193
193
  WORKTREE_LIFECYCLE_LOCK_FILE,
194
194
  recordWorktreeProvisioningOwner,
195
195
  removeWorktreeProvisioningOwner,
196
196
  scanWorktreeProvisioningOwnersForRecovery
197
- } from "./index-28zgn6sm.js";
197
+ } from "./index-g8jd3h4r.js";
198
198
  import {
199
199
  getLanguageForExtension
200
200
  } from "./index-pt7h91zc.js";
@@ -223,7 +223,7 @@ import {
223
223
  swarmOverwriteCandidates,
224
224
  trackedDirtyCandidates,
225
225
  transientBackoff
226
- } from "./index-ysazjncb.js";
226
+ } from "./index-cf003krm.js";
227
227
  import {
228
228
  EPIC_MODE_CONFIG_DISABLED_MESSAGE,
229
229
  PlanRecoverySupersededError,
@@ -255,7 +255,7 @@ import {
255
255
  updateEpicRecord,
256
256
  updateTaskStatus,
257
257
  withPlanLifecycleLock
258
- } from "./index-km4x7yfb.js";
258
+ } from "./index-878ksabw.js";
259
259
  import {
260
260
  containsControlChars,
261
261
  containsPathTraversal,
@@ -271,7 +271,7 @@ import {
271
271
  resolveSpeckitProjection,
272
272
  validateSpeckit,
273
273
  writeProjectedSpecSync
274
- } from "./index-pkgbrrn7.js";
274
+ } from "./index-5s74qd5b.js";
275
275
  import {
276
276
  clearWorktreeMergeStatus,
277
277
  getAllWorktreeMergeFailures,
@@ -303,7 +303,7 @@ import {
303
303
  transitionTaskWorkflowEvidenceWithStatus,
304
304
  withTaskEvidenceTransaction,
305
305
  writeWorkflowWalFile
306
- } from "./index-f32hs2vt.js";
306
+ } from "./index-7a92gwbg.js";
307
307
  import {
308
308
  isPathUnderSwarmWorktreeBase,
309
309
  listLiveLaneOwners,
@@ -312,7 +312,7 @@ import {
312
312
  recordLiveLaneOwner,
313
313
  removeWorktree,
314
314
  resolveWorktreeBaseDir
315
- } from "./index-ejfmgkt0.js";
315
+ } from "./index-f54stv77.js";
316
316
  import {
317
317
  GitBinaryMissingError,
318
318
  GitSpawnCwdError,
@@ -354,7 +354,7 @@ import {
354
354
  scanBackgroundCoderReservationsForAdmission,
355
355
  scanDelegationsForRecovery,
356
356
  sweepStaleDelegations
357
- } from "./index-bwh9196c.js";
357
+ } from "./index-ypvz2c60.js";
358
358
  import {
359
359
  MAX_EVENT_LOG_ENTRIES,
360
360
  _internals,
@@ -366,7 +366,7 @@ import {
366
366
  recordHiveKnowledgeEvent,
367
367
  recordKnowledgeEvent,
368
368
  resolveKnowledgeEventsPath
369
- } from "./index-advcaree.js";
369
+ } from "./index-4qreeddq.js";
370
370
  import {
371
371
  commitDisplayedMembership,
372
372
  commitEmptyRetrieval,
@@ -379,7 +379,7 @@ import {
379
379
  queryLiveMemberships,
380
380
  reconcilePhaseClose,
381
381
  recordPhaseCloseIntent
382
- } from "./index-v3bmeqqh.js";
382
+ } from "./index-w8e73tp0.js";
383
383
  import {
384
384
  sanitizeContextText
385
385
  } from "./index-m9zzj4ee.js";
@@ -390,7 +390,7 @@ import {
390
390
  readSwarmFileAsync,
391
391
  safeHook,
392
392
  validateSwarmPath
393
- } from "./index-mhqh2dc9.js";
393
+ } from "./index-eaess7dm.js";
394
394
  import {
395
395
  bunFile,
396
396
  bunSpawn,
@@ -410,18 +410,18 @@ import {
410
410
  validateActionableFields,
411
411
  validateLesson,
412
412
  validateSkillPath
413
- } from "./index-3txrbsa1.js";
413
+ } from "./index-7bppy3ve.js";
414
414
  import {
415
415
  MAX_CURATION_PROPOSALS,
416
416
  authorizeCuration,
417
417
  buildConfigFingerprintInput
418
- } from "./index-xw19x0t7.js";
418
+ } from "./index-5dws7eyb.js";
419
419
  import {
420
420
  cohortConfigFingerprint
421
421
  } from "./index-rtry5xyf.js";
422
422
  import {
423
423
  resolveWorktreeIsolationConfig
424
- } from "./index-6shk3n43.js";
424
+ } from "./index-89826pb5.js";
425
425
  import {
426
426
  RetrospectiveEvidenceSchema
427
427
  } from "./index-g22dps7x.js";
@@ -433,8 +433,9 @@ import {
433
433
  clearScopeBindings,
434
434
  readAuthoritativeScopeBindingSet,
435
435
  readDeclaredScopeFilesFromBindings
436
- } from "./index-r3gphy10.js";
436
+ } from "./index-ejq082zj.js";
437
437
  import {
438
+ approvedSnapshotCoversPlan,
438
439
  clearPlanLedgerForReset,
439
440
  computePlanStructureHash,
440
441
  getOrAdoptPlanEpochUnderLock,
@@ -449,7 +450,7 @@ import {
449
450
  replayFromLedgerWithStatus,
450
451
  resolvePlanningProfile,
451
452
  takeSnapshotEvent
452
- } from "./index-yfmgbhwz.js";
453
+ } from "./index-ba87gkb4.js";
453
454
  import {
454
455
  CORE_EVENT_LOCKED,
455
456
  appendCoreEventSync,
@@ -459,7 +460,7 @@ import {
459
460
  hasSpecDriftAuditEvent,
460
461
  hasTaskRepairAuditEvent,
461
462
  readCoreEvents
462
- } from "./index-d4cjbm4p.js";
463
+ } from "./index-a9m7h5v0.js";
463
464
  import {
464
465
  DEFAULT_QA_GATES,
465
466
  computeProfileHash,
@@ -467,7 +468,7 @@ import {
467
468
  getEffectiveGates,
468
469
  getProfileLookupForIdentity,
469
470
  setGatesForIdentity
470
- } from "./index-4cm1p2kj.js";
471
+ } from "./index-dt4cjxbz.js";
471
472
  import {
472
473
  MAX_COORDINATION_STATE_LIST_ROWS,
473
474
  deleteCoordinationImports,
@@ -478,7 +479,7 @@ import {
478
479
  listCoordinationStates,
479
480
  transitionCoordinationState,
480
481
  withCoordinationTransaction
481
- } from "./index-9b6bxe9b.js";
482
+ } from "./index-mbn4vn3z.js";
482
483
  import {
483
484
  DURABILITY_CLASSES,
484
485
  closeAllProjectDbs,
@@ -487,7 +488,7 @@ import {
487
488
  projectDbExists,
488
489
  projectDbPath,
489
490
  withImmediateTransaction
490
- } from "./index-ga1pcs49.js";
491
+ } from "./index-8zj647hc.js";
491
492
  import {
492
493
  canonicalExistingFilesystemPath,
493
494
  canonicalPathForFutureIo,
@@ -507,7 +508,7 @@ import {
507
508
  observeModelLimitResolution,
508
509
  observeStoreHealth,
509
510
  readLearningHealth
510
- } from "./index-k6h66zm3.js";
511
+ } from "./index-4twjbsfw.js";
511
512
  import {
512
513
  appendKnowledge,
513
514
  appendRejectedLesson,
@@ -538,7 +539,7 @@ import {
538
539
  transactFile,
539
540
  transactKnowledge,
540
541
  wordBigrams
541
- } from "./index-af3nmk6c.js";
542
+ } from "./index-29z0w323.js";
542
543
  import {
543
544
  readTailJsonl,
544
545
  readTailJsonlDetailed,
@@ -559,13 +560,13 @@ import {
559
560
  resolveLinkDir,
560
561
  sanitizeLinkId,
561
562
  writeLinkPointer
562
- } from "./index-kvtwwj8b.js";
563
+ } from "./index-bgzpw6ge.js";
563
564
  import {
564
565
  atomicWriteFile
565
- } from "./index-63v3gmgr.js";
566
+ } from "./index-1n7sf9gz.js";
566
567
  import {
567
568
  withEvidenceLock
568
- } from "./index-8bx6vhzk.js";
569
+ } from "./index-e8k0v19e.js";
569
570
  import {
570
571
  assertProjectRoot
571
572
  } from "./index-t7hmqgjy.js";
@@ -579,7 +580,7 @@ import {
579
580
  pseudonymousRef,
580
581
  resolveLineageSalt,
581
582
  telemetry
582
- } from "./index-7vnr5cmp.js";
583
+ } from "./index-mtqwyjrg.js";
583
584
  import {
584
585
  SESSION_KEY_SEPARATOR,
585
586
  canonicalRootKey,
@@ -605,7 +606,7 @@ import {
605
606
  matchTempGrammar,
606
607
  parseTargetBasename,
607
608
  resetSwarmArtifactCache
608
- } from "./index-025wg2re.js";
609
+ } from "./index-nwswxes7.js";
609
610
  import {
610
611
  PlanSchema,
611
612
  TaskStatusSchema,
@@ -623,7 +624,7 @@ import {
623
624
  loadPluginConfig,
624
625
  loadPluginConfigWithMeta,
625
626
  resolveEpicConfig
626
- } from "./index-ney8qpg3.js";
627
+ } from "./index-w9y482mp.js";
627
628
  import {
628
629
  GIT_BINARY_ENV_VAR,
629
630
  addDeferredWarning,
@@ -656,7 +657,7 @@ import {
656
657
  resolveContextWindow,
657
658
  resolveGeneratedAgentRole,
658
659
  stripKnownSwarmPrefix
659
- } from "./index-b79a8pc2.js";
660
+ } from "./index-a83gmv2e.js";
660
661
  import {
661
662
  AGENT_TOOL_MAP,
662
663
  ALL_AGENT_NAMES,
@@ -700,7 +701,7 @@ import {
700
701
  init_executor,
701
702
  isUntrustedEnvKey,
702
703
  isValidEnvKey
703
- } from "./index-sgxbqba0.js";
704
+ } from "./index-bzfn85kq.js";
704
705
  import {
705
706
  init_path_identity,
706
707
  sanitizeDiagnosticText,
@@ -3456,7 +3457,7 @@ async function importLegacyPrWorkflowGateStateIfNeeded(directory, sessionID, all
3456
3457
  return null;
3457
3458
  throw error2;
3458
3459
  }
3459
- const legacy = allowSalvagedImport ? (await (await import("./pr-workflow-gate-dcbpd451.js")).readPrWorkflowGateStateForRecovery(directory, sessionID))?.state ?? null : await readPrWorkflowGateStateFileFromDisk(filePath, sessionID);
3460
+ const legacy = allowSalvagedImport ? (await (await import("./pr-workflow-gate-ap5cp211.js")).readPrWorkflowGateStateForRecovery(directory, sessionID))?.state ?? null : await readPrWorkflowGateStateFileFromDisk(filePath, sessionID);
3460
3461
  if (!legacy)
3461
3462
  return null;
3462
3463
  const namespace = workflowGateStateCoordinationNamespace(sessionID);
@@ -3543,7 +3544,7 @@ async function deleteStateWhileLocked(directory, sessionID, options = {}) {
3543
3544
  let recoveryState = null;
3544
3545
  if (!currentAuthoritative) {
3545
3546
  if (options.allowSalvagedRead) {
3546
- const { readPrWorkflowGateStateForRecovery } = await import("./pr-workflow-gate-dcbpd451.js");
3547
+ const { readPrWorkflowGateStateForRecovery } = await import("./pr-workflow-gate-ap5cp211.js");
3547
3548
  recoveryState = (await readPrWorkflowGateStateForRecovery(directory, normalizedSessionID))?.state ?? null;
3548
3549
  }
3549
3550
  if (!recoveryState) {
@@ -8201,6 +8202,7 @@ import * as path16 from "path";
8201
8202
 
8202
8203
  // src/hooks/delegation-gate/worktree-isolation.ts
8203
8204
  init_constants();
8205
+ init_schema();
8204
8206
  import { createHash as createHash16 } from "crypto";
8205
8207
  import * as fs8 from "fs/promises";
8206
8208
  import * as path14 from "path";
@@ -10067,6 +10069,32 @@ var MAX_TRACKED_STANDARD_WORKTREE_CALLS = 256;
10067
10069
  var awaitingMergeByCallID = new Map;
10068
10070
  var standardWorktreeByCallID = new Map;
10069
10071
  var standardWorktreeSerializationSessions = new Set;
10072
+ var LANE_CHILD_SESSION_LIMIT = 512;
10073
+ var laneChildSessionAgents = new Map;
10074
+ function recordLaneChildSession(sessionId, agent) {
10075
+ laneChildSessionAgents.delete(sessionId);
10076
+ laneChildSessionAgents.set(sessionId, agent);
10077
+ while (laneChildSessionAgents.size > LANE_CHILD_SESSION_LIMIT) {
10078
+ const oldest = laneChildSessionAgents.keys().next().value;
10079
+ if (oldest === undefined)
10080
+ break;
10081
+ laneChildSessionAgents.delete(oldest);
10082
+ }
10083
+ }
10084
+ function assertTaskIdNotForeignLaneSession(args) {
10085
+ if (!args)
10086
+ return;
10087
+ const taskId = typeof args.task_id === "string" ? args.task_id.trim() : "";
10088
+ if (!taskId)
10089
+ return;
10090
+ const owner = laneChildSessionAgents.get(taskId);
10091
+ if (owner === undefined)
10092
+ return;
10093
+ const requested = typeof args.subagent_type === "string" ? stripKnownSwarmPrefix(args.subagent_type).toLowerCase() : "";
10094
+ if (requested === owner)
10095
+ return;
10096
+ throw new Error(`TASK_SESSION_RESUME_MISMATCH: task_id "${taskId}" is the session this plugin created for an isolated ${owner} lane; ` + `passing it would resume that ${owner} session as ${requested || "another agent"} (its lane, history and scope). ` + 'Set task_id to the plan task id (e.g. "1.1") or omit it; never pass a `ses_\u2026` id returned in a Task result ' + `for a different agent. Omitting it starts a fresh ${requested || "agent"} session.`);
10097
+ }
10070
10098
  var standardWorktreeMergeQueue = Promise.resolve();
10071
10099
  var standardWorktreeLaneIndexBySession = new Map;
10072
10100
  var serializationStateBySessionID = new Map;
@@ -10145,6 +10173,28 @@ function handleStandardWorktreeFailure(parentSessionID, policy, message) {
10145
10173
  }
10146
10174
  serializeStandardWorktreeDispatches(parentSessionID, message);
10147
10175
  }
10176
+ var WORKTREE_LIFECYCLE_LOCK_WAIT_MARGIN_MS = 5000;
10177
+ var WORKTREE_LIFECYCLE_LOCK_WAIT_MIN_MS = 1e4;
10178
+ var WORKTREE_DISPATCH_HOOK_BUDGET_MS = 60000;
10179
+ var WORKTREE_PROVISION_ALLOWANCE_MS = 15000;
10180
+ function resolveWorktreeLifecycleLockWaitMs(sessionCreateTimeoutMs) {
10181
+ const createMs = Math.max(0, sessionCreateTimeoutMs);
10182
+ const coverHolder = createMs + WORKTREE_LIFECYCLE_LOCK_WAIT_MARGIN_MS;
10183
+ const roomInHook = WORKTREE_DISPATCH_HOOK_BUDGET_MS - createMs - WORKTREE_SESSION_CREATE_SETTLE_GRACE_MS - WORKTREE_PROVISION_ALLOWANCE_MS;
10184
+ return Math.max(WORKTREE_LIFECYCLE_LOCK_WAIT_MIN_MS, Math.min(coverHolder, roomInHook));
10185
+ }
10186
+ async function acquireWorktreeLifecycleLockWithin(directory, taskId, waitMs) {
10187
+ const deadline = _internals20.now() + Math.max(0, waitMs);
10188
+ for (;; ) {
10189
+ const attempt = await _internals20.tryAcquireWorktreeLifecycleLock(directory, WORKTREE_LIFECYCLE_LOCK_FILE, "worktree-provisioning", taskId);
10190
+ if (attempt.acquired)
10191
+ return attempt;
10192
+ const remaining = deadline - _internals20.now();
10193
+ if (remaining <= 0)
10194
+ return attempt;
10195
+ await _internals20.sleep(Math.min(remaining, 50 + Math.floor(Math.random() * 200)));
10196
+ }
10197
+ }
10148
10198
  function hardStopStandardWorktreeLifecycle(parentSessionID, message) {
10149
10199
  const session = ensureAgentSession(parentSessionID);
10150
10200
  pushAdvisory(session, message);
@@ -10172,6 +10222,7 @@ function getStandardWorktreeDegradationReason(sessionID) {
10172
10222
  function resetStandardWorktreeIsolationState() {
10173
10223
  standardWorktreeByCallID.clear();
10174
10224
  standardWorktreeSerializationSessions.clear();
10225
+ laneChildSessionAgents.clear();
10175
10226
  serializationStateBySessionID.clear();
10176
10227
  standardWorktreeDegradationReasonBySession.clear();
10177
10228
  awaitingMergeByCallID.clear();
@@ -10341,7 +10392,7 @@ function isLaneOwnedByCurrentSession(branchName, expectedSessionId) {
10341
10392
  return extracted === expectedSessionId;
10342
10393
  }
10343
10394
  async function inspectStandardWorktreeCollisionOwnership(identity) {
10344
- const collisionOwnership = await import("./worktree-collision-ownership-327d06qw.js");
10395
+ const collisionOwnership = await import("./worktree-collision-ownership-as8hnnff.js");
10345
10396
  return collisionOwnership.inspectStandardWorktreeCollisionOwnership(identity);
10346
10397
  }
10347
10398
  async function runRecoveryGit(directory, args, timeoutMs = 15000) {
@@ -10491,9 +10542,10 @@ async function precreateStandardWorktreeSession(args) {
10491
10542
  })
10492
10543
  };
10493
10544
  let recoveryLaunch;
10494
- const lifecycleLock = await _internals20.tryAcquireWorktreeLifecycleLock(args.directory, WORKTREE_LIFECYCLE_LOCK_FILE, "worktree-provisioning", args.taskId);
10545
+ const lifecycleLockWaitMs = resolveWorktreeLifecycleLockWaitMs(resolveSessionCreateTimeoutMs(args));
10546
+ const lifecycleLock = await acquireWorktreeLifecycleLockWithin(args.directory, args.taskId, lifecycleLockWaitMs);
10495
10547
  if (!lifecycleLock.acquired) {
10496
- hardStopStandardWorktreeLifecycle(args.parentSessionID, "STANDARD_WORKTREE_LIFECYCLE_BUSY: init orphan recovery is active; retry this coder dispatch after recovery completes.");
10548
+ hardStopStandardWorktreeLifecycle(args.parentSessionID, `STANDARD_WORKTREE_LIFECYCLE_BUSY: the worktree lifecycle lock stayed busy for ${Math.round(lifecycleLockWaitMs / 1000)}s (another lane is provisioning or init orphan recovery is running); retry this coder dispatch. ` + "The wait follows worktree.session_create_timeout_ms: that budget plus 5s, at least 10s, and \u2014 up to the default 30s budget \u2014 short enough that this dispatch (its own session create and worktree provisioning included) still fits the 60s host hook budget.");
10497
10549
  }
10498
10550
  try {
10499
10551
  const collision = await _internals20.preProvisionCollisionCheck(args.taskId, args.directory, args.parentSessionID);
@@ -10768,7 +10820,7 @@ async function precreateStandardWorktreeSession(args) {
10768
10820
  const laneProfile = computeLaneRuntimeProfile(worktreeConfig.runtime_isolation, laneIndex, handle.worktreePath);
10769
10821
  if (laneProfile) {
10770
10822
  try {
10771
- const { writeLaneProfileToDiskReal } = await import("./core-q8xvp8bw.js");
10823
+ const { writeLaneProfileToDiskReal } = await import("./core-0jarm64k.js");
10772
10824
  await writeLaneProfileToDiskReal(handle.worktreePath, laneProfile.laneIndex, laneProfile.envOverrides);
10773
10825
  } catch {}
10774
10826
  }
@@ -10865,6 +10917,7 @@ async function precreateStandardWorktreeSession(args) {
10865
10917
  throw new Error("STANDARD_WORKTREE_SESSION_CREATE_FAILED: missing child session id.");
10866
10918
  }
10867
10919
  args.outputArgs.task_id = childSessionId;
10920
+ recordLaneChildSession(childSessionId, "coder");
10868
10921
  ensureAgentSession(childSessionId, "coder", handle.worktreePath);
10869
10922
  recordSessionWorkspaceRoot(childSessionId, handle.worktreePath);
10870
10923
  rememberStandardWorktreeDispatch({
@@ -11761,7 +11814,7 @@ async function finishStandardWorktreeDispatch(directory, dispatch, config, callI
11761
11814
  }
11762
11815
  clearWorktreeMergeStatus(statusKey);
11763
11816
  try {
11764
- const { removeLaneProfileFromDiskReal } = await import("./core-q8xvp8bw.js");
11817
+ const { removeLaneProfileFromDiskReal } = await import("./core-0jarm64k.js");
11765
11818
  await removeLaneProfileFromDiskReal(dispatch.handle.worktreePath, dispatch.laneIndex);
11766
11819
  } catch {}
11767
11820
  const state = serializationStateBySessionID.get(dispatch.parentSessionID);
@@ -11946,6 +11999,10 @@ var _internals20 = {
11946
11999
  preserveDirtyWorktreeForCallId,
11947
12000
  preserveBackgroundWorktreeOwnershipForCallId,
11948
12001
  tryAcquireWorktreeLifecycleLock: tryAcquireLock,
12002
+ acquireWorktreeLifecycleLockWithin,
12003
+ resolveWorktreeLifecycleLockWaitMs,
12004
+ now: () => Date.now(),
12005
+ sleep: (ms) => new Promise((resolve6) => setTimeout(resolve6, ms)),
11949
12006
  recordWorktreeProvisioningOwner,
11950
12007
  removeWorktreeProvisioningOwner,
11951
12008
  lookupWorktreeRecoveryAuthoritiesByTask,
@@ -19035,6 +19092,12 @@ function emitTrajectoryHealth(directory, data) {
19035
19092
  }
19036
19093
  function getTrajectoryPath(sessionId, directory) {
19037
19094
  const relativePath = path25.join("trajectories", `${sessionId}.jsonl`);
19095
+ return trajectorySwarmPath(directory, relativePath);
19096
+ }
19097
+ function trajectorySwarmPath(directory, relativePath) {
19098
+ if (typeof directory !== "string" || directory.trim() === "" || !path25.isAbsolute(directory)) {
19099
+ throw new Error(`[trajectory-store] workspace directory must be a non-blank absolute path (got ${JSON.stringify(directory)})`);
19100
+ }
19038
19101
  return validateSwarmPath(directory, relativePath);
19039
19102
  }
19040
19103
  function getMetaPath(trajectoryPath) {
@@ -19218,7 +19281,7 @@ async function cleanupOldTrajectoryFiles(directory, maxAgeDays = TRAJECTORY_LIMI
19218
19281
  if (removed >= TRAJECTORY_LIMITS.maxDeletionsPerRun)
19219
19282
  break;
19220
19283
  try {
19221
- const dirPath = validateSwarmPath(directory, subdir);
19284
+ const dirPath = trajectorySwarmPath(directory, subdir);
19222
19285
  const entries = await fs16.readdir(dirPath, { withFileTypes: true });
19223
19286
  const candidates = [];
19224
19287
  for (const entry of entries) {
@@ -19768,6 +19831,27 @@ async function commitTaskTerminalUnderPlanLock(options) {
19768
19831
  };
19769
19832
  });
19770
19833
  }
19834
+
19835
+ // src/parallel/tier3-classifier.ts
19836
+ var TIER_3_EXACT_BASENAMES = new Set([
19837
+ "auth",
19838
+ "authenticate",
19839
+ "authentication",
19840
+ "authorization",
19841
+ "permission",
19842
+ "permissions",
19843
+ "crypto",
19844
+ "secret",
19845
+ "secrets",
19846
+ "secretscan"
19847
+ ]);
19848
+ var TIER_3_DIRECTORY_SEGMENTS = new Set([
19849
+ "auth",
19850
+ "security",
19851
+ "crypto",
19852
+ "permission",
19853
+ "secret"
19854
+ ]);
19771
19855
  // src/hooks/guardrails/index.ts
19772
19856
  init_constants();
19773
19857
  init_schema();
@@ -25497,9 +25581,7 @@ async function isPlanCriticApproved(directory) {
25497
25581
  return false;
25498
25582
  if (approved.approval?.verdict !== "APPROVED" || approved.approval?.source !== "plan_critic_gate")
25499
25583
  return false;
25500
- if (approved.payloadHash !== computePlanStructureHash(plan))
25501
- return false;
25502
- return true;
25584
+ return approvedSnapshotCoversPlan(approved, plan);
25503
25585
  } catch {
25504
25586
  return false;
25505
25587
  }
@@ -25854,21 +25936,27 @@ function clearAllTaskModelRoutingState() {
25854
25936
  import { existsSync as existsSync14, mkdirSync as mkdirSync9, readFileSync as readFileSync16, writeFileSync as writeFileSync9 } from "fs";
25855
25937
  import * as path30 from "path";
25856
25938
  var SESSION_START_FILE = "session-start.jsonl";
25939
+ function sessionStartPath(directory) {
25940
+ if (typeof directory !== "string" || directory.trim() === "" || !path30.isAbsolute(directory)) {
25941
+ return null;
25942
+ }
25943
+ return path30.join(directory, ".swarm", "session", SESSION_START_FILE);
25944
+ }
25857
25945
  function recordSessionStart(directory, startMs) {
25858
25946
  try {
25859
- const swarmDir = path30.join(directory, ".swarm");
25860
- const sessionDir = path30.join(swarmDir, "session");
25861
- const filePath = path30.join(sessionDir, SESSION_START_FILE);
25947
+ const filePath = sessionStartPath(directory);
25948
+ if (filePath === null)
25949
+ return;
25862
25950
  const line = JSON.stringify({ startMs, ts: Date.now() });
25863
- mkdirSync9(sessionDir, { recursive: true });
25951
+ mkdirSync9(path30.dirname(filePath), { recursive: true });
25864
25952
  writeFileSync9(filePath, `${line}
25865
25953
  `, { flag: "a" });
25866
25954
  } catch {}
25867
25955
  }
25868
25956
  function readEarliestSessionStart(directory) {
25869
25957
  try {
25870
- const filePath = path30.join(directory, ".swarm", "session", SESSION_START_FILE);
25871
- if (!existsSync14(filePath))
25958
+ const filePath = sessionStartPath(directory);
25959
+ if (filePath === null || !existsSync14(filePath))
25872
25960
  return null;
25873
25961
  const content = readFileSync16(filePath, "utf-8");
25874
25962
  const lines = content.split(`
@@ -26584,6 +26672,9 @@ function resolveInitialTurboMode(directory) {
26584
26672
  function startAgentSession(sessionId, agentName, staleDurationMs = STALE_SESSION_TTL_MS, directory) {
26585
26673
  const now = Date.now();
26586
26674
  claimSnapshotSessionOwnership(sessionId, true);
26675
+ if (typeof directory === "string" && directory.trim() === "") {
26676
+ directory = undefined;
26677
+ }
26587
26678
  const owningProjectKey = directory ? hydrationProjectKey(directory) : undefined;
26588
26679
  const hydrationAuthority = owningProjectKey ? captureCurrentHydrationAuthority(owningProjectKey) : undefined;
26589
26680
  const hydrationStamp = owningProjectKey ? nextSessionHydrationStamp(owningProjectKey) : undefined;
@@ -27509,7 +27600,7 @@ function clearCriticalShownIds(sessionID) {
27509
27600
  async function rehydratePrSubscriptions(sessionID, directory) {
27510
27601
  const map = new Map;
27511
27602
  try {
27512
- const { listActive: listActive2 } = await import("./pr-subscriptions-zw8aev5s.js");
27603
+ const { listActive: listActive2 } = await import("./pr-subscriptions-4mcwj33s.js");
27513
27604
  const records = await listActive2(directory);
27514
27605
  for (const record of records) {
27515
27606
  if (record.sessionID !== sessionID)
@@ -35948,7 +36039,7 @@ ${USAGE2}`;
35948
36039
  // src/services/spec-drift-recovery.ts
35949
36040
  import { createHash as createHash26 } from "crypto";
35950
36041
  import { mkdir as mkdir6, readFile as readFile10, unlink as unlink2 } from "fs/promises";
35951
- import { dirname as dirname16 } from "path";
36042
+ import { dirname as dirname17 } from "path";
35952
36043
  var SPEC_DRIFT_RECOVERY_AGENT = "spec-drift-recovery";
35953
36044
  var _internals41 = {
35954
36045
  appendEvent,
@@ -36029,7 +36120,7 @@ async function unlinkIfExists(filePath) {
36029
36120
  }
36030
36121
  }
36031
36122
  async function writeWal3(walPath, wal) {
36032
- await mkdir6(dirname16(walPath), { recursive: true });
36123
+ await mkdir6(dirname17(walPath), { recursive: true });
36033
36124
  await atomicWriteFile(walPath, `${JSON.stringify(wal, null, 2)}
36034
36125
  `);
36035
36126
  }
@@ -41996,6 +42087,43 @@ import * as path47 from "path";
41996
42087
  // src/hooks/skill-improver-llm-factory.ts
41997
42088
  init_schema();
41998
42089
 
42090
+ // src/failures/provider-message-error.ts
42091
+ function readProviderMessageError(info) {
42092
+ if (!info || typeof info !== "object")
42093
+ return null;
42094
+ const error2 = info.error;
42095
+ if (!error2 || typeof error2 !== "object")
42096
+ return null;
42097
+ const { name, data } = error2;
42098
+ const details = data && typeof data === "object" ? data : {};
42099
+ const statusCode = typeof details.statusCode === "number" && Number.isFinite(details.statusCode) ? details.statusCode : undefined;
42100
+ const rawMessage = typeof details.message === "string" && details.message.trim().length > 0 ? details.message : "no message";
42101
+ const classified = classifyProviderFailure(statusCode === undefined ? rawMessage : { message: rawMessage, status: statusCode });
42102
+ return {
42103
+ name: typeof name === "string" && name.length > 0 ? name.slice(0, 64) : "UnknownError",
42104
+ ...statusCode === undefined ? {} : { statusCode },
42105
+ message: classified.evidence.display || "no message",
42106
+ category: classified.category
42107
+ };
42108
+ }
42109
+ function formatProviderMessageError(prefix, error2) {
42110
+ const status = error2.statusCode === undefined ? "" : ` (HTTP ${error2.statusCode})`;
42111
+ return `${prefix}: ${error2.name}${status}: ${error2.message}`;
42112
+ }
42113
+ function providerMessageErrorToError(prefix, error2) {
42114
+ const err = new Error(formatProviderMessageError(prefix, error2));
42115
+ if (error2.statusCode !== undefined)
42116
+ err.status = error2.statusCode;
42117
+ err.category = error2.category;
42118
+ err.providerError = error2;
42119
+ return err;
42120
+ }
42121
+ function throwIfProviderMessageError(prefix, info) {
42122
+ const error2 = readProviderMessageError(info);
42123
+ if (error2)
42124
+ throw providerMessageErrorToError(prefix, error2);
42125
+ }
42126
+
41999
42127
  // src/utils/model-dispatch-fallback.ts
42000
42128
  function parseModelString2(model) {
42001
42129
  if (!model || !model.trim())
@@ -42260,6 +42388,7 @@ ${userInput}` : userInput;
42260
42388
  if (!promptResult.data) {
42261
42389
  throw new Error(`skill_improver LLM prompt failed: ${JSON.stringify(promptResult.error)}`);
42262
42390
  }
42391
+ throwIfProviderMessageError("skill_improver LLM prompt provider error", promptResult.data.info);
42263
42392
  return promptResult.data;
42264
42393
  },
42265
42394
  scope: sessionId ? {
@@ -44055,9 +44184,9 @@ function hashContent(content) {
44055
44184
  return createHash29("sha1").update(content).digest("hex");
44056
44185
  }
44057
44186
  async function loadConfigForPolicyCurator(directory) {
44058
- const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-hzz32642.js");
44187
+ const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-pqevpe3m.js");
44059
44188
  try {
44060
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-s81tvz98.js");
44189
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-hcsz7bhg.js");
44061
44190
  const { config: loadedConfig } = loadPluginConfigWithMeta2(directory);
44062
44191
  return KnowledgeConfigSchema2.parse(loadedConfig.knowledge ?? {});
44063
44192
  } catch {
@@ -47115,7 +47244,7 @@ async function resolveCuratorLLMDelegate(directory, mode, sessionId) {
47115
47244
  const seam = _internals46.createCuratorLLMDelegate;
47116
47245
  if (seam)
47117
47246
  return seam(directory, mode, sessionId);
47118
- const { createCuratorLLMDelegate } = await import("./curator-llm-factory-tfn0cp68.js");
47247
+ const { createCuratorLLMDelegate } = await import("./curator-llm-factory-kxnzvhje.js");
47119
47248
  return createCuratorLLMDelegate(directory, mode, sessionId);
47120
47249
  }
47121
47250
  async function reconcileCloseTerminalStateForPlan(directory, targetPlan, options) {
@@ -47510,7 +47639,7 @@ async function runFinalizeStage(ctx) {
47510
47639
  }
47511
47640
  }
47512
47641
  try {
47513
- const { CuratorConfigSchema: CCS } = await import("./schema-hzz32642.js");
47642
+ const { CuratorConfigSchema: CCS } = await import("./schema-pqevpe3m.js");
47514
47643
  const { config: pmLoadedConfig } = _internals46.loadPluginConfigWithMeta(ctx.directory);
47515
47644
  const curatorCfg = CCS.parse(pmLoadedConfig.curator ?? {});
47516
47645
  if (curatorCfg.enabled && curatorCfg.postmortem_enabled) {
@@ -51543,7 +51672,7 @@ function serializeAgentSession(s) {
51543
51672
  }
51544
51673
  async function writeSnapshot(directory, state) {
51545
51674
  try {
51546
- const { ensureSnapshotCoordinationReady } = await import("./snapshot-coordination-init-4q5ykq22.js");
51675
+ const { ensureSnapshotCoordinationReady } = await import("./snapshot-coordination-init-wn0hnwyv.js");
51547
51676
  await ensureSnapshotCoordinationReady(directory);
51548
51677
  const snapshot = {
51549
51678
  version: 3,
@@ -54564,7 +54693,7 @@ function planMerges(active, threshold, maxComparisons, maxMerges) {
54564
54693
  };
54565
54694
  }
54566
54695
  async function sweepActiveNearDuplicates(directory, options = {}) {
54567
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-s81tvz98.js");
54696
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-hcsz7bhg.js");
54568
54697
  const { config } = loadPluginConfigWithMeta2(directory);
54569
54698
  const sweepConfig = config.learning?.dedup_sweep;
54570
54699
  if (sweepConfig?.enabled === false)
@@ -55688,7 +55817,7 @@ async function runCuratorPhase(directory, phase, agentsDispatched, config, knowl
55688
55817
  }
55689
55818
  if (config.skill_generation_enabled === true && skillCandidates.length > 0) {
55690
55819
  try {
55691
- const skillModule = await import("./skill-generator-7g7sca90.js");
55820
+ const skillModule = await import("./skill-generator-xdg4626x.js");
55692
55821
  for (const cand of skillCandidates) {
55693
55822
  if (cand.confidence < (config.min_skill_confidence ?? DEFAULT_SKILL_MIN_CONFIDENCE)) {
55694
55823
  continue;
@@ -56160,7 +56289,7 @@ async function applyCuratorKnowledgeUpdates(directory, recommendations, knowledg
56160
56289
  } catch {}
56161
56290
  }
56162
56291
  if (contradictedEntries.length > 0 && knowledgeConfig.contradiction_threshold_action === "quarantine") {
56163
- const { maybeQuarantineOnContradiction } = await import("./knowledge-escalator-naq700x5.js");
56292
+ const { maybeQuarantineOnContradiction } = await import("./knowledge-escalator-gzzr7cy2.js");
56164
56293
  for (const { id } of contradictedEntries) {
56165
56294
  try {
56166
56295
  await maybeQuarantineOnContradiction(directory, id, knowledgeConfig.contradiction_quarantine_threshold, knowledgeConfig.contradiction_quarantine_window_days);
@@ -56992,7 +57121,7 @@ async function runCuratorPostMortem(directory, options = {}) {
56992
57121
  warnings.push("Failed to collect knowledge summary.");
56993
57122
  }
56994
57123
  try {
56995
- const { getScanStatus } = await import("./scan-cursor-pdxmndd0.js");
57124
+ const { getScanStatus } = await import("./scan-cursor-tceyckdx.js");
56996
57125
  const scanStatus = await getScanStatus(directory);
56997
57126
  if (scanStatus.remaining_estimate > 0) {
56998
57127
  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.`);
@@ -57164,9 +57293,9 @@ var _internals68 = {
57164
57293
  verifyPostMortemKnowledgeActions,
57165
57294
  repairPostMortemActions,
57166
57295
  loadDefaultKnowledgeConfig: async (directory) => {
57167
- const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-hzz32642.js");
57296
+ const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-pqevpe3m.js");
57168
57297
  try {
57169
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-s81tvz98.js");
57298
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-hcsz7bhg.js");
57170
57299
  const loaded = loadPluginConfigWithMeta2(directory);
57171
57300
  return KnowledgeConfigSchema2.parse(loaded.config.knowledge ?? {});
57172
57301
  } catch {
@@ -57174,11 +57303,11 @@ var _internals68 = {
57174
57303
  }
57175
57304
  },
57176
57305
  applyCuratorKnowledgeUpdates: async (directory, recommendations, knowledgeConfig, generation) => {
57177
- const { applyCuratorKnowledgeUpdates: applyCuratorKnowledgeUpdates2 } = await import("./curator-mgdsxrpv.js");
57306
+ const { applyCuratorKnowledgeUpdates: applyCuratorKnowledgeUpdates2 } = await import("./curator-f7crssw2.js");
57178
57307
  return applyCuratorKnowledgeUpdates2(directory, recommendations, knowledgeConfig, generation);
57179
57308
  },
57180
57309
  checkHivePromotions: async (entries2, knowledgeConfig, directory) => {
57181
- const { checkHivePromotions } = await import("./hive-promoter-44grgbq4.js");
57310
+ const { checkHivePromotions } = await import("./hive-promoter-nks9a9s8.js");
57182
57311
  return checkHivePromotions(entries2, knowledgeConfig, directory);
57183
57312
  },
57184
57313
  applyProposalTriage: async (directory, triage) => {
@@ -57187,7 +57316,7 @@ var _internals68 = {
57187
57316
  activateProposal,
57188
57317
  listSkills: listSkills2,
57189
57318
  sanitizeSlug
57190
- } = await import("./skill-generator-7g7sca90.js");
57319
+ } = await import("./skill-generator-xdg4626x.js");
57191
57320
  const result = {
57192
57321
  approved: [],
57193
57322
  rejected: [],
@@ -57229,7 +57358,7 @@ var _internals68 = {
57229
57358
  return result;
57230
57359
  },
57231
57360
  readPriorDriftReports: async (directory) => {
57232
- const { readPriorDriftReports: readPriorDriftReports2 } = await import("./curator-drift-1n3akmda.js");
57361
+ const { readPriorDriftReports: readPriorDriftReports2 } = await import("./curator-drift-f4aqxz9e.js");
57233
57362
  return readPriorDriftReports2(directory);
57234
57363
  },
57235
57364
  readSwarmKnowledge: (directory) => readKnowledge(resolveSwarmKnowledgePath(directory))
@@ -65673,7 +65802,7 @@ function wireCloseInternals() {
65673
65802
  archiveEvidence,
65674
65803
  endAgentSession,
65675
65804
  flushAndDrainTelemetry: async () => {
65676
- const { flushAndDrainTelemetry } = await import("./telemetry-9szfdfqv.js");
65805
+ const { flushAndDrainTelemetry } = await import("./telemetry-qaymh4gg.js");
65677
65806
  return flushAndDrainTelemetry();
65678
65807
  },
65679
65808
  finalizeContextTelemetry,
@@ -67499,9 +67628,9 @@ var _internals76 = {
67499
67628
  loadPluginConfigWithMeta,
67500
67629
  loadCuratorDeps: async () => {
67501
67630
  const [{ CuratorConfigSchema }, curator, { createCuratorLLMDelegate }] = await Promise.all([
67502
- import("./schema-hzz32642.js"),
67503
- import("./curator-mgdsxrpv.js"),
67504
- import("./curator-llm-factory-tfn0cp68.js")
67631
+ import("./schema-pqevpe3m.js"),
67632
+ import("./curator-f7crssw2.js"),
67633
+ import("./curator-llm-factory-kxnzvhje.js")
67505
67634
  ]);
67506
67635
  return { CuratorConfigSchema, curator, createCuratorLLMDelegate };
67507
67636
  }
@@ -69951,7 +70080,7 @@ async function computeCurationDiagnostics(directory, entries2) {
69951
70080
  let scanCompleted = false;
69952
70081
  let scanRemaining = 0;
69953
70082
  try {
69954
- const { getScanStatus } = await import("./scan-cursor-pdxmndd0.js");
70083
+ const { getScanStatus } = await import("./scan-cursor-tceyckdx.js");
69955
70084
  const status = await getScanStatus(directory);
69956
70085
  scanGeneration = status.generation;
69957
70086
  scanCompleted = status.completed;
@@ -69959,19 +70088,19 @@ async function computeCurationDiagnostics(directory, entries2) {
69959
70088
  } catch {}
69960
70089
  let configMatch = null;
69961
70090
  try {
69962
- const { isLinked: isLinked2 } = await import("./knowledge-link-76egdqc9.js");
70091
+ const { isLinked: isLinked2 } = await import("./knowledge-link-a5tvjqdt.js");
69963
70092
  if (isLinked2(directory)) {
69964
- const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-hzz32642.js");
70093
+ const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-pqevpe3m.js");
69965
70094
  let config;
69966
70095
  try {
69967
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-s81tvz98.js");
70096
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-hcsz7bhg.js");
69968
70097
  const loaded = loadPluginConfigWithMeta2(directory);
69969
70098
  config = KnowledgeConfigSchema2.parse(loaded.config.knowledge ?? {});
69970
70099
  } catch {
69971
70100
  config = KnowledgeConfigSchema2.parse({});
69972
70101
  }
69973
70102
  const { cohortConfigFingerprint: cohortConfigFingerprint2 } = await import("./config-fingerprint-v22xh5a2.js");
69974
- const { buildConfigFingerprintInput: buildConfigFingerprintInput2, readCohortConfigFingerprint } = await import("./curation-policy-2q5xs0xg.js");
70103
+ const { buildConfigFingerprintInput: buildConfigFingerprintInput2, readCohortConfigFingerprint } = await import("./curation-policy-yzdznz4z.js");
69975
70104
  const currentFp = cohortConfigFingerprint2(buildConfigFingerprintInput2(config));
69976
70105
  const cohortFp = await readCohortConfigFingerprint(directory);
69977
70106
  configMatch = cohortFp === null ? null : currentFp === cohortFp;
@@ -71420,7 +71549,7 @@ async function handleDoctorCommand(directory, args) {
71420
71549
  const result = runConfigDoctor(config, directory, planParallelizationEnabled);
71421
71550
  let output;
71422
71551
  if (enableAutoFix && result.hasAutoFixableIssues) {
71423
- const { runConfigDoctorWithFixes } = await import("./config-doctor-sns7gbj2.js");
71552
+ const { runConfigDoctorWithFixes } = await import("./config-doctor-wzzvhpcr.js");
71424
71553
  const fixResult = await runConfigDoctorWithFixes(directory, config, true, {
71425
71554
  applyLossy: true
71426
71555
  });
@@ -71458,7 +71587,7 @@ async function handleDoctorCommand(directory, args) {
71458
71587
  `;
71459
71588
  }
71460
71589
  try {
71461
- const { runModelPreflight } = await import("./model-preflight-hgb7kf5d.js");
71590
+ const { runModelPreflight } = await import("./model-preflight-f1xvxk6e.js");
71462
71591
  const preflight = await runModelPreflight(config, swarmState.opencodeClient, { generatedAgentNames: swarmState.generatedAgentNames });
71463
71592
  const missingSelection = preflight.resolutions.filter((resolution) => resolution.status === "missing-selection");
71464
71593
  const unresolved = preflight.catalogAvailable ? preflight.resolutions.filter((resolution) => resolution.status === "unresolved") : [];
@@ -71492,7 +71621,7 @@ async function handleDoctorCommand(directory, args) {
71492
71621
  }
71493
71622
  } catch {}
71494
71623
  try {
71495
- const { renderKnowledgeReceiptPhaseIdSection } = await import("./doctor-knowledge-receipt-phase-id-33bp8fcs.js");
71624
+ const { renderKnowledgeReceiptPhaseIdSection } = await import("./doctor-knowledge-receipt-phase-id-qvp1h3xv.js");
71496
71625
  output += await renderKnowledgeReceiptPhaseIdSection(directory, enableAutoFix);
71497
71626
  } catch {}
71498
71627
  const strayDirs = detectStraySwarmDirs(directory);
@@ -73509,7 +73638,7 @@ async function handleEvidenceCommand(directory, args) {
73509
73638
  return formatTaskEvidenceMarkdown(evidenceData);
73510
73639
  }
73511
73640
  async function handleEvidenceSummaryCommand(directory) {
73512
- const { buildEvidenceSummary } = await import("./evidence-summary-service-sb888pg8.js");
73641
+ const { buildEvidenceSummary } = await import("./evidence-summary-service-379skych.js");
73513
73642
  const artifact = await buildEvidenceSummary(directory);
73514
73643
  if (!artifact) {
73515
73644
  return "No plan found. Run `/swarm plan` to check plan status.";
@@ -73658,7 +73787,7 @@ Before reviewing the plan, check whether it was silently mutated since last crit
73658
73787
  1. Call the \`get_approved_plan\` tool (no arguments required \u2014 it derives identity internally).
73659
73788
  2. Examine the response:
73660
73789
  - If \`success: false\` with \`reason: "no_approved_snapshot"\`: this is the first plan or no prior approval exists. Note this and proceed with plan review.
73661
- - If \`drift_detected: false\`: baseline integrity confirmed \u2014 the plan has not been mutated since the last critic approval. Proceed with plan review.
73790
+ - If \`drift_detected: false\`: baseline integrity confirmed \u2014 the plan has not been mutated since the last critic approval. A different \`current_phase\` (the phase cursor), task/phase statuses, or a \`current_hash\` that differs from the approved hash are execution progress here, not drift. Proceed with plan review.
73662
73791
  - If \`drift_detected: true\` AND \`approved_plan\` is defined: CRITICAL finding \u2014 plan mutated after approval. Compare \`approved_plan\` vs \`current_plan\` to identify what changed (phases added/removed, tasks modified, scope changes). Report findings in a \`## BASELINE DRIFT\` section before the rubric assessment.
73663
73792
  - If \`drift_detected: true\` AND \`approved_plan\` is undefined but \`current_plan_error\` is present: CRITICAL finding \u2014 plan identity was mutated (tampering detected). Report \`current_plan_error\` as primary evidence; state that direct comparison is unavailable due to identity mutation. Report findings in a \`## BASELINE DRIFT\` section before the rubric assessment.
73664
73793
  - If \`drift_detected: "unknown"\`: flag as warning and proceed with caution.
@@ -73885,7 +74014,7 @@ Before reviewing individual tasks, check whether the plan itself was silently mu
73885
74014
  1. Call the \`get_approved_plan\` tool (no arguments required \u2014 it derives identity internally).
73886
74015
  2. Examine the response:
73887
74016
  - If \`success: false\` with \`reason: "no_approved_snapshot"\`: this is likely the first phase or no prior approval exists. Note this and proceed to per-task review.
73888
- - If \`drift_detected: false\`: baseline integrity confirmed \u2014 the plan has not been mutated since the last critic approval. Proceed to per-task review.
74017
+ - If \`drift_detected: false\`: baseline integrity confirmed \u2014 the plan has not been mutated since the last critic approval. A different \`current_phase\` (the phase cursor), task/phase statuses, or a \`current_hash\` that differs from the approved hash are execution progress here, not drift. Proceed to per-task review.
73889
74018
  - If \`drift_detected: true\` AND \`approved_plan\` is defined: CRITICAL finding \u2014 plan mutated after approval. Compare \`approved_plan\` vs \`current_plan\` to identify what changed (phases added/removed, tasks modified, scope changes). Report findings in a \`## BASELINE DRIFT\` section before the per-task rubric.
73890
74019
  - If \`drift_detected: true\` AND \`approved_plan\` is undefined but \`current_plan_error\` is present: CRITICAL finding \u2014 plan identity was mutated (tampering detected). Report \`current_plan_error\` as primary evidence; state that direct comparison is unavailable due to identity mutation. Report findings in a \`## BASELINE DRIFT\` section before the per-task rubric.
73891
74020
  - If \`drift_detected: "unknown"\`: current plan.json is unavailable. Flag this as a warning and proceed.
@@ -97975,7 +98104,7 @@ function createCuratorLLMDelegate(directory, mode = "init", sessionId) {
97975
98104
  }
97976
98105
  const sdkOpts = signal ? { signal } : {};
97977
98106
  try {
97978
- const { getSwarmAgents: getSwarmAgents2, resolveFallbackModel: resolveFallbackModel2 } = await import("./index-fsm9gv1p.js");
98107
+ const { getSwarmAgents: getSwarmAgents2, resolveFallbackModel: resolveFallbackModel2 } = await import("./index-2y7y0bxf.js");
97979
98108
  const createResult = await client.session.create({
97980
98109
  ...sessionId ? {
97981
98110
  body: {
@@ -98014,6 +98143,7 @@ function createCuratorLLMDelegate(directory, mode = "init", sessionId) {
98014
98143
  if (!promptResult.data) {
98015
98144
  throw new Error(`Curator LLM prompt failed: ${JSON.stringify(promptResult.error)}`);
98016
98145
  }
98146
+ throwIfProviderMessageError("Curator LLM prompt provider error", promptResult.data.info);
98017
98147
  return promptResult.data;
98018
98148
  },
98019
98149
  scope: sessionId ? {
@@ -98918,6 +99048,7 @@ async function dispatchEphemeralAgent(request) {
98918
99048
  let sessionId;
98919
99049
  let timedOut = false;
98920
99050
  let cancelled = false;
99051
+ let providerError = null;
98921
99052
  const controller = new AbortController;
98922
99053
  const onCallerAbort = () => {
98923
99054
  cancelled = true;
@@ -98956,6 +99087,10 @@ async function dispatchEphemeralAgent(request) {
98956
99087
  if (!response.data) {
98957
99088
  throw new Error(formatSdkError("Ephemeral agent session returned no data", response.error));
98958
99089
  }
99090
+ providerError = readProviderMessageError(response.data.info);
99091
+ if (providerError) {
99092
+ throw new Error(formatProviderMessageError("Ephemeral agent provider error", providerError));
99093
+ }
98959
99094
  const responseByteLimit = request.responseByteLimit ?? DEFAULT_EPHEMERAL_RESPONSE_BYTE_LIMIT;
98960
99095
  const textParts = [];
98961
99096
  let responseBytes = 0;
@@ -98994,7 +99129,8 @@ async function dispatchEphemeralAgent(request) {
98994
99129
  ...base,
98995
99130
  status: cancelled ? "cancelled" : timedOut ? "timeout" : "error",
98996
99131
  durationMs: Date.now() - startedAt,
98997
- error: error2 instanceof Error ? error2.message : String(error2)
99132
+ error: error2 instanceof Error ? error2.message : String(error2),
99133
+ ...providerError ? { providerError } : {}
98998
99134
  };
98999
99135
  } finally {
99000
99136
  clearTimeout(timeoutHandle);
@@ -100312,7 +100448,7 @@ async function cancelPrFeedbackLoopUnlocked(directory, sessionID, reason) {
100312
100448
  clearedEvents: []
100313
100449
  };
100314
100450
  try {
100315
- const { cancelPrFeedbackPublication: cancelPrFeedbackPublication2 } = await import("./pr-workflow-gate-dcbpd451.js");
100451
+ const { cancelPrFeedbackPublication: cancelPrFeedbackPublication2 } = await import("./pr-workflow-gate-ap5cp211.js");
100316
100452
  await cancelPrFeedbackPublication2(directory, sessionID, reason);
100317
100453
  } catch (err) {
100318
100454
  warn(`[pr-feedback-loop] cancelPrFeedbackPublication failed (fail-open): ${err instanceof Error ? err.message : String(err)}`);
@@ -105697,7 +105833,7 @@ function getTestFilesFromConvention(sourceFiles, workingDir = process.cwd()) {
105697
105833
  const absoluteFile = resolveWorkspacePath(file, workingDir);
105698
105834
  const relativeFile = path140.relative(workingDir, absoluteFile);
105699
105835
  const basename29 = path140.basename(absoluteFile);
105700
- const dirname54 = path140.dirname(absoluteFile);
105836
+ const dirname55 = path140.dirname(absoluteFile);
105701
105837
  const preferRelativeOutput = !path140.isAbsolute(file);
105702
105838
  if (isConventionTestFilePath(relativeFile) || isConventionTestFilePath(file)) {
105703
105839
  dedupePush(testFiles, toWorkspaceOutputPath(absoluteFile, workingDir, preferRelativeOutput));
@@ -105713,7 +105849,7 @@ function getTestFilesFromConvention(sourceFiles, workingDir = process.cwd()) {
105713
105849
  const colocatedCandidates = [
105714
105850
  ...genericTestNames,
105715
105851
  ...languageSpecificTestNames
105716
- ].map((candidateName) => path140.join(dirname54, candidateName));
105852
+ ].map((candidateName) => path140.join(dirname55, candidateName));
105717
105853
  const testDirectoryNames = [
105718
105854
  basename29,
105719
105855
  ...genericTestNames,
@@ -105722,7 +105858,7 @@ function getTestFilesFromConvention(sourceFiles, workingDir = process.cwd()) {
105722
105858
  const repoLevelDirectories = getRepoLevelCandidateDirectories(workingDir, relativeFile, ext);
105723
105859
  const possibleTestFiles = [
105724
105860
  ...colocatedCandidates,
105725
- ...TEST_DIRECTORY_NAMES.flatMap((dirName) => testDirectoryNames.map((candidateName) => path140.join(dirname54, dirName, candidateName))),
105861
+ ...TEST_DIRECTORY_NAMES.flatMap((dirName) => testDirectoryNames.map((candidateName) => path140.join(dirname55, dirName, candidateName))),
105726
105862
  ...repoLevelDirectories.flatMap((candidateDir2) => testDirectoryNames.map((candidateName) => path140.join(candidateDir2, candidateName)))
105727
105863
  ];
105728
105864
  for (const testFile of possibleTestFiles) {
@@ -114185,7 +114321,7 @@ async function runValidationWithTransientRetry(input, candidateContent, baseline
114185
114321
  if (!input.dispatcher) {
114186
114322
  throw new Error("no evaluation dispatcher available (cannot run validation)");
114187
114323
  }
114188
- const { createModelEvaluationExecutor: createModelEvaluationExecutor2 } = await import("./runner-y529qa4d.js");
114324
+ const { createModelEvaluationExecutor: createModelEvaluationExecutor2 } = await import("./runner-8qybgy4n.js");
114189
114325
  const executor = createModelEvaluationExecutor2(input.dispatcher, input.sessionId);
114190
114326
  const result = await withProtectedSetIntegrity([evalInputRoot, ...protectedRoots(input.directory)], () => _internals141.evaluateCandidateV1({
114191
114327
  projectRoot: input.directory,
@@ -116369,7 +116505,7 @@ No active swarm plan found. Nothing to sync.`;
116369
116505
  init_logger();
116370
116506
 
116371
116507
  // src/commands/turbo-constants.ts
116372
- var TURBO_BYPASS_DISCLOSURE = "Bypassed: Stage B (reviewer + test_engineer) for Tier 0-2 tasks; phase_complete Gates 1-5 " + "(completion-verify, drift-verifier, hallucination-guard, mutation-gate, phase-council). " + "Still enforced: Stage A (lint, imports, pre_check_batch); Tier 3 Stage B; Gate 5b " + "(architecture-supervisor); Gate 6 (final-council); Gate 7 (full-auto).";
116508
+ var TURBO_BYPASS_DISCLOSURE = "Bypassed: phase_complete Gates 1-5 " + "(completion-verify, drift-verifier, hallucination-guard, mutation-gate, phase-council). " + "Still enforced: Stage A (lint, imports, pre_check_batch); Stage B (reviewer + test_engineer), exactly as without Turbo; Gate 5b " + "(architecture-supervisor); Gate 6 (final-council); Gate 7 (full-auto).";
116373
116509
 
116374
116510
  // src/commands/turbo.ts
116375
116511
  var _internals143 = {
@@ -116778,7 +116914,7 @@ function buildDetailedHelp(commandName, entry) {
116778
116914
  async function handleHelpCommand(ctx) {
116779
116915
  const targetCommand = ctx.args.join(" ");
116780
116916
  if (!targetCommand) {
116781
- const { buildHelpText } = await import("./index-vf6pqke0.js");
116917
+ const { buildHelpText } = await import("./index-qp3twbdz.js");
116782
116918
  return buildHelpText();
116783
116919
  }
116784
116920
  const tokens = targetCommand.split(/\s+/);
@@ -116792,7 +116928,7 @@ async function handleHelpCommand(ctx) {
116792
116928
  > Note: \`/swarm ${resolved.key}\` is a deprecated alias for \`/swarm ${aliasTarget}\`.` : detailed;
116793
116929
  }
116794
116930
  const similar = _internals35.findSimilarCommands(targetCommand);
116795
- const { buildHelpText: fullHelp } = await import("./index-vf6pqke0.js");
116931
+ const { buildHelpText: fullHelp } = await import("./index-qp3twbdz.js");
116796
116932
  if (similar.length > 0) {
116797
116933
  return `Command '/swarm ${targetCommand}' not found.
116798
116934
 
@@ -117120,7 +117256,7 @@ var COMMAND_REGISTRY = {
117120
117256
  },
117121
117257
  "guardrail explain": {
117122
117258
  handler: async (ctx) => {
117123
- const { handleGuardrailExplain } = await import("./guardrail-explain-n9ndp99q.js");
117259
+ const { handleGuardrailExplain } = await import("./guardrail-explain-tcnfc3te.js");
117124
117260
  return handleGuardrailExplain(ctx.directory, ctx.args);
117125
117261
  },
117126
117262
  description: "Dry-run: show what the guardrails would do to a command or write target (executes nothing)",
@@ -117130,7 +117266,7 @@ var COMMAND_REGISTRY = {
117130
117266
  },
117131
117267
  "guardrail reset": {
117132
117268
  handler: async (ctx) => {
117133
- const { handleGuardrailReset } = await import("./guardrail-reset-1xeeetk7.js");
117269
+ const { handleGuardrailReset } = await import("./guardrail-reset-jwx5hsgp.js");
117134
117270
  return handleGuardrailReset(ctx.args, ctx.sessionID);
117135
117271
  },
117136
117272
  description: "Reset one exact active invocation/action circuit after repair",
@@ -117151,7 +117287,7 @@ var COMMAND_REGISTRY = {
117151
117287
  },
117152
117288
  "guardrail-log": {
117153
117289
  handler: async (ctx) => {
117154
- const { handleGuardrailLog } = await import("./guardrail-log-d18dcweh.js");
117290
+ const { handleGuardrailLog } = await import("./guardrail-log-xe1evybk.js");
117155
117291
  return handleGuardrailLog(ctx.directory, ctx.args);
117156
117292
  },
117157
117293
  description: "Read the guardrail decision log (use --blocks-only for blocks)",
@@ -118519,7 +118655,7 @@ If a tool modifies a file, it is a CODER tool. Delegate.
118519
118655
  <!-- BEHAVIORAL_GUIDANCE_END -->
118520
118656
  2. ONE agent per message. Send, STOP, wait for response.
118521
118657
  Exception: Stage B reviewer/test_engineer gate agents for the SAME completed coder task may be dispatched together before waiting when both gates are required. This exception NEVER applies to coder delegations. Preserve ONE task per coder call.
118522
- Separate parallel-mode exception (distinct from the Stage B exception above, and the ONLY case where more than one coder may be dispatched before waiting): when an active \`[PARALLEL EXECUTION PROFILE]\` directive is present in your context (parallelization_enabled=true), you MAY dispatch multiple {{AGENT_PREFIX}}coder agents in a single message \u2014 up to the stated max_concurrent_tasks \u2014 but ONLY for distinct, dependency-ready tasks whose declared file scopes do NOT overlap. Each coder still requires its own \`declare_scope\` call and carries exactly ONE task (Rule 3 still holds: never batch multiple objectives into one coder). Parallel coders each run in an isolated git worktree, so their writes never collide and are merged back automatically. If no \`[PARALLEL EXECUTION PROFILE]\` directive is present, dispatch coders one at a time.
118658
+ Separate parallel-mode exception (distinct from the Stage B exception above, and the ONLY case where more than one coder may be dispatched before waiting): when an active \`[PARALLEL EXECUTION PROFILE]\` directive is present in your context (parallelization_enabled=true), you MAY dispatch multiple {{AGENT_PREFIX}}coder agents in a single message \u2014 up to the stated max_concurrent_tasks \u2014 but ONLY for distinct, dependency-ready tasks whose declared file scopes do NOT overlap. Each coder still requires its own \`declare_scope\` call and carries exactly ONE task (Rule 3 still holds: never batch multiple objectives into one coder). Parallel coders each run in an isolated git worktree, so their writes never collide and are merged back automatically. Run Stage A per task: when you call \`pre_check_batch\` for one of several parallel tasks, pass \`files\` = exactly THAT task's \`files_touched\` \u2014 never the union of the parallel tasks' files \u2014 because the run is credited to the task whose planned files contain every checked file (a union matches no single task and credits nothing). If no \`[PARALLEL EXECUTION PROFILE]\` directive is present, dispatch coders one at a time.
118523
118659
 
118524
118660
  > **WORKTREE ISOLATION IS BASELINE.** Standard parallel coders use isolated git worktrees by default; this is governed by the top-level \`worktree.policy\` setting (default \`auto\`) in \`PluginConfig\` \u2014 a sibling of \`parallelization:\`, not nested under it \u2014 and is active whenever the plan's \`parallelization_enabled=true\`. \`turbo.lean.worktree_isolation\` is a separate, Lean-Turbo-internal flag (default \`false\`); it is one possible SOURCE but NOT the recommended one. Do NOT recommend Lean Turbo (or Epic) SOLELY to obtain worktree isolation; recommend them only for what they add beyond baseline (Lean Turbo: lane planning, file locks, phase reviewer, integrated diff; Epic: co-change awareness + auto-decide). Lean Turbo users can also enable isolation via \`turbo.lean.worktree_isolation: true\`, but this is the secondary/legacy path \u2014 the recommended path is \`worktree.policy\`.
118525
118661
  Read-only advisory-lane exception (NON-BLOCKING; distinct from both exceptions above): the "Send, STOP, wait" rule governs MUTATION delegations (coder, and the test_engineer/reviewer Stage B completion gates). It does NOT govern read-only advisory exploration/review lanes. When you dispatch read-only advisory lanes \u2014 \`{{AGENT_PREFIX}}explorer\`, \`{{AGENT_PREFIX}}sme\`, \`{{AGENT_PREFIX}}researcher\`, the council members (\`council_generalist\`/\`council_skeptic\`/\`council_domain_expert\`), or an advisory \`{{AGENT_PREFIX}}critic\` lane \u2014 use the NON-BLOCKING path so you keep working while they run. Dispatch PROMPTLY: emit the \`dispatch_lanes_async\` call EARLY with compact lane prompts \u2014 do not accumulate long planning prose or build oversized inline prompts first, or the tool call can be truncated out of your message and the lanes never launch (a real failure mode on smaller models). Ordinarily, each lane wave is one \`dispatch_lanes_async\` call carrying that wave's complete lane specs \u2014 NOT a per-agent Task/run-in-background pattern. The explicit exception is an active PR_REVIEW with enabled tier-M/L staged resilience: send the singleton canary as one call, then send only its unresolved fanout as a second call after canary admission. For each admissible wave, call \`dispatch_lanes_async\` with all specs for that wave in one call, record the returned \`batch_id\`, then IMMEDIATELY continue non-dependent architect work (refine the plan/obligation ledger, inspect metadata, prepare the synthesis/reviewer structure, run deterministic read-only tools). Poll incrementally with \`collect_lane_results\` without \`wait\` (or with \`wait: false\`) to harvest lanes as they settle; process completed lane output immediately while other lanes remain pending/running, then continue independent work between polls. Do NOT sit idle waiting on running lanes, and do NOT synthesize findings from still-running lanes. Join later by calling \`collect_lane_results\` with \`wait: true\` as the explicit barrier immediately before you synthesize. Use blocking \`dispatch_lanes\` only when \`dispatch_lanes_async\`/promptAsync is unavailable. A settled lane's inline \`output\` is delivered only once: if you poll the same lane again after already receiving its output, the repeat poll returns \`output_omitted_repeat: true\` with no \`output\` (not a sign the result was lost) \u2014 use the accompanying \`output_ref\` with \`retrieve_lane_output\` if you need the text again, and do not re-dispatch the lane. Keep each lane prompt compact: send large shared context (PR diff, ledger, scope) ONCE via the \`common_prompt\` field, or have lanes read it from a file by absolute path, instead of inlining the same blob into every lane prompt \u2014 inlining large context into many lanes is what produces malformed or truncated tool-call JSON and forces clumsy file workarounds. This non-blocking exception applies ONLY to read-only advisory lanes; it NEVER applies to coder delegations, to the test_engineer/reviewer Stage B completion gates, or to the critic PLAN-review gate, which all still follow "Send, STOP, wait" (or the Stage B parallel-dispatch exception above).
@@ -118912,6 +119048,8 @@ alone on a standalone \`TASK:\` line (for example, \`TASK: 1.1\`) and put the ob
118912
119048
  on the following line. When the Task arguments support an explicit field, set
118913
119049
  \`task_id\` to the same numeric value as a tool argument (not as prompt prose). Keep
118914
119050
  the numeric ID consistent across the TASK line, \`task_id\`, and any acceptance text.
119051
+ \`task_id\` holds the plan task id only; never copy a \`ses_\u2026\` id returned in a Task
119052
+ result into another agent's dispatch.
118915
119053
  Plan-level critics and other project-wide reviews must omit task attribution rather
118916
119054
  than guessing from ambient prose or session state.
118917
119055
 
@@ -122473,4 +122611,4 @@ function getAgentConfigs(config, directory, sessionId, projectContext) {
122473
122611
  return result;
122474
122612
  }
122475
122613
 
122476
- export { resetActionCircuitExternally, getBlockingActionCircuit, resolveConfiguredAgentModel, resolveRegisteredAgentModel, resolveEffectiveAgentOverride, MAX_PARALLEL_VERDICT_TASKS, computeParallelVerdict, dcNormalizeCommand, dcUnwrapWrappers, dcSplitSegments, dcExtractRecursiveRmTargets, dcEvaluateRecursiveDeleteTargets, dcCheckJunctionCreation, dcExtractWindowsCmdTargets, dcExtractPowerShellTargets, getSharedClassifierGuardrailBlock, classifyCommand, resetArchitectPromptBudgetAdvisories, createArchitectAgent, createCoderAgent, GENERALIST_COUNCIL_PROMPT, SKEPTIC_COUNCIL_PROMPT, DOMAIN_EXPERT_COUNCIL_PROMPT, createCriticAgent, createCuratorAgent, createDesignerAgent, createDocsAgent, createResearcherAgent, SECURITY_CATEGORIES, createReviewerAgent, createSMEAgent, createTestEngineerAgent, _internals144 as _internals, stripSwarmPrefix, extractSwarmIdFromAgentName, resolveFallbackModel, getSwarmAgents, createAgents, resolvePrimaryAgentNames, getAgentConfigs, SWARM_COMMAND_TOOL_COMMANDS, SWARM_COMMAND_TOOL_ALLOWLIST, HUMAN_ONLY_SWARM_COMMANDS, classifySwarmCommandToolUse, classifySwarmCommandChatFallbackUse, detectPosixWrites, detectWindowsWrites, resolveWriteTargets, getAgentSession, parseLeanLaneIndex, computeLaneRuntimeProfile, MAX_TRACKED_STANDARD_WORKTREE_CALLS, awaitingMergeByCallID, standardWorktreeByCallID, standardWorktreeSerializationSessions, getStandardWorktreeDegradationReason, resetStandardWorktreeIsolationState, checkStandardWorktreeSerializationRelease, sanitizeWorktreeTaskId, preProvisionCollisionCheck, isLaneOwnedByCurrentSession, precreateStandardWorktreeSession, preserveBackgroundWorktreeOwnershipForCallId, preserveDirtyWorktreeForCallId, preserveDirtyWorktreeAtPath, cleanupStandardWorktreeForCallId, abortStandardWorktreeDispatch, runSerializedWithMergeBacks, finishStandardWorktreeDispatch, readLaneEnvFileFromDisk, _internals20 as _internals1, redactSecrets, prWorkflowSessionFileStem, ensurePrWorkflowSafeParentDirectory, writePrWorkflowAtomicJson, PrWorkflowCheckoutMutationTimeoutError, withPrWorkflowCheckoutMutationLock, PR_REVIEW_REPORT_VERDICTS, allowedPrReviewReportVerdicts, normalizePrReviewPartialBaseCoverageRecord, rollbackPrReviewPartialBaseCoverageAdmission, readPrReviewTerminalCoverageForReport, PR_REVIEW_REQUIRED_MICRO_LANE_IDS, PR_REVIEW_DEPTH_TIER_THRESHOLDS, PR_REVIEW_BASE_LANE_FLOORS, PR_REVIEW_TIER_L_CONSOLIDATED_LANE_FLOOR, PR_REVIEW_MICRO_LANE_FLOORS, computePrReviewDepthTier, MAX_PR_REVIEW_SUBMIT_REJECTIONS, MAX_PR_FEEDBACK_INVENTORY_AMENDMENTS, activatePrWorkflow, appendPrWorkflowSkillContractAdvisories, readPrWorkflowGateState, recordPrReviewSubmitRejection, latestPrReviewSubmitRejectionMessage, submitPrReviewResult, withPrWorkflowCheckoutPreparationLock, withInactivePrWorkflowCheckoutRestoreLock, clearPrWorkflowGateState, terminalizePrWorkflowGateForSession2 as terminalizePrWorkflowGateForSession, PR_WORKFLOW_PROBE_SKIPPED_NO_BUDGET_REASON, collectPrWorkflowPendingLaneLiveness, settlePresumedStalePrWorkflowLanes, abortPrWorkflow, recoverArmedPrWorkflow, bindPrWorkflowHead, rebindPrFeedbackHead, bindPrReviewBase, assertCurrentCheckoutHead, assertPrReviewCleanCheckout, enforcePrWorkflowDispatchLanesAsync, PrReviewResilienceCircuitOpenError, PrReviewResilienceRetryExhaustedError, enforcePrReviewBaseDimensions, rollbackPrReviewBaseAdmissionIfUnlaunched, admitPrReviewPartialBaseCoverage2 as admitPrReviewPartialBaseCoverage, assertPrReviewBaseCoverageSettled2 as assertPrReviewBaseCoverageSettled, recordPrReviewMicroFamilyDispatch, recordPrReviewValidationBatch, assertPrReviewValidationSettled, declarePrFeedbackInventory, enforcePrFeedbackVerificationOwnership, assertPrFeedbackVerificationSettled, recordPrFeedbackStageA, recordPrFeedbackGateBatch, assertPrFeedbackGatePhaseSettled, assertPrFeedbackReadyToPublish, invalidatePrFeedbackPublication, describePrWorkflowPublicationSection, findDanglingLivePublicationGeneration, recordPrFeedbackPushAttemptResult, cancelPrFeedbackPublication, resolvePrReviewWriterRunId, markPrReviewTriggerEvaluationComplete, bindPrReviewTriggerLedger, assertPrReviewArtifactBoundary, assertPrReviewArtifactRecordsMatchAuthoritativeVerdicts, markPrReviewArtifactBoundary, markPrReviewHandoffComplete, readPrReviewFinalFindingPolicyForReport, transitionPrReviewToFeedback, declarePrFeedbackScope, resolvePrFeedbackScopeDeclaration, consumePrFeedbackScopeDeclaration, validatePrFeedbackScopeBinding, enforcePrWorkflowToolBefore, readPrReviewReentryBindingContext, hasActivePrReviewReentryAuthorization, reserveActivePrReviewReentryAuthorization, completePrWorkflow, _test_exports2 as _test_exports, normalizePrWorkflowShellCommand, describePrWorkflowRevisionDigestFailure, readAuthoritativePrReviewCriticSettlements, readAuthoritativePrReviewCriticVerdicts, formatPrReviewLaneValidationFailure, validateExactStructuredReceiptCoverage2 as validateExactStructuredReceiptCoverage, validatePrReviewDiscoveryLaneCompletion2 as validatePrReviewDiscoveryLaneCompletion, validatePrWorkflowTransportRecovery, prReviewDiscoveryArtifactCoversLane, MAX_SALVAGED_SCHEMA_ERROR_CHARS, readPrWorkflowGateStateForRecovery, handleAcknowledgeSpecDriftCommand, handleAgentsCommand, handleAnalyzeCommand, handleApproveWriteCommand, handleArchiveCommand, handleAutoProceedCommand, handleBenchmarkCommand, handleBrainstormCommand, handleCheckpointCommand, DEFAULT_CI_DEADLINE_MS2 as DEFAULT_CI_DEADLINE_MS, createSignalCancellation, handleCiCommand, handleCiSimulateCommand, handleClarifyCommand, safeRealpathSync, createCuratorLLMDelegate, getCoChangePairs, startSnapshotCoordinationInitialization, ensureSnapshotCoordinationReady, retrySnapshotCoordinationInitialization, getSnapshotCoordinationStatus, beginSnapshotCoordinationReset, closeSnapshotCoordinationInitialization, markSnapshotCoordinationClosing, _snapshotCoordinationInternals, handleCloseCommand, _internals67 as _internals2, normalizeRecommendationEntryIdToken, parseKnowledgeRecommendations, parseKnowledgeRecommendationsWithDiagnostics, parseStructuredCuratorBlocks, readCuratorSummary, writeCuratorSummary, appendCuratorRecommendation, mergeCuratorPhaseSummary, filterPhaseEvents, checkPhaseCompliance, runCuratorInit, runCuratorPhase, applyCuratorKnowledgeUpdates, isHiveEligible, countDistinctProjects, checkHivePromotions, _internals71 as _internals3, createHivePromoterHook, promoteToHive, promoteFromSwarm, createMemoryGateway, handleCodebaseReviewCommand, handleConcurrencyCommand, handleConfigCommand, handleConsolidateCommand, handleCostsCommand, handleCouncilCommand, handleCurateCommand, handleDarkMatterCommand, handleDeepDiveCommand, handleDeepResearchCommand, getHostConfigDir, getPluginCachePaths, getPluginLockFilePaths, VERSION_PINNED_LEAF, discoverVersionPinnedCachePaths, readCachePackageVersion, handleDiagnoseCommand, handleDoctorCommand, handleEvidenceCommand, handleEvidenceSummaryCommand, handleExportCommand, handleFullAutoCommand, computeQualityBudget, computeSastScan, handleGateAuditCommand, handleGateStatsCommand, handleHandoffCommand, handleBlueprintValidateCommand, handleBlueprintCurrentCommand, handleBlueprintHistoryCommand, handleBlueprintDiffCommand, handleBlueprintExportCommand, handleHarnessCandidateValidateCommand, handleHarnessCandidateShowCommand, handleHarnessCandidateDiffCommand, handleHistoryCommand, handleKnowledgeQuarantineCommand, handleKnowledgeRestoreCommand, handleKnowledgeMigrateCommand, handleKnowledgeListCommand, handleKnowledgeUnactionableCommand, handleKnowledgeRetryHardeningCommand, handleLearningCommand, handleLinkCommand, searchKnowledge, symbols, handleMemoryCommand, handleMemoryStatusCommand, handleMemoryValueLogCommand, handleMemoryMigrateCommand, handleMemoryImportCommand, handleMemoryExportCommand, handlePlanCommand, handlePreflightCommand, handlePromoteCommand, handleQaGatesCommand, handleRecoverCommand, handleResetCommand, handleResetSessionCommand, handleRetrieveCommand, handleReviewCommand, handleRollbackCommand, handleSddStatusCommand, handleSddValidateCommand, handleSddProjectCommand, handleSddCommand, handleSimulateCommand, handleSpecifyCommand, handleStatusCommand, handleSyncPlanCommand, handleTurboCommand, handleUnlinkCommand, handleWriteRetroCommand, handleHelpCommand, isCommandFailure, COMMAND_REGISTRY, VALID_COMMANDS, _internals35 as _internals4, resolveCommand, normalizeSwarmCommandInput, canonicalCommandKey, formatCommandNotFound, executeSwarmCommand };
122614
+ export { resetActionCircuitExternally, getBlockingActionCircuit, resolveConfiguredAgentModel, resolveRegisteredAgentModel, resolveEffectiveAgentOverride, MAX_PARALLEL_VERDICT_TASKS, computeParallelVerdict, dcNormalizeCommand, dcUnwrapWrappers, dcSplitSegments, dcExtractRecursiveRmTargets, dcEvaluateRecursiveDeleteTargets, dcCheckJunctionCreation, dcExtractWindowsCmdTargets, dcExtractPowerShellTargets, getSharedClassifierGuardrailBlock, classifyCommand, resetArchitectPromptBudgetAdvisories, createArchitectAgent, createCoderAgent, GENERALIST_COUNCIL_PROMPT, SKEPTIC_COUNCIL_PROMPT, DOMAIN_EXPERT_COUNCIL_PROMPT, createCriticAgent, createCuratorAgent, createDesignerAgent, createDocsAgent, createResearcherAgent, SECURITY_CATEGORIES, createReviewerAgent, createSMEAgent, createTestEngineerAgent, _internals144 as _internals, stripSwarmPrefix, extractSwarmIdFromAgentName, resolveFallbackModel, getSwarmAgents, createAgents, resolvePrimaryAgentNames, getAgentConfigs, SWARM_COMMAND_TOOL_COMMANDS, SWARM_COMMAND_TOOL_ALLOWLIST, HUMAN_ONLY_SWARM_COMMANDS, classifySwarmCommandToolUse, classifySwarmCommandChatFallbackUse, detectPosixWrites, detectWindowsWrites, resolveWriteTargets, getAgentSession, parseLeanLaneIndex, computeLaneRuntimeProfile, MAX_TRACKED_STANDARD_WORKTREE_CALLS, awaitingMergeByCallID, standardWorktreeByCallID, standardWorktreeSerializationSessions, laneChildSessionAgents, recordLaneChildSession, assertTaskIdNotForeignLaneSession, getStandardWorktreeDegradationReason, resetStandardWorktreeIsolationState, checkStandardWorktreeSerializationRelease, sanitizeWorktreeTaskId, preProvisionCollisionCheck, isLaneOwnedByCurrentSession, precreateStandardWorktreeSession, preserveBackgroundWorktreeOwnershipForCallId, preserveDirtyWorktreeForCallId, preserveDirtyWorktreeAtPath, cleanupStandardWorktreeForCallId, abortStandardWorktreeDispatch, runSerializedWithMergeBacks, finishStandardWorktreeDispatch, readLaneEnvFileFromDisk, _internals20 as _internals1, redactSecrets, prWorkflowSessionFileStem, ensurePrWorkflowSafeParentDirectory, writePrWorkflowAtomicJson, PrWorkflowCheckoutMutationTimeoutError, withPrWorkflowCheckoutMutationLock, PR_REVIEW_REPORT_VERDICTS, allowedPrReviewReportVerdicts, normalizePrReviewPartialBaseCoverageRecord, rollbackPrReviewPartialBaseCoverageAdmission, readPrReviewTerminalCoverageForReport, PR_REVIEW_REQUIRED_MICRO_LANE_IDS, PR_REVIEW_DEPTH_TIER_THRESHOLDS, PR_REVIEW_BASE_LANE_FLOORS, PR_REVIEW_TIER_L_CONSOLIDATED_LANE_FLOOR, PR_REVIEW_MICRO_LANE_FLOORS, computePrReviewDepthTier, MAX_PR_REVIEW_SUBMIT_REJECTIONS, MAX_PR_FEEDBACK_INVENTORY_AMENDMENTS, activatePrWorkflow, appendPrWorkflowSkillContractAdvisories, readPrWorkflowGateState, recordPrReviewSubmitRejection, latestPrReviewSubmitRejectionMessage, submitPrReviewResult, withPrWorkflowCheckoutPreparationLock, withInactivePrWorkflowCheckoutRestoreLock, clearPrWorkflowGateState, terminalizePrWorkflowGateForSession2 as terminalizePrWorkflowGateForSession, PR_WORKFLOW_PROBE_SKIPPED_NO_BUDGET_REASON, collectPrWorkflowPendingLaneLiveness, settlePresumedStalePrWorkflowLanes, abortPrWorkflow, recoverArmedPrWorkflow, bindPrWorkflowHead, rebindPrFeedbackHead, bindPrReviewBase, assertCurrentCheckoutHead, assertPrReviewCleanCheckout, enforcePrWorkflowDispatchLanesAsync, PrReviewResilienceCircuitOpenError, PrReviewResilienceRetryExhaustedError, enforcePrReviewBaseDimensions, rollbackPrReviewBaseAdmissionIfUnlaunched, admitPrReviewPartialBaseCoverage2 as admitPrReviewPartialBaseCoverage, assertPrReviewBaseCoverageSettled2 as assertPrReviewBaseCoverageSettled, recordPrReviewMicroFamilyDispatch, recordPrReviewValidationBatch, assertPrReviewValidationSettled, declarePrFeedbackInventory, enforcePrFeedbackVerificationOwnership, assertPrFeedbackVerificationSettled, recordPrFeedbackStageA, recordPrFeedbackGateBatch, assertPrFeedbackGatePhaseSettled, assertPrFeedbackReadyToPublish, invalidatePrFeedbackPublication, describePrWorkflowPublicationSection, findDanglingLivePublicationGeneration, recordPrFeedbackPushAttemptResult, cancelPrFeedbackPublication, resolvePrReviewWriterRunId, markPrReviewTriggerEvaluationComplete, bindPrReviewTriggerLedger, assertPrReviewArtifactBoundary, assertPrReviewArtifactRecordsMatchAuthoritativeVerdicts, markPrReviewArtifactBoundary, markPrReviewHandoffComplete, readPrReviewFinalFindingPolicyForReport, transitionPrReviewToFeedback, declarePrFeedbackScope, resolvePrFeedbackScopeDeclaration, consumePrFeedbackScopeDeclaration, validatePrFeedbackScopeBinding, enforcePrWorkflowToolBefore, readPrReviewReentryBindingContext, hasActivePrReviewReentryAuthorization, reserveActivePrReviewReentryAuthorization, completePrWorkflow, _test_exports2 as _test_exports, normalizePrWorkflowShellCommand, describePrWorkflowRevisionDigestFailure, readAuthoritativePrReviewCriticSettlements, readAuthoritativePrReviewCriticVerdicts, formatPrReviewLaneValidationFailure, validateExactStructuredReceiptCoverage2 as validateExactStructuredReceiptCoverage, validatePrReviewDiscoveryLaneCompletion2 as validatePrReviewDiscoveryLaneCompletion, validatePrWorkflowTransportRecovery, prReviewDiscoveryArtifactCoversLane, MAX_SALVAGED_SCHEMA_ERROR_CHARS, readPrWorkflowGateStateForRecovery, handleAcknowledgeSpecDriftCommand, handleAgentsCommand, handleAnalyzeCommand, handleApproveWriteCommand, handleArchiveCommand, handleAutoProceedCommand, handleBenchmarkCommand, handleBrainstormCommand, handleCheckpointCommand, DEFAULT_CI_DEADLINE_MS2 as DEFAULT_CI_DEADLINE_MS, createSignalCancellation, handleCiCommand, handleCiSimulateCommand, handleClarifyCommand, safeRealpathSync, createCuratorLLMDelegate, getCoChangePairs, startSnapshotCoordinationInitialization, ensureSnapshotCoordinationReady, retrySnapshotCoordinationInitialization, getSnapshotCoordinationStatus, beginSnapshotCoordinationReset, closeSnapshotCoordinationInitialization, markSnapshotCoordinationClosing, _snapshotCoordinationInternals, handleCloseCommand, _internals67 as _internals2, normalizeRecommendationEntryIdToken, parseKnowledgeRecommendations, parseKnowledgeRecommendationsWithDiagnostics, parseStructuredCuratorBlocks, readCuratorSummary, writeCuratorSummary, appendCuratorRecommendation, mergeCuratorPhaseSummary, filterPhaseEvents, checkPhaseCompliance, runCuratorInit, runCuratorPhase, applyCuratorKnowledgeUpdates, isHiveEligible, countDistinctProjects, checkHivePromotions, _internals71 as _internals3, createHivePromoterHook, promoteToHive, promoteFromSwarm, createMemoryGateway, handleCodebaseReviewCommand, handleConcurrencyCommand, handleConfigCommand, handleConsolidateCommand, handleCostsCommand, handleCouncilCommand, handleCurateCommand, handleDarkMatterCommand, handleDeepDiveCommand, handleDeepResearchCommand, getHostConfigDir, getPluginCachePaths, getPluginLockFilePaths, VERSION_PINNED_LEAF, discoverVersionPinnedCachePaths, readCachePackageVersion, handleDiagnoseCommand, handleDoctorCommand, handleEvidenceCommand, handleEvidenceSummaryCommand, handleExportCommand, handleFullAutoCommand, computeQualityBudget, computeSastScan, handleGateAuditCommand, handleGateStatsCommand, handleHandoffCommand, handleBlueprintValidateCommand, handleBlueprintCurrentCommand, handleBlueprintHistoryCommand, handleBlueprintDiffCommand, handleBlueprintExportCommand, handleHarnessCandidateValidateCommand, handleHarnessCandidateShowCommand, handleHarnessCandidateDiffCommand, handleHistoryCommand, handleKnowledgeQuarantineCommand, handleKnowledgeRestoreCommand, handleKnowledgeMigrateCommand, handleKnowledgeListCommand, handleKnowledgeUnactionableCommand, handleKnowledgeRetryHardeningCommand, handleLearningCommand, handleLinkCommand, searchKnowledge, symbols, handleMemoryCommand, handleMemoryStatusCommand, handleMemoryValueLogCommand, handleMemoryMigrateCommand, handleMemoryImportCommand, handleMemoryExportCommand, handlePlanCommand, handlePreflightCommand, handlePromoteCommand, handleQaGatesCommand, handleRecoverCommand, handleResetCommand, handleResetSessionCommand, handleRetrieveCommand, handleReviewCommand, handleRollbackCommand, handleSddStatusCommand, handleSddValidateCommand, handleSddProjectCommand, handleSddCommand, handleSimulateCommand, handleSpecifyCommand, handleStatusCommand, handleSyncPlanCommand, handleTurboCommand, handleUnlinkCommand, handleWriteRetroCommand, handleHelpCommand, isCommandFailure, COMMAND_REGISTRY, VALID_COMMANDS, _internals35 as _internals4, resolveCommand, normalizeSwarmCommandInput, canonicalCommandKey, formatCommandNotFound, executeSwarmCommand };