opencode-swarm 7.148.1 → 7.148.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/.opencode/skills/swarm-pr-review/SKILL.md +6 -4
  2. package/.opencode/skills/swarm-pr-review/references/findings-persistence-contract.md +33 -1
  3. package/.opencode/skills/swarm-pr-review/references/lane-output-recoverability.md +2 -2
  4. package/.opencode/skills/swarm-pr-review/references/parser-dry-run.md +1 -2
  5. package/.opencode/skills/swarm-pr-review/references/prompt-templates.md +11 -3
  6. package/dist/background/pending-delegations.d.ts +1 -1
  7. package/dist/background/pr-review-contract.d.ts +148 -0
  8. package/dist/background/pr-review-trigger-contract.d.ts +1 -0
  9. package/dist/cli/{config-doctor-w6zphy4w.js → config-doctor-q3fw9744.js} +2 -2
  10. package/dist/cli/{core-65qyqw2f.js → core-y72nw57z.js} +1 -1
  11. package/dist/cli/{curation-policy-166wdjs4.js → curation-policy-hkdghd3a.js} +4 -4
  12. package/dist/cli/{curator-2jhdfjqg.js → curator-bsr0xx05.js} +24 -24
  13. package/dist/cli/{curator-llm-factory-y43mx297.js → curator-llm-factory-sdxsn88r.js} +24 -24
  14. package/dist/cli/{evidence-summary-service-7qpganmn.js → evidence-summary-service-rk5exnrk.js} +9 -9
  15. package/dist/cli/{gate-evidence-p79xv25a.js → gate-evidence-cn0dvw8m.js} +4 -4
  16. package/dist/cli/{guardrail-explain-76sy950j.js → guardrail-explain-fnnka0vt.js} +25 -25
  17. package/dist/cli/{guardrail-log-pm0w6ney.js → guardrail-log-gsx9kj51.js} +3 -3
  18. package/dist/cli/{guardrail-reset-tkkg0bfz.js → guardrail-reset-kk1rdmm0.js} +24 -24
  19. package/dist/cli/{hive-promoter-w4batwr6.js → hive-promoter-w7cr6qym.js} +24 -24
  20. package/dist/cli/{index-k5ze5v89.js → index-08d3pb9a.js} +1 -1
  21. package/dist/cli/{index-ch6sjm8q.js → index-092deqxs.js} +1 -0
  22. package/dist/cli/{index-py2rsw1a.js → index-2d582j6q.js} +2 -2
  23. package/dist/cli/{index-shazb5b6.js → index-2zz8b0rb.js} +1 -1
  24. package/dist/cli/{index-x46mmaep.js → index-3vescfdb.js} +6 -6
  25. package/dist/cli/{index-m97qwwrk.js → index-4aqnb12y.js} +2 -2
  26. package/dist/cli/{index-qwzpsh3w.js → index-65jw48eb.js} +1 -1
  27. package/dist/cli/{index-kztxn1ww.js → index-7a41ca8k.js} +561 -177
  28. package/dist/cli/{index-f115c8y6.js → index-8sz9t8s2.js} +1 -1
  29. package/dist/cli/{index-dwg0z10h.js → index-8w63kj4x.js} +4 -4
  30. package/dist/cli/{index-81n4ky69.js → index-8y79znpe.js} +2 -2
  31. package/dist/cli/{index-q0gfmyzx.js → index-afwwz4py.js} +5 -5
  32. package/dist/cli/{index-e9d2829t.js → index-b0703hjg.js} +1 -1
  33. package/dist/cli/{index-t6ys1386.js → index-c9xfy8yj.js} +4 -4
  34. package/dist/cli/{index-shm69en5.js → index-dh85aep3.js} +2 -2
  35. package/dist/cli/{index-w49v4xd6.js → index-dmbvep3q.js} +5 -5
  36. package/dist/cli/{index-kpgj4ha6.js → index-ebt47fnp.js} +1 -1
  37. package/dist/cli/{index-2bsnwcmp.js → index-et35gcph.js} +1 -1
  38. package/dist/cli/{index-5wypz451.js → index-fp9d0e6f.js} +1 -1
  39. package/dist/cli/{index-c23yxr1s.js → index-harsx832.js} +3 -3
  40. package/dist/cli/{index-627mz27c.js → index-hwfs0ze1.js} +3 -3
  41. package/dist/cli/{index-s3s2egzn.js → index-kn36sxj0.js} +26 -26
  42. package/dist/cli/{index-qzstn430.js → index-m5z2fgs4.js} +1 -1
  43. package/dist/cli/{index-jtnk7k6w.js → index-r9g7ymv2.js} +1 -1
  44. package/dist/cli/{index-fv5cc1rd.js → index-x4kgn37c.js} +1 -1
  45. package/dist/cli/{index-hxqjf4me.js → index-xq8eydnk.js} +4 -4
  46. package/dist/cli/{index-mfhpk4c6.js → index-y8kppv1z.js} +1 -1
  47. package/dist/cli/{index-3yh2e5ca.js → index-zpn3wqvp.js} +6 -5
  48. package/dist/cli/index.js +24 -24
  49. package/dist/cli/{knowledge-escalator-21n4ztqx.js → knowledge-escalator-jxpz0mv5.js} +9 -9
  50. package/dist/cli/{knowledge-events-h5d5eayv.js → knowledge-events-kjwmc21q.js} +7 -7
  51. package/dist/cli/{knowledge-link-vgxe7gz9.js → knowledge-link-5dctq0ax.js} +3 -3
  52. package/dist/cli/{knowledge-store-y10m7x4f.js → knowledge-store-j9bzs7zx.js} +4 -4
  53. package/dist/cli/{knowledge-validator-dzm9sg0f.js → knowledge-validator-56w52rwr.js} +6 -6
  54. package/dist/cli/{pending-delegations-78zaaxz4.js → pending-delegations-h4gr264y.js} +1 -1
  55. package/dist/cli/{runner-rarzeth8.js → runner-9g2pcg10.js} +4 -4
  56. package/dist/cli/{scan-cursor-zn2qf06a.js → scan-cursor-7xbrxm2c.js} +5 -5
  57. package/dist/cli/{schema-ynwy7abm.js → schema-gcjdpfr9.js} +1 -1
  58. package/dist/cli/{scope-persistence-sh30937s.js → scope-persistence-2n9nk833.js} +5 -5
  59. package/dist/cli/{skill-generator-r3knfwrp.js → skill-generator-z70bhhx9.js} +11 -11
  60. package/dist/cli/{worktree-collision-ownership-29md3k1n.js → worktree-collision-ownership-e0p490vw.js} +1 -1
  61. package/dist/cli/{worktree-isolation-yj7ssh24.js → worktree-isolation-vg6g00mq.js} +24 -24
  62. package/dist/hooks/pr-workflow-gate.d.ts +26 -1
  63. package/dist/index.js +84 -77
  64. package/dist/tools/write-pr-review-artifact.d.ts +7 -0
  65. package/dist/tools/write-pr-review-trigger-eval.d.ts +3 -1
  66. package/package.json +1 -1
