opencode-swarm 7.184.0 → 7.184.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/background/delegation-health.d.ts +1 -1
- package/dist/background/index.d.ts +1 -0
- package/dist/background/pr-event-delivery.d.ts +29 -14
- package/dist/background/pr-event-subscribers.d.ts +6 -5
- package/dist/background/pr-feedback-event-queue.d.ts +19 -2
- package/dist/background/pr-feedback-loop-runtime.d.ts +75 -0
- package/dist/background/pr-feedback-loop.d.ts +47 -12
- package/dist/cli/{coder-settlement-vrc5zxvv.js → coder-settlement-yvpewr52.js} +15 -12
- package/dist/cli/{config-doctor-y0bpap07.js → config-doctor-qgwpvrbz.js} +2 -2
- package/dist/cli/{core-7f955h2f.js → core-9qt388hq.js} +4 -4
- package/dist/cli/{curation-policy-fa2h82c4.js → curation-policy-49f8jx48.js} +7 -6
- package/dist/cli/{curator-drift-48x02n2m.js → curator-drift-wf0sm2te.js} +9 -9
- package/dist/cli/{curator-m7enwwz2.js → curator-ffz5pxgc.js} +40 -39
- package/dist/cli/curator-llm-factory-drs36v1q.js +75 -0
- package/dist/cli/{dispatch-p5zjg5e6.js → dispatch-cv89p2y1.js} +1 -1
- package/dist/cli/{evidence-summary-service-k8a5vkfk.js → evidence-summary-service-8dfzjnxe.js} +21 -20
- package/dist/cli/{gate-evidence-nktrs0w2.js → gate-evidence-aa5q30f4.js} +14 -7
- package/dist/cli/guardrail-explain-9g5y2gjm.js +76 -0
- package/dist/cli/{guardrail-log-dppv6tgn.js → guardrail-log-0g51p94w.js} +8 -8
- package/dist/cli/{guardrail-reset-btzq4ses.js → guardrail-reset-dcbmt2wr.js} +40 -39
- package/dist/cli/{hive-promoter-yp1baj9z.js → hive-promoter-2g8nga0y.js} +40 -39
- package/dist/cli/{index-r30xs0wp.js → index-046psajf.js} +1 -1
- package/dist/cli/{index-ysr6n4ca.js → index-0874kghs.js} +1 -1
- package/dist/cli/{index-6h81yvyc.js → index-131ay7x1.js} +3 -3
- package/dist/cli/{index-4gr9pj67.js → index-2c91cxdv.js} +4 -4
- package/dist/cli/{index-pq6vr26z.js → index-32vszgv0.js} +3 -3
- package/dist/cli/{index-0bpr8vag.js → index-3n5zsp31.js} +2 -2
- package/dist/cli/{index-152b9c6m.js → index-3skvygca.js} +5 -5
- package/dist/cli/{index-w81jmdkt.js → index-456awy1p.js} +2 -2
- package/dist/cli/{index-74x26wyj.js → index-475bkab8.js} +2 -2
- package/dist/cli/{index-t1swv35d.js → index-49ptc9xx.js} +1 -1
- package/dist/cli/{index-nm8ma9xb.js → index-57swfxyp.js} +8 -8
- package/dist/cli/{index-me39468k.js → index-5ppx86w1.js} +38 -18
- package/dist/cli/{index-njf5pbkm.js → index-6b427dy8.js} +6 -6
- package/dist/cli/{index-edrgc139.js → index-6cvdk98y.js} +2 -2
- package/dist/cli/{index-4t0wd9sv.js → index-6g664sy8.js} +1 -1
- package/dist/cli/{index-t26gj2fh.js → index-76abqm8d.js} +2 -2
- package/dist/cli/{index-nvm6mxep.js → index-7hvy33gc.js} +271 -80
- package/dist/cli/{index-6b4vkz6q.js → index-7p4ym4q3.js} +1 -1
- package/dist/cli/{index-rwfmx7vn.js → index-aghd9kcx.js} +2 -2
- package/dist/cli/{index-e90m050y.js → index-ar2gsn6b.js} +8 -8
- package/dist/cli/{index-fs9y88h1.js → index-dbshccrr.js} +3 -3
- package/dist/cli/{index-ad3yskxy.js → index-depfky1j.js} +158 -27
- package/dist/cli/{index-v3hpsxvd.js → index-earq3mda.js} +1 -1
- package/dist/cli/{index-b5mkznms.js → index-ejb7ejhd.js} +1 -1
- package/dist/cli/{index-3rb5gs4w.js → index-f0nj3d8z.js} +1 -1
- package/dist/cli/{index-5wk0etp8.js → index-gsgy1psq.js} +4 -4
- package/dist/cli/{index-qyx53xrz.js → index-jc8pcf0r.js} +7 -7
- package/dist/cli/{index-3fhg7pqf.js → index-jkxef52n.js} +2 -2
- package/dist/cli/{index-mn5zzmqx.js → index-jvk95e6y.js} +2 -2
- package/dist/cli/{index-5cve9g2b.js → index-k53a69vb.js} +6 -6
- package/dist/cli/{index-1xnse449.js → index-mc72pk74.js} +1 -1
- package/dist/cli/{index-bf1726rj.js → index-mz4zz59c.js} +42 -41
- package/dist/cli/{index-j40czc9v.js → index-n107956q.js} +5 -5
- package/dist/cli/{index-z3b157ew.js → index-qczxr0wh.js} +12 -10
- package/dist/cli/{index-9yvjwfay.js → index-s7bseqza.js} +3156 -1887
- package/dist/cli/{index-01wt209s.js → index-t7hmqgjy.js} +90 -141
- package/dist/cli/{index-08x7gsnf.js → index-w9hxzcz4.js} +2 -2
- package/dist/cli/{index-51xtrf7g.js → index-wfdx7yw2.js} +39 -15
- package/dist/cli/{index-079xzcxb.js → index-wsb0wbw6.js} +40 -39
- package/dist/cli/{index-nmh0s6dg.js → index-wy3zpwjy.js} +1 -1
- package/dist/cli/{index-fbhtb6f5.js → index-x1gyqgze.js} +7 -7
- package/dist/cli/index-xf69xty9.js +105 -0
- package/dist/cli/{index-z8smhv7k.js → index-ya32wfkp.js} +4 -2
- package/dist/cli/{index-46z4c89b.js → index-yk0r42nr.js} +4 -4
- package/dist/cli/{index-1d6ssjcj.js → index-zzvxj02e.js} +3 -3
- package/dist/cli/index.js +41 -40
- package/dist/cli/{knowledge-escalator-4296y1h2.js → knowledge-escalator-pt21q3eh.js} +14 -13
- package/dist/cli/{knowledge-events-31nga9yt.js → knowledge-events-hp96b55k.js} +12 -11
- package/dist/cli/{knowledge-link-ydpvzam8.js → knowledge-link-ap2274vm.js} +6 -5
- package/dist/cli/{knowledge-store-0qz3zmq3.js → knowledge-store-rnw1e7zp.js} +7 -6
- package/dist/cli/{knowledge-validator-vndnwdj6.js → knowledge-validator-xy7r6eyx.js} +9 -8
- package/dist/cli/{mcp-taace90a.js → mcp-3nd85kww.js} +15 -1
- package/dist/cli/mcp.d.ts +1 -0
- package/dist/cli/{model-preflight-bv8nvjjx.js → model-preflight-xe0chjad.js} +40 -39
- package/dist/cli/{pending-delegations-kwdk8j9d.js → pending-delegations-2pdngdzq.js} +13 -12
- package/dist/cli/{pr-subscriptions-w2fwdpkk.js → pr-subscriptions-hxxwszyr.js} +13 -12
- package/dist/cli/{pr-workflow-gate-sqjc6jmd.js → pr-workflow-gate-m37ynr6h.js} +40 -39
- package/dist/cli/{runner-r6gxq7m1.js → runner-yz3ysehf.js} +7 -6
- package/dist/cli/{scan-cursor-f74b9b4k.js → scan-cursor-be9hbq1v.js} +8 -7
- package/dist/cli/{schema-cyet68tw.js → schema-j17hv98z.js} +1 -1
- package/dist/cli/{scope-persistence-rg8v0r8q.js → scope-persistence-rmt56rma.js} +16 -15
- package/dist/cli/{server-765s4stz.js → server-wzrb59mh.js} +40 -39
- package/dist/cli/{skill-generator-qg5m18k7.js → skill-generator-vsfya55z.js} +16 -15
- package/dist/cli/{snapshot-coordination-init-zzs4bkmj.js → snapshot-coordination-init-pc8ykvh8.js} +40 -39
- package/dist/cli/{speckit-checkoff-2bsm6p0c.js → speckit-checkoff-j407j8ew.js} +4 -4
- package/dist/cli/{telemetry-rzvcp2n9.js → telemetry-39zmx4fp.js} +2 -2
- package/dist/cli/{workspace-snapshot-t22m6gbd.js → workspace-snapshot-0q1n1xq5.js} +4 -4
- package/dist/cli/{worktree-collision-ownership-qf2shp2n.js → worktree-collision-ownership-je4fb407.js} +14 -13
- package/dist/cli/{worktree-isolation-0b0jy6dt.js → worktree-isolation-27rt584e.js} +40 -39
- package/dist/db/qa-gate-session-override.d.ts +12 -12
- package/dist/gate-evidence.d.ts +43 -1
- package/dist/hooks/guardrails/index.d.ts +13 -7
- package/dist/index.js +507 -503
- package/dist/plan/ledger.d.ts +20 -4
- package/dist/plan/manager.d.ts +20 -2
- package/dist/session/hydration-ownership.d.ts +39 -12
- package/dist/session/snapshot-coordination-init.d.ts +11 -4
- package/dist/session/snapshot-reader.d.ts +9 -4
- package/dist/session/snapshot-writer.d.ts +2 -3
- package/dist/state.d.ts +35 -5
- package/dist/tools/phase-complete.d.ts +1 -0
- package/dist/tools/update-task-status.d.ts +1 -1
- package/dist/utils/project-boundary.d.ts +32 -1
- package/dist/workflow/coder-settlement.d.ts +8 -0
- package/dist/workflow/task-terminal.d.ts +2 -1
- package/dist/workflow/workflow-wal-schema.d.ts +2 -0
- package/package.json +1 -1
- package/dist/cli/curator-llm-factory-g6at4hn6.js +0 -74
- package/dist/cli/guardrail-explain-1ccchxdr.js +0 -75
|
@@ -9,32 +9,33 @@ import {
|
|
|
9
9
|
WORKTREE_PROVISIONING_OWNER_LEASE_MS,
|
|
10
10
|
removeWorktreeProvisioningOwner,
|
|
11
11
|
scanWorktreeProvisioningOwnersForRecovery
|
|
12
|
-
} from "./index-
|
|
12
|
+
} from "./index-3n5zsp31.js";
|
|
13
13
|
import {
|
|
14
14
|
scanDelegationFallbacksForRecovery,
|
|
15
15
|
scanDelegationsForRecovery
|
|
16
|
-
} from "./index-
|
|
17
|
-
import"./index-
|
|
16
|
+
} from "./index-57swfxyp.js";
|
|
17
|
+
import"./index-wy3zpwjy.js";
|
|
18
18
|
import"./index-2s7dvzff.js";
|
|
19
|
-
import"./index-
|
|
20
|
-
import"./index-
|
|
21
|
-
import"./index-
|
|
19
|
+
import"./index-456awy1p.js";
|
|
20
|
+
import"./index-f0nj3d8z.js";
|
|
21
|
+
import"./index-w9hxzcz4.js";
|
|
22
22
|
import"./index-rdm3px0g.js";
|
|
23
23
|
import"./index-ry16d01s.js";
|
|
24
|
-
import"./index-
|
|
25
|
-
import"./index-
|
|
24
|
+
import"./index-zzvxj02e.js";
|
|
25
|
+
import"./index-jc8pcf0r.js";
|
|
26
26
|
import"./index-vzm6zre7.js";
|
|
27
27
|
import"./index-ae75rja9.js";
|
|
28
|
-
import"./index-
|
|
29
|
-
import"./index-
|
|
30
|
-
import"./index-
|
|
28
|
+
import"./index-475bkab8.js";
|
|
29
|
+
import"./index-xf69xty9.js";
|
|
30
|
+
import"./index-t7hmqgjy.js";
|
|
31
|
+
import"./index-x1gyqgze.js";
|
|
31
32
|
import {
|
|
32
33
|
canonicalRootKeyFresh
|
|
33
|
-
} from "./index-
|
|
34
|
+
} from "./index-mc72pk74.js";
|
|
34
35
|
import"./index-c1ggtmpm.js";
|
|
35
36
|
import"./index-ejhxgyvm.js";
|
|
36
37
|
import"./index-7g4c7s5r.js";
|
|
37
|
-
import"./index-
|
|
38
|
+
import"./index-k53a69vb.js";
|
|
38
39
|
import"./index-zxdawwc7.js";
|
|
39
40
|
import"./index-bk5tah7q.js";
|
|
40
41
|
import"./index-gknz3bv1.js";
|
|
@@ -21,68 +21,69 @@ import {
|
|
|
21
21
|
sanitizeWorktreeTaskId,
|
|
22
22
|
standardWorktreeByCallID,
|
|
23
23
|
standardWorktreeSerializationSessions
|
|
24
|
-
} from "./index-
|
|
25
|
-
import"./index-
|
|
24
|
+
} from "./index-s7bseqza.js";
|
|
25
|
+
import"./index-32vszgv0.js";
|
|
26
26
|
import"./index-hamqvzqn.js";
|
|
27
|
-
import"./index-
|
|
28
|
-
import"./index-
|
|
29
|
-
import"./index-
|
|
30
|
-
import"./index-
|
|
31
|
-
import"./index-
|
|
27
|
+
import"./index-6g664sy8.js";
|
|
28
|
+
import"./index-yk0r42nr.js";
|
|
29
|
+
import"./index-046psajf.js";
|
|
30
|
+
import"./index-7hvy33gc.js";
|
|
31
|
+
import"./index-ya32wfkp.js";
|
|
32
32
|
import"./index-txdagbh7.js";
|
|
33
|
-
import"./index-
|
|
33
|
+
import"./index-7p4ym4q3.js";
|
|
34
34
|
import"./index-6b295cas.js";
|
|
35
|
-
import"./index-
|
|
36
|
-
import"./index-
|
|
37
|
-
import"./index-
|
|
35
|
+
import"./index-n107956q.js";
|
|
36
|
+
import"./index-3skvygca.js";
|
|
37
|
+
import"./index-jkxef52n.js";
|
|
38
38
|
import"./index-rdec0y3z.js";
|
|
39
|
-
import"./index-
|
|
39
|
+
import"./index-ar2gsn6b.js";
|
|
40
40
|
import"./index-cjapb4hy.js";
|
|
41
41
|
import"./index-zsrtt42s.js";
|
|
42
|
-
import"./index-
|
|
43
|
-
import"./index-
|
|
44
|
-
import"./index-
|
|
42
|
+
import"./index-5ppx86w1.js";
|
|
43
|
+
import"./index-131ay7x1.js";
|
|
44
|
+
import"./index-3n5zsp31.js";
|
|
45
45
|
import"./index-pt7h91zc.js";
|
|
46
46
|
import"./index-q7sjgr1y.js";
|
|
47
|
-
import"./index-
|
|
48
|
-
import"./index-
|
|
49
|
-
import"./index-
|
|
50
|
-
import"./index-
|
|
51
|
-
import"./index-
|
|
52
|
-
import"./index-
|
|
47
|
+
import"./index-76abqm8d.js";
|
|
48
|
+
import"./index-depfky1j.js";
|
|
49
|
+
import"./index-2c91cxdv.js";
|
|
50
|
+
import"./index-57swfxyp.js";
|
|
51
|
+
import"./index-qczxr0wh.js";
|
|
52
|
+
import"./index-wy3zpwjy.js";
|
|
53
53
|
import"./index-2s7dvzff.js";
|
|
54
|
-
import"./index-
|
|
55
|
-
import"./index-
|
|
54
|
+
import"./index-gsgy1psq.js";
|
|
55
|
+
import"./index-earq3mda.js";
|
|
56
56
|
import"./index-rtry5xyf.js";
|
|
57
57
|
import {
|
|
58
58
|
resolveWorktreeIsolationConfig
|
|
59
|
-
} from "./index-
|
|
59
|
+
} from "./index-6cvdk98y.js";
|
|
60
60
|
import"./index-frcemc0b.js";
|
|
61
61
|
import"./index-0725jpp7.js";
|
|
62
|
-
import"./index-
|
|
63
|
-
import"./index-
|
|
64
|
-
import"./index-
|
|
65
|
-
import"./index-
|
|
66
|
-
import"./index-
|
|
67
|
-
import"./index-
|
|
62
|
+
import"./index-6b427dy8.js";
|
|
63
|
+
import"./index-wfdx7yw2.js";
|
|
64
|
+
import"./index-jvk95e6y.js";
|
|
65
|
+
import"./index-456awy1p.js";
|
|
66
|
+
import"./index-f0nj3d8z.js";
|
|
67
|
+
import"./index-w9hxzcz4.js";
|
|
68
68
|
import"./index-rdm3px0g.js";
|
|
69
69
|
import"./index-ry16d01s.js";
|
|
70
|
-
import"./index-
|
|
71
|
-
import"./index-
|
|
70
|
+
import"./index-zzvxj02e.js";
|
|
71
|
+
import"./index-jc8pcf0r.js";
|
|
72
72
|
import"./index-vzm6zre7.js";
|
|
73
73
|
import"./index-ae75rja9.js";
|
|
74
|
-
import"./index-
|
|
75
|
-
import"./index-
|
|
76
|
-
import"./index-
|
|
77
|
-
import"./index-
|
|
74
|
+
import"./index-475bkab8.js";
|
|
75
|
+
import"./index-xf69xty9.js";
|
|
76
|
+
import"./index-t7hmqgjy.js";
|
|
77
|
+
import"./index-x1gyqgze.js";
|
|
78
|
+
import"./index-mc72pk74.js";
|
|
78
79
|
import"./index-c1ggtmpm.js";
|
|
79
80
|
import"./index-ejhxgyvm.js";
|
|
80
81
|
import"./index-7g4c7s5r.js";
|
|
81
|
-
import"./index-
|
|
82
|
+
import"./index-k53a69vb.js";
|
|
82
83
|
import"./index-gx2vp8gx.js";
|
|
83
|
-
import"./index-
|
|
84
|
+
import"./index-49ptc9xx.js";
|
|
84
85
|
import"./index-zxdawwc7.js";
|
|
85
|
-
import"./index-
|
|
86
|
+
import"./index-0874kghs.js";
|
|
86
87
|
import"./index-wzec3c4g.js";
|
|
87
88
|
import"./index-bk5tah7q.js";
|
|
88
89
|
import"./index-gknz3bv1.js";
|
|
@@ -15,19 +15,8 @@
|
|
|
15
15
|
* Semantics mirror the spec-level profile ratchet: only `true` wins. A session
|
|
16
16
|
* with no `true` gates has NO row — an empty merge deletes it.
|
|
17
17
|
*/
|
|
18
|
+
import { getProjectDb } from './project-db.js';
|
|
18
19
|
import { type QaGates } from './qa-gate-profile.js';
|
|
19
|
-
/**
|
|
20
|
-
* Test-only dependency-injection seam — see `gitignore-warning.ts:_internals`
|
|
21
|
-
* for the rationale (`mock.module` from `bun:test` leaks across files in
|
|
22
|
-
* Bun's shared test-runner process). Mutating this local object is
|
|
23
|
-
* file-scoped and trivially restorable via `afterEach`.
|
|
24
|
-
*/
|
|
25
|
-
export declare const _internals: {
|
|
26
|
-
getOverrideForSession: typeof getOverrideForSession;
|
|
27
|
-
setOverrideForSession: typeof setOverrideForSession;
|
|
28
|
-
clearOverrideForSession: typeof clearOverrideForSession;
|
|
29
|
-
clearAllSessionOverrides: typeof clearAllSessionOverrides;
|
|
30
|
-
};
|
|
31
20
|
/**
|
|
32
21
|
* Read the durable ratchet-tighter overrides for a session.
|
|
33
22
|
*
|
|
@@ -58,6 +47,16 @@ export declare function clearOverrideForSession(directory: string, sessionId: st
|
|
|
58
47
|
* session). Returns the number of rows removed.
|
|
59
48
|
*/
|
|
60
49
|
export declare function clearAllSessionOverrides(directory: string): number;
|
|
50
|
+
declare function deleteOrphanOverrideBatch(db: ReturnType<typeof getProjectDb>, sessionIds: string[]): number;
|
|
51
|
+
/**
|
|
52
|
+
* Dependency-injection seam used by sweepOrphanOverrides and its bounded-batch
|
|
53
|
+
* regression test. The test mutates and restores this seam in afterEach rather
|
|
54
|
+
* than using mock.module, which can leak across Bun test files; see
|
|
55
|
+
* gitignore-warning.ts:_internals for the pattern and rationale.
|
|
56
|
+
*/
|
|
57
|
+
export declare const _internals: {
|
|
58
|
+
deleteOrphanOverrideBatch: typeof deleteOrphanOverrideBatch;
|
|
59
|
+
};
|
|
61
60
|
/**
|
|
62
61
|
* Delete override rows whose session is no longer live in this project
|
|
63
62
|
* (#2668 orphan-row reaper). `sweepStaleSessions` can evict a stale session
|
|
@@ -70,3 +69,4 @@ export declare function clearAllSessionOverrides(directory: string): number;
|
|
|
70
69
|
* of orphaned rows removed.
|
|
71
70
|
*/
|
|
72
71
|
export declare function sweepOrphanOverrides(directory: string, keepSessionIds: ReadonlySet<string>): number;
|
|
72
|
+
export {};
|
package/dist/gate-evidence.d.ts
CHANGED
|
@@ -66,6 +66,16 @@ export interface TaskWorkflowMetadata {
|
|
|
66
66
|
* `repair_idle` (which opens a new generation for genuinely new work).
|
|
67
67
|
*/
|
|
68
68
|
supervisedRecovery?: boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Exact proof that the generation-0 coder settlement declared no files and
|
|
71
|
+
* observed no mutation. This is deliberately separate from retry history and
|
|
72
|
+
* lastOutcome so it cannot be overwritten by a later advisory transition.
|
|
73
|
+
*/
|
|
74
|
+
noMutationSettlement?: {
|
|
75
|
+
generation: 0;
|
|
76
|
+
transitionId: string;
|
|
77
|
+
declaredFiles: string[];
|
|
78
|
+
};
|
|
69
79
|
}
|
|
70
80
|
export interface TaskWorkflowSnapshot extends TaskWorkflowMetadata {
|
|
71
81
|
authoritative: boolean;
|
|
@@ -87,6 +97,20 @@ export interface TaskEvidence {
|
|
|
87
97
|
requirements_receipt_hash: string | null;
|
|
88
98
|
};
|
|
89
99
|
}
|
|
100
|
+
export interface ApplicableGateSet {
|
|
101
|
+
requiredGates: string[];
|
|
102
|
+
satisfiedGates: string[];
|
|
103
|
+
missingGates: string[];
|
|
104
|
+
readOnlyNoMutation: boolean;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Read the current task scope for a completion-time guard. A generation-0
|
|
108
|
+
* no-mutation settlement is meaningful only while the current task still has
|
|
109
|
+
* an empty scope. If the plan cannot be read, parsed, or identifies the task
|
|
110
|
+
* ambiguously, return null so callers fail closed rather than trusting stale
|
|
111
|
+
* proof.
|
|
112
|
+
*/
|
|
113
|
+
export declare function readCurrentTaskDeclaredFiles(directory: string, taskId: string): string[] | null;
|
|
90
114
|
/**
|
|
91
115
|
* Legacy internal marker written by receipt-less gate-evidence repair before
|
|
92
116
|
* issue #2525. It is read only for recovery and must never be emitted as a
|
|
@@ -168,6 +192,8 @@ export type TaskWorkflowTransitionEvent = {
|
|
|
168
192
|
type: 'task_completed';
|
|
169
193
|
/** Locked plan phase explicitly declares that reviewer QA is not required. */
|
|
170
194
|
qaExempt?: boolean;
|
|
195
|
+
/** Durable, non-forced completion of a trusted empty-scope settlement. */
|
|
196
|
+
readOnlyNoMutation?: boolean;
|
|
171
197
|
expectedGeneration: number;
|
|
172
198
|
transitionId?: string;
|
|
173
199
|
} | {
|
|
@@ -195,6 +221,10 @@ export interface GateDerivationContext {
|
|
|
195
221
|
testEngineerExempt?: boolean;
|
|
196
222
|
/** The shared-root coder changed files but returned a failed/cancelled result. */
|
|
197
223
|
settlementFailed?: boolean;
|
|
224
|
+
/** Trusted coder-settlement declared scope. Null/missing is not proof. */
|
|
225
|
+
declaredFiles?: readonly string[] | null;
|
|
226
|
+
/** Internal binding set only by the coder-settlement WAL transition adapter. */
|
|
227
|
+
settlementTransitionId?: string;
|
|
198
228
|
}
|
|
199
229
|
/**
|
|
200
230
|
* Canonical task-id validation helper.
|
|
@@ -203,6 +233,18 @@ export interface GateDerivationContext {
|
|
|
203
233
|
*/
|
|
204
234
|
export declare function isValidTaskId(taskId: string): boolean;
|
|
205
235
|
export declare function getTaskWorkflowSnapshot(evidence: TaskEvidence | null | undefined): TaskWorkflowSnapshot;
|
|
236
|
+
/**
|
|
237
|
+
* Derive the single evidence-backed gate set used by both completion and the
|
|
238
|
+
* read-only status tool. Empty required gates are meaningful only when the
|
|
239
|
+
* exact generation-0 no-mutation settlement proof is present; otherwise
|
|
240
|
+
* Stage A remains applicable and is reported as missing.
|
|
241
|
+
*/
|
|
242
|
+
export declare function deriveApplicableGateSet(evidence: TaskEvidence | null | undefined, options?: {
|
|
243
|
+
currentDeclaredFiles?: readonly string[] | null;
|
|
244
|
+
}): ApplicableGateSet;
|
|
245
|
+
export declare function isReadOnlyNoMutationEligible(evidence: TaskEvidence | null | undefined, options?: {
|
|
246
|
+
currentDeclaredFiles?: readonly string[] | null;
|
|
247
|
+
}): boolean;
|
|
206
248
|
export declare function reduceTaskWorkflowSnapshot(current: TaskWorkflowSnapshot, event: TaskWorkflowTransitionEvent, context: {
|
|
207
249
|
requiredGates: string[];
|
|
208
250
|
gates: Record<string, GateEvidence>;
|
|
@@ -298,6 +340,6 @@ export declare function readTaskEvidenceRaw(directory: string, taskId: string):
|
|
|
298
340
|
* Returns true only when every required_gate has a matching gates entry.
|
|
299
341
|
* Returns false if no evidence file exists.
|
|
300
342
|
*/
|
|
301
|
-
export declare function hasPassedAllGates(directory: string, taskId: string): Promise<boolean>;
|
|
343
|
+
export declare function hasPassedAllGates(directory: string, taskId: string, currentDeclaredFiles?: readonly string[] | null): Promise<boolean>;
|
|
302
344
|
export declare function compareTaskWorkflowStateRank(left: TaskWorkflowState, right: TaskWorkflowState): number;
|
|
303
345
|
export {};
|
|
@@ -46,13 +46,18 @@ export declare const _internals: {
|
|
|
46
46
|
};
|
|
47
47
|
export declare function emitDurableAttributionAdvisory(sessionID: string, key: string, message: string): void;
|
|
48
48
|
/**
|
|
49
|
-
* Stage A workflow-transition write errors
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
49
|
+
* Stage A workflow-transition write errors are split by the remediation they
|
|
50
|
+
* require. Coder-mutation-required is a reducer precondition: the architect
|
|
51
|
+
* must dispatch a coder for a real change before another Stage A result can
|
|
52
|
+
* be recorded. Stage-A-required is the attribution-recovery category. It is
|
|
53
|
+
* defensive at these two Stage A catches (the wrapped stage_a_passed and
|
|
54
|
+
* stage_a_failed writes currently cannot throw it), but remains live in the
|
|
55
|
+
* Stage B/delegation recovery surfaces.
|
|
56
|
+
*
|
|
57
|
+
* Duplicate transitions never throw (isDuplicateTransition returns the
|
|
58
|
+
* existing evidence), so any throw here is abnormal; TASK_WORKFLOW_TERMINAL
|
|
59
|
+
* and fencing codes stay warn-only because a late gate result after
|
|
60
|
+
* close/settlement is expected churn, not a wedge.
|
|
56
61
|
*
|
|
57
62
|
* `TASK_WORKFLOW_GENERATION_MISMATCH` is deliberately EXCLUDED: it is a CAS
|
|
58
63
|
* fencing code that fires during ordinary concurrent/parallel-lane operation
|
|
@@ -61,6 +66,7 @@ export declare function emitDurableAttributionAdvisory(sessionID: string, key: s
|
|
|
61
66
|
* turn a routine race into a false "run /swarm recover" advisory during
|
|
62
67
|
* normal, non-reset operation.
|
|
63
68
|
*/
|
|
69
|
+
export declare const STAGE_A_CODER_MUTATION_REQUIRED_CODES: Set<string>;
|
|
64
70
|
export declare const STAGE_A_ATTRIBUTION_MISS_CODES: Set<string>;
|
|
65
71
|
export declare function stageAWriteErrorCode(error: unknown): string | null;
|
|
66
72
|
type DurableAttributionResult = {
|