opencode-swarm 7.153.2 → 7.154.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/dist/background/pending-delegations.d.ts +29 -0
  2. package/dist/background/pr-subscriptions.d.ts +258 -27
  3. package/dist/cli/{config-doctor-tv0ar88m.js → config-doctor-8p9y543t.js} +2 -2
  4. package/dist/cli/{core-kmsm50zn.js → core-1h6x6k59.js} +1 -1
  5. package/dist/cli/{curation-policy-twa6agf8.js → curation-policy-9r902jw4.js} +6 -6
  6. package/dist/cli/{curator-llm-factory-dxkhdhwg.js → curator-llm-factory-ypwf3a90.js} +29 -29
  7. package/dist/cli/{curator-wxe863k9.js → curator-yj00z1qz.js} +29 -29
  8. package/dist/cli/{evidence-summary-service-9akrdg9t.js → evidence-summary-service-npq04240.js} +12 -12
  9. package/dist/cli/{gate-evidence-bdzqbg2y.js → gate-evidence-4b6t0ycn.js} +6 -6
  10. package/dist/cli/{guardrail-explain-kx9rem51.js → guardrail-explain-dyxbhrdj.js} +30 -30
  11. package/dist/cli/{guardrail-log-zxzyx1de.js → guardrail-log-eyecsekk.js} +5 -5
  12. package/dist/cli/{guardrail-reset-1mc3st34.js → guardrail-reset-269jdwhd.js} +29 -29
  13. package/dist/cli/{hive-promoter-gncwtq0z.js → hive-promoter-5936am48.js} +29 -29
  14. package/dist/cli/{index-hhv2pvab.js → index-10zvxqra.js} +1 -1
  15. package/dist/cli/{index-j4f8sz67.js → index-1tdsddab.js} +192 -102
  16. package/dist/cli/{index-kenz5bja.js → index-2kzxkx50.js} +31 -31
  17. package/dist/cli/{index-3bh4h6ve.js → index-2mbs5q26.js} +7 -7
  18. package/dist/cli/{index-x3y6zhgj.js → index-3db7xza0.js} +1 -1
  19. package/dist/cli/{index-h3zhb18p.js → index-3hdnfmhp.js} +2 -2
  20. package/dist/cli/{index-84m4per1.js → index-3mhgv8d6.js} +2 -2
  21. package/dist/cli/{index-21pt4jwf.js → index-48m4841x.js} +1 -1
  22. package/dist/cli/{index-ebshrg4x.js → index-4g00jhbs.js} +3 -3
  23. package/dist/cli/{index-5zp4c36c.js → index-4y7g04py.js} +1 -1
  24. package/dist/cli/{index-vhbds89e.js → index-68w5jxv5.js} +4 -4
  25. package/dist/cli/{index-4pjkdcgc.js → index-6yc06dx9.js} +1 -1
  26. package/dist/cli/{index-2mqmvxac.js → index-7jnh1sgb.js} +7 -1
  27. package/dist/cli/{index-pk1gbqmq.js → index-c6dfyzdh.js} +1 -1
  28. package/dist/cli/{index-td0jz8xe.js → index-c809a69b.js} +2 -2
  29. package/dist/cli/{index-0azn976d.js → index-dwh02jmv.js} +7 -7
  30. package/dist/cli/{index-3cegckkq.js → index-garsang6.js} +1 -1
  31. package/dist/cli/{index-bw55r5bz.js → index-hk4wa0v1.js} +6 -6
  32. package/dist/cli/{index-5ad8xcv3.js → index-mddgkqg9.js} +2 -2
  33. package/dist/cli/{index-s6b8jgtn.js → index-nkr634n6.js} +1 -1
  34. package/dist/cli/{index-3fpqpyp6.js → index-p4y7jefb.js} +2 -2
  35. package/dist/cli/{index-kvk65qzz.js → index-pcj7jk4t.js} +3 -3
  36. package/dist/cli/{index-56ejcj07.js → index-qcz4xprd.js} +4 -4
  37. package/dist/cli/{index-zppxpc3y.js → index-s0a4ewkb.js} +2 -2
  38. package/dist/cli/{index-h06112sh.js → index-s70tmqn3.js} +5 -5
  39. package/dist/cli/{index-yvepnbyd.js → index-snnps1vm.js} +5 -5
  40. package/dist/cli/{index-a58nmnmz.js → index-tnm9bb8b.js} +5 -3
  41. package/dist/cli/{index-x8vw6ap1.js → index-ttqnhxxq.js} +59 -42
  42. package/dist/cli/{index-891g7hbf.js → index-vtdwkfbv.js} +1 -1
  43. package/dist/cli/index-wfxg3s7n.js +1158 -0
  44. package/dist/cli/{index-02rbfrab.js → index-wpstzk85.js} +4 -4
  45. package/dist/cli/{index-1gzdnjg9.js → index-y64jrbch.js} +2 -2
  46. package/dist/cli/{index-3ttktt56.js → index-yve4e8fx.js} +1 -1
  47. package/dist/cli/index.js +29 -29
  48. package/dist/cli/{knowledge-escalator-gp3mpbqe.js → knowledge-escalator-bxpzeth0.js} +11 -11
  49. package/dist/cli/{knowledge-events-nvkhtqvn.js → knowledge-events-jxdpg2hj.js} +9 -9
  50. package/dist/cli/{knowledge-link-ge0rddxw.js → knowledge-link-nwxykjya.js} +5 -5
  51. package/dist/cli/{knowledge-store-2ngh8xvv.js → knowledge-store-336hyzs8.js} +6 -6
  52. package/dist/cli/{knowledge-validator-4bphyrec.js → knowledge-validator-9wkvnsv0.js} +8 -8
  53. package/dist/cli/{pending-delegations-nk78wx7h.js → pending-delegations-0fmj1qy6.js} +3 -3
  54. package/dist/cli/{pr-subscriptions-dq1f61ye.js → pr-subscriptions-1ndwgtbw.js} +15 -4
  55. package/dist/cli/{runner-n50w1y4w.js → runner-06dvm53x.js} +6 -6
  56. package/dist/cli/{scan-cursor-c16xtygz.js → scan-cursor-3xxqtxwx.js} +7 -7
  57. package/dist/cli/{schema-83tbte2g.js → schema-jdx83m4m.js} +1 -1
  58. package/dist/cli/{scope-persistence-gdbw8xh8.js → scope-persistence-wgxn2kba.js} +8 -8
  59. package/dist/cli/{skill-generator-gr13xeha.js → skill-generator-vmxsc2fm.js} +13 -13
  60. package/dist/cli/{telemetry-hh1j99za.js → telemetry-q2km2zrz.js} +1 -1
  61. package/dist/cli/{worktree-collision-ownership-4drcjymy.js → worktree-collision-ownership-gsay5210.js} +5 -5
  62. package/dist/cli/{worktree-isolation-jjkfg2pg.js → worktree-isolation-peb4bkg3.js} +29 -29
  63. package/dist/commands/pr-monitor-status.d.ts +8 -1
  64. package/dist/config/schema.d.ts +8 -0
  65. package/dist/hooks/pr-review-resilience-circuit.d.ts +232 -0
  66. package/dist/hooks/pr-workflow-gate.d.ts +10 -11
  67. package/dist/index.js +298 -289
  68. package/dist/observability/catalog.d.ts +6 -3
  69. package/dist/telemetry.d.ts +21 -1
  70. package/package.json +1 -1
  71. package/dist/cli/index-meg33yyv.js +0 -247