@@ -23,15 +23,15 @@ import {
23
23
  validateLesson,
24
24
  validateSkillCandidatePath,
25
25
  validateSkillPath
26
- } from "./index-dwg0z10h.js";
27
- import"./index-jtnk7k6w.js";
26
+ } from "./index-8w63kj4x.js";
27
+ import"./index-r9g7ymv2.js";
28
28
  import"./index-rtry5xyf.js";
29
- import"./index-x46mmaep.js";
29
+ import"./index-3vescfdb.js";
30
30
  import"./index-ae75rja9.js";
31
- import"./index-qzstn430.js";
32
- import"./index-shazb5b6.js";
31
+ import"./index-m5z2fgs4.js";
32
+ import"./index-2zz8b0rb.js";
33
33
  import"./index-bk5tah7q.js";
34
- import"./index-3yh2e5ca.js";
34
+ import"./index-zpn3wqvp.js";
35
35
  import"./index-rsn4jm90.js";
36
36
  import"./index-ghbkknjz.js";
37
37
  import"./index-7g4c7s5r.js";
@@ -54,7 +54,7 @@ import {
54
54
  sweepStaleDelegations,
55
55
  updateCoderSettlement,
56
56
  writeDelegationFallback
57
- } from "./index-ch6sjm8q.js";
57
+ } from "./index-092deqxs.js";
58
58
  import"./index-4cgee5vh.js";
