opencode-swarm 7.170.0 → 7.170.1
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/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
- package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
- package/dist/agents/reviewer-directive-compliance.d.ts +23 -7
- package/dist/cli/{coder-settlement-65zx1bet.js → coder-settlement-g1n2dk0a.js} +3 -3
- package/dist/cli/{config-doctor-c30rss1c.js → config-doctor-7v7hvdgw.js} +2 -2
- package/dist/cli/{core-8wkbr1tr.js → core-mz3rae1q.js} +1 -1
- package/dist/cli/{curator-llm-factory-jkjqasfs.js → curator-llm-factory-xaetdtgf.js} +19 -19
- package/dist/cli/{curator-pckzk1q4.js → curator-x28dw2mf.js} +19 -19
- package/dist/cli/{evidence-summary-service-4ydcapke.js → evidence-summary-service-kd22mp04.js} +6 -6
- package/dist/cli/{gate-evidence-xwqfky3m.js → gate-evidence-9snb217d.js} +2 -2
- package/dist/cli/{guardrail-explain-fe2veh2s.js → guardrail-explain-11zswj2c.js} +20 -20
- package/dist/cli/{guardrail-log-z38j69bx.js → guardrail-log-ykwrswvw.js} +3 -3
- package/dist/cli/{guardrail-reset-mmnzt4mz.js → guardrail-reset-7affkkeq.js} +19 -19
- package/dist/cli/{hive-promoter-68hrw1y1.js → hive-promoter-sfzrcn03.js} +19 -19
- package/dist/cli/{index-pw00xcj0.js → index-0hjtck07.js} +2 -2
- package/dist/cli/{index-xztkjj3c.js → index-8b2aqj41.js} +21 -21
- package/dist/cli/{index-9xk97bcf.js → index-987ga2vy.js} +3 -3
- package/dist/cli/{index-4wc5gfgm.js → index-9z0dc1t5.js} +1 -1
- package/dist/cli/{index-p6fj7qz7.js → index-as43fjha.js} +3 -3
- package/dist/cli/{index-t73888m0.js → index-bqscvndc.js} +1 -1
- package/dist/cli/{index-j144fgk8.js → index-bswpngg6.js} +54 -54
- package/dist/cli/{index-5bbem0ey.js → index-d6q0g0nd.js} +3 -3
- package/dist/cli/{index-31sqcdsd.js → index-ensg0pt6.js} +1 -1
- package/dist/cli/{index-06rbdzqn.js → index-g0qsftdd.js} +1 -1
- package/dist/cli/{index-td6xrw55.js → index-hp729z5v.js} +1 -1
- package/dist/cli/{index-n0d5hrs4.js → index-hzav6zra.js} +2 -2
- package/dist/cli/{index-0xprxg95.js → index-knh5z9gb.js} +1 -1
- package/dist/cli/{index-zw3hkzch.js → index-krzb4zkx.js} +1 -1
- package/dist/cli/{index-ssx8087p.js → index-q5q42mf3.js} +4 -4
- package/dist/cli/{index-8w1mrvbd.js → index-qv1y6f8r.js} +3 -3
- package/dist/cli/{index-ye43mdfm.js → index-r1yqx3h9.js} +1 -1
- package/dist/cli/{index-z5vas8c3.js → index-rkc1a0ym.js} +19 -19
- package/dist/cli/{index-mjn6aqqk.js → index-rp0dpvd2.js} +2 -2
- package/dist/cli/{index-3p3y55xg.js → index-rwdfk03c.js} +3 -3
- package/dist/cli/{index-59fcfpkh.js → index-tz3jzz2t.js} +1 -1
- package/dist/cli/{index-r1z8nrb6.js → index-v5gsvtvs.js} +5 -5
- package/dist/cli/{index-3eh2n3dx.js → index-wc34rqj0.js} +1 -1
- package/dist/cli/{index-3axdtaf0.js → index-z970hmyt.js} +2 -2
- package/dist/cli/index.js +19 -19
- package/dist/cli/{knowledge-escalator-pz2faktx.js → knowledge-escalator-s0y3m4sn.js} +6 -6
- package/dist/cli/{knowledge-events-s6s8qedx.js → knowledge-events-w7vjypwy.js} +4 -4
- package/dist/cli/{knowledge-store-dgv3xw3h.js → knowledge-store-bc2v557f.js} +1 -1
- package/dist/cli/{knowledge-validator-22qppdyv.js → knowledge-validator-adaamxzg.js} +2 -2
- package/dist/cli/{pending-delegations-4r21nf9d.js → pending-delegations-fzjr7p7f.js} +2 -2
- package/dist/cli/{pr-subscriptions-d52xy3zd.js → pr-subscriptions-tfwf461r.js} +1 -1
- package/dist/cli/{pr-workflow-gate-0de81kzw.js → pr-workflow-gate-heajnnkw.js} +19 -19
- package/dist/cli/{scan-cursor-ahbbejab.js → scan-cursor-512cqk7t.js} +2 -2
- package/dist/cli/{schema-17h2hcw9.js → schema-z9kd66wf.js} +1 -1
- package/dist/cli/{scope-persistence-gcn3zm5e.js → scope-persistence-8cpqcwg7.js} +5 -5
- package/dist/cli/{skill-generator-hkqr5qs7.js → skill-generator-1efdbkqh.js} +7 -7
- package/dist/cli/{snapshot-coordination-init-ms36zxv6.js → snapshot-coordination-init-fsf8h4d3.js} +19 -19
- package/dist/cli/{worktree-collision-ownership-7v7gg511.js → worktree-collision-ownership-zdpeepe4.js} +2 -2
- package/dist/cli/{worktree-isolation-nanamt25.js → worktree-isolation-zswrjstb.js} +19 -19
- package/dist/hooks/phase-complete-directive-gate.d.ts +13 -0
- package/dist/hooks/phase-directives.d.ts +31 -2
- package/dist/hooks/reviewer-verdict-parser.d.ts +6 -1
- package/dist/index.js +18 -10
- package/package.json +1 -1
|
@@ -33,19 +33,19 @@ import {
|
|
|
33
33
|
sanitizeSlug,
|
|
34
34
|
selectCandidateEntries,
|
|
35
35
|
writeEvalStub
|
|
36
|
-
} from "./index-
|
|
36
|
+
} from "./index-987ga2vy.js";
|
|
37
37
|
import"./index-q7sjgr1y.js";
|
|
38
|
-
import"./index-
|
|
38
|
+
import"./index-qv1y6f8r.js";
|
|
39
39
|
import"./index-b3pmzbh1.js";
|
|
40
40
|
import"./index-2s7dvzff.js";
|
|
41
|
-
import"./index-
|
|
41
|
+
import"./index-ensg0pt6.js";
|
|
42
42
|
import"./index-bm5xrfnx.js";
|
|
43
43
|
import"./index-rtry5xyf.js";
|
|
44
|
-
import"./index-
|
|
44
|
+
import"./index-rp0dpvd2.js";
|
|
45
45
|
import"./index-3qf1vxtb.js";
|
|
46
46
|
import"./index-n832052r.js";
|
|
47
47
|
import"./index-5qt9yf5w.js";
|
|
48
|
-
import"./index-
|
|
48
|
+
import"./index-q5q42mf3.js";
|
|
49
49
|
import"./index-vzm6zre7.js";
|
|
50
50
|
import"./index-ae75rja9.js";
|
|
51
51
|
import"./index-9ttqbhvw.js";
|
|
@@ -55,10 +55,10 @@ import"./index-nprdr0sm.js";
|
|
|
55
55
|
import"./index-nbdmdyke.js";
|
|
56
56
|
import"./index-1xnse449.js";
|
|
57
57
|
import"./index-ee6ydtfe.js";
|
|
58
|
-
import"./index-
|
|
58
|
+
import"./index-hp729z5v.js";
|
|
59
59
|
import"./index-0mhftbpp.js";
|
|
60
60
|
import"./index-a1w58b47.js";
|
|
61
|
-
import"./index-
|
|
61
|
+
import"./index-9z0dc1t5.js";
|
|
62
62
|
import"./index-sxt7fgcw.js";
|
|
63
63
|
import"./index-bk5tah7q.js";
|
|
64
64
|
import"./index-bpmtbmy9.js";
|
package/dist/cli/{snapshot-coordination-init-ms36zxv6.js → snapshot-coordination-init-fsf8h4d3.js}
RENAMED
|
@@ -8,43 +8,43 @@ import {
|
|
|
8
8
|
markSnapshotCoordinationClosing,
|
|
9
9
|
retrySnapshotCoordinationInitialization,
|
|
10
10
|
startSnapshotCoordinationInitialization
|
|
11
|
-
} from "./index-
|
|
11
|
+
} from "./index-bswpngg6.js";
|
|
12
12
|
import"./index-5400m33a.js";
|
|
13
13
|
import"./index-7h01bkm6.js";
|
|
14
|
-
import"./index-
|
|
14
|
+
import"./index-krzb4zkx.js";
|
|
15
15
|
import"./index-cgpwjctj.js";
|
|
16
|
-
import"./index-
|
|
17
|
-
import"./index-
|
|
16
|
+
import"./index-r1yqx3h9.js";
|
|
17
|
+
import"./index-rwdfk03c.js";
|
|
18
18
|
import"./index-xnpjwc4h.js";
|
|
19
19
|
import"./index-txdagbh7.js";
|
|
20
20
|
import"./index-9br68j86.js";
|
|
21
21
|
import"./index-cw912re7.js";
|
|
22
|
-
import"./index-
|
|
23
|
-
import"./index-
|
|
24
|
-
import"./index-
|
|
22
|
+
import"./index-987ga2vy.js";
|
|
23
|
+
import"./index-v5gsvtvs.js";
|
|
24
|
+
import"./index-wc34rqj0.js";
|
|
25
25
|
import"./index-fyfbpz4f.js";
|
|
26
26
|
import"./index-gfbggp8k.js";
|
|
27
27
|
import"./index-0hgmsyfp.js";
|
|
28
28
|
import"./index-zsrtt42s.js";
|
|
29
|
-
import"./index-
|
|
29
|
+
import"./index-d6q0g0nd.js";
|
|
30
30
|
import"./index-fhh02gwx.js";
|
|
31
31
|
import"./index-nyn01yrz.js";
|
|
32
32
|
import"./index-b43rt5ph.js";
|
|
33
33
|
import"./index-q7sjgr1y.js";
|
|
34
|
-
import"./index-
|
|
35
|
-
import"./index-
|
|
36
|
-
import"./index-
|
|
37
|
-
import"./index-
|
|
34
|
+
import"./index-g0qsftdd.js";
|
|
35
|
+
import"./index-tz3jzz2t.js";
|
|
36
|
+
import"./index-knh5z9gb.js";
|
|
37
|
+
import"./index-qv1y6f8r.js";
|
|
38
38
|
import"./index-b3pmzbh1.js";
|
|
39
39
|
import"./index-2s7dvzff.js";
|
|
40
|
-
import"./index-
|
|
40
|
+
import"./index-ensg0pt6.js";
|
|
41
41
|
import"./index-bm5xrfnx.js";
|
|
42
42
|
import"./index-rtry5xyf.js";
|
|
43
|
-
import"./index-
|
|
43
|
+
import"./index-rp0dpvd2.js";
|
|
44
44
|
import"./index-3qf1vxtb.js";
|
|
45
45
|
import"./index-n832052r.js";
|
|
46
|
-
import"./index-
|
|
47
|
-
import"./index-
|
|
46
|
+
import"./index-z970hmyt.js";
|
|
47
|
+
import"./index-0hjtck07.js";
|
|
48
48
|
import"./index-fgp96k3r.js";
|
|
49
49
|
import"./index-br3mvbsa.js";
|
|
50
50
|
import"./index-bernkwgf.js";
|
|
@@ -52,7 +52,7 @@ import"./index-dvbf6fpn.js";
|
|
|
52
52
|
import"./index-rdm3px0g.js";
|
|
53
53
|
import"./index-ry16d01s.js";
|
|
54
54
|
import"./index-5qt9yf5w.js";
|
|
55
|
-
import"./index-
|
|
55
|
+
import"./index-q5q42mf3.js";
|
|
56
56
|
import"./index-vzm6zre7.js";
|
|
57
57
|
import"./index-ae75rja9.js";
|
|
58
58
|
import"./index-9ttqbhvw.js";
|
|
@@ -62,10 +62,10 @@ import"./index-nprdr0sm.js";
|
|
|
62
62
|
import"./index-nbdmdyke.js";
|
|
63
63
|
import"./index-1xnse449.js";
|
|
64
64
|
import"./index-ee6ydtfe.js";
|
|
65
|
-
import"./index-
|
|
65
|
+
import"./index-hp729z5v.js";
|
|
66
66
|
import"./index-0mhftbpp.js";
|
|
67
67
|
import"./index-a1w58b47.js";
|
|
68
|
-
import"./index-
|
|
68
|
+
import"./index-9z0dc1t5.js";
|
|
69
69
|
import"./index-sxt7fgcw.js";
|
|
70
70
|
import"./index-bk5tah7q.js";
|
|
71
71
|
import"./index-bpmtbmy9.js";
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
import {
|
|
14
14
|
scanDelegationFallbacksForRecovery,
|
|
15
15
|
scanDelegationsForRecovery
|
|
16
|
-
} from "./index-
|
|
16
|
+
} from "./index-knh5z9gb.js";
|
|
17
17
|
import"./index-b3pmzbh1.js";
|
|
18
18
|
import"./index-2s7dvzff.js";
|
|
19
19
|
import"./index-br3mvbsa.js";
|
|
@@ -22,7 +22,7 @@ import"./index-dvbf6fpn.js";
|
|
|
22
22
|
import"./index-rdm3px0g.js";
|
|
23
23
|
import"./index-ry16d01s.js";
|
|
24
24
|
import"./index-5qt9yf5w.js";
|
|
25
|
-
import"./index-
|
|
25
|
+
import"./index-q5q42mf3.js";
|
|
26
26
|
import"./index-vzm6zre7.js";
|
|
27
27
|
import"./index-ae75rja9.js";
|
|
28
28
|
import"./index-9ttqbhvw.js";
|
|
@@ -21,45 +21,45 @@ import {
|
|
|
21
21
|
sanitizeWorktreeTaskId,
|
|
22
22
|
standardWorktreeByCallID,
|
|
23
23
|
standardWorktreeSerializationSessions
|
|
24
|
-
} from "./index-
|
|
24
|
+
} from "./index-bswpngg6.js";
|
|
25
25
|
import"./index-5400m33a.js";
|
|
26
26
|
import"./index-7h01bkm6.js";
|
|
27
|
-
import"./index-
|
|
27
|
+
import"./index-krzb4zkx.js";
|
|
28
28
|
import"./index-cgpwjctj.js";
|
|
29
|
-
import"./index-
|
|
30
|
-
import"./index-
|
|
29
|
+
import"./index-r1yqx3h9.js";
|
|
30
|
+
import"./index-rwdfk03c.js";
|
|
31
31
|
import"./index-xnpjwc4h.js";
|
|
32
32
|
import"./index-txdagbh7.js";
|
|
33
33
|
import"./index-9br68j86.js";
|
|
34
34
|
import"./index-cw912re7.js";
|
|
35
|
-
import"./index-
|
|
36
|
-
import"./index-
|
|
37
|
-
import"./index-
|
|
35
|
+
import"./index-987ga2vy.js";
|
|
36
|
+
import"./index-v5gsvtvs.js";
|
|
37
|
+
import"./index-wc34rqj0.js";
|
|
38
38
|
import"./index-fyfbpz4f.js";
|
|
39
39
|
import"./index-gfbggp8k.js";
|
|
40
40
|
import"./index-0hgmsyfp.js";
|
|
41
41
|
import"./index-zsrtt42s.js";
|
|
42
|
-
import"./index-
|
|
42
|
+
import"./index-d6q0g0nd.js";
|
|
43
43
|
import"./index-fhh02gwx.js";
|
|
44
44
|
import"./index-nyn01yrz.js";
|
|
45
45
|
import"./index-b43rt5ph.js";
|
|
46
46
|
import"./index-q7sjgr1y.js";
|
|
47
|
-
import"./index-
|
|
48
|
-
import"./index-
|
|
49
|
-
import"./index-
|
|
50
|
-
import"./index-
|
|
47
|
+
import"./index-g0qsftdd.js";
|
|
48
|
+
import"./index-tz3jzz2t.js";
|
|
49
|
+
import"./index-knh5z9gb.js";
|
|
50
|
+
import"./index-qv1y6f8r.js";
|
|
51
51
|
import"./index-b3pmzbh1.js";
|
|
52
52
|
import"./index-2s7dvzff.js";
|
|
53
|
-
import"./index-
|
|
53
|
+
import"./index-ensg0pt6.js";
|
|
54
54
|
import"./index-bm5xrfnx.js";
|
|
55
55
|
import"./index-rtry5xyf.js";
|
|
56
56
|
import {
|
|
57
57
|
resolveWorktreeIsolationConfig
|
|
58
|
-
} from "./index-
|
|
58
|
+
} from "./index-rp0dpvd2.js";
|
|
59
59
|
import"./index-3qf1vxtb.js";
|
|
60
60
|
import"./index-n832052r.js";
|
|
61
|
-
import"./index-
|
|
62
|
-
import"./index-
|
|
61
|
+
import"./index-z970hmyt.js";
|
|
62
|
+
import"./index-0hjtck07.js";
|
|
63
63
|
import"./index-fgp96k3r.js";
|
|
64
64
|
import"./index-br3mvbsa.js";
|
|
65
65
|
import"./index-bernkwgf.js";
|
|
@@ -67,7 +67,7 @@ import"./index-dvbf6fpn.js";
|
|
|
67
67
|
import"./index-rdm3px0g.js";
|
|
68
68
|
import"./index-ry16d01s.js";
|
|
69
69
|
import"./index-5qt9yf5w.js";
|
|
70
|
-
import"./index-
|
|
70
|
+
import"./index-q5q42mf3.js";
|
|
71
71
|
import"./index-vzm6zre7.js";
|
|
72
72
|
import"./index-ae75rja9.js";
|
|
73
73
|
import"./index-9ttqbhvw.js";
|
|
@@ -77,10 +77,10 @@ import"./index-nprdr0sm.js";
|
|
|
77
77
|
import"./index-nbdmdyke.js";
|
|
78
78
|
import"./index-1xnse449.js";
|
|
79
79
|
import"./index-ee6ydtfe.js";
|
|
80
|
-
import"./index-
|
|
80
|
+
import"./index-hp729z5v.js";
|
|
81
81
|
import"./index-0mhftbpp.js";
|
|
82
82
|
import"./index-a1w58b47.js";
|
|
83
|
-
import"./index-
|
|
83
|
+
import"./index-9z0dc1t5.js";
|
|
84
84
|
import"./index-sxt7fgcw.js";
|
|
85
85
|
import"./index-bk5tah7q.js";
|
|
86
86
|
import"./index-bpmtbmy9.js";
|
|
@@ -39,6 +39,19 @@ export interface DirectiveGateResult {
|
|
|
39
39
|
}
|
|
40
40
|
/**
|
|
41
41
|
* Evaluate all critical directives shown during the phase. Fail-closed.
|
|
42
|
+
*
|
|
43
|
+
* Since #2628 the reviewer-facing obligation unit is the ENTRY (one shown
|
|
44
|
+
* obligation per entry), so resolution is evaluated per entry: an entry is
|
|
45
|
+
* resolved when (a) at least one of its phase-window memberships carries a
|
|
46
|
+
* satisfying terminal (authorized override, applied, or ignored/n_a with a
|
|
47
|
+
* reason), AND (b) every violated/contradicted membership is remediated by an
|
|
48
|
+
* `applied` terminal committed STRICTLY LATER on some membership of the same
|
|
49
|
+
* entry (an earlier applied never hides a later violation; the same-membership
|
|
50
|
+
* case is the historical in-place remediation flow, where the current terminal
|
|
51
|
+
* is `applied` and the violated state moved to terminal_history). The reported
|
|
52
|
+
* trace_id is the representative the reviewer was shown: a violated membership
|
|
53
|
+
* when one exists, else the most recently committed one (ties by greatest
|
|
54
|
+
* trace_id) — mirroring `pickDirectiveRepresentatives` in phase-directives.ts.
|
|
42
55
|
*/
|
|
43
56
|
export declare function evaluatePhaseCriticalDirectives(params: {
|
|
44
57
|
directory: string;
|
|
@@ -18,11 +18,40 @@ import type { KnowledgeEntryBase } from './knowledge-types.js';
|
|
|
18
18
|
export declare function collectPhaseDirectiveIds(directory: string, phaseLabel?: string): Promise<string[]>;
|
|
19
19
|
/** Load all knowledge entries (swarm + hive) indexed by id. */
|
|
20
20
|
export declare function readEntriesById(directory: string): Promise<Map<string, KnowledgeEntryBase>>;
|
|
21
|
+
/**
|
|
22
|
+
* One candidate obligation per receipt membership, before per-entry collapse.
|
|
23
|
+
* `committed_at` and the terminal fields come from the membership so the
|
|
24
|
+
* representative selection below is deterministic.
|
|
25
|
+
*/
|
|
26
|
+
export interface DirectiveCandidate {
|
|
27
|
+
directive: DirectiveToVerify;
|
|
28
|
+
/** Membership commit time (ISO-8601 UTC from the receipt ledger). */
|
|
29
|
+
committed_at: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* True when `next` is a better per-entry representative than `incumbent`.
|
|
33
|
+
* Precedence (#2628): a membership whose current terminal is a violation
|
|
34
|
+
* (`violated` or `contradicted`) wins (it carries the remediation obligation
|
|
35
|
+
* via prior_terminal_*), then the most recently committed membership, then the
|
|
36
|
+
* lexicographically greatest trace_id (code-unit order — locale-independent
|
|
37
|
+
* determinism).
|
|
38
|
+
*/
|
|
39
|
+
export declare function isPreferredDirectiveCandidate(next: DirectiveCandidate, incumbent: DirectiveCandidate): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Collapse membership-derived candidates to at most one per unique entry_id
|
|
42
|
+
* (issue #2628). The reviewer's obligation unit is the directive (entry), not
|
|
43
|
+
* the (trace_id, entry_id) pair — pair multiplicity re-created one verification
|
|
44
|
+
* per historical exposure and grew the injected block O(entries x trace_ids).
|
|
45
|
+
* Snapshot semantics: the result is a pure function of the membership list at
|
|
46
|
+
* read time; a membership committed between dispatch and settle can shift the
|
|
47
|
+
* representative (pre-existing skew class, not widened here).
|
|
48
|
+
*/
|
|
49
|
+
export declare function pickDirectiveRepresentatives(candidates: DirectiveCandidate[]): DirectiveCandidate[];
|
|
21
50
|
/**
|
|
22
51
|
* Resolve the directives the reviewer must verify for a phase: the entries
|
|
23
52
|
* behind the phase's retrieved IDs, with priority + lesson + verification
|
|
24
|
-
* predicate
|
|
25
|
-
* any error.
|
|
53
|
+
* predicate, deduplicated to ONE obligation per entry. Archived/quarantined
|
|
54
|
+
* entries are excluded. Fail-open: returns [] on any error.
|
|
26
55
|
*/
|
|
27
56
|
export declare function readPhaseDirectivesToVerify(directory: string, phaseLabel?: string): Promise<DirectiveToVerify[]>;
|
|
28
57
|
/** The CRITICAL directive IDs retrieved during the phase. */
|
|
@@ -4,12 +4,17 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Parses a reviewer's `DIRECTIVE_COMPLIANCE` block (VERIFIED / VIOLATED / N/A
|
|
6
6
|
* lines) and reconciles it against the exact retrieval memberships the reviewer
|
|
7
|
-
* was asked to verify, committing one authoritative terminal per pair:
|
|
7
|
+
* was asked to verify, committing one authoritative terminal per shown pair:
|
|
8
8
|
*
|
|
9
9
|
* VERIFIED:<trace_id>:<entry_id> -> outcome:'applied'
|
|
10
10
|
* VIOLATED:<trace_id>:<entry_id> -> outcome:'violated'
|
|
11
11
|
* N/A:<trace_id>:<entry_id> -> outcome:'n_a'
|
|
12
12
|
*
|
|
13
|
+
* Since #2628 the shown set carries at most one pair per entry, so the pair
|
|
14
|
+
* shown is the entry's single obligation for the phase; the phase-complete gate
|
|
15
|
+
* resolves the ENTRY once that pair's terminal commits (see
|
|
16
|
+
* phase-complete-directive-gate.ts).
|
|
17
|
+
*
|
|
13
18
|
* Anti-spoofing: verdicts for pairs that were not in the verify-set are dropped.
|
|
14
19
|
* An omitted CRITICAL pair gets a `violated` / `reviewer_omitted` terminal.
|
|
15
20
|
* Authority failures return typed uncertainty and never fabricate success.
|