@@ -6,13 +6,13 @@ import {
6
6
  protectedRoots,
7
7
  redactDecisionLineForArchive,
8
8
  stableCanonicalStringify
9
- } from "./index-h3zhb18p.js";
9
+ } from "./index-3hdnfmhp.js";
10
10
  import {
11
11
  detectStraySwarmDirs,
12
12
  readDoctorArtifact,
13
13
  removeStraySwarmDir,
14
14
  runConfigDoctor
15
- } from "./index-hhv2pvab.js";
15
+ } from "./index-10zvxqra.js";
16
16
  import {
17
17
  MAX_TRANSIENT_RETRIES,
18
18
  archiveEvidence,
@@ -59,7 +59,7 @@ import {
59
59
  validateProjectRoot,
60
60
  validateSymlinkBoundary,
61
61
  validateTargetWithinRoot
62
- } from "./index-0azn976d.js";
62
+ } from "./index-dwh02jmv.js";
63
63
  import {
64
64
  loadDatabaseCtor
65
65
  } from "./index-134d35c1.js";
@@ -79,7 +79,7 @@ import {
79
79
  resolveExecutableFromPath,
80
80
  runEvaluation,
81
81
  runExternalTool
82
- } from "./index-4pjkdcgc.js";
82
+ } from "./index-6yc06dx9.js";
83
83
  import {
84
84
  EvaluationTaskV1Schema,
85
85
  GateAuditManifestV1Schema,
@@ -96,7 +96,7 @@ import {
96
96
  saveGateAuditResult,
97
97
  savePromotionDecision,
98
98
  saveTaskSetSnapshot
99
- } from "./index-1gzdnjg9.js";
99
+ } from "./index-y64jrbch.js";
100
100
  import {
101
101
  canonicalHash,
102
102
  canonicalJson,
@@ -112,7 +112,7 @@ import {
112
112
  alreadyCuratedThisGeneration,
113
113
  claimNextScanBatch,
114
114
  resolveCohortId
115
- } from "./index-5ad8xcv3.js";
115
+ } from "./index-mddgkqg9.js";
116
116
  import {
117
117
  CURATOR_INIT_PROMPT,
118
118
  CURATOR_PHASE_PROMPT,
@@ -158,10 +158,11 @@ import {
158
158
  } from "./index-vnn7qq8c.js";
159
159
  import {
160
160
  buildCorrelationId,
161
+ getPrSubscriptionHealth,
161
162
  listActive,
162
163
  subscribe,
163
164
  unsubscribe
164
- } from "./index-meg33yyv.js";
165
+ } from "./index-wfxg3s7n.js";
165
166
  import {
166
167
  BUNDLED_PROJECT_SKILL_ROOT,
167
168
  DEFAULT_SKILL_MIN_CONFIDENCE,
@@ -182,10 +183,10 @@ import {
182
183
  retireSkill,
183
184
  selectCandidateEntries,
184
185
  syncBundledProjectSkillsIfMissingAsync
185
- } from "./index-vhbds89e.js";
186
+ } from "./index-68w5jxv5.js";
186
187
  import {
187
188
  readRecentEscalations
188
- } from "./index-yvepnbyd.js";
189
+ } from "./index-snnps1vm.js";
189
190
  import {
190
191
  appendUnactionable,
191
192
  quarantineEntry,
@@ -196,11 +197,11 @@ import {
196
197
  validateActionableFields,
197
198
  validateLesson,
198
199
  validateSkillPath
199
- } from "./index-56ejcj07.js";
200
+ } from "./index-qcz4xprd.js";
200
201
  import {
201
202
  authorizeCuration,
202
203
  buildConfigFingerprintInput
203
- } from "./index-3ttktt56.js";
204
+ } from "./index-yve4e8fx.js";
204
205
  import {
205
206
  cohortConfigFingerprint
206
207
  } from "./index-rtry5xyf.js";
@@ -208,7 +209,7 @@ import {
208
209
  WORKTREE_LIFECYCLE_LOCK_FILE,
209
210
  recordWorktreeProvisioningOwner,
210
211
  removeWorktreeProvisioningOwner
211
- } from "./index-3cegckkq.js";
212
+ } from "./index-garsang6.js";
212
213
  import {
213
214
  clearWorktreeMergeStatus,
214
215
  getAllWorktreeMergeFailures,
@@ -243,12 +244,12 @@ import {
243
244
  transitionTaskWorkflowEvidence,
244
245
  withTaskEvidenceTransaction,
245
246
  writeWorkflowWalFile
246
- } from "./index-02rbfrab.js";
247
+ } from "./index-wpstzk85.js";
247
248
  import {
248
249
  makeWorktreeBranchName,
249
250
  provisionWorktree,
250
251
  removeWorktree
251
- } from "./index-s6b8jgtn.js";
252
+ } from "./index-nkr634n6.js";
252
253
  import {
253
254
  DEFAULT_STALE_DELEGATION_TIMEOUT_MS,
254
255
  DELEGATION_COMPACTION_HIGH_WATER_BYTES,
@@ -263,14 +264,14 @@ import {
263
264
  scanBackgroundCoderReservationsForAdmission,
264
265
  scanDelegationsForRecovery,
265
266
  sweepStaleDelegations
266
- } from "./index-2mqmvxac.js";
267
+ } from "./index-7jnh1sgb.js";
267
268
  import {
268
269
  MAX_PENDING_SCOPE_BINDINGS,
269
270
  canonicalWorkspaceIdentity,
270
271
  clearAllScopes,
271
272
  clearScopeBindingFromDisk,
272
273
  clearScopeBindings
273
- } from "./index-h06112sh.js";
274
+ } from "./index-s70tmqn3.js";
274
275
  import {
275
276
  appendLedgerEvent,
276
277
  computePlanHash,
@@ -285,7 +286,7 @@ import {
285
286
  readPlanEpochIdentity,
286
287
  replayFromLedgerWithStatus,
287
288
  takeSnapshotEvent
288
- } from "./index-ebshrg4x.js";
289
+ } from "./index-4g00jhbs.js";
289
290
  import {
290
291
  CORE_EVENT_LOCKED,
291
292
  appendCoreEventSync,
@@ -295,7 +296,7 @@ import {
295
296
  hasSpecDriftAuditEvent,
296
297
  hasTaskRepairAuditEvent,
297
298
  readCoreEvents
298
- } from "./index-pk1gbqmq.js";
299
+ } from "./index-c6dfyzdh.js";
299
300
  import {
300
301
  isPathWithinDeclaredScope,
301
302
  sanitizeDiagnosticText
@@ -345,7 +346,7 @@ import {
345
346
  transactFile,
346
347
  transactKnowledge,
347
348
  wordBigrams
348
- } from "./index-bw55r5bz.js";
349
+ } from "./index-hk4wa0v1.js";
349
350
  import {
350
351
  MAX_EVENT_LOG_ENTRIES,
351
352
  _internals as _internals2,
@@ -361,10 +362,10 @@ import {
361
362
  recordKnowledgeEvent,
362
363
  recordPhaseCloseIntent,
363
364
  resolveKnowledgeEventsPath
364
- } from "./index-3bh4h6ve.js";
365
+ } from "./index-2mbs5q26.js";
365
366
  import {
366
367
  resolveWorktreeIsolationConfig
367
- } from "./index-3fpqpyp6.js";
368
+ } from "./index-p4y7jefb.js";
368
369
  import {
369
370
  RetrospectiveEvidenceSchema
370
371
  } from "./index-gprxjmm7.js";