59
59
  import"./index-z6xqpmqg.js";
60
60
  import"./index-r3mvsbtq.js";
@@ -3,12 +3,12 @@ import {
3
3
  _internals,
4
4
  createModelEvaluationExecutor,
5
5
  runEvaluation
6
- } from "./index-kpgj4ha6.js";
7
- import"./index-fv5cc1rd.js";
6
+ } from "./index-ebt47fnp.js";
7
+ import"./index-x4kgn37c.js";
8
8
  import"./index-y8552snf.js";
9
9
  import"./index-r3mvsbtq.js";
10
- import"./index-shazb5b6.js";
11
- import"./index-3yh2e5ca.js";
10
+ import"./index-2zz8b0rb.js";
11
+ import"./index-zpn3wqvp.js";
12
12
  import"./index-rsn4jm90.js";
13
13
  import"./index-ghbkknjz.js";
14
14
  import"./index-7g4c7s5r.js";
@@ -4,15 +4,15 @@ import {
4
4
  alreadyCuratedThisGeneration,
5
5
  claimNextScanBatch,
6
6
  getScanStatus
7
- } from "./index-81n4ky69.js";
8
- import"./index-x46mmaep.js";
7
+ } from "./index-8y79znpe.js";
8
+ import"./index-3vescfdb.js";
9
9
  import"./index-9e6fdz2h.js";
10
10
  import"./index-4rhhvd1a.js";
11
11
  import"./index-ae75rja9.js";
12
- import"./index-qzstn430.js";
13
- import"./index-shazb5b6.js";
12
+ import"./index-m5z2fgs4.js";
13
+ import"./index-2zz8b0rb.js";
14
14
  import"./index-bk5tah7q.js";
15
- import"./index-3yh2e5ca.js";
15
+ import"./index-zpn3wqvp.js";
16
16
  import"./index-rsn4jm90.js";
17
17
  import"./index-ghbkknjz.js";
18
18
  import"./index-7g4c7s5r.js";
@@ -99,7 +99,7 @@ import {
99
99
  resolveGeneratedAgentRole,
100
100
  resolveGuardrailsConfig,
101
101
  stripKnownSwarmPrefix
102
- } from "./index-qwzpsh3w.js";
102
+ } from "./index-65jw48eb.js";
103
103
  import"./index-cpg98bh1.js";
104
104
  import"./index-zjygnfay.js";
105
105
  import"./index-bk5tah7q.js";
@@ -23,11 +23,11 @@ import {
23
23
  tombstoneScopeBinding,
24
24
  writeScopeBindingToDisk,
25
25
  writeScopeToDisk
26
- } from "./index-c23yxr1s.js";
27
- import"./index-f115c8y6.js";
26
+ } from "./index-harsx832.js";
27
+ import"./index-8sz9t8s2.js";
28
28
  import"./index-556ja8an.js";
29
- import"./index-k5ze5v89.js";
30
- import"./index-qwzpsh3w.js";
29
+ import"./index-08d3pb9a.js";
30
+ import"./index-65jw48eb.js";
31
31
  import"./index-cpg98bh1.js";
32
32
  import"./index-9e6fdz2h.js";
33
33
  import"./index-4rhhvd1a.js";
@@ -36,7 +36,7 @@ import"./index-z6xqpmqg.js";
36
36
  import"./index-r3mvsbtq.js";
37
37
  import"./index-zjygnfay.js";
38
38
  import"./index-bk5tah7q.js";
39
- import"./index-3yh2e5ca.js";
39
+ import"./index-zpn3wqvp.js";
40
40
  import"./index-rsn4jm90.js";
41
41
  import"./index-ghbkknjz.js";
42
42
  import"./index-7g4c7s5r.js";
