opencode-swarm 7.146.3 → 7.146.5
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/swarm-pr-review/SKILL.md +27 -44
- package/.opencode/skills/swarm-pr-review/references/findings-persistence-contract.md +52 -12
- package/.opencode/skills/swarm-pr-review/references/lane-output-recoverability.md +6 -3
- package/.opencode/skills/swarm-pr-review/references/parser-dry-run.md +19 -1
- package/.opencode/skills/swarm-pr-review/references/verdict-settlement-contract.md +41 -0
- package/dist/background/candidate-contract.d.ts +21 -1
- package/dist/background/candidate-parser.d.ts +21 -1
- package/dist/background/pending-delegations.d.ts +8 -1
- package/dist/background/pr-review-collection-receipt.d.ts +70 -0
- package/dist/cli/{config-doctor-yd866pd5.js → config-doctor-28e6h9ex.js} +2 -2
- package/dist/cli/{core-nc9a9g5m.js → core-n57ssze0.js} +1 -1
- package/dist/cli/{curation-policy-9vv7v5rf.js → curation-policy-g353f457.js} +4 -4
- package/dist/cli/{curator-acp80hpc.js → curator-e6p9vysv.js} +24 -24
- package/dist/cli/{curator-llm-factory-ewffa8r1.js → curator-llm-factory-bzvv3grb.js} +24 -24
- package/dist/cli/{evidence-summary-service-8gw74j8g.js → evidence-summary-service-b2xp0m26.js} +9 -9
- package/dist/cli/{gate-evidence-jj3zt2x1.js → gate-evidence-fmbx6hp1.js} +4 -4
- package/dist/cli/{guardrail-explain-50cp8k3r.js → guardrail-explain-g1nqbz0j.js} +25 -25
- package/dist/cli/{guardrail-log-jazq10gt.js → guardrail-log-1bbg0vx4.js} +3 -3
- package/dist/cli/{hive-promoter-qhrngsvb.js → hive-promoter-trew6apr.js} +24 -24
- package/dist/cli/{index-0a4s2803.js → index-0pya01vw.js} +4 -4
- package/dist/cli/{index-gwt7ceh7.js → index-52460nma.js} +2 -2
- package/dist/cli/{index-cgcs823z.js → index-53asfj0j.js} +4 -4
- package/dist/cli/{index-pgsvn005.js → index-55g08cg2.js} +5 -5
- package/dist/cli/{index-ypwwchs0.js → index-7pggq9ys.js} +1 -1
- package/dist/cli/{index-1kq3x5q6.js → index-8py21zn6.js} +1 -1
- package/dist/cli/{index-4zevsvaa.js → index-aybph866.js} +3 -3
- package/dist/cli/{index-a7cnyp5e.js → index-cp8jp4cv.js} +5 -5
- package/dist/cli/{index-bxk21f2w.js → index-cpzra8my.js} +1 -1
- package/dist/cli/{index-bydybrke.js → index-cyxdm0v3.js} +2 -2
- package/dist/cli/{index-gayh8tmh.js → index-d3t7q4b8.js} +1 -1
- package/dist/cli/{index-j2ckvbx7.js → index-f75qjtn5.js} +1 -1
- package/dist/cli/{index-3377n9qp.js → index-fjhc8mk2.js} +1 -1
- package/dist/cli/{index-v2eevdbj.js → index-fymrwjak.js} +4 -4
- package/dist/cli/{index-fypq68yn.js → index-gqx0rq53.js} +1 -1
- package/dist/cli/{index-qjgg9qzs.js → index-hcb25p12.js} +1 -1
- package/dist/cli/{index-3gagma8p.js → index-hn0hvgtt.js} +1 -1
- package/dist/cli/{index-xz9w7sa9.js → index-hw1yghpg.js} +4 -4
- package/dist/cli/{index-eybamsqg.js → index-ktpj357z.js} +2 -2
- package/dist/cli/{index-n96nt4gb.js → index-npw2xm46.js} +247 -102
- package/dist/cli/{index-pc4423w8.js → index-p3k155dv.js} +1 -1
- package/dist/cli/{index-yr1aabxa.js → index-p4ar0k0n.js} +3 -3
- package/dist/cli/{index-bxs4wkjf.js → index-rpy0bent.js} +177 -17
- package/dist/cli/{index-7ph5pz77.js → index-rqgnad5w.js} +2 -1
- package/dist/cli/{index-463msy1e.js → index-tp5ytzzg.js} +1 -1
- package/dist/cli/{index-262kyrk3.js → index-vjkfhqef.js} +2 -2
- package/dist/cli/{index-qqawmxe7.js → index-ymyv4d36.js} +26 -26
- package/dist/cli/{index-923phxsp.js → index-zqmzn9hk.js} +6 -6
- package/dist/cli/index.js +24 -24
- package/dist/cli/{knowledge-escalator-7zpg79dx.js → knowledge-escalator-dyrrftth.js} +9 -9
- package/dist/cli/{knowledge-events-8abttcnt.js → knowledge-events-hqrwgn29.js} +7 -7
- package/dist/cli/{knowledge-link-mgg482z6.js → knowledge-link-jkx8xjxp.js} +3 -3
- package/dist/cli/{knowledge-store-a5mzf986.js → knowledge-store-fn7whe2j.js} +4 -4
- package/dist/cli/{knowledge-validator-fn2myc73.js → knowledge-validator-6zb1j8c4.js} +6 -6
- package/dist/cli/{pending-delegations-591vme3d.js → pending-delegations-k2yqg1sj.js} +1 -1
- package/dist/cli/{runner-rcnpm510.js → runner-q7d22d1w.js} +4 -4
- package/dist/cli/{scan-cursor-4jv70zwb.js → scan-cursor-m04qgx82.js} +5 -5
- package/dist/cli/{schema-jhz9hme9.js → schema-40w13gdv.js} +1 -1
- package/dist/cli/{scope-persistence-ykswenxj.js → scope-persistence-fz2r889v.js} +5 -5
- package/dist/cli/{skill-generator-k5pxb3w2.js → skill-generator-413k36q9.js} +11 -11
- package/dist/cli/{worktree-collision-ownership-vt0jzmdt.js → worktree-collision-ownership-xj0bsg92.js} +1 -1
- package/dist/cli/{worktree-isolation-443q0pah.js → worktree-isolation-50afhbga.js} +24 -24
- package/dist/hooks/pr-workflow-gate.d.ts +58 -5
- package/dist/index.js +80 -77
- package/dist/tools/dispatch-lanes.d.ts +30 -8
- package/package.json +2 -1
|
@@ -29,12 +29,12 @@ import {
|
|
|
29
29
|
resolveKnowledgeCounterBaselinePath,
|
|
30
30
|
resolveKnowledgeEventsPath,
|
|
31
31
|
resolveLegacyApplicationLogPath
|
|
32
|
-
} from "./index-
|
|
33
|
-
import"./index-
|
|
32
|
+
} from "./index-cp8jp4cv.js";
|
|
33
|
+
import"./index-cyxdm0v3.js";
|
|
34
34
|
import"./index-gprxjmm7.js";
|
|
35
35
|
import"./index-n832052r.js";
|
|
36
|
-
import"./index-
|
|
37
|
-
import"./index-
|
|
36
|
+
import"./index-gqx0rq53.js";
|
|
37
|
+
import"./index-rqgnad5w.js";
|
|
38
38
|
import"./index-cpg98bh1.js";
|
|
39
39
|
import"./index-9e6fdz2h.js";
|
|
40
40
|
import"./index-4rhhvd1a.js";
|
|
@@ -43,10 +43,10 @@ import"./index-z6xqpmqg.js";
|
|
|
43
43
|
import"./index-zj6t9zgx.js";
|
|
44
44
|
import"./index-zjygnfay.js";
|
|
45
45
|
import"./index-ae75rja9.js";
|
|
46
|
-
import"./index-
|
|
47
|
-
import"./index-
|
|
46
|
+
import"./index-f75qjtn5.js";
|
|
47
|
+
import"./index-8py21zn6.js";
|
|
48
48
|
import"./index-bk5tah7q.js";
|
|
49
|
-
import"./index-
|
|
49
|
+
import"./index-hw1yghpg.js";
|
|
50
50
|
import"./index-6q35swn2.js";
|
|
51
51
|
import"./index-q81s0m8k.js";
|
|
52
52
|
import"./index-7g4c7s5r.js";
|
|
@@ -12,9 +12,9 @@ import {
|
|
|
12
12
|
resolveLinkDir,
|
|
13
13
|
sanitizeLinkId,
|
|
14
14
|
writeLinkPointer
|
|
15
|
-
} from "./index-
|
|
16
|
-
import"./index-
|
|
17
|
-
import"./index-
|
|
15
|
+
} from "./index-f75qjtn5.js";
|
|
16
|
+
import"./index-8py21zn6.js";
|
|
17
|
+
import"./index-hw1yghpg.js";
|
|
18
18
|
import"./index-6q35swn2.js";
|
|
19
19
|
import"./index-q81s0m8k.js";
|
|
20
20
|
import"./index-7g4c7s5r.js";
|
|
@@ -41,14 +41,14 @@ import {
|
|
|
41
41
|
transactKnowledge,
|
|
42
42
|
transactKnowledgeWithCas,
|
|
43
43
|
wordBigrams
|
|
44
|
-
} from "./index-
|
|
44
|
+
} from "./index-zqmzn9hk.js";
|
|
45
45
|
import {
|
|
46
46
|
resolveHiveDataDir
|
|
47
47
|
} from "./index-ae75rja9.js";
|
|
48
|
-
import"./index-
|
|
49
|
-
import"./index-
|
|
48
|
+
import"./index-f75qjtn5.js";
|
|
49
|
+
import"./index-8py21zn6.js";
|
|
50
50
|
import"./index-bk5tah7q.js";
|
|
51
|
-
import"./index-
|
|
51
|
+
import"./index-hw1yghpg.js";
|
|
52
52
|
import"./index-6q35swn2.js";
|
|
53
53
|
import"./index-q81s0m8k.js";
|
|
54
54
|
import"./index-7g4c7s5r.js";
|
|
@@ -23,15 +23,15 @@ import {
|
|
|
23
23
|
validateLesson,
|
|
24
24
|
validateSkillCandidatePath,
|
|
25
25
|
validateSkillPath
|
|
26
|
-
} from "./index-
|
|
27
|
-
import"./index-
|
|
26
|
+
} from "./index-53asfj0j.js";
|
|
27
|
+
import"./index-tp5ytzzg.js";
|
|
28
28
|
import"./index-rtry5xyf.js";
|
|
29
|
-
import"./index-
|
|
29
|
+
import"./index-zqmzn9hk.js";
|
|
30
30
|
import"./index-ae75rja9.js";
|
|
31
|
-
import"./index-
|
|
32
|
-
import"./index-
|
|
31
|
+
import"./index-f75qjtn5.js";
|
|
32
|
+
import"./index-8py21zn6.js";
|
|
33
33
|
import"./index-bk5tah7q.js";
|
|
34
|
-
import"./index-
|
|
34
|
+
import"./index-hw1yghpg.js";
|
|
35
35
|
import"./index-6q35swn2.js";
|
|
36
36
|
import"./index-q81s0m8k.js";
|
|
37
37
|
import"./index-7g4c7s5r.js";
|
|
@@ -3,12 +3,12 @@ import {
|
|
|
3
3
|
_internals,
|
|
4
4
|
createModelEvaluationExecutor,
|
|
5
5
|
runEvaluation
|
|
6
|
-
} from "./index-
|
|
7
|
-
import"./index-
|
|
6
|
+
} from "./index-hcb25p12.js";
|
|
7
|
+
import"./index-p3k155dv.js";
|
|
8
8
|
import"./index-y8552snf.js";
|
|
9
9
|
import"./index-zj6t9zgx.js";
|
|
10
|
-
import"./index-
|
|
11
|
-
import"./index-
|
|
10
|
+
import"./index-8py21zn6.js";
|
|
11
|
+
import"./index-hw1yghpg.js";
|
|
12
12
|
import"./index-6q35swn2.js";
|
|
13
13
|
import"./index-q81s0m8k.js";
|
|
14
14
|
import"./index-7g4c7s5r.js";
|
|
@@ -4,15 +4,15 @@ import {
|
|
|
4
4
|
alreadyCuratedThisGeneration,
|
|
5
5
|
claimNextScanBatch,
|
|
6
6
|
getScanStatus
|
|
7
|
-
} from "./index-
|
|
8
|
-
import"./index-
|
|
7
|
+
} from "./index-ktpj357z.js";
|
|
8
|
+
import"./index-zqmzn9hk.js";
|
|
9
9
|
import"./index-9e6fdz2h.js";
|
|
10
10
|
import"./index-4rhhvd1a.js";
|
|
11
11
|
import"./index-ae75rja9.js";
|
|
12
|
-
import"./index-
|
|
13
|
-
import"./index-
|
|
12
|
+
import"./index-f75qjtn5.js";
|
|
13
|
+
import"./index-8py21zn6.js";
|
|
14
14
|
import"./index-bk5tah7q.js";
|
|
15
|
-
import"./index-
|
|
15
|
+
import"./index-hw1yghpg.js";
|
|
16
16
|
import"./index-6q35swn2.js";
|
|
17
17
|
import"./index-q81s0m8k.js";
|
|
18
18
|
import"./index-7g4c7s5r.js";
|
|
@@ -99,7 +99,7 @@ import {
|
|
|
99
99
|
resolveGeneratedAgentRole,
|
|
100
100
|
resolveGuardrailsConfig,
|
|
101
101
|
stripKnownSwarmPrefix
|
|
102
|
-
} from "./index-
|
|
102
|
+
} from "./index-rqgnad5w.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-
|
|
27
|
-
import"./index-
|
|
26
|
+
} from "./index-p4ar0k0n.js";
|
|
27
|
+
import"./index-hn0hvgtt.js";
|
|
28
28
|
import"./index-556ja8an.js";
|
|
29
|
-
import"./index-
|
|
30
|
-
import"./index-
|
|
29
|
+
import"./index-gqx0rq53.js";
|
|
30
|
+
import"./index-rqgnad5w.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-zj6t9zgx.js";
|
|
37
37
|
import"./index-zjygnfay.js";
|
|
38
38
|
import"./index-bk5tah7q.js";
|
|
39
|
-
import"./index-
|
|
39
|
+
import"./index-hw1yghpg.js";
|
|
40
40
|
import"./index-6q35swn2.js";
|
|
41
41
|
import"./index-q81s0m8k.js";
|
|
42
42
|
import"./index-7g4c7s5r.js";
|
|
@@ -33,17 +33,17 @@ import {
|
|
|
33
33
|
sanitizeSlug,
|
|
34
34
|
selectCandidateEntries,
|
|
35
35
|
writeEvalStub
|
|
36
|
-
} from "./index-
|
|
37
|
-
import"./index-
|
|
38
|
-
import"./index-
|
|
36
|
+
} from "./index-fymrwjak.js";
|
|
37
|
+
import"./index-53asfj0j.js";
|
|
38
|
+
import"./index-tp5ytzzg.js";
|
|
39
39
|
import"./index-rtry5xyf.js";
|
|
40
|
-
import"./index-
|
|
41
|
-
import"./index-
|
|
42
|
-
import"./index-
|
|
40
|
+
import"./index-zqmzn9hk.js";
|
|
41
|
+
import"./index-cp8jp4cv.js";
|
|
42
|
+
import"./index-cyxdm0v3.js";
|
|
43
43
|
import"./index-gprxjmm7.js";
|
|
44
44
|
import"./index-n832052r.js";
|
|
45
|
-
import"./index-
|
|
46
|
-
import"./index-
|
|
45
|
+
import"./index-gqx0rq53.js";
|
|
46
|
+
import"./index-rqgnad5w.js";
|
|
47
47
|
import"./index-cpg98bh1.js";
|
|
48
48
|
import"./index-9e6fdz2h.js";
|
|
49
49
|
import"./index-4rhhvd1a.js";
|
|
@@ -52,10 +52,10 @@ import"./index-z6xqpmqg.js";
|
|
|
52
52
|
import"./index-zj6t9zgx.js";
|
|
53
53
|
import"./index-zjygnfay.js";
|
|
54
54
|
import"./index-ae75rja9.js";
|
|
55
|
-
import"./index-
|
|
56
|
-
import"./index-
|
|
55
|
+
import"./index-f75qjtn5.js";
|
|
56
|
+
import"./index-8py21zn6.js";
|
|
57
57
|
import"./index-bk5tah7q.js";
|
|
58
|
-
import"./index-
|
|
58
|
+
import"./index-hw1yghpg.js";
|
|
59
59
|
import"./index-6q35swn2.js";
|
|
60
60
|
import"./index-q81s0m8k.js";
|
|
61
61
|
import"./index-7g4c7s5r.js";
|
|
@@ -21,47 +21,47 @@ import {
|
|
|
21
21
|
sanitizeWorktreeTaskId,
|
|
22
22
|
standardWorktreeByCallID,
|
|
23
23
|
standardWorktreeSerializationSessions
|
|
24
|
-
} from "./index-
|
|
25
|
-
import"./index-
|
|
26
|
-
import"./index-
|
|
27
|
-
import"./index-
|
|
28
|
-
import"./index-
|
|
29
|
-
import"./index-
|
|
24
|
+
} from "./index-npw2xm46.js";
|
|
25
|
+
import"./index-hcb25p12.js";
|
|
26
|
+
import"./index-fjhc8mk2.js";
|
|
27
|
+
import"./index-d3t7q4b8.js";
|
|
28
|
+
import"./index-0pya01vw.js";
|
|
29
|
+
import"./index-p3k155dv.js";
|
|
30
30
|
import"./index-134d35c1.js";
|
|
31
31
|
import"./index-abtrcs16.js";
|
|
32
32
|
import"./index-y8552snf.js";
|
|
33
|
-
import"./index-
|
|
34
|
-
import"./index-
|
|
33
|
+
import"./index-55g08cg2.js";
|
|
34
|
+
import"./index-ktpj357z.js";
|
|
35
35
|
import"./index-70ha9e09.js";
|
|
36
36
|
import"./index-c8s9a3zh.js";
|
|
37
37
|
import"./index-9ss2m4rs.js";
|
|
38
38
|
import"./index-z9yhhk6q.js";
|
|
39
39
|
import"./index-3p4wgm0d.js";
|
|
40
|
-
import"./index-
|
|
41
|
-
import"./index-
|
|
42
|
-
import"./index-
|
|
40
|
+
import"./index-fymrwjak.js";
|
|
41
|
+
import"./index-53asfj0j.js";
|
|
42
|
+
import"./index-tp5ytzzg.js";
|
|
43
43
|
import"./index-rtry5xyf.js";
|
|
44
44
|
import"./index-zsrtt42s.js";
|
|
45
|
-
import"./index-
|
|
45
|
+
import"./index-rpy0bent.js";
|
|
46
46
|
import"./index-e1pxav9g.js";
|
|
47
|
-
import"./index-
|
|
48
|
-
import"./index-
|
|
49
|
-
import"./index-
|
|
50
|
-
import"./index-
|
|
47
|
+
import"./index-vjkfhqef.js";
|
|
48
|
+
import"./index-cpzra8my.js";
|
|
49
|
+
import"./index-p4ar0k0n.js";
|
|
50
|
+
import"./index-hn0hvgtt.js";
|
|
51
51
|
import"./index-556ja8an.js";
|
|
52
52
|
import"./index-7sy3aa9m.js";
|
|
53
53
|
import"./index-wx8zdh4a.js";
|
|
54
54
|
import"./index-3g0xk6tk.js";
|
|
55
55
|
import"./index-85gkedsf.js";
|
|
56
|
-
import"./index-
|
|
57
|
-
import"./index-
|
|
56
|
+
import"./index-zqmzn9hk.js";
|
|
57
|
+
import"./index-cp8jp4cv.js";
|
|
58
58
|
import {
|
|
59
59
|
resolveWorktreeIsolationConfig
|
|
60
|
-
} from "./index-
|
|
60
|
+
} from "./index-cyxdm0v3.js";
|
|
61
61
|
import"./index-gprxjmm7.js";
|
|
62
62
|
import"./index-n832052r.js";
|
|
63
|
-
import"./index-
|
|
64
|
-
import"./index-
|
|
63
|
+
import"./index-gqx0rq53.js";
|
|
64
|
+
import"./index-rqgnad5w.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-zj6t9zgx.js";
|
|
71
71
|
import"./index-zjygnfay.js";
|
|
72
72
|
import"./index-ae75rja9.js";
|
|
73
|
-
import"./index-
|
|
74
|
-
import"./index-
|
|
73
|
+
import"./index-f75qjtn5.js";
|
|
74
|
+
import"./index-8py21zn6.js";
|
|
75
75
|
import"./index-bk5tah7q.js";
|
|
76
|
-
import"./index-
|
|
76
|
+
import"./index-hw1yghpg.js";
|
|
77
77
|
import"./index-6q35swn2.js";
|
|
78
78
|
import"./index-q81s0m8k.js";
|
|
79
79
|
import"./index-7g4c7s5r.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as fsp from 'node:fs/promises';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { type CandidateSeverity, type RowFormatFamily } from '../background/candidate-contract.js';
|
|
3
|
+
import { type CandidateSeverity, type FindingsSeverity, type RowFormatFamily } from '../background/candidate-contract.js';
|
|
4
4
|
import { type LaneOutputArtifact } from '../background/lane-output-store.js';
|
|
5
5
|
import { type BackgroundDelegationRecord, type BackgroundDelegationResult, type BackgroundDelegationWorkflowLaneRecovery, findByBatchId, sweepStaleDelegations } from '../background/pending-delegations.js';
|
|
6
6
|
import { type PrReviewInlineTriggerRow } from '../background/pr-review-trigger-contract.js';
|
|
@@ -11,7 +11,7 @@ export declare const PR_REVIEW_BASE_DIMENSION_IDS: readonly ["intent-architectur
|
|
|
11
11
|
export declare const PR_REVIEW_REQUIRED_MICRO_LANE_IDS: ("auth-identity-secrets" | "untrusted-input-boundaries" | "subprocess-platform" | "concurrency-state" | "dependencies-build-release" | "api-schema-migrations" | "test-infrastructure" | "ui-accessibility-i18n" | "privacy-observability" | "generated-provenance" | "unclassified-risk")[];
|
|
12
12
|
export type PrReviewBaseDimensionId = (typeof PR_REVIEW_BASE_DIMENSION_IDS)[number];
|
|
13
13
|
export type PrWorkflowMode = 'PR_REVIEW' | 'PR_FEEDBACK';
|
|
14
|
-
export type PrReviewLaneValidationPredicate = 'batch.validated_at' | 'batch.expected_lane_unique' | 'record.missing' | 'record.duplicate_lane' | 'record.subagent_session_id' | 'record.duplicate_subagent_session_id' | 'record.forbidden_subagent_session_id' | 'record.created_at' | 'record.workflow_lane' | 'record.owned_workflow_lanes' | 'record.mode' | 'record.pr_head_sha' | 'record.git_head' | 'record.status' | 'result.output_degraded' | 'result.transcript_incomplete' | 'result.chars' | 'result.digest' | 'result.output_ref' | 'artifact.readable' | 'artifact.ref' | 'artifact.batch_id' | 'artifact.lane_id' | 'artifact.mode' | 'artifact.session_id' | 'artifact.parent_session_id' | 'artifact.agent' | 'artifact.role' | 'artifact.source' | 'artifact.workflow_lane_record' | 'artifact.workflow_lane_expected' | 'artifact.pr_head_sha' | 'artifact.git_head' | 'artifact.revision_digest' | 'record.scope' | 'artifact.scope' | 'artifact.digest' | 'artifact.chars' | 'discovery.header' | 'discovery.row' | 'discovery.coverage' | 'discovery.duplicate_evidence';
|
|
14
|
+
export type PrReviewLaneValidationPredicate = 'batch.validated_at' | 'batch.expected_lane_unique' | 'record.missing' | 'record.duplicate_lane' | 'record.subagent_session_id' | 'record.duplicate_subagent_session_id' | 'record.forbidden_subagent_session_id' | 'record.created_at' | 'record.workflow_lane' | 'record.owned_workflow_lanes' | 'record.mode' | 'record.pr_head_sha' | 'record.git_head' | 'record.status' | 'result.output_degraded' | 'result.transcript_incomplete' | 'result.chars' | 'result.digest' | 'result.output_ref' | 'artifact.readable' | 'artifact.ref' | 'artifact.batch_id' | 'artifact.lane_id' | 'artifact.mode' | 'artifact.session_id' | 'artifact.parent_session_id' | 'artifact.agent' | 'artifact.role' | 'artifact.source' | 'artifact.workflow_lane_record' | 'artifact.workflow_lane_expected' | 'artifact.pr_head_sha' | 'artifact.git_head' | 'artifact.revision_digest' | 'record.scope' | 'artifact.scope' | 'artifact.digest' | 'artifact.chars' | 'discovery.header' | 'discovery.row' | 'discovery.coverage' | 'discovery.duplicate_evidence' | 'reviewer.verdict_rows' | 'critic.verdict_rows';
|
|
15
15
|
export interface PrReviewLaneValidationFailure {
|
|
16
16
|
predicate: PrReviewLaneValidationPredicate;
|
|
17
17
|
expected: string;
|
|
@@ -54,12 +54,20 @@ export interface PrWorkflowTransportRecoveryValidationInput {
|
|
|
54
54
|
artifact: LaneOutputArtifact | null;
|
|
55
55
|
revisionDigest: string;
|
|
56
56
|
}
|
|
57
|
+
export interface PrReviewVerdictCollectionReceipt {
|
|
58
|
+
assignedReviewItemIds: string[];
|
|
59
|
+
acceptedReviewItemIds: string[];
|
|
60
|
+
rejectedReviewItemIds: string[];
|
|
61
|
+
}
|
|
57
62
|
export type PrWorkflowTransportRecoveryValidationResult = {
|
|
58
63
|
ok: true;
|
|
59
64
|
recoveries?: readonly BackgroundDelegationWorkflowLaneRecovery[];
|
|
65
|
+
receipt?: PrReviewVerdictCollectionReceipt;
|
|
60
66
|
} | {
|
|
61
67
|
ok: false;
|
|
62
68
|
reason: string;
|
|
69
|
+
failure?: PrReviewLaneValidationFailure;
|
|
70
|
+
receipt?: PrReviewVerdictCollectionReceipt;
|
|
63
71
|
};
|
|
64
72
|
export interface PrWorkflowCheckoutRecoveryRecord {
|
|
65
73
|
code: 'UNMERGED_INDEX' | 'GIT_OPERATION_IN_PROGRESS' | 'DIRTY_SUBMODULE' | 'SWARM_STATE_TRACKING_ERROR' | 'GIT_STATE_INDETERMINATE';
|
|
@@ -258,7 +266,14 @@ type PrReviewArtifactRecord = {
|
|
|
258
266
|
finding_id: string;
|
|
259
267
|
status: 'PENDING' | 'CONFIRMED' | 'DISPROVED' | 'PRE_EXISTING';
|
|
260
268
|
next_action: 'route_to_reviewer' | 'route_to_critic' | 'report' | 'suppress_with_reason' | 'handoff_to_feedback';
|
|
261
|
-
|
|
269
|
+
/**
|
|
270
|
+
* Optional in the TYPE only so a legacy findings row persisted before
|
|
271
|
+
* required-severity landed still loads (`readFindings` JSON-parses without
|
|
272
|
+
* re-validating). Presence is REQUIRED by
|
|
273
|
+
* `assertPrReviewArtifactRecordsMatchAuthoritativeVerdicts`, which treats an
|
|
274
|
+
* omitted severity as a mismatch rather than skipping the check (issue #2279).
|
|
275
|
+
*/
|
|
276
|
+
severity?: FindingsSeverity;
|
|
262
277
|
};
|
|
263
278
|
interface PrFeedbackScopeDeclarationRecord {
|
|
264
279
|
taskId: string;
|
|
@@ -292,8 +307,9 @@ interface PrReviewValidationBatchRecord {
|
|
|
292
307
|
interface PrReviewBatchCoherenceRecord {
|
|
293
308
|
/**
|
|
294
309
|
* The exact candidate/critic inventory this batch's ownership was validated
|
|
295
|
-
* against at record time
|
|
296
|
-
*
|
|
310
|
+
* against at record time. A batch may own a subset of this inventory; retaining
|
|
311
|
+
* the full set here prevents stale partial batches from contributing after the
|
|
312
|
+
* mechanically derived inventory changes.
|
|
297
313
|
*/
|
|
298
314
|
validatedInventory: string[];
|
|
299
315
|
/**
|
|
@@ -305,6 +321,8 @@ interface PrReviewBatchCoherenceRecord {
|
|
|
305
321
|
* claims it invalidated and leaves its siblings intact.
|
|
306
322
|
*/
|
|
307
323
|
reviewerItemBindings?: Record<string, string>;
|
|
324
|
+
/** Key encoding for reviewerItemBindings; absent means legacy raw item IDs. */
|
|
325
|
+
reviewerItemBindingKeyEncoding?: 'prefixed-v1';
|
|
308
326
|
}
|
|
309
327
|
export interface PrWorkflowGateState {
|
|
310
328
|
schemaVersion: 1;
|
|
@@ -888,6 +906,12 @@ export declare const _test_exports: {
|
|
|
888
906
|
resolveRemoteRefsContainingHead: typeof resolveRemoteRefsContainingHead;
|
|
889
907
|
resolveRemoteRefsContainingHeadAsync: typeof resolveRemoteRefsContainingHeadAsync;
|
|
890
908
|
parseCriticVerdict: typeof parseCriticVerdict;
|
|
909
|
+
/**
|
|
910
|
+
* Exact production verdict-row analysis and item composition parsers. Exposed
|
|
911
|
+
* so the assignment-boundary regression can prove both paths remain linear.
|
|
912
|
+
*/
|
|
913
|
+
analyzePrReviewVerdictRowContract: typeof analyzePrReviewVerdictRowContract;
|
|
914
|
+
parseLaneItemVerdicts: typeof parseLaneItemVerdicts;
|
|
891
915
|
/**
|
|
892
916
|
* Read-only view of the item-keyed composition for one session, including
|
|
893
917
|
* the diagnostics that settlement only logs (abandoned declared lanes,
|
|
@@ -994,6 +1018,12 @@ interface PrReviewGateContext {
|
|
|
994
1018
|
reviewer?: PrReviewPhaseComposition;
|
|
995
1019
|
critic?: PrReviewPhaseComposition;
|
|
996
1020
|
candidateInventory?: string[];
|
|
1021
|
+
/**
|
|
1022
|
+
* candidate_id -> the severity its `[CANDIDATE]` row declared. Populated
|
|
1023
|
+
* as a by-product of deriving the inventory, so it is exactly as
|
|
1024
|
+
* authoritative and as scoped as the inventory itself (issue #2320).
|
|
1025
|
+
*/
|
|
1026
|
+
candidateSeverities?: Map<string, CandidateSeverity>;
|
|
997
1027
|
}
|
|
998
1028
|
/**
|
|
999
1029
|
* Extract candidate ids from a discovery artifact's [CANDIDATE] rows. When
|
|
@@ -1006,6 +1036,13 @@ interface PrReviewGateContext {
|
|
|
1006
1036
|
interface CanonicalCandidateArtifactRow {
|
|
1007
1037
|
candidateId: string;
|
|
1008
1038
|
workflowLane: string;
|
|
1039
|
+
/**
|
|
1040
|
+
* The row's declared severity, already validated against
|
|
1041
|
+
* `CANDIDATE_SEVERITIES` by `analyzeCandidateFields` (so never `NONE`).
|
|
1042
|
+
* Carried so the `post_explorer` findings boundary can compare a record's
|
|
1043
|
+
* severity against the candidate row that produced it (issue #2320).
|
|
1044
|
+
*/
|
|
1045
|
+
severity: CandidateSeverity | null;
|
|
1009
1046
|
evidence: string;
|
|
1010
1047
|
lineNumber: number;
|
|
1011
1048
|
}
|
|
@@ -1133,6 +1170,22 @@ export declare function prReviewDiscoveryArtifactCoversLane(text: string, expect
|
|
|
1133
1170
|
* `pipeFields` can never produce, so no field boundary is forgeable.
|
|
1134
1171
|
*/
|
|
1135
1172
|
declare function reviewerVerdictRowDigest(fields: readonly string[]): string;
|
|
1173
|
+
/**
|
|
1174
|
+
* Per-item verdicts an artifact actually carries, as a map rather than a
|
|
1175
|
+
* boolean. This is the granularity the composition needs: one unparseable item
|
|
1176
|
+
* must not discard its healthy siblings in the same lane.
|
|
1177
|
+
*/
|
|
1178
|
+
declare function parseLaneItemVerdicts(text: string, itemIds: readonly string[], phase: PrReviewComposablePhase, reviewerClaims?: ReadonlyMap<string, PrReviewItemClaim>): Map<string, {
|
|
1179
|
+
classification: string;
|
|
1180
|
+
severity: string;
|
|
1181
|
+
rowDigest?: string;
|
|
1182
|
+
}>;
|
|
1183
|
+
/** Exact assigned-row contract used by both normal and recovered collection. */
|
|
1184
|
+
declare function analyzePrReviewVerdictRowContract(text: string, itemIds: readonly string[], phase: PrReviewComposablePhase, reviewerClaims?: ReadonlyMap<string, PrReviewItemClaim>): {
|
|
1185
|
+
ok: boolean;
|
|
1186
|
+
expected: string;
|
|
1187
|
+
actual: string;
|
|
1188
|
+
};
|
|
1136
1189
|
declare function parseCriticVerdict(text: string, itemId: string, reviewerSeverity?: string): {
|
|
1137
1190
|
status: string;
|
|
1138
1191
|
severity: string;
|