@@ -386,7 +387,7 @@ import {
386
387
  init_loader,
387
388
  loadPluginConfig,
388
389
  loadPluginConfigWithMeta
389
- } from "./index-5zp4c36c.js";
390
+ } from "./index-4y7g04py.js";
390
391
  import {
391
392
  DEFAULT_PR_REVIEW_RESILIENCE_CONFIG,
392
393
  DEFAULT_SKILL_OPT_CONFIG,
@@ -401,7 +402,7 @@ import {
401
402
  package_default,
402
403
  resolveAutoReviewConfig,
403
404
  stripKnownSwarmPrefix
404
- } from "./index-a58nmnmz.js";
405
+ } from "./index-tnm9bb8b.js";
405
406
  import {
406
407
  AGENT_TOOL_MAP,
407
408
  ALL_AGENT_NAMES,
@@ -441,10 +442,10 @@ import {
441
442
  resolveLinkDir,
442
443
  sanitizeLinkId,
443
444
  writeLinkPointer
444
- } from "./index-x3y6zhgj.js";
445
+ } from "./index-3db7xza0.js";
445
446
  import {
446
447
  atomicWriteFile
447
- } from "./index-zppxpc3y.js";
448
+ } from "./index-s0a4ewkb.js";
448
449
  import {
449
450
  KNOWLEDGE_SCHEMA_VERSION,
450
451
  OUTCOME_BLOCK_THRESHOLD,
@@ -456,7 +457,7 @@ import {
456
457
  atomicWriteSwarmFileSync,
457
458
  matchTempGrammar,
458
459
  parseTargetBasename
459
- } from "./index-td0jz8xe.js";
460
+ } from "./index-c809a69b.js";
460
461
  import {
461
462
  assertProjectRoot,
462
463
  hasExplicitProjectBoundary,
@@ -464,7 +465,7 @@ import {
464
465
  listActiveLocks,
465
466
  tryAcquireLock,
466
467
  withEvidenceLock
467
- } from "./index-891g7hbf.js";
468
+ } from "./index-vtdwkfbv.js";
468
469
  import {
469
470
  invalidateCachedArtifact,
470
471
  resetSwarmArtifactCache
@@ -473,7 +474,7 @@ import {
473
474
  emit,
474
475
  getLastHeartbeat,
475
476
  telemetry
476
- } from "./index-x8vw6ap1.js";
477
+ } from "./index-ttqnhxxq.js";
477
478
  import {
478
479
  require_proper_lockfile
479
480
  } from "./index-7g4c7s5r.js";
@@ -6826,7 +6827,7 @@ async function cleanupRecoveredWorktree(directory, descriptor) {
6826
6827
  awaitingMergeByCallID,
6827
6828
  cleanupStandardWorktreeForCallId,
6828
6829
  standardWorktreeByCallID
6829
- } = await import("./worktree-isolation-jjkfg2pg.js");
6830
+ } = await import("./worktree-isolation-peb4bkg3.js");
6830
6831
  standardWorktreeByCallID.delete(descriptor.callID);
6831
6832
  if (hasResidue)