@@ -33,18 +33,18 @@ import {
33
33
  sanitizeSlug,
34
34
  selectCandidateEntries,
35
35
  writeEvalStub
36
- } from "./index-hxqjf4me.js";
37
- import"./index-dwg0z10h.js";
38
- import"./index-jtnk7k6w.js";
36
+ } from "./index-xq8eydnk.js";
37
+ import"./index-8w63kj4x.js";
38
+ import"./index-r9g7ymv2.js";
39
39
  import"./index-rtry5xyf.js";
40
40
  import"./index-q7sjgr1y.js";
41
- import"./index-x46mmaep.js";
42
- import"./index-w49v4xd6.js";
43
- import"./index-shm69en5.js";
41
+ import"./index-3vescfdb.js";
42
+ import"./index-dmbvep3q.js";
43
+ import"./index-dh85aep3.js";
44
44
  import"./index-gprxjmm7.js";
45
45
  import"./index-n832052r.js";
46
- import"./index-k5ze5v89.js";
47
- import"./index-qwzpsh3w.js";
46
+ import"./index-08d3pb9a.js";
47
+ import"./index-65jw48eb.js";
48
48
  import"./index-cpg98bh1.js";
49
49
  import"./index-9e6fdz2h.js";
50
50
  import"./index-4rhhvd1a.js";
@@ -53,10 +53,10 @@ import"./index-z6xqpmqg.js";
53
53
  import"./index-r3mvsbtq.js";
54
54
  import"./index-zjygnfay.js";
55
55
  import"./index-ae75rja9.js";
56
- import"./index-qzstn430.js";
57
- import"./index-shazb5b6.js";
56
+ import"./index-m5z2fgs4.js";
57
+ import"./index-2zz8b0rb.js";
58
58
  import"./index-bk5tah7q.js";
59
- import"./index-3yh2e5ca.js";
59
+ import"./index-zpn3wqvp.js";
60
60
  import"./index-rsn4jm90.js";
61
61
  import"./index-ghbkknjz.js";
62
62
  import"./index-7g4c7s5r.js";
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  scanDelegationFallbacksForRecovery,
7
7
  scanDelegationsForRecovery
8
- } from "./index-ch6sjm8q.js";
8
+ } from "./index-092deqxs.js";
9
9
  import {
10
10
  WORKTREE_PROVISIONING_OWNER_LEASE_MS,
11
11
  removeWorktreeProvisioningOwner,
@@ -21,47 +21,47 @@ import {
21
21
  sanitizeWorktreeTaskId,
22
22
  standardWorktreeByCallID,
23
23
  standardWorktreeSerializationSessions
24
- } from "./index-kztxn1ww.js";
25
- import"./index-kpgj4ha6.js";
26
- import"./index-2bsnwcmp.js";
27
- import"./index-5wypz451.js";
28
- import"./index-t6ys1386.js";
29
- import"./index-fv5cc1rd.js";
24
+ } from "./index-7a41ca8k.js";
25
+ import"./index-ebt47fnp.js";
26
+ import"./index-et35gcph.js";
27
+ import"./index-fp9d0e6f.js";
28
+ import"./index-c9xfy8yj.js";
29
+ import"./index-x4kgn37c.js";
30
30
  import"./index-134d35c1.js";
31
31
  import"./index-nj6rmyeh.js";
32
32
  import"./index-y8552snf.js";
33
- import"./index-q0gfmyzx.js";
34
- import"./index-81n4ky69.js";
33
+ import"./index-afwwz4py.js";
34
+ import"./index-8y79znpe.js";
35
35
  import"./index-70ha9e09.js";
36
36
  import"./index-c8s9a3zh.js";
37
37
  import"./index-9ss2m4rs.js";
38
38
  import"./index-g8wwj0sz.js";
39
39
  import"./index-2n9rwvcc.js";
40
- import"./index-hxqjf4me.js";
41
- import"./index-dwg0z10h.js";
42
- import"./index-jtnk7k6w.js";
40
+ import"./index-xq8eydnk.js";
41
+ import"./index-8w63kj4x.js";
42
+ import"./index-r9g7ymv2.js";
43
43
  import"./index-rtry5xyf.js";
44
44
  import"./index-zsrtt42s.js";
45
- import"./index-ch6sjm8q.js";
45
+ import"./index-092deqxs.js";
46
46
  import"./index-fxvgaeq4.js";
