opencode-swarm 7.193.0 → 7.195.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.
- package/.opencode/skills/commit-pr/SKILL.md +8 -0
- package/.opencode/skills/issue-tracer/references/acceptance-checks.md +20 -0
- package/.opencode/skills/issue-tracer/references/full-resolution-contract.md +12 -0
- package/.opencode/skills/swarm-pr-feedback/SKILL.md +2 -2
- package/.opencode/skills/swarm-pr-feedback/references/operational-gotchas.md +18 -0
- package/.opencode/skills/swarm-pr-review/SKILL.md +11 -10
- package/.opencode/skills/swarm-pr-review/references/counterbalancing.md +68 -0
- package/.opencode/skills/swarm-pr-review/references/findings-persistence-contract.md +21 -0
- package/.opencode/skills/swarm-pr-review/references/parser-dry-run.md +11 -0
- package/.opencode/skills/swarm-pr-review/references/prompt-templates.md +8 -0
- package/README.md +1 -1
- package/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
- package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
- package/dist/background/pending-delegations.d.ts +8 -0
- package/dist/background/pr-review-collection-receipt.d.ts +7 -1
- package/dist/background/pr-review-contract.d.ts +10 -0
- package/dist/cli/{auto-checkpoint-taay16xe.js → auto-checkpoint-anf21wwa.js} +9 -9
- package/dist/cli/{checkpoint-6229g3jq.js → checkpoint-ngdw2qx2.js} +17 -17
- package/dist/cli/{coder-settlement-hexmmefv.js → coder-settlement-bqb059y2.js} +13 -13
- package/dist/cli/{config-doctor-3ghvthh5.js → config-doctor-vetg215g.js} +16 -16
- package/dist/cli/{core-0k7t9fw0.js → core-8qgvsm6x.js} +4 -4
- package/dist/cli/{curation-policy-8j6qn6nt.js → curation-policy-5hm6328s.js} +6 -6
- package/dist/cli/{curator-drift-a5142x0d.js → curator-drift-3gjycbkv.js} +9 -9
- package/dist/cli/{curator-kwwnkyr7.js → curator-hh0n9wgz.js} +43 -43
- package/dist/cli/curator-llm-factory-d17ybmgm.js +82 -0
- package/dist/cli/{doctor-knowledge-receipt-phase-id-11nsf9tz.js → doctor-knowledge-receipt-phase-id-1d465vkg.js} +9 -9
- package/dist/cli/{evidence-summary-service-y2ykc6ta.js → evidence-summary-service-rkd3yc5x.js} +20 -20
- package/dist/cli/{gate-evidence-cd5299js.js → gate-evidence-wtjrerkh.js} +8 -8
- package/dist/cli/guardrail-explain-8xh3r0dn.js +83 -0
- package/dist/cli/{guardrail-log-g6krx0s2.js → guardrail-log-jrey2myg.js} +8 -8
- package/dist/cli/{guardrail-reset-a3xv675m.js → guardrail-reset-m5qbg30j.js} +43 -43
- package/dist/cli/{hive-promoter-90svfzvs.js → hive-promoter-36yhdfre.js} +43 -43
- package/dist/cli/{index-5ev6f1gj.js → index-1hcjxz6w.js} +5 -5
- package/dist/cli/{index-6dn16dre.js → index-3k65kdfp.js} +13 -11
- package/dist/cli/{index-x2phyvcv.js → index-479kf368.js} +4 -4
- package/dist/cli/{index-5rkh69f3.js → index-4gmxdkcd.js} +2 -2
- package/dist/cli/{index-bg19b84s.js → index-5gf2wx2c.js} +7 -7
- package/dist/cli/{index-qh93qjc2.js → index-6183at3v.js} +2 -2
- package/dist/cli/{index-1p24bfn2.js → index-6vpqe4ws.js} +5 -5
- package/dist/cli/{index-ma71x1aa.js → index-780g1hht.js} +5 -5
- package/dist/cli/{index-jx80ed6g.js → index-7kbpzg05.js} +318 -95
- package/dist/cli/{index-mtqwyjrg.js → index-7rtq2t5n.js} +1 -1
- package/dist/cli/{index-vbp35frb.js → index-82aj6gaj.js} +3 -3
- package/dist/cli/{index-prvancd0.js → index-8448vj9w.js} +2 -2
- package/dist/cli/{index-d2emv8ap.js → index-863hst4e.js} +3 -3
- package/dist/cli/{index-db786kn6.js → index-9teqkkp4.js} +43 -43
- package/dist/cli/{index-bkpyff61.js → index-akb436kn.js} +4 -4
- package/dist/cli/{index-0e318vgt.js → index-app2rmxv.js} +1 -1
- package/dist/cli/{index-tr47q89d.js → index-bftpd2m5.js} +4 -4
- package/dist/cli/{index-rd9th57y.js → index-bpq6z8qe.js} +4 -4
- package/dist/cli/{index-cs0p582p.js → index-c4hx57tz.js} +5 -5
- package/dist/cli/{index-668npagp.js → index-c5xvm318.js} +1 -1
- package/dist/cli/{index-ngk8hpc3.js → index-c6hyd8hg.js} +1 -1
- package/dist/cli/{index-vg8sxg12.js → index-crz772sx.js} +1 -1
- package/dist/cli/{index-6s3ab22d.js → index-dfrcc46h.js} +2 -2
- package/dist/cli/{index-he2nyr7x.js → index-epdzvp4w.js} +11 -11
- package/dist/cli/{index-ymnathfr.js → index-fk4j26km.js} +7 -7
- package/dist/cli/{index-ndec8akq.js → index-gc0aeth5.js} +2 -2
- package/dist/cli/{index-fd6b9f38.js → index-ghckhk16.js} +2 -2
- package/dist/cli/{index-4mq8r4be.js → index-gns3gc87.js} +4 -4
- package/dist/cli/{index-5n760fzn.js → index-gz16dke1.js} +6 -6
- package/dist/cli/{index-3xj89bf0.js → index-h7275akd.js} +45 -45
- package/dist/cli/{index-cpt38e0e.js → index-ha8xc5d3.js} +2 -2
- package/dist/cli/{index-py8wpe81.js → index-hqrkr9ag.js} +2 -2
- package/dist/cli/{index-w2vbaczx.js → index-hy2fqapm.js} +1 -1
- package/dist/cli/{index-st80sjg7.js → index-j8t1g5qd.js} +1 -1
- package/dist/cli/{index-ntmnse4d.js → index-jatgbm7k.js} +1 -1
- package/dist/cli/{index-1dx5zyss.js → index-jn4mmhqc.js} +2 -2
- package/dist/cli/{index-nz6ehpjn.js → index-kmvy5fr8.js} +4 -4
- package/dist/cli/{index-84k9zzv1.js → index-kphy4we7.js} +1 -1
- package/dist/cli/{index-7njm9jk1.js → index-necqa5bj.js} +2 -2
- package/dist/cli/{index-bgtfvst1.js → index-peyz4k9k.js} +1 -1
- package/dist/cli/{index-3atkcqpb.js → index-ry5g9s8d.js} +1 -1
- package/dist/cli/{index-jxs9qnad.js → index-tc8x0zc5.js} +4 -4
- package/dist/cli/{index-e8k0v19e.js → index-xmbtwtgw.js} +1 -1
- package/dist/cli/{index-nktwf2xm.js → index-xs9cn3c0.js} +6 -6
- package/dist/cli/{index-hfssjyxs.js → index-yf2z4j7s.js} +2 -2
- package/dist/cli/{index-hfnyykvm.js → index-ypkfhqbc.js} +7 -7
- package/dist/cli/{index-r3mffz78.js → index-yryy781f.js} +4 -4
- package/dist/cli/{index-4gacy6y6.js → index-z59414gv.js} +2 -2
- package/dist/cli/index.js +44 -44
- package/dist/cli/{knowledge-escalator-2d7g3hs0.js → knowledge-escalator-6sgrjbcj.js} +15 -15
- package/dist/cli/{knowledge-events-hjeaevc9.js → knowledge-events-hztjt63y.js} +13 -13
- package/dist/cli/{knowledge-link-srnt95wh.js → knowledge-link-8bn2b7vr.js} +5 -5
- package/dist/cli/{knowledge-store-g9cb2m0v.js → knowledge-store-3sd2034v.js} +6 -6
- package/dist/cli/{knowledge-validator-dghf9pcj.js → knowledge-validator-3fe82zy4.js} +8 -8
- package/dist/cli/{mcp-f5myvd7r.js → mcp-spbx3efe.js} +1 -1
- package/dist/cli/{model-preflight-4w4wd6dj.js → model-preflight-k2bw7rt1.js} +43 -43
- package/dist/cli/{pending-delegations-adm6gf3n.js → pending-delegations-kcvd9t41.js} +14 -12
- package/dist/cli/{pr-subscriptions-n1hks854.js → pr-subscriptions-nqby87en.js} +12 -12
- package/dist/cli/{pr-workflow-gate-59cr6gve.js → pr-workflow-gate-cgbc0x1z.js} +59 -43
- package/dist/cli/{runner-b2e89cp1.js → runner-rt2smh14.js} +6 -6
- package/dist/cli/{scan-cursor-t26xmfhd.js → scan-cursor-sphr9phs.js} +7 -7
- package/dist/cli/{schema-cr120ar5.js → schema-x892aatt.js} +2 -2
- package/dist/cli/{scope-persistence-mrnz8j43.js → scope-persistence-n9xksct2.js} +16 -16
- package/dist/cli/{server-mwk6zn83.js → server-am2y11yn.js} +43 -43
- package/dist/cli/{skill-generator-svs4k0g8.js → skill-generator-p71b6h5k.js} +17 -17
- package/dist/cli/{snapshot-coordination-init-xzrahhsb.js → snapshot-coordination-init-x9b4t9sk.js} +43 -43
- package/dist/cli/{speckit-checkoff-g2qrb1tn.js → speckit-checkoff-xp9vsp9k.js} +5 -5
- package/dist/cli/{telemetry-qaymh4gg.js → telemetry-vapc5q4p.js} +1 -1
- package/dist/cli/{workspace-snapshot-p69t9zn7.js → workspace-snapshot-e3kw9kpg.js} +3 -3
- package/dist/cli/{worktree-collision-ownership-d145wmpg.js → worktree-collision-ownership-2pmyww6g.js} +13 -13
- package/dist/cli/{worktree-isolation-pt1rws6p.js → worktree-isolation-379tmkta.js} +43 -43
- package/dist/commands/registry.d.ts +1 -1
- package/dist/epic/start.d.ts +8 -5
- package/dist/hooks/pr-workflow-gate.d.ts +190 -0
- package/dist/host/v2/session-client.d.ts +96 -0
- package/dist/host/v2/types.d.ts +7 -5
- package/dist/index.js +36 -32
- package/dist/pr-review/legacy-transcript-adapter.d.ts +54 -0
- package/dist/pr-review/render-review-body.d.ts +20 -0
- package/dist/tools/dispatch-lanes.d.ts +16 -1
- package/dist/tools/pr-workflow-status.d.ts +24 -1
- package/package.json +1 -1
- package/dist/cli/curator-llm-factory-8gt3mvg9.js +0 -82
- package/dist/cli/guardrail-explain-hpgecr7x.js +0 -83
|
@@ -8,14 +8,14 @@ import {
|
|
|
8
8
|
protectedRoots,
|
|
9
9
|
redactDecisionLineForArchive,
|
|
10
10
|
stableCanonicalStringify
|
|
11
|
-
} from "./index-
|
|
11
|
+
} from "./index-akb436kn.js";
|
|
12
12
|
import {
|
|
13
13
|
detectStraySwarmDirs,
|
|
14
14
|
readDoctorArtifact,
|
|
15
15
|
removeStraySwarmDir,
|
|
16
16
|
resolvePlanParallelizationFlag,
|
|
17
17
|
runConfigDoctor
|
|
18
|
-
} from "./index-
|
|
18
|
+
} from "./index-gns3gc87.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-
|
|
30
|
+
} from "./index-780g1hht.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-
|
|
59
|
+
} from "./index-c5xvm318.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-
|
|
76
|
+
} from "./index-necqa5bj.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-
|
|
92
|
+
} from "./index-8448vj9w.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-
|
|
111
|
+
} from "./index-863hst4e.js";
|
|
112
112
|
import {
|
|
113
113
|
assertNoUnsettledCoderDispatch,
|
|
114
114
|
listCoderSettlementWalStates,
|
|
115
115
|
recoverCoderSettlement,
|
|
116
116
|
recoverStaleCoderSettlements
|
|
117
|
-
} from "./index-
|
|
117
|
+
} from "./index-fk4j26km.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-
|
|
138
|
+
} from "./index-yryy781f.js";
|
|
139
139
|
import {
|
|
140
140
|
buildEscalationBriefing,
|
|
141
141
|
readRecentEscalations
|
|
142
|
-
} from "./index-
|
|
142
|
+
} from "./index-gz16dke1.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-
|
|
170
|
+
} from "./index-ghckhk16.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-
|
|
191
|
+
} from "./index-ypkfhqbc.js";
|
|
192
192
|
import {
|
|
193
193
|
WORKTREE_LIFECYCLE_LOCK_FILE,
|
|
194
194
|
recordWorktreeProvisioningOwner,
|
|
195
195
|
removeWorktreeProvisioningOwner,
|
|
196
196
|
scanWorktreeProvisioningOwnersForRecovery
|
|
197
|
-
} from "./index-
|
|
197
|
+
} from "./index-dfrcc46h.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-
|
|
226
|
+
} from "./index-xs9cn3c0.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-
|
|
258
|
+
} from "./index-epdzvp4w.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-
|
|
274
|
+
} from "./index-peyz4k9k.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-
|
|
306
|
+
} from "./index-kmvy5fr8.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-
|
|
315
|
+
} from "./index-479kf368.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-
|
|
357
|
+
} from "./index-3k65kdfp.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-
|
|
369
|
+
} from "./index-bftpd2m5.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-
|
|
382
|
+
} from "./index-c4hx57tz.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-
|
|
393
|
+
} from "./index-kphy4we7.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-
|
|
413
|
+
} from "./index-tc8x0zc5.js";
|
|
414
414
|
import {
|
|
415
415
|
MAX_CURATION_PROPOSALS,
|
|
416
416
|
authorizeCuration,
|
|
417
417
|
buildConfigFingerprintInput
|
|
418
|
-
} from "./index-
|
|
418
|
+
} from "./index-hy2fqapm.js";
|
|
419
419
|
import {
|
|
420
420
|
cohortConfigFingerprint
|
|
421
421
|
} from "./index-rtry5xyf.js";
|
|
422
422
|
import {
|
|
423
423
|
resolveWorktreeIsolationConfig
|
|
424
|
-
} from "./index-
|
|
424
|
+
} from "./index-82aj6gaj.js";
|
|
425
425
|
import {
|
|
426
426
|
RetrospectiveEvidenceSchema
|
|
427
427
|
} from "./index-g22dps7x.js";
|
|
@@ -433,7 +433,7 @@ import {
|
|
|
433
433
|
clearScopeBindings,
|
|
434
434
|
readAuthoritativeScopeBindingSet,
|
|
435
435
|
readDeclaredScopeFilesFromBindings
|
|
436
|
-
} from "./index-
|
|
436
|
+
} from "./index-6vpqe4ws.js";
|
|
437
437
|
import {
|
|
438
438
|
approvedSnapshotCoversPlan,
|
|
439
439
|
clearPlanLedgerForReset,
|
|
@@ -450,7 +450,7 @@ import {
|
|
|
450
450
|
replayFromLedgerWithStatus,
|
|
451
451
|
resolvePlanningProfile,
|
|
452
452
|
takeSnapshotEvent
|
|
453
|
-
} from "./index-
|
|
453
|
+
} from "./index-1hcjxz6w.js";
|
|
454
454
|
import {
|
|
455
455
|
CORE_EVENT_LOCKED,
|
|
456
456
|
appendCoreEventSync,
|
|
@@ -460,7 +460,7 @@ import {
|
|
|
460
460
|
hasSpecDriftAuditEvent,
|
|
461
461
|
hasTaskRepairAuditEvent,
|
|
462
462
|
readCoreEvents
|
|
463
|
-
} from "./index-
|
|
463
|
+
} from "./index-6183at3v.js";
|
|
464
464
|
import {
|
|
465
465
|
DEFAULT_QA_GATES,
|
|
466
466
|
computeProfileHash,
|
|
@@ -468,7 +468,7 @@ import {
|
|
|
468
468
|
getEffectiveGates,
|
|
469
469
|
getProfileLookupForIdentity,
|
|
470
470
|
setGatesForIdentity
|
|
471
|
-
} from "./index-
|
|
471
|
+
} from "./index-j8t1g5qd.js";
|
|
472
472
|
import {
|
|
473
473
|
MAX_COORDINATION_STATE_LIST_ROWS,
|
|
474
474
|
deleteCoordinationImports,
|
|
@@ -479,7 +479,7 @@ import {
|
|
|
479
479
|
listCoordinationStates,
|
|
480
480
|
transitionCoordinationState,
|
|
481
481
|
withCoordinationTransaction
|
|
482
|
-
} from "./index-
|
|
482
|
+
} from "./index-crz772sx.js";
|
|
483
483
|
import {
|
|
484
484
|
DURABILITY_CLASSES,
|
|
485
485
|
closeAllProjectDbs,
|
|
@@ -488,7 +488,7 @@ import {
|
|
|
488
488
|
projectDbExists,
|
|
489
489
|
projectDbPath,
|
|
490
490
|
withImmediateTransaction
|
|
491
|
-
} from "./index-
|
|
491
|
+
} from "./index-app2rmxv.js";
|
|
492
492
|
import {
|
|
493
493
|
canonicalExistingFilesystemPath,
|
|
494
494
|
canonicalPathForFutureIo,
|
|
@@ -508,7 +508,7 @@ import {
|
|
|
508
508
|
observeModelLimitResolution,
|
|
509
509
|
observeStoreHealth,
|
|
510
510
|
readLearningHealth
|
|
511
|
-
} from "./index-
|
|
511
|
+
} from "./index-gc0aeth5.js";
|
|
512
512
|
import {
|
|
513
513
|
appendKnowledge,
|
|
514
514
|
appendRejectedLesson,
|
|
@@ -539,7 +539,7 @@ import {
|
|
|
539
539
|
transactFile,
|
|
540
540
|
transactKnowledge,
|
|
541
541
|
wordBigrams
|
|
542
|
-
} from "./index-
|
|
542
|
+
} from "./index-5gf2wx2c.js";
|
|
543
543
|
import {
|
|
544
544
|
readTailJsonl,
|
|
545
545
|
readTailJsonlDetailed,
|
|
@@ -560,13 +560,13 @@ import {
|
|
|
560
560
|
resolveLinkDir,
|
|
561
561
|
sanitizeLinkId,
|
|
562
562
|
writeLinkPointer
|
|
563
|
-
} from "./index-
|
|
563
|
+
} from "./index-ry5g9s8d.js";
|
|
564
564
|
import {
|
|
565
565
|
atomicWriteFile
|
|
566
|
-
} from "./index-
|
|
566
|
+
} from "./index-4gmxdkcd.js";
|
|
567
567
|
import {
|
|
568
568
|
withEvidenceLock
|
|
569
|
-
} from "./index-
|
|
569
|
+
} from "./index-xmbtwtgw.js";
|
|
570
570
|
import {
|
|
571
571
|
assertProjectRoot
|
|
572
572
|
} from "./index-t7hmqgjy.js";
|
|
@@ -580,7 +580,7 @@ import {
|
|
|
580
580
|
pseudonymousRef,
|
|
581
581
|
resolveLineageSalt,
|
|
582
582
|
telemetry
|
|
583
|
-
} from "./index-
|
|
583
|
+
} from "./index-7rtq2t5n.js";
|
|
584
584
|
import {
|
|
585
585
|
SESSION_KEY_SEPARATOR,
|
|
586
586
|
canonicalRootKey,
|
|
@@ -606,7 +606,7 @@ import {
|
|
|
606
606
|
matchTempGrammar,
|
|
607
607
|
parseTargetBasename,
|
|
608
608
|
resetSwarmArtifactCache
|
|
609
|
-
} from "./index-
|
|
609
|
+
} from "./index-yf2z4j7s.js";
|
|
610
610
|
import {
|
|
611
611
|
PlanSchema,
|
|
612
612
|
TaskStatusSchema,
|
|
@@ -624,7 +624,7 @@ import {
|
|
|
624
624
|
loadPluginConfig,
|
|
625
625
|
loadPluginConfigWithMeta,
|
|
626
626
|
resolveEpicConfig
|
|
627
|
-
} from "./index-
|
|
627
|
+
} from "./index-c6hyd8hg.js";
|
|
628
628
|
import {
|
|
629
629
|
GIT_BINARY_ENV_VAR,
|
|
630
630
|
addDeferredWarning,
|
|
@@ -657,7 +657,7 @@ import {
|
|
|
657
657
|
resolveContextWindow,
|
|
658
658
|
resolveGeneratedAgentRole,
|
|
659
659
|
stripKnownSwarmPrefix
|
|
660
|
-
} from "./index-
|
|
660
|
+
} from "./index-jn4mmhqc.js";
|
|
661
661
|
import {
|
|
662
662
|
AGENT_TOOL_MAP,
|
|
663
663
|
ALL_AGENT_NAMES,
|
|
@@ -683,7 +683,7 @@ import {
|
|
|
683
683
|
init_agent_names,
|
|
684
684
|
init_constants,
|
|
685
685
|
init_tool_metadata
|
|
686
|
-
} from "./index-
|
|
686
|
+
} from "./index-hqrkr9ag.js";
|
|
687
687
|
import {
|
|
688
688
|
KNOWLEDGE_SCHEMA_VERSION,
|
|
689
689
|
OUTCOME_BLOCK_THRESHOLD,
|
|
@@ -3457,7 +3457,7 @@ async function importLegacyPrWorkflowGateStateIfNeeded(directory, sessionID, all
|
|
|
3457
3457
|
return null;
|
|
3458
3458
|
throw error2;
|
|
3459
3459
|
}
|
|
3460
|
-
const legacy = allowSalvagedImport ? (await (await import("./pr-workflow-gate-
|
|
3460
|
+
const legacy = allowSalvagedImport ? (await (await import("./pr-workflow-gate-cgbc0x1z.js")).readPrWorkflowGateStateForRecovery(directory, sessionID))?.state ?? null : await readPrWorkflowGateStateFileFromDisk(filePath, sessionID);
|
|
3461
3461
|
if (!legacy)
|
|
3462
3462
|
return null;
|
|
3463
3463
|
const namespace = workflowGateStateCoordinationNamespace(sessionID);
|
|
@@ -3544,7 +3544,7 @@ async function deleteStateWhileLocked(directory, sessionID, options = {}) {
|
|
|
3544
3544
|
let recoveryState = null;
|
|
3545
3545
|
if (!currentAuthoritative) {
|
|
3546
3546
|
if (options.allowSalvagedRead) {
|
|
3547
|
-
const { readPrWorkflowGateStateForRecovery } = await import("./pr-workflow-gate-
|
|
3547
|
+
const { readPrWorkflowGateStateForRecovery } = await import("./pr-workflow-gate-cgbc0x1z.js");
|
|
3548
3548
|
recoveryState = (await readPrWorkflowGateStateForRecovery(directory, normalizedSessionID))?.state ?? null;
|
|
3549
3549
|
}
|
|
3550
3550
|
if (!recoveryState) {
|
|
@@ -4840,6 +4840,35 @@ function composePrReviewPhaseVerdicts(directory, state, phase, ctx, exhaustive =
|
|
|
4840
4840
|
const diagnostics = [];
|
|
4841
4841
|
const satisfiedObligations = new Set;
|
|
4842
4842
|
const scannedBatches = [];
|
|
4843
|
+
const laneFailureReasons = new Map;
|
|
4844
|
+
const orderObservations = phase === "reviewer" ? new Map : undefined;
|
|
4845
|
+
const orderObservingBatchIds = new Set;
|
|
4846
|
+
const recordOrderObservations = (batchId, coherence, parsed) => {
|
|
4847
|
+
const order = coherence?.presentationOrder;
|
|
4848
|
+
if (!order || !orderObservations)
|
|
4849
|
+
return 0;
|
|
4850
|
+
let recorded = 0;
|
|
4851
|
+
for (const [itemId, verdict] of parsed) {
|
|
4852
|
+
if (coherence && !coherence.validatedInventory.includes(itemId)) {
|
|
4853
|
+
continue;
|
|
4854
|
+
}
|
|
4855
|
+
let perItem = orderObservations.get(itemId);
|
|
4856
|
+
if (!perItem) {
|
|
4857
|
+
perItem = new Map;
|
|
4858
|
+
orderObservations.set(itemId, perItem);
|
|
4859
|
+
}
|
|
4860
|
+
if (!perItem.has(order)) {
|
|
4861
|
+
perItem.set(order, {
|
|
4862
|
+
classification: verdict.classification,
|
|
4863
|
+
severity: verdict.severity
|
|
4864
|
+
});
|
|
4865
|
+
recorded += 1;
|
|
4866
|
+
}
|
|
4867
|
+
}
|
|
4868
|
+
if (recorded > 0)
|
|
4869
|
+
orderObservingBatchIds.add(batchId);
|
|
4870
|
+
return recorded;
|
|
4871
|
+
};
|
|
4843
4872
|
for (const batch of [...window].reverse()) {
|
|
4844
4873
|
scannedBatches.push(batch);
|
|
4845
4874
|
if (!batchMayContributeClaims(directory, state, batch, phase, requiredInventory, forbiddenSubagentSessionIds, reviewerClaims, ctx)) {
|
|
@@ -4849,15 +4878,21 @@ function composePrReviewPhaseVerdicts(directory, state, phase, ctx, exhaustive =
|
|
|
4849
4878
|
const coherence = state.prReviewBatchCoherence?.[batch.batchId];
|
|
4850
4879
|
let contributed = false;
|
|
4851
4880
|
for (const qualified of recordsPassingBatchIntegrity(directory, state, batch.batchId, batch.lanes, expectedMode, batch.validatedAt, true, forbiddenSubagentSessionIds)) {
|
|
4852
|
-
const
|
|
4853
|
-
|
|
4881
|
+
const integrityDiagnostics = [];
|
|
4882
|
+
const artifact = loadArtifactPassingLaneIntegrity(directory, state, qualified.record, expectedMode, qualified.expectedWorkflowLane, ctx.revisionDigest, integrityDiagnostics);
|
|
4883
|
+
if (!artifact) {
|
|
4884
|
+
const reason = integrityDiagnostics.at(-1);
|
|
4885
|
+
if (reason)
|
|
4886
|
+
laneFailureReasons.set(qualified.expectedWorkflowLane, reason);
|
|
4854
4887
|
continue;
|
|
4888
|
+
}
|
|
4855
4889
|
const declaredItems = qualified.expectedLane.reviewItemIds ?? [];
|
|
4856
4890
|
const { markerRows, parsed } = parsePrReviewVerdictRows(artifact.text, declaredItems, phase, reviewerClaims);
|
|
4857
4891
|
if (!verdictRowsContainOnlyAssignedIds(markerRows, declaredItems)) {
|
|
4858
4892
|
appendCompositionDiagnostic(diagnostics, `${phase} lane "${qualified.expectedLane.laneId}" contains an unassigned verdict row; it contributes no claims`);
|
|
4859
4893
|
continue;
|
|
4860
4894
|
}
|
|
4895
|
+
recordOrderObservations(batch.batchId, coherence, parsed);
|
|
4861
4896
|
if (declaredItems.length > 0 && parsed.size === declaredItems.length) {
|
|
4862
4897
|
satisfiedObligations.add(qualified.expectedWorkflowLane);
|
|
4863
4898
|
}
|
|
@@ -4884,16 +4919,56 @@ function composePrReviewPhaseVerdicts(directory, state, phase, ctx, exhaustive =
|
|
|
4884
4919
|
if (!exhaustive && claims.size === requiredSet.size)
|
|
4885
4920
|
break;
|
|
4886
4921
|
}
|
|
4922
|
+
if (phase === "reviewer" && orderObservations) {
|
|
4923
|
+
const scanned = new Set(scannedBatches.map((batch) => batch.batchId));
|
|
4924
|
+
for (const batch of [...window].reverse()) {
|
|
4925
|
+
if (scanned.has(batch.batchId))
|
|
4926
|
+
continue;
|
|
4927
|
+
if (!batchMayContributeClaims(directory, state, batch, phase, requiredInventory, forbiddenSubagentSessionIds, reviewerClaims, ctx)) {
|
|
4928
|
+
continue;
|
|
4929
|
+
}
|
|
4930
|
+
const coherence = state.prReviewBatchCoherence?.[batch.batchId];
|
|
4931
|
+
if (!coherence?.presentationOrder)
|
|
4932
|
+
continue;
|
|
4933
|
+
for (const qualified of recordsPassingBatchIntegrity(directory, state, batch.batchId, batch.lanes, expectedMode, batch.validatedAt, true, forbiddenSubagentSessionIds)) {
|
|
4934
|
+
const artifact = loadArtifactPassingLaneIntegrity(directory, state, qualified.record, expectedMode, qualified.expectedWorkflowLane, ctx.revisionDigest);
|
|
4935
|
+
if (!artifact)
|
|
4936
|
+
continue;
|
|
4937
|
+
const declaredItems = qualified.expectedLane.reviewItemIds ?? [];
|
|
4938
|
+
const { markerRows, parsed } = parsePrReviewVerdictRows(artifact.text, declaredItems, phase, reviewerClaims);
|
|
4939
|
+
if (!verdictRowsContainOnlyAssignedIds(markerRows, declaredItems)) {
|
|
4940
|
+
continue;
|
|
4941
|
+
}
|
|
4942
|
+
recordOrderObservations(batch.batchId, coherence, parsed);
|
|
4943
|
+
}
|
|
4944
|
+
}
|
|
4945
|
+
}
|
|
4946
|
+
if (phase === "reviewer" && orderObservations) {
|
|
4947
|
+
for (const [itemId, claim] of claims) {
|
|
4948
|
+
const perItem = orderObservations.get(itemId);
|
|
4949
|
+
const orderA = perItem?.get("A");
|
|
4950
|
+
const orderB = perItem?.get("B");
|
|
4951
|
+
claim.orderAgreement = orderA && orderB ? orderA.classification === orderB.classification && orderA.severity === orderB.severity ? "agree" : "disagree" : "single";
|
|
4952
|
+
}
|
|
4953
|
+
}
|
|
4887
4954
|
for (const obligation of new Set(scannedBatches.flatMap((batch) => batch.lanes.map((lane) => lane.workflowLane)))) {
|
|
4888
4955
|
if (satisfiedObligations.has(obligation))
|
|
4889
4956
|
continue;
|
|
4890
|
-
|
|
4957
|
+
const failureReason = laneFailureReasons.get(obligation);
|
|
4958
|
+
const laneIds = scannedBatches.flatMap((batch) => batch.lanes).filter((lane) => lane.workflowLane === obligation).map((lane) => lane.laneId);
|
|
4959
|
+
const journalMessage = state.prReviewVerdictRejections?.length ? requireBoundHelpers().latestPrReviewVerdictRejectionForLane(state, {
|
|
4960
|
+
workflowLane: obligation,
|
|
4961
|
+
laneIds,
|
|
4962
|
+
boundary: phase === "reviewer" ? "post_reviewer" : phase === "critic" ? "post_critic" : "post_explorer"
|
|
4963
|
+
}) : undefined;
|
|
4964
|
+
appendCompositionDiagnostic(diagnostics, `declared ${phase} lane "${obligation}" produced no successful exact artifact${journalMessage ? `; last rejected write_pr_review_artifact: ${journalMessage}` : ""}${failureReason ? `: ${failureReason}` : ""}`);
|
|
4891
4965
|
}
|
|
4892
4966
|
const composition = {
|
|
4893
4967
|
claims,
|
|
4894
4968
|
requiredInventory,
|
|
4895
4969
|
unclaimed: requiredInventory.filter((itemId) => !claims.has(itemId)),
|
|
4896
4970
|
contributingBatchIds,
|
|
4971
|
+
orderObservingBatchIds: phase === "reviewer" ? [...orderObservingBatchIds] : [],
|
|
4897
4972
|
diagnostics
|
|
4898
4973
|
};
|
|
4899
4974
|
if (!exhaustive) {
|
|
@@ -11267,7 +11342,7 @@ function isLaneOwnedByCurrentSession(branchName, expectedSessionId) {
|
|
|
11267
11342
|
return extracted === expectedSessionId;
|
|
11268
11343
|
}
|
|
11269
11344
|
async function inspectStandardWorktreeCollisionOwnership(identity) {
|
|
11270
|
-
const collisionOwnership = await import("./worktree-collision-ownership-
|
|
11345
|
+
const collisionOwnership = await import("./worktree-collision-ownership-2pmyww6g.js");
|
|
11271
11346
|
return collisionOwnership.inspectStandardWorktreeCollisionOwnership(identity);
|
|
11272
11347
|
}
|
|
11273
11348
|
async function runRecoveryGit(directory, args, timeoutMs = 15000) {
|
|
@@ -11695,7 +11770,7 @@ async function precreateStandardWorktreeSession(args) {
|
|
|
11695
11770
|
const laneProfile = computeLaneRuntimeProfile(worktreeConfig.runtime_isolation, laneIndex, handle.worktreePath);
|
|
11696
11771
|
if (laneProfile) {
|
|
11697
11772
|
try {
|
|
11698
|
-
const { writeLaneProfileToDiskReal } = await import("./core-
|
|
11773
|
+
const { writeLaneProfileToDiskReal } = await import("./core-8qgvsm6x.js");
|
|
11699
11774
|
await writeLaneProfileToDiskReal(handle.worktreePath, laneProfile.laneIndex, laneProfile.envOverrides);
|
|
11700
11775
|
} catch {}
|
|
11701
11776
|
}
|
|
@@ -12689,7 +12764,7 @@ async function finishStandardWorktreeDispatch(directory, dispatch, config, callI
|
|
|
12689
12764
|
}
|
|
12690
12765
|
clearWorktreeMergeStatus(statusKey);
|
|
12691
12766
|
try {
|
|
12692
|
-
const { removeLaneProfileFromDiskReal } = await import("./core-
|
|
12767
|
+
const { removeLaneProfileFromDiskReal } = await import("./core-8qgvsm6x.js");
|
|
12693
12768
|
await removeLaneProfileFromDiskReal(dispatch.handle.worktreePath, dispatch.laneIndex);
|
|
12694
12769
|
} catch {}
|
|
12695
12770
|
const state = serializationStateBySessionID.get(dispatch.parentSessionID);
|
|
@@ -29031,7 +29106,7 @@ function clearCriticalShownIds(sessionID) {
|
|
|
29031
29106
|
async function rehydratePrSubscriptions(sessionID, directory) {
|
|
29032
29107
|
const map = new Map;
|
|
29033
29108
|
try {
|
|
29034
|
-
const { listActive: listActive2 } = await import("./pr-subscriptions-
|
|
29109
|
+
const { listActive: listActive2 } = await import("./pr-subscriptions-nqby87en.js");
|
|
29035
29110
|
const records = await listActive2(directory);
|
|
29036
29111
|
for (const record of records) {
|
|
29037
29112
|
if (record.sessionID !== sessionID)
|
|
@@ -29161,6 +29236,7 @@ var MAX_PUSH_ATTEMPT_DIAGNOSTIC_CHARS = 500;
|
|
|
29161
29236
|
var PUBLICATION_SCHEMA_VERSION = 1;
|
|
29162
29237
|
var PUBLICATION_URL_CREDENTIALS_PATTERN = /\b([a-zA-Z][a-zA-Z0-9+.-]*:\/\/)[^\s/@:]+:[^\s/@]+@/g;
|
|
29163
29238
|
var MAX_PR_REVIEW_SUBMIT_REJECTIONS = 24;
|
|
29239
|
+
var MAX_PR_REVIEW_VERDICT_REJECTIONS = 24;
|
|
29164
29240
|
var GATE_SCHEMA_VERSION = 1;
|
|
29165
29241
|
var MAX_WORKFLOW_BATCHES = 128;
|
|
29166
29242
|
var MAX_PR_REVIEW_BASE_LANES_PER_BATCH = PR_REVIEW_BASE_DIMENSION_IDS.length;
|
|
@@ -29389,7 +29465,9 @@ var PrReviewMicroFamilyDispatchRecordSchema = exports_external.object({
|
|
|
29389
29465
|
var PrReviewBatchCoherenceRecordSchema = exports_external.object({
|
|
29390
29466
|
validatedInventory: exports_external.array(exports_external.string().min(1)),
|
|
29391
29467
|
reviewerItemBindings: exports_external.record(exports_external.string().min(1), exports_external.string().regex(/^[0-9a-f]{64}$/)).optional(),
|
|
29392
|
-
reviewerItemBindingKeyEncoding: exports_external.literal("prefixed-v1").optional()
|
|
29468
|
+
reviewerItemBindingKeyEncoding: exports_external.literal("prefixed-v1").optional(),
|
|
29469
|
+
presentationOrder: exports_external.enum(["A", "B"]).optional(),
|
|
29470
|
+
orderUnstableItemIds: exports_external.array(exports_external.string().min(1)).optional()
|
|
29393
29471
|
}).passthrough();
|
|
29394
29472
|
var PrFeedbackScopeDeclarationRecordSchema = exports_external.object({
|
|
29395
29473
|
taskId: exports_external.string().regex(/^\d+\.\d+(?:\.\d+)*$/),
|
|
@@ -29474,6 +29552,14 @@ var PrWorkflowGateStateSchema = exports_external.object({
|
|
|
29474
29552
|
at: exports_external.number(),
|
|
29475
29553
|
message: exports_external.string().min(1).max(300)
|
|
29476
29554
|
}).strict()).max(MAX_PR_REVIEW_SUBMIT_REJECTIONS).optional(),
|
|
29555
|
+
prReviewVerdictRejections: exports_external.array(exports_external.object({
|
|
29556
|
+
sessionId: exports_external.string().min(1).max(200),
|
|
29557
|
+
laneId: exports_external.string().min(1).max(200).optional(),
|
|
29558
|
+
workflowLane: exports_external.string().min(1).max(200).optional(),
|
|
29559
|
+
boundary: exports_external.enum(["post_explorer", "post_reviewer", "post_critic"]).optional(),
|
|
29560
|
+
at: exports_external.number(),
|
|
29561
|
+
message: exports_external.string().min(1).max(300)
|
|
29562
|
+
}).passthrough()).max(MAX_PR_REVIEW_VERDICT_REJECTIONS).optional(),
|
|
29477
29563
|
prReviewArtifactBoundaries: exports_external.array(exports_external.enum(["post_explorer", "post_reviewer", "post_critic"])).max(3).optional(),
|
|
29478
29564
|
prReviewHandoffPath: exports_external.string().min(1).optional(),
|
|
29479
29565
|
prReviewHandoffRequired: exports_external.boolean().optional(),
|
|
@@ -29685,6 +29771,73 @@ function latestPrReviewSubmitRejectionMessage(state, childSessionId) {
|
|
|
29685
29771
|
}
|
|
29686
29772
|
return;
|
|
29687
29773
|
}
|
|
29774
|
+
async function recordPrReviewVerdictRejection(directory, sessionID, message, attribution) {
|
|
29775
|
+
try {
|
|
29776
|
+
const session = sessionID.trim();
|
|
29777
|
+
if (!session)
|
|
29778
|
+
return;
|
|
29779
|
+
const laneId = attribution?.laneId?.trim();
|
|
29780
|
+
const workflowLane = attribution?.workflowLane?.trim();
|
|
29781
|
+
const boundary = attribution?.boundary;
|
|
29782
|
+
const existing = await readPrWorkflowGateStateFromDisk3(directory, session);
|
|
29783
|
+
if (!existing || existing.mode !== "PR_REVIEW")
|
|
29784
|
+
return;
|
|
29785
|
+
const bounded = redactSecrets(message.replace(PUBLICATION_URL_CREDENTIALS_PATTERN, "$1[REDACTED:url_credentials]@")).slice(0, 300);
|
|
29786
|
+
await withSessionStateMutation(directory, session, async () => {
|
|
29787
|
+
const locked = await readPrWorkflowGateStateFromDisk3(directory, session);
|
|
29788
|
+
if (!locked || locked.mode !== "PR_REVIEW")
|
|
29789
|
+
return;
|
|
29790
|
+
const prior = locked.prReviewVerdictRejections ?? [];
|
|
29791
|
+
const newestForSession = prior.filter((entry) => entry.sessionId === session).at(-1);
|
|
29792
|
+
if (newestForSession?.message === bounded && newestForSession?.boundary === boundary)
|
|
29793
|
+
return;
|
|
29794
|
+
const journal = [
|
|
29795
|
+
...prior,
|
|
29796
|
+
{
|
|
29797
|
+
sessionId: session,
|
|
29798
|
+
...laneId ? { laneId } : {},
|
|
29799
|
+
...workflowLane ? { workflowLane } : {},
|
|
29800
|
+
...boundary ? { boundary } : {},
|
|
29801
|
+
at: Date.now(),
|
|
29802
|
+
message: bounded
|
|
29803
|
+
}
|
|
29804
|
+
].slice(-MAX_PR_REVIEW_VERDICT_REJECTIONS);
|
|
29805
|
+
await writeStateWhileLocked(directory, {
|
|
29806
|
+
...locked,
|
|
29807
|
+
prReviewVerdictRejections: journal,
|
|
29808
|
+
updatedAt: isoNow()
|
|
29809
|
+
});
|
|
29810
|
+
});
|
|
29811
|
+
} catch {}
|
|
29812
|
+
}
|
|
29813
|
+
function latestPrReviewVerdictRejectionForLane(state, matchers) {
|
|
29814
|
+
const journal = state.prReviewVerdictRejections;
|
|
29815
|
+
if (!journal?.length)
|
|
29816
|
+
return;
|
|
29817
|
+
const laneIds = matchers.laneIds?.length ? new Set(matchers.laneIds) : undefined;
|
|
29818
|
+
for (let index = journal.length - 1;index >= 0; index--) {
|
|
29819
|
+
const entry = journal[index];
|
|
29820
|
+
if (!entry)
|
|
29821
|
+
continue;
|
|
29822
|
+
if (matchers.workflowLane && entry.workflowLane === matchers.workflowLane)
|
|
29823
|
+
return entry.message;
|
|
29824
|
+
if (laneIds && entry.laneId && laneIds.has(entry.laneId))
|
|
29825
|
+
return entry.message;
|
|
29826
|
+
}
|
|
29827
|
+
if (matchers.boundary) {
|
|
29828
|
+
for (let index = journal.length - 1;index >= 0; index--) {
|
|
29829
|
+
const entry = journal[index];
|
|
29830
|
+
if (entry?.boundary === matchers.boundary)
|
|
29831
|
+
return entry.message;
|
|
29832
|
+
}
|
|
29833
|
+
}
|
|
29834
|
+
for (let index = journal.length - 1;index >= 0; index--) {
|
|
29835
|
+
const entry = journal[index];
|
|
29836
|
+
if (entry && !entry.boundary)
|
|
29837
|
+
return entry.message;
|
|
29838
|
+
}
|
|
29839
|
+
return;
|
|
29840
|
+
}
|
|
29688
29841
|
async function submitPrReviewResultCore(directory, childSessionId, input) {
|
|
29689
29842
|
const child = childSessionId.trim();
|
|
29690
29843
|
const parsedResult = PrReviewLaneResultEnvelopeSchema.safeParse(input.result);
|
|
@@ -31806,13 +31959,15 @@ function pruneWorkflowBatches(directory, state, revisionDigest) {
|
|
|
31806
31959
|
for (const batch of validationBatches) {
|
|
31807
31960
|
newestBatchIdByPhase.set(batch.phase, batch.batchId);
|
|
31808
31961
|
}
|
|
31809
|
-
const
|
|
31962
|
+
const exhaustiveReviewerComposition = composePrReviewPhaseVerdicts(directory, state, "reviewer", ctx, true);
|
|
31963
|
+
const contributingReviewerBatchIds = new Set(exhaustiveReviewerComposition.contributingBatchIds);
|
|
31964
|
+
const orderObservingReviewerBatchIds = new Set(exhaustiveReviewerComposition.orderObservingBatchIds);
|
|
31810
31965
|
const survivingValidation = validationBatches.filter((batch) => {
|
|
31811
31966
|
if (batch.phase === "council" || batch.phase === "critic")
|
|
31812
31967
|
return true;
|
|
31813
31968
|
if (newestBatchIdByPhase.get(batch.phase) === batch.batchId)
|
|
31814
31969
|
return true;
|
|
31815
|
-
return contributingReviewerBatchIds.has(batch.batchId);
|
|
31970
|
+
return contributingReviewerBatchIds.has(batch.batchId) || orderObservingReviewerBatchIds.has(batch.batchId);
|
|
31816
31971
|
});
|
|
31817
31972
|
if (survivingBase.length === baseBatches.length && survivingValidation.length === validationBatches.length) {
|
|
31818
31973
|
return null;
|
|
@@ -31911,6 +32066,11 @@ async function recordPrReviewMicroFamilyDispatch(directory, sessionID, lanes, op
|
|
|
31911
32066
|
await persistState(directory, nextState);
|
|
31912
32067
|
return nextState;
|
|
31913
32068
|
}
|
|
32069
|
+
function derivePrReviewOrderUnstableItemsForState(directory, state, ctx, assignedItems) {
|
|
32070
|
+
const assigned = new Set(assignedItems);
|
|
32071
|
+
const composition = composePrReviewPhaseVerdicts(directory, state, "reviewer", ctx);
|
|
32072
|
+
return [...composition.claims.entries()].filter(([itemId, claim]) => claim.orderAgreement === "disagree" && assigned.has(itemId)).map(([itemId]) => itemId).sort();
|
|
32073
|
+
}
|
|
31914
32074
|
async function recordPrReviewValidationBatch(directory, sessionID, phase, lanes, options) {
|
|
31915
32075
|
let state = await bindPrWorkflowHead(directory, sessionID, options.prHeadSha);
|
|
31916
32076
|
if (state.mode !== "PR_REVIEW")
|
|
@@ -31958,9 +32118,20 @@ async function recordPrReviewValidationBatch(directory, sessionID, phase, lanes,
|
|
|
31958
32118
|
const retained = phase === "reviewer" ? previous.filter((batch) => batch.phase !== "critic" || Boolean(state.prReviewBatchCoherence?.[batch.batchId]?.reviewerItemBindings)) : previous;
|
|
31959
32119
|
const retainedIds = new Set(retained.map((batch) => batch.batchId));
|
|
31960
32120
|
const coherence = Object.fromEntries(Object.entries(state.prReviewBatchCoherence ?? {}).filter(([id]) => retainedIds.has(id)));
|
|
32121
|
+
const retainedState = {
|
|
32122
|
+
...state,
|
|
32123
|
+
prReviewValidationBatches: retained
|
|
32124
|
+
};
|
|
32125
|
+
const presentationOrder = phase === "reviewer" ? prReviewPhaseWindow2(retainedState, "reviewer").length % 2 === 0 ? "A" : "B" : undefined;
|
|
32126
|
+
if (phase === "reviewer" && options.expectedPresentationOrder !== undefined && options.expectedPresentationOrder !== presentationOrder) {
|
|
32127
|
+
throw new Error(`BLOCKED: PR_REVIEW reviewer presentation order derives as "${presentationOrder}" but the dispatch prompt was built for "${options.expectedPresentationOrder}"; re-derive the order and retry the dispatch`);
|
|
32128
|
+
}
|
|
32129
|
+
const orderUnstableItemIds = phase === "critic" ? derivePrReviewOrderUnstableItemsForState(directory, retainedState, ctx, normalizedLanes.flatMap((lane) => lane.reviewItemIds ?? [])) : undefined;
|
|
31961
32130
|
if (validatedInventory) {
|
|
31962
32131
|
coherence[batchId] = {
|
|
31963
32132
|
validatedInventory,
|
|
32133
|
+
...presentationOrder ? { presentationOrder } : {},
|
|
32134
|
+
...orderUnstableItemIds?.length ? { orderUnstableItemIds } : {},
|
|
31964
32135
|
...reviewerItemBindings ? {
|
|
31965
32136
|
reviewerItemBindings,
|
|
31966
32137
|
reviewerItemBindingKeyEncoding: "prefixed-v1"
|
|
@@ -35247,7 +35418,8 @@ bindPrReviewTranscriptAdapterHelpers({
|
|
|
35247
35418
|
prReviewPhaseWindow: prReviewPhaseWindow2,
|
|
35248
35419
|
batchMayContributeClaims: batchMayContributeClaims2,
|
|
35249
35420
|
recordsPassingBatchIntegrity: recordsPassingBatchIntegrity3,
|
|
35250
|
-
loadArtifactPassingLaneIntegrity: loadArtifactPassingLaneIntegrity2
|
|
35421
|
+
loadArtifactPassingLaneIntegrity: loadArtifactPassingLaneIntegrity2,
|
|
35422
|
+
latestPrReviewVerdictRejectionForLane
|
|
35251
35423
|
});
|
|
35252
35424
|
function noActiveGateError(sessionID) {
|
|
35253
35425
|
return new Error(`BLOCKED: no active PR workflow gate for session "${normalizeSessionID(sessionID)}". ` + `The gate is activated by running \`/swarm pr-review <pr-ref>\` (PR_REVIEW) or \`/swarm pr-feedback <pr-ref>\` (PR_FEEDBACK), ` + `or by the first dispatch_lanes_async call with mode "swarm-pr-review:*" / "swarm-pr-feedback:*".`);
|
|
@@ -36175,6 +36347,29 @@ function derivePrReviewCandidateInventory2(directory, state, ctx) {
|
|
|
36175
36347
|
ctx.candidateInventory = candidateIds.length > 0 ? candidateIds.sort() : [PR_REVIEW_CLEAN_SENTINEL_ID];
|
|
36176
36348
|
return ctx.candidateInventory;
|
|
36177
36349
|
}
|
|
36350
|
+
var PR_REVIEW_STATUS_REASON_MAX_CHARS = 240;
|
|
36351
|
+
function boundPrReviewStatusReason(error2) {
|
|
36352
|
+
const message = error2 instanceof Error ? error2.message : String(error2 ?? "unknown error");
|
|
36353
|
+
const cleaned = message.replace(/[\p{Cc}]/gu, " ").replace(/[`<>]/g, " ").replace(/\s+/g, " ").trim();
|
|
36354
|
+
return cleaned.length > PR_REVIEW_STATUS_REASON_MAX_CHARS ? `${cleaned.slice(0, PR_REVIEW_STATUS_REASON_MAX_CHARS)}\u2026` : cleaned;
|
|
36355
|
+
}
|
|
36356
|
+
async function derivePrReviewCandidateInventoryForStatus(directory, state) {
|
|
36357
|
+
if (!state.prHeadSha) {
|
|
36358
|
+
return {
|
|
36359
|
+
state: "unavailable",
|
|
36360
|
+
reason: "active PR_REVIEW workflow is not bound to a PR head"
|
|
36361
|
+
};
|
|
36362
|
+
}
|
|
36363
|
+
try {
|
|
36364
|
+
const ctx = await createPrReviewGateContext2(directory, state);
|
|
36365
|
+
return {
|
|
36366
|
+
state: "available",
|
|
36367
|
+
inventory: derivePrReviewCandidateInventory2(directory, state, ctx)
|
|
36368
|
+
};
|
|
36369
|
+
} catch (error2) {
|
|
36370
|
+
return { state: "unavailable", reason: boundPrReviewStatusReason(error2) };
|
|
36371
|
+
}
|
|
36372
|
+
}
|
|
36178
36373
|
function appendBoundedCandidateIssue(issues, message) {
|
|
36179
36374
|
if (issues.length < MAX_CANDIDATE_ISSUES_PER_ARTIFACT - 1) {
|
|
36180
36375
|
issues.push(message.slice(0, MAX_BASE_COVERAGE_DIAGNOSTIC_CHARS2));
|
|
@@ -36471,6 +36666,33 @@ async function readAuthoritativePrReviewCriticVerdicts(directory, sessionID) {
|
|
|
36471
36666
|
const ctx = await createPrReviewGateContext2(directory, state);
|
|
36472
36667
|
return authoritativeCriticVerdictsForGate(directory, state, ctx, "write_pr_review_artifact critic settlement");
|
|
36473
36668
|
}
|
|
36669
|
+
async function derivePrReviewPresentationOrder(directory, sessionID) {
|
|
36670
|
+
const state = await requireBoundState2(directory, sessionID, "PR_REVIEW");
|
|
36671
|
+
const previous = state.prReviewValidationBatches ?? [];
|
|
36672
|
+
const effective = previous.length >= MAX_WORKFLOW_BATCHES ? await prunePrWorkflowBatchesForCapacity(directory, state, undefined) : state;
|
|
36673
|
+
return prReviewPhaseWindow2(effective, "reviewer").length % 2 === 0 ? "A" : "B";
|
|
36674
|
+
}
|
|
36675
|
+
async function derivePrReviewOrderUnstableItems(directory, sessionID) {
|
|
36676
|
+
const state = await requireBoundState2(directory, sessionID, "PR_REVIEW");
|
|
36677
|
+
const ctx = await createPrReviewGateContext2(directory, state);
|
|
36678
|
+
const composition = composePrReviewPhaseVerdicts(directory, state, "reviewer", ctx);
|
|
36679
|
+
const newestStampedBatchId = [...state.prReviewValidationBatches ?? []].reverse().find((batch) => (state.prReviewBatchCoherence?.[batch.batchId]?.orderUnstableItemIds?.length ?? 0) > 0)?.batchId;
|
|
36680
|
+
const stamped = newestStampedBatchId ? state.prReviewBatchCoherence?.[newestStampedBatchId]?.orderUnstableItemIds : undefined;
|
|
36681
|
+
if (stamped && stamped.length > 0)
|
|
36682
|
+
return [...new Set(stamped)].sort();
|
|
36683
|
+
return [...composition.claims.entries()].filter(([, claim]) => claim.orderAgreement === "disagree").map(([itemId]) => itemId).sort();
|
|
36684
|
+
}
|
|
36685
|
+
async function readAuthoritativePrReviewOrderAgreement(directory, sessionID) {
|
|
36686
|
+
const state = await requireBoundState2(directory, sessionID, "PR_REVIEW");
|
|
36687
|
+
const ctx = await createPrReviewGateContext2(directory, state);
|
|
36688
|
+
const composition = composePrReviewPhaseVerdicts(directory, state, "reviewer", ctx);
|
|
36689
|
+
const agreements = new Map;
|
|
36690
|
+
for (const [itemId, claim] of composition.claims) {
|
|
36691
|
+
if (claim.orderAgreement)
|
|
36692
|
+
agreements.set(itemId, claim.orderAgreement);
|
|
36693
|
+
}
|
|
36694
|
+
return agreements;
|
|
36695
|
+
}
|
|
36474
36696
|
function derivePrReviewCriticInventoryForCoverageGate(directory, state, ctx, origin) {
|
|
36475
36697
|
const reviewer = composePrReviewPhaseVerdicts(directory, state, "reviewer", ctx);
|
|
36476
36698
|
if (reviewer.unclaimed.length > 0) {
|
|
@@ -37492,7 +37714,8 @@ async function readPrWorkflowGateStateForRecovery(directory, sessionID) {
|
|
|
37492
37714
|
schemaErrors,
|
|
37493
37715
|
disclosure,
|
|
37494
37716
|
revisionSalvageable: salvagedRevision.success,
|
|
37495
|
-
armedShapeUnreadable
|
|
37717
|
+
armedShapeUnreadable,
|
|
37718
|
+
prReviewProjectionDropped: true
|
|
37496
37719
|
};
|
|
37497
37720
|
}
|
|
37498
37721
|
|
|
@@ -45885,9 +46108,9 @@ function hashContent(content) {
|
|
|
45885
46108
|
return createHash30("sha1").update(content).digest("hex");
|
|
45886
46109
|
}
|
|
45887
46110
|
async function loadConfigForPolicyCurator(directory) {
|
|
45888
|
-
const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-
|
|
46111
|
+
const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-x892aatt.js");
|
|
45889
46112
|
try {
|
|
45890
|
-
const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-
|
|
46113
|
+
const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-bpq6z8qe.js");
|
|
45891
46114
|
const { config: loadedConfig } = loadPluginConfigWithMeta2(directory);
|
|
45892
46115
|
return KnowledgeConfigSchema2.parse(loadedConfig.knowledge ?? {});
|
|
45893
46116
|
} catch {
|
|
@@ -48945,7 +49168,7 @@ async function resolveCuratorLLMDelegate(directory, mode, sessionId) {
|
|
|
48945
49168
|
const seam = _internals50.createCuratorLLMDelegate;
|
|
48946
49169
|
if (seam)
|
|
48947
49170
|
return seam(directory, mode, sessionId);
|
|
48948
|
-
const { createCuratorLLMDelegate } = await import("./curator-llm-factory-
|
|
49171
|
+
const { createCuratorLLMDelegate } = await import("./curator-llm-factory-d17ybmgm.js");
|
|
48949
49172
|
return createCuratorLLMDelegate(directory, mode, sessionId);
|
|
48950
49173
|
}
|
|
48951
49174
|
async function reconcileCloseTerminalStateForPlan(directory, targetPlan, options) {
|
|
@@ -49340,7 +49563,7 @@ async function runFinalizeStage(ctx) {
|
|
|
49340
49563
|
}
|
|
49341
49564
|
}
|
|
49342
49565
|
try {
|
|
49343
|
-
const { CuratorConfigSchema: CCS } = await import("./schema-
|
|
49566
|
+
const { CuratorConfigSchema: CCS } = await import("./schema-x892aatt.js");
|
|
49344
49567
|
const { config: pmLoadedConfig } = _internals50.loadPluginConfigWithMeta(ctx.directory);
|
|
49345
49568
|
const curatorCfg = CCS.parse(pmLoadedConfig.curator ?? {});
|
|
49346
49569
|
if (curatorCfg.enabled && curatorCfg.postmortem_enabled) {
|
|
@@ -53373,7 +53596,7 @@ function serializeAgentSession(s) {
|
|
|
53373
53596
|
}
|
|
53374
53597
|
async function writeSnapshot(directory, state) {
|
|
53375
53598
|
try {
|
|
53376
|
-
const { ensureSnapshotCoordinationReady } = await import("./snapshot-coordination-init-
|
|
53599
|
+
const { ensureSnapshotCoordinationReady } = await import("./snapshot-coordination-init-x9b4t9sk.js");
|
|
53377
53600
|
await ensureSnapshotCoordinationReady(directory);
|
|
53378
53601
|
const snapshot = {
|
|
53379
53602
|
version: 3,
|
|
@@ -56394,7 +56617,7 @@ function planMerges(active, threshold, maxComparisons, maxMerges) {
|
|
|
56394
56617
|
};
|
|
56395
56618
|
}
|
|
56396
56619
|
async function sweepActiveNearDuplicates(directory, options = {}) {
|
|
56397
|
-
const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-
|
|
56620
|
+
const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-bpq6z8qe.js");
|
|
56398
56621
|
const { config } = loadPluginConfigWithMeta2(directory);
|
|
56399
56622
|
const sweepConfig = config.learning?.dedup_sweep;
|
|
56400
56623
|
if (sweepConfig?.enabled === false)
|
|
@@ -57518,7 +57741,7 @@ async function runCuratorPhase(directory, phase, agentsDispatched, config, knowl
|
|
|
57518
57741
|
}
|
|
57519
57742
|
if (config.skill_generation_enabled === true && skillCandidates.length > 0) {
|
|
57520
57743
|
try {
|
|
57521
|
-
const skillModule = await import("./skill-generator-
|
|
57744
|
+
const skillModule = await import("./skill-generator-p71b6h5k.js");
|
|
57522
57745
|
for (const cand of skillCandidates) {
|
|
57523
57746
|
if (cand.confidence < (config.min_skill_confidence ?? DEFAULT_SKILL_MIN_CONFIDENCE)) {
|
|
57524
57747
|
continue;
|
|
@@ -57990,7 +58213,7 @@ async function applyCuratorKnowledgeUpdates(directory, recommendations, knowledg
|
|
|
57990
58213
|
} catch {}
|
|
57991
58214
|
}
|
|
57992
58215
|
if (contradictedEntries.length > 0 && knowledgeConfig.contradiction_threshold_action === "quarantine") {
|
|
57993
|
-
const { maybeQuarantineOnContradiction } = await import("./knowledge-escalator-
|
|
58216
|
+
const { maybeQuarantineOnContradiction } = await import("./knowledge-escalator-6sgrjbcj.js");
|
|
57994
58217
|
for (const { id } of contradictedEntries) {
|
|
57995
58218
|
try {
|
|
57996
58219
|
await maybeQuarantineOnContradiction(directory, id, knowledgeConfig.contradiction_quarantine_threshold, knowledgeConfig.contradiction_quarantine_window_days);
|
|
@@ -58822,7 +59045,7 @@ async function runCuratorPostMortem(directory, options = {}) {
|
|
|
58822
59045
|
warnings.push("Failed to collect knowledge summary.");
|
|
58823
59046
|
}
|
|
58824
59047
|
try {
|
|
58825
|
-
const { getScanStatus } = await import("./scan-cursor-
|
|
59048
|
+
const { getScanStatus } = await import("./scan-cursor-sphr9phs.js");
|
|
58826
59049
|
const scanStatus = await getScanStatus(directory);
|
|
58827
59050
|
if (scanStatus.remaining_estimate > 0) {
|
|
58828
59051
|
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.`);
|
|
@@ -58994,9 +59217,9 @@ var _internals72 = {
|
|
|
58994
59217
|
verifyPostMortemKnowledgeActions,
|
|
58995
59218
|
repairPostMortemActions,
|
|
58996
59219
|
loadDefaultKnowledgeConfig: async (directory) => {
|
|
58997
|
-
const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-
|
|
59220
|
+
const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-x892aatt.js");
|
|
58998
59221
|
try {
|
|
58999
|
-
const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-
|
|
59222
|
+
const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-bpq6z8qe.js");
|
|
59000
59223
|
const loaded = loadPluginConfigWithMeta2(directory);
|
|
59001
59224
|
return KnowledgeConfigSchema2.parse(loaded.config.knowledge ?? {});
|
|
59002
59225
|
} catch {
|
|
@@ -59004,11 +59227,11 @@ var _internals72 = {
|
|
|
59004
59227
|
}
|
|
59005
59228
|
},
|
|
59006
59229
|
applyCuratorKnowledgeUpdates: async (directory, recommendations, knowledgeConfig, generation) => {
|
|
59007
|
-
const { applyCuratorKnowledgeUpdates: applyCuratorKnowledgeUpdates2 } = await import("./curator-
|
|
59230
|
+
const { applyCuratorKnowledgeUpdates: applyCuratorKnowledgeUpdates2 } = await import("./curator-hh0n9wgz.js");
|
|
59008
59231
|
return applyCuratorKnowledgeUpdates2(directory, recommendations, knowledgeConfig, generation);
|
|
59009
59232
|
},
|
|
59010
59233
|
checkHivePromotions: async (entries2, knowledgeConfig, directory) => {
|
|
59011
|
-
const { checkHivePromotions } = await import("./hive-promoter-
|
|
59234
|
+
const { checkHivePromotions } = await import("./hive-promoter-36yhdfre.js");
|
|
59012
59235
|
return checkHivePromotions(entries2, knowledgeConfig, directory);
|
|
59013
59236
|
},
|
|
59014
59237
|
applyProposalTriage: async (directory, triage) => {
|
|
@@ -59017,7 +59240,7 @@ var _internals72 = {
|
|
|
59017
59240
|
activateProposal,
|
|
59018
59241
|
listSkills: listSkills2,
|
|
59019
59242
|
sanitizeSlug
|
|
59020
|
-
} = await import("./skill-generator-
|
|
59243
|
+
} = await import("./skill-generator-p71b6h5k.js");
|
|
59021
59244
|
const result = {
|
|
59022
59245
|
approved: [],
|
|
59023
59246
|
rejected: [],
|
|
@@ -59059,7 +59282,7 @@ var _internals72 = {
|
|
|
59059
59282
|
return result;
|
|
59060
59283
|
},
|
|
59061
59284
|
readPriorDriftReports: async (directory) => {
|
|
59062
|
-
const { readPriorDriftReports: readPriorDriftReports2 } = await import("./curator-drift-
|
|
59285
|
+
const { readPriorDriftReports: readPriorDriftReports2 } = await import("./curator-drift-3gjycbkv.js");
|
|
59063
59286
|
return readPriorDriftReports2(directory);
|
|
59064
59287
|
},
|
|
59065
59288
|
readSwarmKnowledge: (directory) => readKnowledge(resolveSwarmKnowledgePath(directory))
|
|
@@ -67503,7 +67726,7 @@ function wireCloseInternals() {
|
|
|
67503
67726
|
archiveEvidence,
|
|
67504
67727
|
endAgentSession,
|
|
67505
67728
|
flushAndDrainTelemetry: async () => {
|
|
67506
|
-
const { flushAndDrainTelemetry } = await import("./telemetry-
|
|
67729
|
+
const { flushAndDrainTelemetry } = await import("./telemetry-vapc5q4p.js");
|
|
67507
67730
|
return flushAndDrainTelemetry();
|
|
67508
67731
|
},
|
|
67509
67732
|
finalizeContextTelemetry,
|
|
@@ -69329,9 +69552,9 @@ var _internals80 = {
|
|
|
69329
69552
|
loadPluginConfigWithMeta,
|
|
69330
69553
|
loadCuratorDeps: async () => {
|
|
69331
69554
|
const [{ CuratorConfigSchema }, curator, { createCuratorLLMDelegate }] = await Promise.all([
|
|
69332
|
-
import("./schema-
|
|
69333
|
-
import("./curator-
|
|
69334
|
-
import("./curator-llm-factory-
|
|
69555
|
+
import("./schema-x892aatt.js"),
|
|
69556
|
+
import("./curator-hh0n9wgz.js"),
|
|
69557
|
+
import("./curator-llm-factory-d17ybmgm.js")
|
|
69335
69558
|
]);
|
|
69336
69559
|
return { CuratorConfigSchema, curator, createCuratorLLMDelegate };
|
|
69337
69560
|
}
|
|
@@ -71781,7 +72004,7 @@ async function computeCurationDiagnostics(directory, entries2) {
|
|
|
71781
72004
|
let scanCompleted = false;
|
|
71782
72005
|
let scanRemaining = 0;
|
|
71783
72006
|
try {
|
|
71784
|
-
const { getScanStatus } = await import("./scan-cursor-
|
|
72007
|
+
const { getScanStatus } = await import("./scan-cursor-sphr9phs.js");
|
|
71785
72008
|
const status = await getScanStatus(directory);
|
|
71786
72009
|
scanGeneration = status.generation;
|
|
71787
72010
|
scanCompleted = status.completed;
|
|
@@ -71789,19 +72012,19 @@ async function computeCurationDiagnostics(directory, entries2) {
|
|
|
71789
72012
|
} catch {}
|
|
71790
72013
|
let configMatch = null;
|
|
71791
72014
|
try {
|
|
71792
|
-
const { isLinked: isLinked2 } = await import("./knowledge-link-
|
|
72015
|
+
const { isLinked: isLinked2 } = await import("./knowledge-link-8bn2b7vr.js");
|
|
71793
72016
|
if (isLinked2(directory)) {
|
|
71794
|
-
const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-
|
|
72017
|
+
const { KnowledgeConfigSchema: KnowledgeConfigSchema2 } = await import("./schema-x892aatt.js");
|
|
71795
72018
|
let config;
|
|
71796
72019
|
try {
|
|
71797
|
-
const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-
|
|
72020
|
+
const { loadPluginConfigWithMeta: loadPluginConfigWithMeta2 } = await import("./index-bpq6z8qe.js");
|
|
71798
72021
|
const loaded = loadPluginConfigWithMeta2(directory);
|
|
71799
72022
|
config = KnowledgeConfigSchema2.parse(loaded.config.knowledge ?? {});
|
|
71800
72023
|
} catch {
|
|
71801
72024
|
config = KnowledgeConfigSchema2.parse({});
|
|
71802
72025
|
}
|
|
71803
72026
|
const { cohortConfigFingerprint: cohortConfigFingerprint2 } = await import("./config-fingerprint-v22xh5a2.js");
|
|
71804
|
-
const { buildConfigFingerprintInput: buildConfigFingerprintInput2, readCohortConfigFingerprint } = await import("./curation-policy-
|
|
72027
|
+
const { buildConfigFingerprintInput: buildConfigFingerprintInput2, readCohortConfigFingerprint } = await import("./curation-policy-5hm6328s.js");
|
|
71805
72028
|
const currentFp = cohortConfigFingerprint2(buildConfigFingerprintInput2(config));
|
|
71806
72029
|
const cohortFp = await readCohortConfigFingerprint(directory);
|
|
71807
72030
|
configMatch = cohortFp === null ? null : currentFp === cohortFp;
|
|
@@ -73250,7 +73473,7 @@ async function handleDoctorCommand(directory, args) {
|
|
|
73250
73473
|
const result = runConfigDoctor(config, directory, planParallelizationEnabled);
|
|
73251
73474
|
let output;
|
|
73252
73475
|
if (enableAutoFix && result.hasAutoFixableIssues) {
|
|
73253
|
-
const { runConfigDoctorWithFixes } = await import("./config-doctor-
|
|
73476
|
+
const { runConfigDoctorWithFixes } = await import("./config-doctor-vetg215g.js");
|
|
73254
73477
|
const fixResult = await runConfigDoctorWithFixes(directory, config, true, {
|
|
73255
73478
|
applyLossy: true
|
|
73256
73479
|
});
|
|
@@ -73288,7 +73511,7 @@ async function handleDoctorCommand(directory, args) {
|
|
|
73288
73511
|
`;
|
|
73289
73512
|
}
|
|
73290
73513
|
try {
|
|
73291
|
-
const { runModelPreflight } = await import("./model-preflight-
|
|
73514
|
+
const { runModelPreflight } = await import("./model-preflight-k2bw7rt1.js");
|
|
73292
73515
|
const preflight = await runModelPreflight(config, swarmState.opencodeClient, { generatedAgentNames: swarmState.generatedAgentNames });
|
|
73293
73516
|
const missingSelection = preflight.resolutions.filter((resolution) => resolution.status === "missing-selection");
|
|
73294
73517
|
const unresolved = preflight.catalogAvailable ? preflight.resolutions.filter((resolution) => resolution.status === "unresolved") : [];
|
|
@@ -73322,7 +73545,7 @@ async function handleDoctorCommand(directory, args) {
|
|
|
73322
73545
|
}
|
|
73323
73546
|
} catch {}
|
|
73324
73547
|
try {
|
|
73325
|
-
const { renderKnowledgeReceiptPhaseIdSection } = await import("./doctor-knowledge-receipt-phase-id-
|
|
73548
|
+
const { renderKnowledgeReceiptPhaseIdSection } = await import("./doctor-knowledge-receipt-phase-id-1d465vkg.js");
|
|
73326
73549
|
output += await renderKnowledgeReceiptPhaseIdSection(directory, enableAutoFix);
|
|
73327
73550
|
} catch {}
|
|
73328
73551
|
const strayDirs = detectStraySwarmDirs(directory);
|
|
@@ -73818,7 +74041,7 @@ var BACKGROUND_DELEGATION_NAMESPACE = "background.pending-delegation";
|
|
|
73818
74041
|
var LEGACY_LEAN_STATE_FILE = "turbo-state.json";
|
|
73819
74042
|
var MAX_LEGACY_LEAN_STATE_BYTES = 4 * 1024 * 1024;
|
|
73820
74043
|
var UNSETTLED_WAL_STATES2 = new Set(["DISPATCHED", "PREPARED", "unreadable"]);
|
|
73821
|
-
var EPIC_HOST_UNSUPPORTED_MESSAGE = "This OpenCode host gives the plugin no SDK client
|
|
74044
|
+
var EPIC_HOST_UNSUPPORTED_MESSAGE = "This OpenCode host gives the plugin no SDK client. Epic needs it for worktree-isolated coders and for the epic_phase_review reviewer/critic, so an epic here could neither run its coders nor complete a phase. Run the plan in Balanced, or use an OpenCode 1.x host (1.18.29+). (On OpenCode 2 the v2 adapter now ships a session-capable client, so this refusal no longer fires there \u2014 Epic on v2 is held by the #3169 child-session placement work instead.)";
|
|
73822
74045
|
function refused2(reason, details, sizing) {
|
|
73823
74046
|
return { status: "refused", reason, details, sizing };
|
|
73824
74047
|
}
|
|
@@ -75339,7 +75562,7 @@ async function handleEvidenceCommand(directory, args) {
|
|
|
75339
75562
|
return formatTaskEvidenceMarkdown(evidenceData);
|
|
75340
75563
|
}
|
|
75341
75564
|
async function handleEvidenceSummaryCommand(directory) {
|
|
75342
|
-
const { buildEvidenceSummary } = await import("./evidence-summary-service-
|
|
75565
|
+
const { buildEvidenceSummary } = await import("./evidence-summary-service-rkd3yc5x.js");
|
|
75343
75566
|
const artifact = await buildEvidenceSummary(directory);
|
|
75344
75567
|
if (!artifact) {
|
|
75345
75568
|
return "No plan found. Run `/swarm plan` to check plan status.";
|
|
@@ -99805,7 +100028,7 @@ function createCuratorLLMDelegate(directory, mode = "init", sessionId) {
|
|
|
99805
100028
|
}
|
|
99806
100029
|
const sdkOpts = signal ? { signal } : {};
|
|
99807
100030
|
try {
|
|
99808
|
-
const { getSwarmAgents: getSwarmAgents2, resolveFallbackModel: resolveFallbackModel2 } = await import("./index-
|
|
100031
|
+
const { getSwarmAgents: getSwarmAgents2, resolveFallbackModel: resolveFallbackModel2 } = await import("./index-9teqkkp4.js");
|
|
99809
100032
|
const createResult = await client.session.create({
|
|
99810
100033
|
...sessionId ? {
|
|
99811
100034
|
body: {
|
|
@@ -101903,7 +102126,7 @@ async function cancelPrFeedbackLoopUnlocked(directory, sessionID, reason) {
|
|
|
101903
102126
|
clearedEvents: []
|
|
101904
102127
|
};
|
|
101905
102128
|
try {
|
|
101906
|
-
const { cancelPrFeedbackPublication: cancelPrFeedbackPublication2 } = await import("./pr-workflow-gate-
|
|
102129
|
+
const { cancelPrFeedbackPublication: cancelPrFeedbackPublication2 } = await import("./pr-workflow-gate-cgbc0x1z.js");
|
|
101907
102130
|
await cancelPrFeedbackPublication2(directory, sessionID, reason);
|
|
101908
102131
|
} catch (err) {
|
|
101909
102132
|
warn(`[pr-feedback-loop] cancelPrFeedbackPublication failed (fail-open): ${err instanceof Error ? err.message : String(err)}`);
|
|
@@ -115776,7 +115999,7 @@ async function runValidationWithTransientRetry(input, candidateContent, baseline
|
|
|
115776
115999
|
if (!input.dispatcher) {
|
|
115777
116000
|
throw new Error("no evaluation dispatcher available (cannot run validation)");
|
|
115778
116001
|
}
|
|
115779
|
-
const { createModelEvaluationExecutor: createModelEvaluationExecutor2 } = await import("./runner-
|
|
116002
|
+
const { createModelEvaluationExecutor: createModelEvaluationExecutor2 } = await import("./runner-rt2smh14.js");
|
|
115780
116003
|
const executor = createModelEvaluationExecutor2(input.dispatcher, input.sessionId);
|
|
115781
116004
|
const result = await withProtectedSetIntegrity([evalInputRoot, ...protectedRoots(input.directory)], () => _internals144.evaluateCandidateV1({
|
|
115782
116005
|
projectRoot: input.directory,
|
|
@@ -118369,7 +118592,7 @@ function buildDetailedHelp(commandName, entry) {
|
|
|
118369
118592
|
async function handleHelpCommand(ctx) {
|
|
118370
118593
|
const targetCommand = ctx.args.join(" ");
|
|
118371
118594
|
if (!targetCommand) {
|
|
118372
|
-
const { buildHelpText } = await import("./index-
|
|
118595
|
+
const { buildHelpText } = await import("./index-h7275akd.js");
|
|
118373
118596
|
return buildHelpText();
|
|
118374
118597
|
}
|
|
118375
118598
|
const tokens = targetCommand.split(/\s+/);
|
|
@@ -118383,7 +118606,7 @@ async function handleHelpCommand(ctx) {
|
|
|
118383
118606
|
> Note: \`/swarm ${resolved.key}\` is a deprecated alias for \`/swarm ${aliasTarget}\`.` : detailed;
|
|
118384
118607
|
}
|
|
118385
118608
|
const similar = _internals39.findSimilarCommands(targetCommand);
|
|
118386
|
-
const { buildHelpText: fullHelp } = await import("./index-
|
|
118609
|
+
const { buildHelpText: fullHelp } = await import("./index-h7275akd.js");
|
|
118387
118610
|
if (similar.length > 0) {
|
|
118388
118611
|
return `Command '/swarm ${targetCommand}' not found.
|
|
118389
118612
|
|
|
@@ -118711,7 +118934,7 @@ var COMMAND_REGISTRY = {
|
|
|
118711
118934
|
},
|
|
118712
118935
|
"guardrail explain": {
|
|
118713
118936
|
handler: async (ctx) => {
|
|
118714
|
-
const { handleGuardrailExplain } = await import("./guardrail-explain-
|
|
118937
|
+
const { handleGuardrailExplain } = await import("./guardrail-explain-8xh3r0dn.js");
|
|
118715
118938
|
return handleGuardrailExplain(ctx.directory, ctx.args);
|
|
118716
118939
|
},
|
|
118717
118940
|
description: "Dry-run: show what the guardrails would do to a command or write target (executes nothing)",
|
|
@@ -118721,7 +118944,7 @@ var COMMAND_REGISTRY = {
|
|
|
118721
118944
|
},
|
|
118722
118945
|
"guardrail reset": {
|
|
118723
118946
|
handler: async (ctx) => {
|
|
118724
|
-
const { handleGuardrailReset } = await import("./guardrail-reset-
|
|
118947
|
+
const { handleGuardrailReset } = await import("./guardrail-reset-m5qbg30j.js");
|
|
118725
118948
|
return handleGuardrailReset(ctx.args, ctx.sessionID);
|
|
118726
118949
|
},
|
|
118727
118950
|
description: "Reset one exact active invocation/action circuit after repair",
|
|
@@ -118742,7 +118965,7 @@ var COMMAND_REGISTRY = {
|
|
|
118742
118965
|
},
|
|
118743
118966
|
"guardrail-log": {
|
|
118744
118967
|
handler: async (ctx) => {
|
|
118745
|
-
const { handleGuardrailLog } = await import("./guardrail-log-
|
|
118968
|
+
const { handleGuardrailLog } = await import("./guardrail-log-jrey2myg.js");
|
|
118746
118969
|
return handleGuardrailLog(ctx.directory, ctx.args);
|
|
118747
118970
|
},
|
|
118748
118971
|
description: "Read the guardrail decision log (use --blocks-only for blocks)",
|
|
@@ -119140,7 +119363,7 @@ var COMMAND_REGISTRY = {
|
|
|
119140
119363
|
epic: {
|
|
119141
119364
|
handler: (ctx) => handleEpicCommand(ctx.directory, ctx.args, ctx.sessionID),
|
|
119142
119365
|
description: "Open, inspect, and close a plan-scoped epic (coupling-aware parallel execution of the current plan)",
|
|
119143
|
-
details: "An epic is bound to ONE plan: `start` opens it for the current plan, `close` ends it. Requires `epic.mode.enabled: true` in config (top-level `epic` block; no `turbo` block needed \u2014 the legacy `turbo.epic` path is still accepted and migrated). `start [--force]` refuses, in order: epic-disabled-by-config, host-unsupported (the host gives the plugin no OpenCode SDK client
|
|
119366
|
+
details: "An epic is bound to ONE plan: `start` opens it for the current plan, `close` ends it. Requires `epic.mode.enabled: true` in config (top-level `epic` block; no `turbo` block needed \u2014 the legacy `turbo.epic` path is still accepted and migrated). `start [--force]` refuses, in order: epic-disabled-by-config, host-unsupported (the host gives the plugin no OpenCode SDK client; on OpenCode 2 the v2 adapter now ships one, so this refusal no longer fires there \u2014 v2 is held by the child-session placement work instead), no-plan / plan-ledger-unreadable, epic-already-open (idempotent for the same plan) / epic-open-for-other-plan, turbo-active (config turbo_mode, a session with Turbo on, or a running Lean run \u2014 Epic enables neither Lean nor Turbo and never waives per-task QA), dirty-baseline (git: uncommitted changes outside .swarm/), detached-head / epic-branch-exists (epic-branch policy), in-flight-coders (any coder dispatch, background delegation, unsettled settlement, or preserved/recovery lane), not-epic-sized (too few pending tasks, insufficient scope coverage, or insufficient effective speedup \u2014 run it in Balanced, or reshape it with the plan-shaping suggestions shown; `--force` overrides and is recorded). Non-git projects run an epic serially (one task per wave). Git epics default to `epic.commit_policy: \"epic-branch\"`: start checks out `swarm/epic/<epicKey>` and every Epic commit goes there (epic_next_wave blocks with epic-branch-mismatch, and no landing or residue is committed, while HEAD is elsewhere); `current-branch` keeps commits on the starting branch. In a git epic every coder runs in an isolated worktree (refused EPIC_ISOLATION_DEGRADED when isolation is unavailable) and lands as a `swarm(task <id>): \u2026` merge commit; main-tree files a non-coder writer (test_engineer, docs) wrote for a task are committed as residue of that task; update_task_status writes nothing to git; wave close records the commit of each task as `refs/swarm/epics/<epicKey>/tasks/<id>` (deleted at close unless `epic.retain_refs`; never pushed by default). While open, the architect calls epic_next_wave and does what its status says: it issues one wave at a time (tasks with non-conflicting declared scopes \u2014 exclusive tasks alone, at most one task per densely coupled component; phases strictly in order), the architect dispatches one Task per taskId in ONE message and runs per-task QA (pre_check_batch \u2192 reviewer + test_engineer \u2192 update_task_status(completed)), and the next epic_next_wave closes the wave (recording outcomes and declared-vs-actual divergence) and issues the next; when a phase is done it returns phase-ready-for-review \u2192 epic_phase_review \u2192 phase_complete. `close [--abandon] [--land squash|merge|none]` refuses while tasks are pending (or the epic is orphaned / unreadable) unless `--abandon`, refuses a dirty tree before landing, writes a close report (epic-report-v2, embedding the epic scorecard) to .swarm/epic/reports/ and .swarm/epic-prior/reports/ (newest 50 kept), and lands the epic branch onto the original branch: squash (default \u2014 staged, uncommitted changes for you to review and commit), merge (a --no-ff merge commit), or none (switch back only). The epic branch is kept (remove it with `git branch -D` once committed). A landing conflict is rolled back (the attempted squash or merge is undone) and the epic stays closing \u2014 rerun close to resume. `--abandon` never lands; it switches back to the original branch when the tree is clean. `status [--repair-refs]` (also bare /swarm epic) shows the epic, its waves, phases, the task components recorded with the latest wave and recorded divergence, orphan detection (plan renamed or replaced), sentinel/row repair, recorded worktree merge failures, and retires legacy Epic v1 session state once; `--repair-refs` re-adopts task commits a rebase or amend made unreachable from HEAD. `report [<key>|last] [--format json]` shows the epic scorecard: live for the open epic (bare `report`), else from the close report of a past epic in .swarm/epic-prior/reports/ (`last` = newest; `<key>` = a report or epic key) \u2014 tasks completed in the epic, waves (count, width), time over closed waves (wave span, task issue\u2192resolve time, and their ratio, a concurrency factor that is NOT a speedup: it includes queueing behind serialized QA), conflicts (merge-back failures, undeclared writes), rework (extra generations, reopens), first-pass gate rates (upper bounds: the failure history is bounded), forced/sizing at start and learned hot files. Epics learn from their outcomes: undeclared writes teach learned co-writes (a task declaring D that also wrote f makes later tasks declaring D conflict with tasks on f \u2014 planner analysis only, never write authorization) and incidents (undeclared writes, merge conflicts, Stage B failures, rework, reopens) in excess of clean exposures make a file hot (a task declaring it runs alone) \u2014 undeclared writes its strongest learned co-writer explains are discounted (expansion already separates them), so one declarer writing a file is not heat; an empty history learns nothing (neutral start). Each wave close updates the posterior of the epic; close merges it into the project prior .swarm/epic-prior/learning.json (decayed per epic and by age; kept across /swarm close; `epic.learning.*`). `learning` shows what the planner learned and uses now; `prior [show]` shows the project prior; `prior reset` previews and prints a single-use confirm token (15 minutes); `prior reset --confirm=<token>` clears it. Also: clear-merge-failure <taskId> [--confirm]. The former `on` / `off` toggles, the `decide` / `last` subcommands and `calibration` (renamed `learning`) were removed.",
|
|
119144
119367
|
args: "start [--force] | close [--abandon] [--land squash|merge|none] | status [--repair-refs] | report [<key>|last] [--format json] | learning | prior [show|reset [--confirm=<token>]] | clear-merge-failure <taskId> [--confirm]",
|
|
119145
119368
|
category: "diagnostics",
|
|
119146
119369
|
toolPolicy: "human-only"
|
|
@@ -120887,7 +121110,7 @@ HARD CONSTRAINTS (apply regardless of skill load success):
|
|
|
120887
121110
|
- RECOVER CONTRACT FAILURES EXPLICITLY: when collection reports \`workflow_lane_failure_class: "contract"\`, retry that one singleton base dimension once with \`pr_review_contract_retry: true\`; this retry is outside staged \`pr_review_wave_attempt\` accounting and cannot be combined with stage metadata. When fewer than six base dimensions settle but every launched lane is terminal or explicitly cancelled, the \`post_explorer\` findings write may explicitly submit \`partial_base_coverage: { unresolved_dimensions: [<exactly the uncovered dimensions>] }\` (issue #2383 N-of-6 settlement). Never infer or omit dimensions from this disclosure: the runtime derives each dimension's terminal state from lane evidence, persists an immutable coverage receipt, and rejects any declaration that does not exactly match the derived settlement.
|
|
120888
121111
|
- USE ASYNC DISPATCH WITHOUT IDLING: each admissible base wave uses one \`dispatch_lanes_async\` call. With enabled tier-M/L staged resilience, this means one singleton canary call followed by one unresolved-only fanout call after canary admission; it never means one legacy call carrying the whole initial base wave. Record each \`batch_id\`, then keep doing non-dependent architect work while its lanes run. Poll with \`collect_lane_results\` without \`wait\` (or \`wait: false\`) to process settled lanes and continue independent work between polls; use \`wait: true\` only as the final join when no independent work remains.
|
|
120889
121112
|
- EVALUATE ALL RISK FAMILIES: after the base explorer lanes settle, evaluate every repository-agnostic trigger row against the exact diff/context pack. Record applicable families as \`MATCHED\` and inapplicable families as provenance-free \`NOT_TRIGGERED\` with concrete absence evidence; \`unclassified-risk\` always remains \`MATCHED\`. Launch \`swarm-pr-review:micro\` lanes only for the \`MATCHED\` IDs. The first micro dispatch MUST pass the complete exact eleven-row \`trigger_evaluation\`, which freezes it for this session; any subsequent same-session micro batch may omit it and reuse the frozen ledger, while an explicitly supplied copy must remain exactly identical. Use each dispatched trigger ID as \`workflow_lane\`. Missing an evaluation row or a matched-family attestation is BLOCKED; a \`NOT_TRIGGERED\` family must not create a micro artifact.
|
|
120890
|
-
- RUN HEAD-BOUND VALIDATION: dispatch independent reviewers with \`mode: "swarm-pr-review:reviewer"\` and critics with \`mode: "swarm-pr-review:critic"\`, unique \`workflow_lane\` obligations, role-correct agents, and the same exact \`pr_head_sha\`. Critic dispatch is blocked until all declared reviewer obligations have successful artifacts.
|
|
121113
|
+
- RUN HEAD-BOUND VALIDATION: dispatch independent reviewers with \`mode: "swarm-pr-review:reviewer"\` and critics with \`mode: "swarm-pr-review:critic"\`, unique \`workflow_lane\` obligations, role-correct agents, and the same exact \`pr_head_sha\`. Critic dispatch is blocked until all declared reviewer obligations have successful artifacts. Settle ONLY on an exact-row artifact: one row per assigned review item id, marked \`[REVIEWED]\` (reviewer) or \`[CRITIC]\` (critic), exact ids. Any trailing row naming an id you were not assigned fails settlement and voids the whole artifact; free-text epilogues are ignored.
|
|
120891
121114
|
- COMPLETE EXPLICITLY: after final artifacts and synthesis, call \`complete_pr_workflow\` with \`mode: "PR_REVIEW"\`, the bound \`pr_head_sha\`, and the terminal \`report_verdict\` the coverage kind allows (issue #2383): COMPLETE may APPROVE, REQUEST_CHANGES, or INCOMPLETE; PARTIAL only REQUEST_CHANGES or INCOMPLETE; NO_COVERAGE must be INCOMPLETE and skips the findings ladder entirely. Never leave the session trapped in a stale workflow gate. When completion reports checkout restoration is required, call \`prepare_pr_workflow_checkout\` with \`operation: "restore"\` before returning to the user. For a publication-armed workflow whose exact publication cannot proceed, \`abort_pr_workflow\` with \`kind: "armed_recovery"\` plus the armed-recovery identity fields is the audited escape that preserves validated work.
|
|
120892
121115
|
- ABORT IF UNRECOVERABLE: if the PR head cannot be fetched/checked out (the working tree stays on the wrong branch), a compound \`git fetch && git checkout\` keeps being rejected as read-only shell syntax (run them as TWO separate standalone commands first), or the merge-base bind is unreachable, call \`abort_pr_workflow\` with \`mode: "PR_REVIEW"\`, \`kind: "recovery"\`, and a one-line \`reason\` instead of looping. The tool accepts unbound and bound workflows but refuses while PR workflow lanes are in flight (collect their results first). Aborting clears the durable gate and stops the auto-resume loop; the user can force-clear via \`/swarm abort-pr-workflow\`. Do NOT abort while useful bounded recovery or N-of-6 settlement work remains.
|
|
120893
121116
|
- Honor any free-text instructions that follow the closing bracket of the signal as additional reviewer focus, without weakening the validation ladder above.
|
|
@@ -124066,4 +124289,4 @@ function getAgentConfigs(config, directory, sessionId, projectContext) {
|
|
|
124066
124289
|
return result;
|
|
124067
124290
|
}
|
|
124068
124291
|
|
|
124069
|
-
export { resetActionCircuitExternally, getBlockingActionCircuit, resolveConfiguredAgentModel, resolveRegisteredAgentModel, resolveEffectiveAgentOverride, MAX_PARALLEL_VERDICT_TASKS, computeParallelVerdict, declaresWindowsWrapperLoose, 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, _internals147 as _internals, stripSwarmPrefix, extractSwarmIdFromAgentName, resolveFallbackModel, getSwarmAgents, createAgents, resolvePrimaryAgentNames, getAgentConfigs, SWARM_COMMAND_TOOL_COMMANDS, SWARM_COMMAND_TOOL_ALLOWLIST, HUMAN_ONLY_SWARM_COMMANDS, classifySwarmCommandToolUse, classifySwarmCommandChatFallbackUse, mergeWriteAnalyses, isPowerShellShaped, isPowerShellReadOnlyPipeline, detectPosixWrites, detectWindowsWrites, resolveWriteTargets, resolveWindowsWriteAuthority, 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, _internals24 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, readPrReviewVerdictSettlementReceiptItems, readPrReviewVerdictSettlementEffectiveIds, 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, _internals71 as _internals2, normalizeRecommendationEntryIdToken, parseKnowledgeRecommendations, parseKnowledgeRecommendationsWithDiagnostics, parseStructuredCuratorBlocks, readCuratorSummary, writeCuratorSummary, appendCuratorRecommendation, mergeCuratorPhaseSummary, filterPhaseEvents, checkPhaseCompliance, runCuratorInit, runCuratorPhase, applyCuratorKnowledgeUpdates, isHiveEligible, countDistinctProjects, checkHivePromotions, _internals75 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, _internals39 as _internals4, resolveCommand, normalizeSwarmCommandInput, canonicalCommandKey, formatCommandNotFound, executeSwarmCommand };
|
|
124292
|
+
export { resetActionCircuitExternally, getBlockingActionCircuit, resolveConfiguredAgentModel, resolveRegisteredAgentModel, resolveEffectiveAgentOverride, MAX_PARALLEL_VERDICT_TASKS, computeParallelVerdict, declaresWindowsWrapperLoose, 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, _internals147 as _internals, stripSwarmPrefix, extractSwarmIdFromAgentName, resolveFallbackModel, getSwarmAgents, createAgents, resolvePrimaryAgentNames, getAgentConfigs, SWARM_COMMAND_TOOL_COMMANDS, SWARM_COMMAND_TOOL_ALLOWLIST, HUMAN_ONLY_SWARM_COMMANDS, classifySwarmCommandToolUse, classifySwarmCommandChatFallbackUse, mergeWriteAnalyses, isPowerShellShaped, isPowerShellReadOnlyPipeline, detectPosixWrites, detectWindowsWrites, resolveWriteTargets, resolveWindowsWriteAuthority, 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, _internals24 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_REVIEW_VERDICT_REJECTIONS, MAX_PR_FEEDBACK_INVENTORY_AMENDMENTS, activatePrWorkflow, appendPrWorkflowSkillContractAdvisories, readPrWorkflowGateState, recordPrReviewSubmitRejection, latestPrReviewSubmitRejectionMessage, recordPrReviewVerdictRejection, latestPrReviewVerdictRejectionForLane, 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, readAuthoritativeFindingPolicy, readPrReviewFinalFindingPolicyForReport, transitionPrReviewToFeedback, declarePrFeedbackScope, resolvePrFeedbackScopeDeclaration, consumePrFeedbackScopeDeclaration, validatePrFeedbackScopeBinding, enforcePrWorkflowToolBefore, readPrReviewReentryBindingContext, hasActivePrReviewReentryAuthorization, reserveActivePrReviewReentryAuthorization, completePrWorkflow, _test_exports2 as _test_exports, normalizePrWorkflowShellCommand, describePrWorkflowRevisionDigestFailure, derivePrReviewCandidateInventoryForStatus, readPrReviewVerdictSettlementReceiptItems, readPrReviewVerdictSettlementEffectiveIds, readAuthoritativePrReviewCriticSettlements, readAuthoritativePrReviewCriticVerdicts, derivePrReviewPresentationOrder, derivePrReviewOrderUnstableItems, readAuthoritativePrReviewOrderAgreement, 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, _internals71 as _internals2, normalizeRecommendationEntryIdToken, parseKnowledgeRecommendations, parseKnowledgeRecommendationsWithDiagnostics, parseStructuredCuratorBlocks, readCuratorSummary, writeCuratorSummary, appendCuratorRecommendation, mergeCuratorPhaseSummary, filterPhaseEvents, checkPhaseCompliance, runCuratorInit, runCuratorPhase, applyCuratorKnowledgeUpdates, isHiveEligible, countDistinctProjects, checkHivePromotions, _internals75 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, _internals39 as _internals4, resolveCommand, normalizeSwarmCommandInput, canonicalCommandKey, formatCommandNotFound, executeSwarmCommand };
|