6832
6833
  awaitingMergeByCallID.set(descriptor.callID, {
@@ -6932,7 +6933,7 @@ async function recoverCoderSettlement(directory, taskId) {
6932
6933
  awaitingMergeByCallID,
6933
6934
  finishStandardWorktreeDispatch,
6934
6935
  standardWorktreeByCallID
6935
- } = await import("./worktree-isolation-jjkfg2pg.js");
6936
+ } = await import("./worktree-isolation-peb4bkg3.js");
6936
6937
  const descriptor = wal.worktree;
6937
6938
  const reconstructedDispatch = {
6938
6939
  callID: descriptor.callID,
@@ -9760,6 +9761,91 @@ var _internals16 = {
9760
9761
  // src/hooks/pr-workflow-gate.ts
9761
9762
  init_tool_metadata();
9762
9763
  init_logger();
9764
+
9765
+ // src/hooks/pr-review-resilience-circuit.ts
9766
+ init_zod();
9767
+ var PR_REVIEW_CIRCUIT_CONTRIBUTOR_LIMIT = 768;
9768
+ var PrReviewCircuitLegacyRecordSchema = exports_external.object({
9769
+ signature: exports_external.string().min(1).max(512),
9770
+ count: exports_external.number().int().min(2).max(PR_REVIEW_CIRCUIT_CONTRIBUTOR_LIMIT),
9771
+ contributors: exports_external.array(exports_external.object({ batchId: exports_external.string().min(1), laneId: exports_external.string().min(1) }).strict()).min(2).max(PR_REVIEW_CIRCUIT_CONTRIBUTOR_LIMIT),
9772
+ openedAt: exports_external.string().min(1)
9773
+ }).strict();
9774
+ var PrReviewCircuitRecordV2Schema = exports_external.object({
9775
+ version: exports_external.literal(2),
9776
+ state: exports_external.enum(["CLOSED", "OPEN", "HALF_OPEN"]),
9777
+ generation: exports_external.number().int().min(1),
9778
+ providerClass: exports_external.string().min(1).max(128).optional(),
9779
+ contributors: exports_external.array(exports_external.object({
9780
+ batchId: exports_external.string().min(1),
9781
+ laneId: exports_external.string().min(1),
9782
+ terminalAt: exports_external.string().min(1)
9783
+ }).strict()).max(PR_REVIEW_CIRCUIT_CONTRIBUTOR_LIMIT),
9784
+ openedAt: exports_external.string().min(1).optional(),
9785
+ openUntil: exports_external.string().min(1).optional(),
9786
+ evidenceWaterline: exports_external.string().min(1).optional(),
9787
+ probe: exports_external.object({
9788
+ batchId: exports_external.string().min(1),
9789
+ laneId: exports_external.string().min(1),
9790
+ admittedAt: exports_external.string().min(1)
9791
+ }).strict().optional()
9792
+ }).strict();
9793
+ var PrReviewCircuitRecordSchema = exports_external.union([
9794
+ PrReviewCircuitLegacyRecordSchema,
9795
+ PrReviewCircuitRecordV2Schema
9796
+ ]);
9797
+ var CIRCUIT_TERMINAL_DELEGATION_STATUSES = new Set([
9798
+ "completed",
9799
+ "error",
9800
+ "cancelled",
9801
+ "stale"
9802
+ ]);
9803
+ function zeroOutputResult(result) {
9804
+ const outputRef = result.outputRef?.trim();
9805
+ const text = result.text?.trim() ?? "";
9806
+ return !outputRef && text.length === 0 && (result.chars ?? 0) === 0;
9807
+ }
9808
+ function classifyPrReviewCircuitSignal(record) {
9809
+ if (!CIRCUIT_TERMINAL_DELEGATION_STATUSES.has(record.status))
9810
+ return null;
9811
+ const result = record.terminalResult?.result ?? record.result;
9812
+ const providerClass = result?.terminalErrorClass?.category;
9813
+ if (result?.terminalErrorClass && providerClass) {
9814
+ if (record.status !== "error") {
9815
+ return { kind: "ignored", reason: "cancellation" };
9816
+ }
9817
+ if (result.terminalErrorClass.kind === "provider") {
9818
+ return {
9819
+ kind: "provider_terminal",
9820
+ providerClass,
9821
+ batchId: record.batchId ?? "",
9822
+ laneId: record.laneId ?? "",
9823
+ terminalAtMs: record.terminalResult?.recordedAt ?? record.completedAt ?? record.updatedAt ?? record.createdAt ?? 0
9824
+ };
9825
+ }
9826
+ if (result.terminalErrorClass.kind === "aborted") {
9827
+ return { kind: "ignored", reason: "cancellation" };
9828
+ }
9829
+ if (result.terminalErrorClass.kind === "output_length") {
9830
+ return { kind: "ignored", reason: "validation" };
9831
+ }
9832
+ return { kind: "ignored", reason: "unknown" };
9833
+ }
9834
+ switch (record.status) {
9835
+ case "error":
9836
+ return { kind: "ignored", reason: "unknown" };
9837
+ case "stale":
9838
+ return { kind: "ignored", reason: "stale_observation" };
9839
+ case "cancelled":
9840
+ return { kind: "ignored", reason: "cancellation" };
9841
+ case "completed":
9842
+ return zeroOutputResult(result ?? {}) ? { kind: "ignored", reason: "parser" } : null;
9843
+ default:
9844
+ return null;
9845
+ }
9846
+ }
9847
+
9848
+ // src/hooks/pr-workflow-gate.ts
9763
9849
  var PR_REVIEW_BASE_DIMENSION_IDS = [
9764
9850
  "intent-architecture",
9765
9851
  "correctness-state",
@@ -9828,7 +9914,8 @@ var PrReviewResiliencePolicyRecordSchema = exports_external.object({
9828
9914
  canaryProbeMs: exports_external.number().int().positive(),
9829
9915
  statusProbeTimeoutMs: exports_external.number().int().positive(),
9830
9916
  correlatedFailureThreshold: exports_external.number().int().min(2).max(8),
9831
- maxRetryAttemptsAfterInitial: exports_external.number().int().min(0).max(2)
9917
+ maxRetryAttemptsAfterInitial: exports_external.number().int().min(0).max(2),
9918
+ circuitOpenDurationMs: exports_external.number().int().min(1000).max(1800000).optional()
9832
9919
  }).strict();
9833
9920
  var PrReviewResilienceAttemptRecordSchema = exports_external.object({
9834
9921
  attempt: exports_external.union([exports_external.literal(0), exports_external.literal(1), exports_external.literal(2)]),
@@ -9839,19 +9926,10 @@ var PrReviewResilienceAttemptRecordSchema = exports_external.object({
9839
9926
  admittedAt: exports_external.string().min(1),
9840
9927
  fanoutBatchId: exports_external.string().min(1).optional()
9841
9928
  }).strict();
9842
- var PrReviewResilienceCircuitRecordSchema = exports_external.object({
9843
- signature: exports_external.string().min(1).max(512),
9844
- count: exports_external.number().int().min(2).max(MAX_PR_REVIEW_RESILIENCE_CIRCUIT_CONTRIBUTORS),
9845
- contributors: exports_external.array(exports_external.object({
9846
- batchId: exports_external.string().min(1),
9847
- laneId: exports_external.string().min(1)
9848
- }).strict()).min(2).max(MAX_PR_REVIEW_RESILIENCE_CIRCUIT_CONTRIBUTORS),
9849
- openedAt: exports_external.string().min(1)
9850
- }).strict();
9851
9929
  var PrReviewResilienceStateRecordSchema = exports_external.object({
9852
9930
  policy: PrReviewResiliencePolicyRecordSchema,
9853
9931
  attempts: exports_external.array(PrReviewResilienceAttemptRecordSchema).max(3),
9854
- circuit: PrReviewResilienceCircuitRecordSchema.optional()
9932
+ circuit: PrReviewCircuitRecordSchema.optional()
9855
9933
  }).strict();
9856
9934
  var PrReviewPartialBaseCoverageRecordSchema = exports_external.object({
9857
9935
  runId: exports_external.string().min(1).max(128),
@@ -10557,34 +10635,14 @@ function snapshotPrReviewResiliencePolicy(policy) {
10557
10635
  canaryProbeMs: policy?.canary_probe_ms ?? 300000,
10558
10636
  statusProbeTimeoutMs: policy?.status_probe_timeout_ms ?? 2000,
10559
10637
  correlatedFailureThreshold: policy?.correlated_failure_threshold ?? 2,
10560
- maxRetryAttemptsAfterInitial: policy?.max_retry_attempts_after_initial ?? 2
10638
+ maxRetryAttemptsAfterInitial: policy?.max_retry_attempts_after_initial ?? 2,
10639
+ circuitOpenDurationMs: policy?.circuit_open_duration_ms ?? DEFAULT_PR_REVIEW_RESILIENCE_CONFIG.circuit_open_duration_ms
10561
10640
  };
10562
10641
  }
10563
10642
  function effectivePrReviewResiliencePolicy(state, requestedPolicy) {
10564
10643
  return state.prReviewResilience?.policy ?? snapshotPrReviewResiliencePolicy(requestedPolicy);
10565
10644
  }
10566
- function normalizeFailureSignatureText(value) {
10567
- return value.toLowerCase().replace(/\b\d{4}-\d{2}-\d{2}t\d{2}:\d{2}:\d{2}(?:\.\d{1,6})?(?:z|[+-]\d{2}:\d{2})\b/g, "<iso-timestamp>").replace(/\b\d{10,16}\b/g, "<epoch>").replace(/\b((?:session|request|trace|correlation|run)(?:[_-]?id)?)\s*[:=]\s*([a-z0-9._:-]*[0-9_-][a-z0-9._:-]*)\b/g, "$1=<id>").replace(/\b((?:session|sess|request|req|trace|correlation|corr|run)(?:[_-]?id)?)\s+((?:(?:sess?|req|trace|corr|run)[_-][a-z0-9._:-]+|[a-z][a-z0-9._:-]*\d[a-z0-9._:-]*))\b/g, "$1 <id>").replace(/\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b/g, "<uuid>").replace(/\b[0-9a-f]{16,64}\b/g, "<hex>").replace(/[a-z]:\\[^\s)]+/gi, "<path>").replace(/(?:\/[\w.@:-]+)+/g, "<path>").replace(/\s+/g, " ").trim().slice(0, 160);
10568
- }
10569
- function classifyTerminalFailureSignature(record) {
10570
- if (!TERMINAL_FAILED_DELEGATION_STATUSES.has(record.status))
10571
- return null;
10572
- const result = record.terminalResult?.result ?? record.result;
10573
- if (!result)
10574
- return `terminal-zero-output:${record.status}`;
10575
- const outputRef = result.outputRef?.trim();
10576
- const text = result.text?.trim() ?? "";
10577
- if (!outputRef && text.length === 0 && (result.chars ?? 0) === 0) {
10578
- return `terminal-zero-output:${record.status}`;
10579
- }
10580
- const errorText = result.error?.trim();
10581
- if (errorText) {
10582
- return `terminal-error-output:${record.status}:${normalizeFailureSignatureText(errorText)}`;
10583
- }
10584
- if (record.status === "completed")
10585
- return null;
10586
- return `terminal-nonzero-output:${record.status}`;
10587
- }
10645
+ var malformedCircuitDiagnosticsSeen = new Set;
10588
10646
  var TERMINAL_FAILED_DELEGATION_STATUSES = new Set([
10589
10647
  "completed",
10590
10648
  "error",
@@ -11196,7 +11254,7 @@ async function transitionPrReviewToFeedback(directory, sessionID, request) {
11196
11254
  }));
11197
11255
  }
11198
11256
  var _test_exports2 = {
11199
- classifyTerminalFailureSignature,
11257
+ classifyPrReviewCircuitSignal,
11200
11258
  minimumConsolidatedLaneCover,
11201
11259
  analyzePrReviewBatchRecordIntegrity,
11202
11260
  MAX_COVER_UNIVERSE_BITS,
@@ -11215,6 +11273,7 @@ var _test_exports2 = {
11215
11273
  pendingStateMutationsByProjectSession.clear();
11216
11274
  pendingCheckoutMutationsByProject.clear();
11217
11275
  completedCheckoutLockOwners.clear();
11276
+ malformedCircuitDiagnosticsSeen.clear();
11218
11277
  _test_exports2.beforeTerminalClear = undefined;
11219
11278
  _test_exports2.beforeAbortClear = undefined;
11220
11279
  _test_exports2.beforePrFeedbackTransitionLock = undefined;
@@ -20066,7 +20125,7 @@ function planMerges(active, threshold, maxComparisons, maxMerges) {
20066
20125
  };
20067
20126
  }
20068
20127
  async function sweepActiveNearDuplicates(directory, options = {}) {
20069
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-kvk65qzz.js");
20128
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-pcj7jk4t.js");
20070
20129
  const { config } = loadPluginConfigWithMeta2(directory);
20071
20130
  const sweepConfig = config.learning?.dedup_sweep;
20072
20131
  if (sweepConfig?.enabled === false)
@@ -21196,7 +21255,7 @@ async function runCuratorPhase(directory, phase, agentsDispatched, config, knowl
21196
21255
  }
21197
21256
  if (config.skill_generation_enabled === true && skillCandidates.length > 0) {
21198
21257
  try {
21199
- const skillModule = await import("./skill-generator-gr13xeha.js");
21258
+ const skillModule = await import("./skill-generator-vmxsc2fm.js");
21200
21259
  for (const cand of skillCandidates) {
21201
21260
  if (cand.confidence < (config.min_skill_confidence ?? DEFAULT_SKILL_MIN_CONFIDENCE)) {
21202
21261
  continue;
@@ -21668,7 +21727,7 @@ async function applyCuratorKnowledgeUpdates(directory, recommendations, knowledg
21668
21727
  } catch {}
21669
21728
  }
21670
21729
  if (contradictedEntries.length > 0 && knowledgeConfig.contradiction_threshold_action === "quarantine") {
21671
- const { maybeQuarantineOnContradiction } = await import("./knowledge-escalator-gp3mpbqe.js");
21730
+ const { maybeQuarantineOnContradiction } = await import("./knowledge-escalator-bxpzeth0.js");
21672
21731
  for (const { id } of contradictedEntries) {
21673
21732
  try {
21674
21733
  await maybeQuarantineOnContradiction(directory, id, knowledgeConfig.contradiction_quarantine_threshold, knowledgeConfig.contradiction_quarantine_window_days);
@@ -22487,7 +22546,7 @@ async function runCuratorPostMortem(directory, options = {}) {
22487
22546
  warnings.push("Failed to collect knowledge summary.");
22488
22547
  }
22489
22548
  try {
22490
- const { getScanStatus } = await import("./scan-cursor-c16xtygz.js");
22549
+ const { getScanStatus } = await import("./scan-cursor-3xxqtxwx.js");
22491
22550
  const scanStatus = await getScanStatus(directory);
22492
22551
  if (scanStatus.remaining_estimate > 0) {
22493
22552
  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.`);
@@ -22659,9 +22718,9 @@ var _internals27 = {
22659
22718
  verifyPostMortemKnowledgeActions,
22660
22719
  repairPostMortemActions,
22661
22720
  loadDefaultKnowledgeConfig: async (directory) => {
22662
- const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-83tbte2g.js");
22721
+ const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-jdx83m4m.js");
22663
22722
  try {
22664
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-kvk65qzz.js");
22723
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-pcj7jk4t.js");
22665
22724
  const loaded = loadPluginConfigWithMeta2(directory);
22666
22725
  return KnowledgeConfigSchema2.parse(loaded.config.knowledge ?? {});
22667
22726
  } catch {
@@ -22669,11 +22728,11 @@ var _internals27 = {
22669
22728
  }
22670
22729
  },
22671
22730
  applyCuratorKnowledgeUpdates: async (directory, recommendations, knowledgeConfig, generation) => {
22672
- const { applyCuratorKnowledgeUpdates: applyCuratorKnowledgeUpdates2 } = await import("./curator-wxe863k9.js");
22731
+ const { applyCuratorKnowledgeUpdates: applyCuratorKnowledgeUpdates2 } = await import("./curator-yj00z1qz.js");
22673
22732
  return applyCuratorKnowledgeUpdates2(directory, recommendations, knowledgeConfig, generation);
22674
22733
  },
22675
22734
  checkHivePromotions: async (entries, knowledgeConfig, directory) => {
22676
- const { checkHivePromotions } = await import("./hive-promoter-gncwtq0z.js");
22735
+ const { checkHivePromotions } = await import("./hive-promoter-5936am48.js");
22677
22736
  return checkHivePromotions(entries, knowledgeConfig, directory);
22678
22737
  },
22679
22738
  applyProposalTriage: async (directory, triage) => {
@@ -22682,7 +22741,7 @@ var _internals27 = {
22682
22741
  activateProposal,
22683
22742
  listSkills: listSkills2,
22684
22743
  sanitizeSlug
22685
- } = await import("./skill-generator-gr13xeha.js");
22744
+ } = await import("./skill-generator-vmxsc2fm.js");
22686
22745
  const result = {
22687
22746
  approved: [],
22688
22747
  rejected: [],
@@ -24012,9 +24071,9 @@ function hashContent(content) {
24012
24071
  return createHash12("sha1").update(content).digest("hex");
24013
24072
  }
24014
24073
  async function loadConfigForPolicyCurator(directory) {
24015
- const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-83tbte2g.js");
24074
+ const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-jdx83m4m.js");
24016
24075
  try {
24017
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-kvk65qzz.js");
24076
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-pcj7jk4t.js");
24018
24077
  const { config: loadedConfig } = loadPluginConfigWithMeta2(directory);
24019
24078
  return KnowledgeConfigSchema2.parse(loadedConfig.knowledge ?? {});
24020
24079
  } catch {
@@ -36058,7 +36117,7 @@ async function runFinalizeStage(ctx) {
36058
36117
  }
36059
36118
  }
36060
36119
  try {
36061
- const { CuratorConfigSchema: CCS } = await import("./schema-83tbte2g.js");
36120
+ const { CuratorConfigSchema: CCS } = await import("./schema-jdx83m4m.js");
36062
36121
  const { config: pmLoadedConfig } = _internals42.loadPluginConfigWithMeta(ctx.directory);
36063
36122
  const curatorCfg = CCS.parse(pmLoadedConfig.curator ?? {});
36064
36123
  if (curatorCfg.enabled && curatorCfg.postmortem_enabled) {
@@ -36934,7 +36993,7 @@ var _internals42 = {
36934
36993
  closePlanTerminalState: reconcileCloseTerminalStateForPlan,
36935
36994
  endAgentSession,
36936
36995
  flushAndDrainTelemetry: async () => {
36937
- const { flushAndDrainTelemetry } = await import("./telemetry-hh1j99za.js");
36996
+ const { flushAndDrainTelemetry } = await import("./telemetry-q2km2zrz.js");
36938
36997
  return flushAndDrainTelemetry();
36939
36998
  },
36940
36999
  finalizeContextTelemetry: (directory) => {
@@ -38271,9 +38330,9 @@ var _internals46 = {
38271
38330
  loadPluginConfigWithMeta,
38272
38331
  loadCuratorDeps: async () => {
38273
38332
  const [{ CuratorConfigSchema }, curator, { createCuratorLLMDelegate: createCuratorLLMDelegate2 }] = await Promise.all([
38274
- import("./schema-83tbte2g.js"),
38275
- import("./curator-wxe863k9.js"),
38276
- import("./curator-llm-factory-dxkhdhwg.js")
38333
+ import("./schema-jdx83m4m.js"),
38334
+ import("./curator-yj00z1qz.js"),
38335
+ import("./curator-llm-factory-ypwf3a90.js")
38277
38336
  ]);
38278
38337
  return { CuratorConfigSchema, curator, createCuratorLLMDelegate: createCuratorLLMDelegate2 };
38279
38338
  }
@@ -39282,7 +39341,7 @@ async function computeCurationDiagnostics(directory, entries) {
39282
39341
  let scanCompleted = false;
39283
39342
  let scanRemaining = 0;
39284
39343
  try {
39285
- const { getScanStatus } = await import("./scan-cursor-c16xtygz.js");
39344
+ const { getScanStatus } = await import("./scan-cursor-3xxqtxwx.js");
39286
39345
  const status = await getScanStatus(directory);
39287
39346
  scanGeneration = status.generation;
39288
39347
  scanCompleted = status.completed;
@@ -39290,19 +39349,19 @@ async function computeCurationDiagnostics(directory, entries) {
39290
39349
  } catch {}
39291
39350
  let configMatch = null;
39292
39351
  try {
39293
- const { isLinked: isLinked2 } = await import("./knowledge-link-ge0rddxw.js");
39352
+ const { isLinked: isLinked2 } = await import("./knowledge-link-nwxykjya.js");
39294
39353
  if (isLinked2(directory)) {
39295
- const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-83tbte2g.js");
39354
+ const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-jdx83m4m.js");
39296
39355
  let config;
39297
39356
  try {
39298
- const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-kvk65qzz.js");
39357
+ const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-pcj7jk4t.js");
39299
39358
  const loaded = loadPluginConfigWithMeta2(directory);
39300
39359
  config = KnowledgeConfigSchema2.parse(loaded.config.knowledge ?? {});
39301
39360
  } catch {
39302
39361
  config = KnowledgeConfigSchema2.parse({});
39303
39362
  }
39304
39363
  const { cohortConfigFingerprint: cohortConfigFingerprint2 } = await import("./config-fingerprint-v22xh5a2.js");
39305
- const { buildConfigFingerprintInput: buildConfigFingerprintInput2, readCohortConfigFingerprint } = await import("./curation-policy-twa6agf8.js");
39364
+ const { buildConfigFingerprintInput: buildConfigFingerprintInput2, readCohortConfigFingerprint } = await import("./curation-policy-9r902jw4.js");
39306
39365
  const currentFp = cohortConfigFingerprint2(buildConfigFingerprintInput2(config));
39307
39366
  const cohortFp = await readCohortConfigFingerprint(directory);
39308
39367
  configMatch = cohortFp === null ? null : currentFp === cohortFp;
@@ -40615,7 +40674,7 @@ async function handleDoctorCommand(directory, args) {
40615
40674
  const result = runConfigDoctor(config, directory);
40616
40675
  let output;
40617
40676
  if (enableAutoFix && result.hasAutoFixableIssues) {
40618
- const { runConfigDoctorWithFixes } = await import("./config-doctor-tv0ar88m.js");
40677
+ const { runConfigDoctorWithFixes } = await import("./config-doctor-8p9y543t.js");
40619
40678
  const fixResult = await runConfigDoctorWithFixes(directory, config, true, {
40620
40679
  applyLossy: true
40621
40680
  });
@@ -41555,7 +41614,7 @@ async function handleEvidenceCommand(directory, args) {
41555
41614
  return formatTaskEvidenceMarkdown(evidenceData);
41556
41615
  }
41557
41616
  async function handleEvidenceSummaryCommand(directory) {
41558
- const { buildEvidenceSummary } = await import("./evidence-summary-service-9akrdg9t.js");
41617
+ const { buildEvidenceSummary } = await import("./evidence-summary-service-npq04240.js");
41559
41618
  const artifact = await buildEvidenceSummary(directory);
41560
41619
  if (!artifact) {
41561
41620
  return "No plan found. Run `/swarm plan` to check plan status.";
@@ -59876,19 +59935,47 @@ function formatMergeGroupStatus(status, conclusion, htmlUrl) {
59876
59935
  }
59877
59936
  return parts.join(" ");
59878
59937
  }
59938
+ function formatStorageHealth(health) {
59939
+ const age = health.checkpointAgeMs === null ? "n/a" : health.checkpointAgeMs < 5000 ? "now" : `${Math.floor(health.checkpointAgeMs / 1000)}s ago`;
59940
+ const parts = [
59941
+ `checkpoint seq ${health.sequence} (${age})`,
59942
+ `active ${health.activeCount} \xB7 removed ${health.removedCount} \xB7 expired ${health.expiredCount}`,
59943
+ `store ${health.checkpointBytes}/${health.checkpointLimitBytes} B (${health.pressurePct}%)`,
59944
+ `audit ${health.auditLines} lines`,
59945
+ `compactions ${health.compactions} \xB7 corrupt ${health.corruptLegacyRecords} \xB7 dropped-audit ${health.droppedAuditTransitions}`,
59946
+ `source ${health.recoverySource}`
59947
+ ];
59948
+ const lines = [`Storage: ${parts.join(" \xB7 ")}`];
59949
+ if (health.legacyOverLimit) {
59950
+ lines.push("Warning: the legacy subscriptions log exceeds the migration size limit and was NOT loaded. Archive or split .swarm/pr-monitor/subscriptions.jsonl (subscriptions can be re-created with /swarm pr subscribe), then remove it.");
59951
+ }
59952
+ return lines.join(`
59953
+ `);
59954
+ }
59879
59955
  var _internals74 = {
59880
59956
  formatRelativeTime,
59881
59957
  formatMergeGroupStatus,
59958
+ formatStorageHealth,
59882
59959
  listActive,
59883
59960
  listMergeGroupRuns,
59884
- parseMergeGroupRuns
59961
+ parseMergeGroupRuns,
59962
+ getPrSubscriptionHealth
59885
59963
  };
59886
59964
  async function handlePrMonitorStatusCommand(directory, _args, sessionID, source) {
59887
59965
  const allActive = await _internals74.listActive(directory);
59888
59966
  const allSessions = source === "cli";
59889
59967
  const subs = allSessions ? allActive : allActive.filter((record) => record.sessionID === sessionID);
59968
+ let storageFooter = "";
59969
+ try {
59970
+ const health = await _internals74.getPrSubscriptionHealth(directory);
59971
+ if (health)
59972
+ storageFooter = _internals74.formatStorageHealth(health);
59973
+ } catch {}
59890
59974
  if (subs.length === 0) {
59891
- return allSessions ? "No active PR subscriptions." : "No active PR subscriptions for this session.";
59975
+ const empty = allSessions ? "No active PR subscriptions." : "No active PR subscriptions for this session.";
59976
+ return storageFooter ? `${empty}
59977
+
59978
+ ${storageFooter}` : empty;
59892
59979
  }
59893
59980
  const lines = [];
59894
59981
  lines.push(allSessions ? "PR Monitor Status \u2014 all sessions" : `PR Monitor Status \u2014 Session: ${sessionID}`);
@@ -59932,6 +60019,9 @@ async function handlePrMonitorStatusCommand(directory, _args, sessionID, source)
59932
60019
  if (!allSessions && totalActive !== subs.length) {
59933
60020
  lines.push(`Total active across all sessions: ${totalActive}`);
59934
60021
  }
60022
+ if (storageFooter) {
60023
+ lines.push(storageFooter);
60024
+ }
59935
60025
  return lines.join(`
59936
60026
  `);
59937
60027
  }
@@ -74079,7 +74169,7 @@ async function runValidationWithTransientRetry(input, candidateContent, baseline
74079
74169
  if (!input.dispatcher) {
74080
74170
  throw new Error("no evaluation dispatcher available (cannot run validation)");
74081
74171
  }
74082
- const { createModelEvaluationExecutor: createModelEvaluationExecutor2 } = await import("./runner-n50w1y4w.js");
74172
+ const { createModelEvaluationExecutor: createModelEvaluationExecutor2 } = await import("./runner-06dvm53x.js");
74083
74173
  const executor = createModelEvaluationExecutor2(input.dispatcher, input.sessionId);
74084
74174
  const result = await withProtectedSetIntegrity([evalInputRoot, ...protectedRoots(input.directory)], () => _internals98.evaluateCandidateV1({
74085
74175
  projectRoot: input.directory,
@@ -76120,7 +76210,7 @@ function buildDetailedHelp(commandName, entry) {
76120
76210
  async function handleHelpCommand(ctx) {
76121
76211
  const targetCommand = ctx.args.join(" ");
76122
76212
  if (!targetCommand) {
76123
- const { buildHelpText } = await import("./index-kenz5bja.js");
76213
+ const { buildHelpText } = await import("./index-2kzxkx50.js");
76124
76214
  return buildHelpText();
76125
76215
  }
76126
76216
  const tokens = targetCommand.split(/\s+/);
@@ -76129,7 +76219,7 @@ async function handleHelpCommand(ctx) {
76129
76219
  return _internals101.buildDetailedHelp(resolved.key, resolved.entry);
76130
76220
  }
76131
76221
  const similar = _internals101.findSimilarCommands(targetCommand);
76132
- const { buildHelpText: fullHelp } = await import("./index-kenz5bja.js");
76222
+ const { buildHelpText: fullHelp } = await import("./index-2kzxkx50.js");
76133
76223
  if (similar.length > 0) {
76134
76224
  return `Command '/swarm ${targetCommand}' not found.
76135
76225
 
@@ -76316,7 +76406,7 @@ var COMMAND_REGISTRY = {
76316
76406
  },
76317
76407
  "guardrail explain": {
76318
76408
  handler: async (ctx) => {
76319
- const { handleGuardrailExplain } = await import("./guardrail-explain-kx9rem51.js");
76409
+ const { handleGuardrailExplain } = await import("./guardrail-explain-dyxbhrdj.js");
76320
76410
  return handleGuardrailExplain(ctx.directory, ctx.args);
76321
76411
  },
76322
76412
  description: "Dry-run: show what the guardrails would do to a command or write target (executes nothing)",
@@ -76326,7 +76416,7 @@ var COMMAND_REGISTRY = {
76326
76416
  },
76327
76417
  "guardrail reset": {
76328
76418
  handler: async (ctx) => {
76329
- const { handleGuardrailReset } = await import("./guardrail-reset-1mc3st34.js");
76419
+ const { handleGuardrailReset } = await import("./guardrail-reset-269jdwhd.js");
76330
76420
  return handleGuardrailReset(ctx.args, ctx.sessionID);
76331
76421
  },
76332
76422
  description: "Reset one exact active invocation/action circuit after repair",
@@ -76335,7 +76425,7 @@ var COMMAND_REGISTRY = {
76335
76425
  },
76336
76426
  "guardrail-explain": {
76337
76427
  handler: async (ctx) => {
76338
- const { handleGuardrailExplain } = await import("./guardrail-explain-kx9rem51.js");
76428
+ const { handleGuardrailExplain } = await import("./guardrail-explain-dyxbhrdj.js");
76339
76429
  return handleGuardrailExplain(ctx.directory, ctx.args);
76340
76430
  },
76341
76431
  description: "Dry-run: show what the guardrails would do to a command or write target (executes nothing)",
@@ -76345,7 +76435,7 @@ var COMMAND_REGISTRY = {
76345
76435
  },
76346
76436
  "guardrail-reset": {
76347
76437
  handler: async (ctx) => {
76348
- const { handleGuardrailReset } = await import("./guardrail-reset-1mc3st34.js");
76438
+ const { handleGuardrailReset } = await import("./guardrail-reset-269jdwhd.js");
76349
76439
  return handleGuardrailReset(ctx.args, ctx.sessionID);
76350
76440
  },
76351
76441
  description: "Reset one exact active invocation/action circuit after repair",
@@ -76355,7 +76445,7 @@ var COMMAND_REGISTRY = {
76355
76445
  },
76356
76446
  "guardrail-log": {
76357
76447
  handler: async (ctx) => {
76358
- const { handleGuardrailLog } = await import("./guardrail-log-zxzyx1de.js");
76448
+ const { handleGuardrailLog } = await import("./guardrail-log-eyecsekk.js");
76359
76449
  return handleGuardrailLog(ctx.directory, ctx.args);
76360
76450
  },
76361
76451
  description: "Read the guardrail decision log (use --blocks-only for blocks)",
@@ -82316,7 +82406,7 @@ function getDisplayBudget() {
82316
82406
  async function rehydratePrSubscriptions(sessionID, directory) {
82317
82407
  const map = new Map;
82318
82408
  try {
82319
- const { listActive: listActive2 } = await import("./pr-subscriptions-dq1f61ye.js");
82409
+ const { listActive: listActive2 } = await import("./pr-subscriptions-1ndwgtbw.js");
82320
82410
  const records = await listActive2(directory);
82321
82411
  for (const record of records) {
82322
82412
  if (record.sessionID !== sessionID)
@@ -82762,7 +82852,7 @@ function isLaneOwnedByCurrentSession(branchName, expectedSessionId) {
82762
82852
  return extracted === expectedSessionId;
82763
82853
  }
82764
82854
  async function inspectStandardWorktreeCollisionOwnership(identity) {
82765
- const collisionOwnership = await import("./worktree-collision-ownership-4drcjymy.js");
82855
+ const collisionOwnership = await import("./worktree-collision-ownership-gsay5210.js");
82766
82856
  return collisionOwnership.inspectStandardWorktreeCollisionOwnership(identity);
82767
82857
  }
82768
82858
  async function runRecoveryGit(directory, args, timeoutMs = 15000) {
@@ -83171,7 +83261,7 @@ async function precreateStandardWorktreeSession(args) {
83171
83261
  const laneProfile = computeLaneRuntimeProfile(worktreeConfig.runtime_isolation, laneIndex, handle.worktreePath);
83172
83262
  if (laneProfile) {
83173
83263
  try {
83174
- const { writeLaneProfileToDiskReal } = await import("./core-kmsm50zn.js");
83264
+ const { writeLaneProfileToDiskReal } = await import("./core-1h6x6k59.js");
83175
83265
  await writeLaneProfileToDiskReal(handle.worktreePath, laneProfile.laneIndex, laneProfile.envOverrides);
83176
83266
  } catch {}
83177
83267
  }
@@ -84096,7 +84186,7 @@ async function finishStandardWorktreeDispatch(directory, dispatch, config, callI
84096
84186
  }
84097
84187
  clearWorktreeMergeStatus(statusKey);
84098
84188
  try {
84099
- const { removeLaneProfileFromDiskReal } = await import("./core-kmsm50zn.js");
84189
+ const { removeLaneProfileFromDiskReal } = await import("./core-1h6x6k59.js");
84100
84190
  await removeLaneProfileFromDiskReal(dispatch.handle.worktreePath, dispatch.laneIndex);
84101
84191
  } catch {}
84102
84192
  const state = serializationStateBySessionID.get(dispatch.parentSessionID);