47
- import"./index-py2rsw1a.js";
48
- import"./index-mfhpk4c6.js";
49
- import"./index-c23yxr1s.js";
50
- import"./index-f115c8y6.js";
47
+ import"./index-2d582j6q.js";
48
+ import"./index-y8kppv1z.js";
49
+ import"./index-harsx832.js";
50
+ import"./index-8sz9t8s2.js";
51
51
  import"./index-556ja8an.js";
52
52
  import"./index-b43rt5ph.js";
53
53
  import"./index-q7sjgr1y.js";
54
54
  import"./index-3g0xk6tk.js";
55
55
  import"./index-85gkedsf.js";
56
- import"./index-x46mmaep.js";
57
- import"./index-w49v4xd6.js";
56
+ import"./index-3vescfdb.js";
57
+ import"./index-dmbvep3q.js";
58
58
  import {
59
59
  resolveWorktreeIsolationConfig
60
- } from "./index-shm69en5.js";
60
+ } from "./index-dh85aep3.js";
61
61
  import"./index-gprxjmm7.js";
62
62
  import"./index-n832052r.js";
63
- import"./index-k5ze5v89.js";
64
- import"./index-qwzpsh3w.js";
63
+ import"./index-08d3pb9a.js";
64
+ import"./index-65jw48eb.js";
65
65
  import"./index-cpg98bh1.js";
66
66
  import"./index-9e6fdz2h.js";
67
67
  import"./index-4rhhvd1a.js";
@@ -70,10 +70,10 @@ import"./index-z6xqpmqg.js";
70
70
  import"./index-r3mvsbtq.js";
71
71
  import"./index-zjygnfay.js";
72
72
  import"./index-ae75rja9.js";
73
- import"./index-qzstn430.js";
74
- import"./index-shazb5b6.js";
73
+ import"./index-m5z2fgs4.js";
74
+ import"./index-2zz8b0rb.js";
75
75
  import"./index-bk5tah7q.js";
76
- import"./index-3yh2e5ca.js";
76
+ import"./index-zpn3wqvp.js";
77
77
  import"./index-rsn4jm90.js";
78
78
  import"./index-ghbkknjz.js";
79
79
  import"./index-7g4c7s5r.js";
@@ -383,6 +383,13 @@ export interface PrWorkflowGateState {
383
383
  * already spent.
384
384
  */
385
385
  prReviewRetiredConsolidatedLanes?: string[];
386
+ /**
387
+ * Durably reserved run_id for the current PR_REVIEW workflow before either
388
+ * writer has successfully committed its artifact. This lets omitted run_id
389
+ * calls infer the same run across retries/restarts and keeps the reservation
390
+ * separate from the trigger/findings completion receipts.
391
+ */
392
+ prReviewReservedRunId?: string;
386
393
  prReviewArtifactRunId?: string;
387
394
  prReviewFindingsPath?: string;
388
395
  prReviewArtifactBoundaries?: PrReviewArtifactBoundary[];
@@ -824,6 +831,7 @@ export declare function recordPrFeedbackGateBatch(directory: string, sessionID:
824
831
  export declare function assertPrFeedbackGatePhaseSettled(directory: string, sessionID: string, phase: PrFeedbackGatePhase): Promise<PrWorkflowGateState>;
825
832
  /** Require every ordered feedback gate on one unchanged revision. */
826
833
  export declare function assertPrFeedbackReadyToPublish(directory: string, sessionID: string): Promise<PrWorkflowGateState>;
834
+ export declare function resolvePrReviewWriterRunId(directory: string, sessionID: string, requestedRunId?: string): Promise<string>;
827
835
  export declare function markPrReviewTriggerEvaluationComplete(directory: string, sessionID: string, runId: string, artifactPath: string): Promise<PrWorkflowGateState>;
828
836
  /** Freeze one exact inline trigger ledger across every micro dispatch. */
829
837
  export declare function bindPrReviewTriggerLedger(directory: string, sessionID: string, input: unknown): Promise<PrWorkflowGateState>;
@@ -838,11 +846,16 @@ export declare function assertPrReviewArtifactBoundary(directory: string, sessio
838
846
  */
839
847
  export declare function assertPrReviewArtifactRecordsMatchAuthoritativeVerdicts(directory: string, sessionID: string, boundary: PrReviewArtifactBoundary, records: readonly PrReviewArtifactRecord[]): Promise<void>;
840
848
  export declare function markPrReviewArtifactBoundary(directory: string, sessionID: string, runId: string, boundary: PrReviewArtifactBoundary, artifactPath: string, findingIds: string[], handoffRequired: boolean): Promise<PrWorkflowGateState>;
841
- export declare function markPrReviewHandoffComplete(directory: string, sessionID: string, runId: string, artifactPath: string): Promise<PrWorkflowGateState>;
849
+ export declare function markPrReviewHandoffComplete(directory: string, sessionID: string, runId: string, artifactPath: string): Promise<{
850
+ state: PrWorkflowGateState;
851
+ alreadyOffered: boolean;
852
+ }>;
842
853
  export declare function transitionPrReviewToFeedback(directory: string, sessionID: string, request: {
843
854
  runId: string;
844
855
  handoffPath: string;
845
856
  prUrl?: string;
857
+ exactCommand?: string;
858
+ confirmedByUser?: boolean;
846
859
  }): Promise<PrWorkflowGateState>;
847
860
  export declare function declarePrFeedbackScope(directory: string, sessionID: string, taskId: string, files: string[]): Promise<PrWorkflowGateState>;
848
861
  export declare function resolvePrFeedbackScopeDeclaration(directory: string, sessionID: string, taskId: string): Promise<PrFeedbackScopeDeclarationRecord | null>;
@@ -865,6 +878,7 @@ export declare const _test_exports: {
865
878
  parseCanonicalCandidateRows: typeof parseCanonicalCandidateRows;
866
879
  resolvePrReviewRowFamily: typeof resolvePrReviewRowFamily;
867
880
  pipeFieldsCapped: typeof pipeFieldsCapped;
881
+ indexVerdictRows: typeof indexVerdictRows;
868
882
  reviewerVerdictRowDigest: typeof reviewerVerdictRowDigest;
869
883
  workflowGateStateRelativePath: typeof workflowGateStateRelativePath;
870
884
  workflowGateStateLockRelativePath: typeof workflowGateStateLockRelativePath;
@@ -1223,6 +1237,16 @@ export declare function validatePrReviewDiscoveryLaneCompletion(input: PrReviewD
1223
1237
  export declare function validatePrWorkflowTransportRecovery(input: PrWorkflowTransportRecoveryValidationInput): Promise<PrWorkflowTransportRecoveryValidationResult>;
1224
1238
  /** Require at least one semantically valid discovery row or CLEAN attestation. */
1225
1239
  export declare function prReviewDiscoveryArtifactCoversLane(text: string, expectedWorkflowLane: string, ownedWorkflowLanes?: readonly string[], mode?: string): boolean;
1240
+ interface IndexedVerdictRows {
1241
+ markerRows: string[][];
1242
+ rowsByItemId: Map<string, string[][]>;
1243
+ recoveries: Array<{
1244
+ marker: '[REVIEWED]' | '[CRITIC]';
1245
+ itemId: string;
1246
+ recovery: 'legacy-fidelity-safe' | 'legacy-lossy';
1247
+ }>;
1248
+ }
1249
+ declare function indexVerdictRows(text: string, marker: '[REVIEWED]' | '[CRITIC]'): IndexedVerdictRows;
1226
1250
  /**
1227
1251
  * Digest of the FULL canonical reviewer row, not the classification/severity
1228
1252
  * pair a reviewer verdict projects to. Only 2 of the 10 required fields survive
@@ -1246,6 +1270,7 @@ declare function analyzePrReviewVerdictRowContract(text: string, itemIds: readon
1246
1270
  ok: boolean;
1247
1271
  expected: string;
1248
1272
  actual: string;
1273
+ recoveries: IndexedVerdictRows['recoveries'];
1249
1274
  };
1250
1275
  declare function parseCriticVerdict(text: string, itemId: string, reviewerSeverity?: string): {
1251
1276
  status: string;