opencode-swarm 7.199.6 → 7.200.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/binaries/win32-arm64/swarm-sandbox-runner.exe +0 -0
- package/binaries/win32-x64/swarm-sandbox-runner.exe +0 -0
- package/dist/cli/attest-task-8ekwny8v.js +2209 -0
- package/dist/cli/{auto-checkpoint-gv21fb1h.js → auto-checkpoint-dqjk82s7.js} +9 -9
- package/dist/cli/{checkpoint-rd1bt793.js → checkpoint-2ahps2sp.js} +17 -17
- package/dist/cli/{coder-settlement-21zd1g3a.js → coder-settlement-1dk37pa9.js} +12 -12
- package/dist/cli/{config-doctor-mxe9nr78.js → config-doctor-73rctg85.js} +16 -16
- package/dist/cli/{core-7bd1sd36.js → core-y5mfws8v.js} +3 -3
- package/dist/cli/{curation-policy-w9y0db1n.js → curation-policy-43gq6t0y.js} +6 -6
- package/dist/cli/{curator-drift-21y19fnz.js → curator-drift-k7j9rcgp.js} +8 -8
- package/dist/cli/curator-llm-factory-rke0964p.js +82 -0
- package/dist/cli/{curator-7rf98h3k.js → curator-m278hyrq.js} +43 -43
- package/dist/cli/{doctor-knowledge-receipt-phase-id-6pdjxgfa.js → doctor-knowledge-receipt-phase-id-1m7pkzvt.js} +9 -9
- package/dist/cli/{evidence-summary-service-vdcx7fqd.js → evidence-summary-service-19k8x1g9.js} +20 -20
- package/dist/cli/{gate-evidence-ernx9gck.js → gate-evidence-hche0hf8.js} +15 -7
- package/dist/cli/guardrail-explain-jg5png4a.js +83 -0
- package/dist/cli/{guardrail-log-jr6b9rt3.js → guardrail-log-tvbgnxns.js} +7 -7
- package/dist/cli/{guardrail-reset-0qyt8vpd.js → guardrail-reset-v8kvh9cn.js} +43 -43
- package/dist/cli/{hive-promoter-2qwxrrsc.js → hive-promoter-bqfa763z.js} +43 -43
- package/dist/cli/{index-hx2f3j9w.js → index-0wg5q595.js} +2 -2
- package/dist/cli/{index-s4wbe96z.js → index-1rfgzsaw.js} +4 -4
- package/dist/cli/{index-zbygz217.js → index-1tpz99db.js} +2 -2
- package/dist/cli/{index-2cb644vj.js → index-22atsy06.js} +6 -6
- package/dist/cli/{index-x6rv0e00.js → index-35tf03js.js} +21 -14
- package/dist/cli/{index-gx2vp8gx.js → index-3t46mez1.js} +27 -1
- package/dist/cli/{index-syaa76vg.js → index-511hw14d.js} +47 -45
- package/dist/cli/{index-dqkr60bw.js → index-58cr1xg0.js} +172 -14
- package/dist/cli/{index-s9hekeej.js → index-71bqn1nn.js} +7 -7
- package/dist/cli/{index-zzpy5cx3.js → index-7v74n9a1.js} +12 -8
- package/dist/cli/{index-4cyc18bc.js → index-8a3aasag.js} +7 -7
- package/dist/cli/{index-jhjmf5sn.js → index-8rrs1nc0.js} +3 -3
- package/dist/cli/{index-j3rfbs45.js → index-99zt998b.js} +2 -2
- package/dist/cli/{index-qbhjey8k.js → index-9nmrw7ek.js} +3 -3
- package/dist/cli/{index-jmhn6ab5.js → index-ac8vdmgv.js} +2 -2
- package/dist/cli/{index-eyq1q1xn.js → index-bp476gwc.js} +2 -2
- package/dist/cli/{index-dtwj4hsk.js → index-c2k7q723.js} +2 -2
- package/dist/cli/{index-snx2vb1x.js → index-d083d1q7.js} +1 -1
- package/dist/cli/{index-n1ddn12j.js → index-dng8z8me.js} +1 -1
- package/dist/cli/{index-gdyqdhz1.js → index-e8m8bb1r.js} +4 -4
- package/dist/cli/{index-88d5kpjj.js → index-gwc7jahh.js} +1 -1
- package/dist/cli/{index-exj9yb0x.js → index-hg4qa0aq.js} +2704 -2208
- package/dist/cli/{index-f02p4yn4.js → index-hxp5jgd8.js} +2 -2
- package/dist/cli/{index-txh6dtnj.js → index-jbm301bq.js} +43 -43
- package/dist/cli/{index-0veqvgny.js → index-jy0mgzjq.js} +1 -1
- package/dist/cli/{index-eqw5vq9r.js → index-kwfhr3mz.js} +1 -1
- package/dist/cli/{index-vgb679vr.js → index-m9j9varx.js} +3 -3
- package/dist/cli/{index-tqtfjzb0.js → index-md2180vx.js} +3 -3
- package/dist/cli/{index-cwg99gea.js → index-n5k81wym.js} +7 -7
- package/dist/cli/{index-0je0mees.js → index-nq3zcrhm.js} +1 -1
- package/dist/cli/{index-3ct8kgfj.js → index-p5m71yph.js} +4 -4
- package/dist/cli/{index-7m2gcmm7.js → index-pyv8vzkx.js} +6 -6
- package/dist/cli/{index-270zfq1f.js → index-q1x73nnd.js} +6 -6
- package/dist/cli/{index-dz15f98h.js → index-q8vfw61p.js} +1 -1
- package/dist/cli/{index-r227g76y.js → index-qnabg1wp.js} +6 -6
- package/dist/cli/{index-b9f2j9bx.js → index-qnst0jwc.js} +3 -3
- package/dist/cli/{index-tsg61z0r.js → index-r02aqt0a.js} +2 -2
- package/dist/cli/{index-cyp3r8ar.js → index-rfvnq6wd.js} +10 -10
- package/dist/cli/{index-38fgg593.js → index-sk1rva12.js} +2 -2
- package/dist/cli/{index-bef4nhtj.js → index-tv9c3b3q.js} +4 -4
- package/dist/cli/{index-9y6yk1n0.js → index-vmevv6my.js} +1 -1
- package/dist/cli/{index-t67n8jhb.js → index-vqtca3xv.js} +2 -2
- package/dist/cli/{index-cs1d9e03.js → index-wfb6vrc2.js} +2 -2
- package/dist/cli/{index-3mzc5rqc.js → index-wr0n2w3z.js} +3 -3
- package/dist/cli/{index-b3ws03kp.js → index-x1z5d5kj.js} +1 -1
- package/dist/cli/{index-s5tgnsmh.js → index-x25rhkmk.js} +6 -6
- package/dist/cli/{index-exr153j1.js → index-yss701b3.js} +5 -5
- package/dist/cli/{index-0bw1jyen.js → index-yvv0my1a.js} +1 -1
- package/dist/cli/index.js +44 -44
- package/dist/cli/{knowledge-escalator-rsj9nqqt.js → knowledge-escalator-qcra58bx.js} +15 -15
- package/dist/cli/{knowledge-events-appww5kb.js → knowledge-events-9mnx1a3f.js} +13 -13
- package/dist/cli/{knowledge-link-t0ce3mw7.js → knowledge-link-2jsn9f6a.js} +5 -5
- package/dist/cli/{knowledge-store-n76rzv27.js → knowledge-store-fdneqf7z.js} +6 -6
- package/dist/cli/{knowledge-validator-ycxvjasa.js → knowledge-validator-7nj987ga.js} +8 -8
- package/dist/cli/{mcp-jy0gk3c8.js → mcp-0g34wmz4.js} +1 -1
- package/dist/cli/{model-preflight-rg0mppzf.js → model-preflight-g11ykgc0.js} +43 -43
- package/dist/cli/{pending-delegations-e6brjxp2.js → pending-delegations-5vme18wx.js} +13 -13
- package/dist/cli/{pr-subscriptions-vjsb5ydq.js → pr-subscriptions-cbx5p838.js} +12 -12
- package/dist/cli/{pr-workflow-gate-bj66aa9k.js → pr-workflow-gate-376gw6yj.js} +43 -43
- package/dist/cli/{runner-wq954cda.js → runner-vvd26z2z.js} +6 -6
- package/dist/cli/{scan-cursor-kkg94g0t.js → scan-cursor-x3j5wvfm.js} +7 -7
- package/dist/cli/{schema-d1exxwv8.js → schema-d98zzrpn.js} +1 -1
- package/dist/cli/{scope-persistence-3v9hce7b.js → scope-persistence-vkb8z4hc.js} +16 -16
- package/dist/cli/{server-jkcwkh8t.js → server-25svy6cb.js} +45 -45
- package/dist/cli/{skill-generator-wg8qfdm8.js → skill-generator-ktz33dt6.js} +17 -17
- package/dist/cli/{snapshot-coordination-init-xyffgya9.js → snapshot-coordination-init-74x3psxc.js} +43 -43
- package/dist/cli/{speckit-checkoff-61xn2c2v.js → speckit-checkoff-9t6cdn4a.js} +4 -4
- package/dist/cli/{telemetry-gena5typ.js → telemetry-cr8q16wk.js} +1 -1
- package/dist/cli/{workspace-snapshot-hzhz0rxw.js → workspace-snapshot-afqvh9bq.js} +3 -3
- package/dist/cli/{worktree-collision-ownership-gsv009xc.js → worktree-collision-ownership-7a1n1f9j.js} +14 -14
- package/dist/cli/{worktree-isolation-3sdvs69a.js → worktree-isolation-8snw7w34.js} +43 -43
- package/dist/commands/attest.d.ts +10 -0
- package/dist/commands/index.d.ts +1 -0
- package/dist/commands/registry.d.ts +8 -0
- package/dist/config/plan-schema.d.ts +44 -0
- package/dist/gate-evidence.d.ts +138 -1
- package/dist/index.js +561 -557
- package/dist/tools/attest-task.d.ts +67 -0
- package/dist/tools/phase-complete.d.ts +12 -0
- package/dist/tools/save-plan.d.ts +16 -0
- package/dist/tools/update-task-status.d.ts +1 -1
- package/dist/workflow/task-terminal.d.ts +1 -0
- package/dist/workflow/workflow-wal-schema.d.ts +2 -0
- package/package.json +1 -1
- package/dist/cli/curator-llm-factory-ab821je6.js +0 -82
- package/dist/cli/guardrail-explain-7jef0dhs.js +0 -83
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
handleGuardrailExplain
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-wfb6vrc2.js";
|
|
5
5
|
import {
|
|
6
6
|
handleGuardrailLog
|
|
7
|
-
} from "./index-
|
|
7
|
+
} from "./index-kwfhr3mz.js";
|
|
8
8
|
import {
|
|
9
9
|
COMMAND_REGISTRY,
|
|
10
10
|
DEFAULT_CI_DEADLINE_MS,
|
|
@@ -23,6 +23,7 @@ import {
|
|
|
23
23
|
handleAnalyzeCommand,
|
|
24
24
|
handleApproveWriteCommand,
|
|
25
25
|
handleArchiveCommand,
|
|
26
|
+
handleAttestCommand,
|
|
26
27
|
handleAutoProceedCommand,
|
|
27
28
|
handleBenchmarkCommand,
|
|
28
29
|
handleBlueprintCurrentCommand,
|
|
@@ -97,80 +98,80 @@ import {
|
|
|
97
98
|
handleWriteRetroCommand,
|
|
98
99
|
normalizeSwarmCommandInput,
|
|
99
100
|
resolveCommand
|
|
100
|
-
} from "./index-
|
|
101
|
-
import"./index-
|
|
102
|
-
import"./index-
|
|
103
|
-
import"./index-
|
|
101
|
+
} from "./index-hg4qa0aq.js";
|
|
102
|
+
import"./index-nq3zcrhm.js";
|
|
103
|
+
import"./index-8rrs1nc0.js";
|
|
104
|
+
import"./index-md2180vx.js";
|
|
105
|
+
import"./index-yss701b3.js";
|
|
106
|
+
import"./index-0wg5q595.js";
|
|
104
107
|
import"./index-axqyjreb.js";
|
|
105
|
-
import"./index-0je0mees.js";
|
|
106
|
-
import"./index-hx2f3j9w.js";
|
|
107
108
|
import"./index-txdagbh7.js";
|
|
108
|
-
import"./index-
|
|
109
|
+
import"./index-qnabg1wp.js";
|
|
110
|
+
import"./index-vqtca3xv.js";
|
|
109
111
|
import"./index-rdec0y3z.js";
|
|
110
|
-
import"./index-
|
|
111
|
-
import"./index-
|
|
112
|
-
import"./index-
|
|
113
|
-
import"./index-
|
|
114
|
-
import"./index-
|
|
115
|
-
import"./index-4cyc18bc.js";
|
|
112
|
+
import"./index-qnst0jwc.js";
|
|
113
|
+
import"./index-71bqn1nn.js";
|
|
114
|
+
import"./index-e8m8bb1r.js";
|
|
115
|
+
import"./index-bp476gwc.js";
|
|
116
|
+
import"./index-8a3aasag.js";
|
|
116
117
|
import"./index-x5jwegqw.js";
|
|
117
|
-
import"./index-
|
|
118
|
-
import"./index-
|
|
118
|
+
import"./index-r02aqt0a.js";
|
|
119
|
+
import"./index-rfvnq6wd.js";
|
|
119
120
|
import"./index-8mrentmw.js";
|
|
120
121
|
import"./index-pt7h91zc.js";
|
|
121
122
|
import"./index-q7sjgr1y.js";
|
|
122
|
-
import"./index-
|
|
123
|
-
import"./index-
|
|
123
|
+
import"./index-22atsy06.js";
|
|
124
|
+
import"./index-35tf03js.js";
|
|
124
125
|
import"./index-6b295cas.js";
|
|
125
126
|
import"./index-9nyqt3kb.js";
|
|
126
|
-
import"./index-
|
|
127
|
+
import"./index-9nmrw7ek.js";
|
|
127
128
|
import"./index-v3bmwmqw.js";
|
|
128
|
-
import"./index-
|
|
129
|
-
import"./index-
|
|
130
|
-
import"./index-
|
|
129
|
+
import"./index-sk1rva12.js";
|
|
130
|
+
import"./index-58cr1xg0.js";
|
|
131
|
+
import"./index-m9j9varx.js";
|
|
131
132
|
import"./index-spggmr30.js";
|
|
132
|
-
import"./index-
|
|
133
|
-
import"./index-
|
|
133
|
+
import"./index-1rfgzsaw.js";
|
|
134
|
+
import"./index-x25rhkmk.js";
|
|
134
135
|
import"./index-m9zzj4ee.js";
|
|
135
|
-
import"./index-
|
|
136
|
-
import"./index-
|
|
137
|
-
import"./index-
|
|
136
|
+
import"./index-x1z5d5kj.js";
|
|
137
|
+
import"./index-p5m71yph.js";
|
|
138
|
+
import"./index-jy0mgzjq.js";
|
|
138
139
|
import"./index-rtry5xyf.js";
|
|
139
|
-
import"./index-
|
|
140
|
+
import"./index-hxp5jgd8.js";
|
|
140
141
|
import"./index-g22dps7x.js";
|
|
141
142
|
import"./index-0725jpp7.js";
|
|
142
|
-
import"./index-
|
|
143
|
-
import"./index-
|
|
144
|
-
import"./index-
|
|
145
|
-
import"./index-
|
|
146
|
-
import"./index-
|
|
143
|
+
import"./index-pyv8vzkx.js";
|
|
144
|
+
import"./index-99zt998b.js";
|
|
145
|
+
import"./index-7v74n9a1.js";
|
|
146
|
+
import"./index-vmevv6my.js";
|
|
147
|
+
import"./index-d083d1q7.js";
|
|
147
148
|
import"./index-ry16d01s.js";
|
|
148
149
|
import"./index-rdm3px0g.js";
|
|
149
|
-
import"./index-
|
|
150
|
+
import"./index-wr0n2w3z.js";
|
|
150
151
|
import"./index-7pmbnjvj.js";
|
|
151
152
|
import"./index-9rwhas09.js";
|
|
152
|
-
import"./index-
|
|
153
|
-
import"./index-
|
|
153
|
+
import"./index-1tpz99db.js";
|
|
154
|
+
import"./index-n5k81wym.js";
|
|
154
155
|
import"./index-vzm6zre7.js";
|
|
155
156
|
import"./index-ae75rja9.js";
|
|
156
|
-
import"./index-
|
|
157
|
-
import"./index-
|
|
158
|
-
import"./index-
|
|
157
|
+
import"./index-dng8z8me.js";
|
|
158
|
+
import"./index-ac8vdmgv.js";
|
|
159
|
+
import"./index-q8vfw61p.js";
|
|
159
160
|
import"./index-t7hmqgjy.js";
|
|
160
|
-
import"./index-
|
|
161
|
+
import"./index-c2k7q723.js";
|
|
161
162
|
import"./index-te9hq2f4.js";
|
|
162
163
|
import"./index-ejhxgyvm.js";
|
|
163
164
|
import"./index-7g4c7s5r.js";
|
|
164
|
-
import"./index-
|
|
165
|
-
import"./index-
|
|
166
|
-
import"./index-
|
|
165
|
+
import"./index-q1x73nnd.js";
|
|
166
|
+
import"./index-3t46mez1.js";
|
|
167
|
+
import"./index-gwc7jahh.js";
|
|
167
168
|
import"./index-sp2cxpaq.js";
|
|
168
169
|
import"./index-qbxk2rn6.js";
|
|
169
170
|
import"./index-zgwm4ryv.js";
|
|
170
171
|
import {
|
|
171
172
|
init_schema,
|
|
172
173
|
stripKnownSwarmPrefix
|
|
173
|
-
} from "./index-
|
|
174
|
+
} from "./index-yvv0my1a.js";
|
|
174
175
|
import {
|
|
175
176
|
AGENT_TOOL_MAP,
|
|
176
177
|
ORCHESTRATOR_NAME,
|
|
@@ -513,6 +514,7 @@ export {
|
|
|
513
514
|
handleBlueprintCurrentCommand,
|
|
514
515
|
handleBenchmarkCommand,
|
|
515
516
|
handleAutoProceedCommand,
|
|
517
|
+
handleAttestCommand,
|
|
516
518
|
handleArchiveCommand,
|
|
517
519
|
handleApproveWriteCommand,
|
|
518
520
|
handleAnalyzeCommand,
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
import {
|
|
3
3
|
autoCommitDirty,
|
|
4
4
|
cleanUntrackedFiles
|
|
5
|
-
} from "./index-
|
|
5
|
+
} from "./index-m9j9varx.js";
|
|
6
6
|
import {
|
|
7
7
|
isSpawnCwdMissing,
|
|
8
8
|
isSpawnCwdUnreadable
|
|
9
9
|
} from "./index-spggmr30.js";
|
|
10
10
|
import {
|
|
11
11
|
validateSwarmPath
|
|
12
|
-
} from "./index-
|
|
12
|
+
} from "./index-x1z5d5kj.js";
|
|
13
13
|
import {
|
|
14
14
|
init_path_identity,
|
|
15
15
|
isPathWithinDeclaredScope,
|
|
@@ -19,13 +19,13 @@ import {
|
|
|
19
19
|
atomicWriteFile,
|
|
20
20
|
taskEvidencePath,
|
|
21
21
|
withTaskEvidenceLock
|
|
22
|
-
} from "./index-
|
|
22
|
+
} from "./index-ac8vdmgv.js";
|
|
23
23
|
import {
|
|
24
24
|
assertProjectRoot
|
|
25
25
|
} from "./index-t7hmqgjy.js";
|
|
26
26
|
import {
|
|
27
27
|
telemetry
|
|
28
|
-
} from "./index-
|
|
28
|
+
} from "./index-c2k7q723.js";
|
|
29
29
|
import {
|
|
30
30
|
advisoryWarn,
|
|
31
31
|
init_git_executable,
|
|
@@ -46,6 +46,7 @@ import {
|
|
|
46
46
|
|
|
47
47
|
// src/gate-evidence.ts
|
|
48
48
|
init_zod();
|
|
49
|
+
import { createHash as createHash2 } from "crypto";
|
|
49
50
|
import { mkdirSync as mkdirSync3, readFileSync as readFileSync3, realpathSync as realpathSync2, statSync as statSync2 } from "fs";
|
|
50
51
|
import * as path4 from "path";
|
|
51
52
|
|
|
@@ -222,6 +223,53 @@ async function readTaskGateRequirementsReceipts(directory, taskId) {
|
|
|
222
223
|
}
|
|
223
224
|
return receipts;
|
|
224
225
|
}
|
|
226
|
+
function readTaskGateRequirementsReceiptsSync(directory, taskId) {
|
|
227
|
+
const filePath = safeTaskGateRequirementsReceiptPath(directory, taskId, false);
|
|
228
|
+
const text = readBoundedTextFile(filePath);
|
|
229
|
+
if (text === null)
|
|
230
|
+
return [];
|
|
231
|
+
const receipts = [];
|
|
232
|
+
for (const line of text.split(`
|
|
233
|
+
`)) {
|
|
234
|
+
if (!line.trim())
|
|
235
|
+
continue;
|
|
236
|
+
const parsed = TaskGateRequirementsReceiptSchema.parse(JSON.parse(line));
|
|
237
|
+
if (parsed.taskId !== taskId || parsed.routeBinding !== undefined && parsed.routeBinding.taskId !== taskId) {
|
|
238
|
+
throw new Error(`TASK_GATE_REQUIREMENTS_IDENTITY_MISMATCH: expected ${taskId}, found ${parsed.taskId}`);
|
|
239
|
+
}
|
|
240
|
+
const { chainHash, ...withoutChainHash } = parsed;
|
|
241
|
+
if (computeChainHash(withoutChainHash) !== chainHash) {
|
|
242
|
+
throw new Error(`TASK_GATE_REQUIREMENTS_CHAIN_MISMATCH: receipt for ${taskId} failed hash validation`);
|
|
243
|
+
}
|
|
244
|
+
const previousChainHash = receipts.at(-1)?.chainHash ?? null;
|
|
245
|
+
if (parsed.previousChainHash !== previousChainHash) {
|
|
246
|
+
throw new Error(`TASK_GATE_REQUIREMENTS_CHAIN_MISMATCH: receipt for ${taskId} failed linkage validation`);
|
|
247
|
+
}
|
|
248
|
+
receipts.push(parsed);
|
|
249
|
+
}
|
|
250
|
+
return receipts;
|
|
251
|
+
}
|
|
252
|
+
function routeEvidenceFromTaskGateRequirements(receipts) {
|
|
253
|
+
const latestByDispatch = new Map;
|
|
254
|
+
for (const receipt of receipts) {
|
|
255
|
+
const binding = receipt.routeBinding;
|
|
256
|
+
if (!binding)
|
|
257
|
+
continue;
|
|
258
|
+
const dispatchKey = [
|
|
259
|
+
binding.role,
|
|
260
|
+
binding.sessionId,
|
|
261
|
+
binding.taskId,
|
|
262
|
+
binding.callId,
|
|
263
|
+
binding.childSessionId,
|
|
264
|
+
String(binding.generation)
|
|
265
|
+
].join("\x00");
|
|
266
|
+
latestByDispatch.set(dispatchKey, binding);
|
|
267
|
+
}
|
|
268
|
+
return [...latestByDispatch.values()];
|
|
269
|
+
}
|
|
270
|
+
function isLegacyTaskGateRequirementsChain(receipts) {
|
|
271
|
+
return receipts.length > 0 && receipts.every((receipt) => !receipt.routeBinding);
|
|
272
|
+
}
|
|
225
273
|
function deriveReceiptRole(event) {
|
|
226
274
|
switch (event.type) {
|
|
227
275
|
case "accepted_mutation":
|
|
@@ -344,6 +392,12 @@ function sanitizeTaskId(taskId) {
|
|
|
344
392
|
}
|
|
345
393
|
throw new Error(`Invalid task ID: must be alphanumeric (ASCII) with optional hyphens, underscores, or dots, got "${taskId}"`);
|
|
346
394
|
}
|
|
395
|
+
function validateTaskIdFormat(taskId) {
|
|
396
|
+
if (!STRICT_TASK_ID_PATTERN.test(taskId)) {
|
|
397
|
+
return `Invalid taskId "${taskId}". Must match pattern N.M or N.M.P (e.g., "1.1", "1.2.3")`;
|
|
398
|
+
}
|
|
399
|
+
return;
|
|
400
|
+
}
|
|
347
401
|
|
|
348
402
|
// src/workflow/workflow-wal-file.ts
|
|
349
403
|
import * as fs4 from "fs";
|
|
@@ -1493,7 +1547,7 @@ function parseTaskRepairWal(raw, filePath, expectedTaskId) {
|
|
|
1493
1547
|
}
|
|
1494
1548
|
function parseTaskTerminalWal(raw, filePath, expectedTaskId) {
|
|
1495
1549
|
const parsed = parseWalObject(raw, filePath, "TASK_TERMINAL_WAL_UNREADABLE", "Preserve this file and reconcile the task terminal transition before moving it aside.");
|
|
1496
|
-
if (parsed.version !== 1 && parsed.version !== 2 || parsed.state !== "PREPARED" && parsed.state !== "COMMITTED" && parsed.state !== "ABORTED" || typeof parsed.taskId !== "string" || !TASK_ID_PATTERN.test(parsed.taskId) || typeof parsed.transitionId !== "string" || parsed.transitionId.length === 0 || parsed.transitionId.length > 512 || typeof parsed.actor !== "string" || parsed.actor.length === 0 || parsed.actor.length > 512 || typeof parsed.oldPlanStatus !== "string" || parsed.oldPlanStatus.length === 0 || parsed.oldPlanStatus.length > 128 || parsed.newPlanStatus !== "completed" && parsed.newPlanStatus !== "blocked" && parsed.newPlanStatus !== "closed" || typeof parsed.oldWorkflowState !== "string" || !WORKFLOW_STATES.has(parsed.oldWorkflowState) || parsed.newWorkflowState !== "complete" && parsed.newWorkflowState !== "blocked" && parsed.newWorkflowState !== "closed" || !Number.isInteger(parsed.generation) || (parsed.generation ?? -1) < 0 || typeof parsed.qaExempt !== "boolean" || parsed.readOnlyNoMutation !== undefined && typeof parsed.readOnlyNoMutation !== "boolean" || typeof parsed.recordedAt !== "string" || !Number.isFinite(Date.parse(parsed.recordedAt))) {
|
|
1550
|
+
if (parsed.version !== 1 && parsed.version !== 2 || parsed.state !== "PREPARED" && parsed.state !== "COMMITTED" && parsed.state !== "ABORTED" || typeof parsed.taskId !== "string" || !TASK_ID_PATTERN.test(parsed.taskId) || typeof parsed.transitionId !== "string" || parsed.transitionId.length === 0 || parsed.transitionId.length > 512 || typeof parsed.actor !== "string" || parsed.actor.length === 0 || parsed.actor.length > 512 || typeof parsed.oldPlanStatus !== "string" || parsed.oldPlanStatus.length === 0 || parsed.oldPlanStatus.length > 128 || parsed.newPlanStatus !== "completed" && parsed.newPlanStatus !== "blocked" && parsed.newPlanStatus !== "closed" || typeof parsed.oldWorkflowState !== "string" || !WORKFLOW_STATES.has(parsed.oldWorkflowState) || parsed.newWorkflowState !== "complete" && parsed.newWorkflowState !== "blocked" && parsed.newWorkflowState !== "closed" || !Number.isInteger(parsed.generation) || (parsed.generation ?? -1) < 0 || typeof parsed.qaExempt !== "boolean" || parsed.readOnlyNoMutation !== undefined && typeof parsed.readOnlyNoMutation !== "boolean" || parsed.externalEvidence !== undefined && typeof parsed.externalEvidence !== "boolean" || typeof parsed.recordedAt !== "string" || !Number.isFinite(Date.parse(parsed.recordedAt))) {
|
|
1497
1551
|
formatUnreadableMessage("TASK_TERMINAL_WAL_UNREADABLE", filePath, "is not a valid terminal WAL", "Preserve this file and reconcile the task terminal transition before moving it aside.");
|
|
1498
1552
|
}
|
|
1499
1553
|
if (parsed.version === 2 && (typeof parsed.planIdentityHash !== "string" || !SHA256_PATTERN.test(parsed.planIdentityHash) || typeof parsed.planEpoch !== "string" || !UUID_PATTERN.test(parsed.planEpoch))) {
|
|
@@ -1733,7 +1787,9 @@ var TASK_WORKFLOW_OUTCOMES = [
|
|
|
1733
1787
|
"task_completed",
|
|
1734
1788
|
"task_blocked",
|
|
1735
1789
|
"task_closed",
|
|
1736
|
-
"repair_idle"
|
|
1790
|
+
"repair_idle",
|
|
1791
|
+
"external_evidence_attested",
|
|
1792
|
+
"external_evidence_revoked"
|
|
1737
1793
|
];
|
|
1738
1794
|
var MAX_PLAN_SCOPE_INSPECTION_BYTES = 4 * 1024 * 1024;
|
|
1739
1795
|
function readCurrentTaskDeclaredFiles(directory, taskId) {
|
|
@@ -1799,6 +1855,30 @@ var GateEvidenceSchema = exports_external.object({
|
|
|
1799
1855
|
timestamp: exports_external.string(),
|
|
1800
1856
|
agent: exports_external.string()
|
|
1801
1857
|
}).passthrough();
|
|
1858
|
+
var ExternalEvidenceBundleSchema = exports_external.object({
|
|
1859
|
+
class: exports_external.literal("external_git"),
|
|
1860
|
+
transitionId: exports_external.string().min(1).max(512),
|
|
1861
|
+
declarationDigest: exports_external.string().regex(/^[a-f0-9]{64}$/),
|
|
1862
|
+
anchors: exports_external.array(exports_external.object({
|
|
1863
|
+
command: exports_external.string().min(1).max(400),
|
|
1864
|
+
expect: exports_external.string().max(4096).optional(),
|
|
1865
|
+
expect_prefix: exports_external.string().min(1).max(4096).optional(),
|
|
1866
|
+
matched: exports_external.boolean(),
|
|
1867
|
+
exit_code: exports_external.number().int(),
|
|
1868
|
+
stdout: exports_external.string().max(4096)
|
|
1869
|
+
})).min(1).max(16).superRefine((anchors, ctx) => {
|
|
1870
|
+
anchors.forEach((anchor, index) => {
|
|
1871
|
+
if (anchor.expect === undefined && anchor.expect_prefix === undefined) {
|
|
1872
|
+
ctx.addIssue({
|
|
1873
|
+
code: exports_external.ZodIssueCode.custom,
|
|
1874
|
+
message: `anchor ${index} must carry expect and/or a non-empty expect_prefix`,
|
|
1875
|
+
path: [index]
|
|
1876
|
+
});
|
|
1877
|
+
}
|
|
1878
|
+
});
|
|
1879
|
+
}),
|
|
1880
|
+
attestedAt: exports_external.string().min(1)
|
|
1881
|
+
});
|
|
1802
1882
|
var TaskWorkflowMetadataSchema = exports_external.object({
|
|
1803
1883
|
schema: exports_external.literal(TASK_WORKFLOW_SCHEMA_MARKER),
|
|
1804
1884
|
generation: exports_external.number().int().min(0),
|
|
@@ -1816,7 +1896,8 @@ var TaskWorkflowMetadataSchema = exports_external.object({
|
|
|
1816
1896
|
generation: exports_external.literal(0),
|
|
1817
1897
|
transitionId: exports_external.string().min(1).max(512),
|
|
1818
1898
|
declaredFiles: exports_external.array(exports_external.string()).length(0)
|
|
1819
|
-
}).optional()
|
|
1899
|
+
}).optional(),
|
|
1900
|
+
externalEvidence: ExternalEvidenceBundleSchema.optional()
|
|
1820
1901
|
});
|
|
1821
1902
|
var TaskEvidenceSchema = exports_external.object({
|
|
1822
1903
|
taskId: exports_external.string(),
|
|
@@ -1903,6 +1984,10 @@ function getEventOutcome(event) {
|
|
|
1903
1984
|
return "task_closed";
|
|
1904
1985
|
case "repair_idle":
|
|
1905
1986
|
return "repair_idle";
|
|
1987
|
+
case "external_evidence_attested":
|
|
1988
|
+
return "external_evidence_attested";
|
|
1989
|
+
case "external_evidence_revoked":
|
|
1990
|
+
return "external_evidence_revoked";
|
|
1906
1991
|
}
|
|
1907
1992
|
}
|
|
1908
1993
|
function isAuthoritativeWorkflowMetadata(workflow) {
|
|
@@ -1978,8 +2063,9 @@ function deriveApplicableGateSet(evidence, options) {
|
|
|
1978
2063
|
}
|
|
1979
2064
|
const workflow = getTaskWorkflowSnapshot(evidence);
|
|
1980
2065
|
const readOnlyNoMutation = isNoMutationSettlementMetadata(workflow) && (options?.currentDeclaredFiles === undefined ? true : options.currentDeclaredFiles !== null && options.currentDeclaredFiles.length === 0);
|
|
2066
|
+
const externalEvidenceMatched = workflow.lastOutcome === "external_evidence_attested" && (workflow.externalEvidence?.anchors.length ?? 0) > 0 && workflow.externalEvidence.anchors.every((anchor) => anchor.matched);
|
|
1981
2067
|
const requiredGates = [...new Set(evidence.required_gates ?? [])];
|
|
1982
|
-
if (!readOnlyNoMutation && !requiredGates.includes("pre_check")) {
|
|
2068
|
+
if (!readOnlyNoMutation && !externalEvidenceMatched && !requiredGates.includes("pre_check")) {
|
|
1983
2069
|
requiredGates.unshift("pre_check");
|
|
1984
2070
|
}
|
|
1985
2071
|
const satisfiedGates = requiredGates.filter((gate) => evidence.gates?.[gate] != null);
|
|
@@ -1993,6 +2079,47 @@ function deriveApplicableGateSet(evidence, options) {
|
|
|
1993
2079
|
function isReadOnlyNoMutationEligible(evidence, options) {
|
|
1994
2080
|
return deriveApplicableGateSet(evidence, options).readOnlyNoMutation;
|
|
1995
2081
|
}
|
|
2082
|
+
function computeExternalDeclarationDigest(input) {
|
|
2083
|
+
const canonical = {
|
|
2084
|
+
taskId: input.taskId,
|
|
2085
|
+
evidence_class: input.evidence_class,
|
|
2086
|
+
evidence_anchors: input.evidence_anchors.map((anchor) => ({
|
|
2087
|
+
command: anchor.command,
|
|
2088
|
+
expect: anchor.expect,
|
|
2089
|
+
expect_prefix: anchor.expect_prefix
|
|
2090
|
+
})),
|
|
2091
|
+
plan_title: input.plan_title,
|
|
2092
|
+
plan_swarm: input.plan_swarm,
|
|
2093
|
+
generation: input.generation
|
|
2094
|
+
};
|
|
2095
|
+
return createHash2("sha256").update(JSON.stringify(canonical)).digest("hex");
|
|
2096
|
+
}
|
|
2097
|
+
function externalProofCurrent(plan, planTask, evidence) {
|
|
2098
|
+
if (planTask.evidence_class !== "external_git")
|
|
2099
|
+
return false;
|
|
2100
|
+
const workflow = evidence?.workflow;
|
|
2101
|
+
if (!workflow)
|
|
2102
|
+
return false;
|
|
2103
|
+
const bundle = workflow.externalEvidence;
|
|
2104
|
+
if (!bundle || bundle.anchors.length === 0)
|
|
2105
|
+
return false;
|
|
2106
|
+
if (!bundle.anchors.every((anchor) => anchor.matched))
|
|
2107
|
+
return false;
|
|
2108
|
+
return bundle.declarationDigest === computeExternalDeclarationDigest({
|
|
2109
|
+
taskId: planTask.id,
|
|
2110
|
+
evidence_class: "external_git",
|
|
2111
|
+
evidence_anchors: planTask.evidence_anchors ?? [],
|
|
2112
|
+
plan_title: plan.title,
|
|
2113
|
+
plan_swarm: plan.swarm,
|
|
2114
|
+
generation: workflow.generation
|
|
2115
|
+
});
|
|
2116
|
+
}
|
|
2117
|
+
function isExternalEvidenceInitialCompletionEligible(plan, planTask, evidence) {
|
|
2118
|
+
if (!externalProofCurrent(plan, planTask, evidence))
|
|
2119
|
+
return false;
|
|
2120
|
+
const snapshot = getTaskWorkflowSnapshot(evidence);
|
|
2121
|
+
return snapshot.authoritative && snapshot.state === "idle";
|
|
2122
|
+
}
|
|
1996
2123
|
function reduceTaskWorkflowSnapshot(current, event, context) {
|
|
1997
2124
|
if ((current.state === "complete" || current.state === "blocked" || current.state === "closed") && event.type !== "repair_idle" && !(current.state === "complete" && event.type === "task_completed" || current.state === "blocked" && event.type === "task_blocked" || current.state === "blocked" && event.type === "task_closed" || current.state === "blocked" && event.type === "stage_a_passed" && event.settlementRecovery === true)) {
|
|
1998
2125
|
throw new Error(`TASK_WORKFLOW_TERMINAL: cannot apply ${event.type} from ${current.state}`);
|
|
@@ -2011,15 +2138,24 @@ function reduceTaskWorkflowSnapshot(current, event, context) {
|
|
|
2011
2138
|
...current.forcedCompletion === true ? { forcedCompletion: true } : {},
|
|
2012
2139
|
...current.supervisedRecovery === true ? { supervisedRecovery: true } : {},
|
|
2013
2140
|
...current.settlementRecovery === true ? { settlementRecovery: true } : {},
|
|
2014
|
-
...current.noMutationSettlement ? { noMutationSettlement: current.noMutationSettlement } : {}
|
|
2141
|
+
...current.noMutationSettlement ? { noMutationSettlement: current.noMutationSettlement } : {},
|
|
2142
|
+
...current.externalEvidence ? { externalEvidence: current.externalEvidence } : {}
|
|
2015
2143
|
};
|
|
2016
2144
|
switch (event.type) {
|
|
2017
2145
|
case "dispatch_attempted": {
|
|
2018
|
-
const {
|
|
2146
|
+
const {
|
|
2147
|
+
noMutationSettlement: _clearedSettlement,
|
|
2148
|
+
externalEvidence: _clearedExternalEvidence,
|
|
2149
|
+
...withoutSettlement
|
|
2150
|
+
} = base;
|
|
2019
2151
|
return withoutSettlement;
|
|
2020
2152
|
}
|
|
2021
2153
|
case "dispatch_no_mutation": {
|
|
2022
|
-
const {
|
|
2154
|
+
const {
|
|
2155
|
+
noMutationSettlement: _clearedSettlement,
|
|
2156
|
+
externalEvidence: _clearedExternalEvidence,
|
|
2157
|
+
...withoutSettlement
|
|
2158
|
+
} = base;
|
|
2023
2159
|
return {
|
|
2024
2160
|
...withoutSettlement,
|
|
2025
2161
|
retryCount: Math.min(current.retryCount + 1, 3),
|
|
@@ -2046,7 +2182,11 @@ function reduceTaskWorkflowSnapshot(current, event, context) {
|
|
|
2046
2182
|
retryEpoch: current.retryEpoch || current.generation + 1
|
|
2047
2183
|
};
|
|
2048
2184
|
case "accepted_mutation": {
|
|
2049
|
-
const {
|
|
2185
|
+
const {
|
|
2186
|
+
noMutationSettlement: _clearedSettlement,
|
|
2187
|
+
externalEvidence: _clearedExternalEvidence,
|
|
2188
|
+
...withoutSettlement
|
|
2189
|
+
} = base;
|
|
2050
2190
|
if (event.context?.settlementFailed === true) {
|
|
2051
2191
|
return {
|
|
2052
2192
|
...withoutSettlement,
|
|
@@ -2110,9 +2250,26 @@ function reduceTaskWorkflowSnapshot(current, event, context) {
|
|
|
2110
2250
|
...base,
|
|
2111
2251
|
state: current.state
|
|
2112
2252
|
};
|
|
2253
|
+
case "external_evidence_attested": {
|
|
2254
|
+
if (current.state !== "idle") {
|
|
2255
|
+
throw new Error(`TASK_WORKFLOW_EXTERNAL_ATTEST_STATE: external evidence can only be attested from idle (task never entered the coder QA lifecycle), not ${current.state}`);
|
|
2256
|
+
}
|
|
2257
|
+
if (current.externalEvidence?.transitionId === event.bundle.transitionId) {
|
|
2258
|
+
return { ...base };
|
|
2259
|
+
}
|
|
2260
|
+
return { ...base, externalEvidence: event.bundle };
|
|
2261
|
+
}
|
|
2262
|
+
case "external_evidence_revoked": {
|
|
2263
|
+
const {
|
|
2264
|
+
externalEvidence: _revokedExternalEvidence,
|
|
2265
|
+
...withoutExternalEvidence
|
|
2266
|
+
} = base;
|
|
2267
|
+
return withoutExternalEvidence;
|
|
2268
|
+
}
|
|
2113
2269
|
case "task_completed": {
|
|
2114
2270
|
const readOnlyNoMutation = event.readOnlyNoMutation === true && current.state === "idle" && current.generation === 0 && isNoMutationSettlementMetadata(current) && context.requiredGates.every((gate) => context.gates[gate] != null);
|
|
2115
|
-
|
|
2271
|
+
const externalAdmitted = event.externalEvidence === true && current.externalEvidence !== undefined && current.externalEvidence.anchors.length > 0 && current.externalEvidence.anchors.every((anchor) => anchor.matched) && (current.state === "idle" || current.state === "complete");
|
|
2272
|
+
if (event.qaExempt !== true && current.state !== "tests_run" && current.state !== "complete" && !(current.state === "pre_check_passed" && context.gates.council != null) && !readOnlyNoMutation && !externalAdmitted) {
|
|
2116
2273
|
throw new Error(`TASK_WORKFLOW_QA_REQUIRED: cannot complete from ${current.state}`);
|
|
2117
2274
|
}
|
|
2118
2275
|
return {
|
|
@@ -2137,6 +2294,7 @@ function reduceTaskWorkflowSnapshot(current, event, context) {
|
|
|
2137
2294
|
supervisedRecovery: _clearedMarker,
|
|
2138
2295
|
settlementRecovery: _clearedSettlementMarker,
|
|
2139
2296
|
noMutationSettlement: _clearedSettlement,
|
|
2297
|
+
externalEvidence: _clearedExternalEvidence,
|
|
2140
2298
|
...withoutForced
|
|
2141
2299
|
} = base;
|
|
2142
2300
|
return {
|
|
@@ -2505,4 +2663,4 @@ function compareTaskWorkflowStateRank(left, right) {
|
|
|
2505
2663
|
return WORKFLOW_STATE_RANK[left] - WORKFLOW_STATE_RANK[right];
|
|
2506
2664
|
}
|
|
2507
2665
|
|
|
2508
|
-
export { isStrictTaskId, sanitizeTaskId, listRecoveryRecords, recoveryReadErrored, _internals, SOURCE_WORKTREE_GONE_STAGE, SOURCE_WORKTREE_UNCERTAIN_STAGE, getMergeStrategy, recoverMergeBackFromImmutableCoordinates, reconcileLandedMerge, postMergeCleanup, pruneStaleWorktreeMetadata, attemptMergeBackFromDirty, cleanupOrphanedBranches, startupOrphanRecovery, readWorkflowWalFile, writeWorkflowWalFile, _internals3 as _internals1, TASK_WORKFLOW_SCHEMA_MARKER, readCurrentTaskDeclaredFiles, TASK_GATE_REQUIREMENTS_RECONSTRUCTION_SENTINEL, assertTaskEvidenceWriteAllowed, parseTaskEvidence, DEFAULT_REQUIRED_GATES, isValidTaskId, getTaskWorkflowSnapshot, deriveApplicableGateSet, isReadOnlyNoMutationEligible, reduceTaskWorkflowSnapshot, deriveRequiredGates, expandRequiredGates, transitionTaskWorkflowEvidence, transitionTaskWorkflowEvidenceWithStatus, withTaskEvidenceTransaction, ensureTaskGateRequirementsReceiptForSettledTransition, recordGateEvidence, recordTodoScanEvidence, recordAgentDispatch, readTaskEvidence, readTaskEvidenceState, readTaskEvidenceRaw, hasPassedAllGates, compareTaskWorkflowStateRank };
|
|
2666
|
+
export { readTaskGateRequirementsReceiptsSync, routeEvidenceFromTaskGateRequirements, isLegacyTaskGateRequirementsChain, isStrictTaskId, sanitizeTaskId, validateTaskIdFormat, listRecoveryRecords, recoveryReadErrored, _internals, SOURCE_WORKTREE_GONE_STAGE, SOURCE_WORKTREE_UNCERTAIN_STAGE, getMergeStrategy, recoverMergeBackFromImmutableCoordinates, reconcileLandedMerge, postMergeCleanup, pruneStaleWorktreeMetadata, attemptMergeBackFromDirty, cleanupOrphanedBranches, startupOrphanRecovery, readWorkflowWalFile, writeWorkflowWalFile, _internals3 as _internals1, TASK_WORKFLOW_SCHEMA_MARKER, readCurrentTaskDeclaredFiles, TASK_GATE_REQUIREMENTS_RECONSTRUCTION_SENTINEL, assertTaskEvidenceWriteAllowed, ExternalEvidenceBundleSchema, parseTaskEvidence, DEFAULT_REQUIRED_GATES, isValidTaskId, getTaskWorkflowSnapshot, deriveApplicableGateSet, isReadOnlyNoMutationEligible, computeExternalDeclarationDigest, externalProofCurrent, isExternalEvidenceInitialCompletionEligible, reduceTaskWorkflowSnapshot, deriveRequiredGates, expandRequiredGates, transitionTaskWorkflowEvidence, transitionTaskWorkflowEvidenceWithStatus, withTaskEvidenceTransaction, ensureTaskGateRequirementsReceiptForSettledTransition, recordGateEvidence, recordTodoScanEvidence, recordAgentDispatch, readTaskEvidence, readTaskEvidenceState, readTaskEvidenceRaw, hasPassedAllGates, compareTaskWorkflowStateRank };
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
import {
|
|
3
3
|
captureWorkspaceSnapshotAsync,
|
|
4
4
|
changedFilesSinceSnapshotAsync
|
|
5
|
-
} from "./index-
|
|
5
|
+
} from "./index-bp476gwc.js";
|
|
6
6
|
import {
|
|
7
7
|
removeWorktreeProvisioningOwner
|
|
8
|
-
} from "./index-
|
|
8
|
+
} from "./index-r02aqt0a.js";
|
|
9
9
|
import {
|
|
10
10
|
SOURCE_WORKTREE_GONE_STAGE,
|
|
11
11
|
ensureTaskGateRequirementsReceiptForSettledTransition,
|
|
@@ -14,13 +14,13 @@ import {
|
|
|
14
14
|
reconcileLandedMerge,
|
|
15
15
|
withTaskEvidenceTransaction,
|
|
16
16
|
writeWorkflowWalFile
|
|
17
|
-
} from "./index-
|
|
17
|
+
} from "./index-58cr1xg0.js";
|
|
18
18
|
import {
|
|
19
19
|
validateSwarmPath
|
|
20
|
-
} from "./index-
|
|
20
|
+
} from "./index-x1z5d5kj.js";
|
|
21
21
|
import {
|
|
22
22
|
appendCoreEventSync
|
|
23
|
-
} from "./index-
|
|
23
|
+
} from "./index-wr0n2w3z.js";
|
|
24
24
|
import {
|
|
25
25
|
init_path_identity,
|
|
26
26
|
isPathWithinDeclaredScope
|
|
@@ -512,7 +512,7 @@ async function cleanupRecoveredWorktree(directory, descriptor, options) {
|
|
|
512
512
|
awaitingMergeByCallID,
|
|
513
513
|
cleanupStandardWorktreeForCallId,
|
|
514
514
|
standardWorktreeByCallID
|
|
515
|
-
} = await import("./worktree-isolation-
|
|
515
|
+
} = await import("./worktree-isolation-8snw7w34.js");
|
|
516
516
|
standardWorktreeByCallID.delete(descriptor.callID);
|
|
517
517
|
if (hasResidue)
|
|
518
518
|
awaitingMergeByCallID.set(descriptor.callID, {
|
|
@@ -648,7 +648,7 @@ async function recoverCoderSettlement(directory, taskId) {
|
|
|
648
648
|
awaitingMergeByCallID,
|
|
649
649
|
finishStandardWorktreeDispatch,
|
|
650
650
|
standardWorktreeByCallID
|
|
651
|
-
} = await import("./worktree-isolation-
|
|
651
|
+
} = await import("./worktree-isolation-8snw7w34.js");
|
|
652
652
|
const descriptor = wal.worktree;
|
|
653
653
|
const reconstructedDispatch = {
|
|
654
654
|
callID: descriptor.callID,
|
|
@@ -4,30 +4,30 @@ import {
|
|
|
4
4
|
projectDbExists,
|
|
5
5
|
withImmediateTransaction,
|
|
6
6
|
withProjectDbReadOnly
|
|
7
|
-
} from "./index-
|
|
7
|
+
} from "./index-d083d1q7.js";
|
|
8
8
|
import {
|
|
9
9
|
derivePlanId,
|
|
10
10
|
derivePlanIdentityHash
|
|
11
11
|
} from "./index-7pmbnjvj.js";
|
|
12
12
|
import {
|
|
13
13
|
withEvidenceLock
|
|
14
|
-
} from "./index-
|
|
14
|
+
} from "./index-q8vfw61p.js";
|
|
15
15
|
import {
|
|
16
16
|
assertProjectRoot
|
|
17
17
|
} from "./index-t7hmqgjy.js";
|
|
18
18
|
import {
|
|
19
19
|
emit
|
|
20
|
-
} from "./index-
|
|
20
|
+
} from "./index-c2k7q723.js";
|
|
21
21
|
import {
|
|
22
22
|
ExecutionProfileSchema,
|
|
23
23
|
PlanSchema,
|
|
24
24
|
TaskStatusSchema,
|
|
25
25
|
normalizeCurrentPhaseInPlace
|
|
26
|
-
} from "./index-
|
|
26
|
+
} from "./index-3t46mez1.js";
|
|
27
27
|
import {
|
|
28
28
|
init_loader,
|
|
29
29
|
loadPluginConfig
|
|
30
|
-
} from "./index-
|
|
30
|
+
} from "./index-gwc7jahh.js";
|
|
31
31
|
import {
|
|
32
32
|
criticalWarn,
|
|
33
33
|
init_logger,
|
|
@@ -36,7 +36,7 @@ import {
|
|
|
36
36
|
import {
|
|
37
37
|
init_package,
|
|
38
38
|
package_default
|
|
39
|
-
} from "./index-
|
|
39
|
+
} from "./index-yvv0my1a.js";
|
|
40
40
|
|
|
41
41
|
// src/plan/planning-profile.ts
|
|
42
42
|
init_loader();
|
|
@@ -1179,7 +1179,9 @@ function computePlanLedgerHash(plan) {
|
|
|
1179
1179
|
acceptance: task.acceptance,
|
|
1180
1180
|
files_touched: [...task.files_touched].sort(),
|
|
1181
1181
|
evidence_path: task.evidence_path,
|
|
1182
|
-
blocked_reason: task.blocked_reason
|
|
1182
|
+
blocked_reason: task.blocked_reason,
|
|
1183
|
+
evidence_class: task.evidence_class,
|
|
1184
|
+
evidence_anchors: task.evidence_anchors
|
|
1183
1185
|
}))
|
|
1184
1186
|
}))
|
|
1185
1187
|
};
|
|
@@ -1207,7 +1209,9 @@ function computePlanStructureHash(plan) {
|
|
|
1207
1209
|
acceptance: task.acceptance,
|
|
1208
1210
|
files_touched: [...task.files_touched].sort(),
|
|
1209
1211
|
evidence_path: task.evidence_path,
|
|
1210
|
-
blocked_reason: task.blocked_reason
|
|
1212
|
+
blocked_reason: task.blocked_reason,
|
|
1213
|
+
evidence_class: task.evidence_class,
|
|
1214
|
+
evidence_anchors: task.evidence_anchors
|
|
1211
1215
|
}))
|
|
1212
1216
|
}))
|
|
1213
1217
|
};
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
validateSwarmPath
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-x1z5d5kj.js";
|
|
5
5
|
import {
|
|
6
6
|
deleteCoordinationState,
|
|
7
7
|
importCoordinationOnce,
|
|
8
8
|
listCoordinationStates,
|
|
9
9
|
transitionCoordinationState,
|
|
10
10
|
withCoordinationTransaction
|
|
11
|
-
} from "./index-
|
|
11
|
+
} from "./index-vmevv6my.js";
|
|
12
12
|
import {
|
|
13
13
|
getProjectDb,
|
|
14
14
|
projectDbExists
|
|
15
|
-
} from "./index-
|
|
15
|
+
} from "./index-d083d1q7.js";
|
|
16
16
|
import {
|
|
17
17
|
observeStoreHealth
|
|
18
|
-
} from "./index-
|
|
18
|
+
} from "./index-1tpz99db.js";
|
|
19
19
|
import {
|
|
20
20
|
withEvidenceLock
|
|
21
|
-
} from "./index-
|
|
21
|
+
} from "./index-q8vfw61p.js";
|
|
22
22
|
import {
|
|
23
23
|
telemetry
|
|
24
|
-
} from "./index-
|
|
24
|
+
} from "./index-c2k7q723.js";
|
|
25
25
|
import {
|
|
26
26
|
canonicalRootKey,
|
|
27
27
|
canonicalRootKeyFresh,
|
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
} from "./index-te9hq2f4.js";
|
|
30
30
|
import {
|
|
31
31
|
atomicWriteSwarmFileSync
|
|
32
|
-
} from "./index-
|
|
32
|
+
} from "./index-q1x73nnd.js";
|
|
33
33
|
import {
|
|
34
34
|
log
|
|
35
35
|
} from "./index-zgwm4ryv.js";
|
|
@@ -11,10 +11,10 @@ import {
|
|
|
11
11
|
} from "./index-9rwhas09.js";
|
|
12
12
|
import {
|
|
13
13
|
observeStoreHealth
|
|
14
|
-
} from "./index-
|
|
14
|
+
} from "./index-1tpz99db.js";
|
|
15
15
|
import {
|
|
16
16
|
telemetry
|
|
17
|
-
} from "./index-
|
|
17
|
+
} from "./index-c2k7q723.js";
|
|
18
18
|
import {
|
|
19
19
|
init_git_executable,
|
|
20
20
|
resolveGitExecutable
|
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
import {
|
|
30
30
|
init_schema,
|
|
31
31
|
stripKnownSwarmPrefix
|
|
32
|
-
} from "./index-
|
|
32
|
+
} from "./index-yvv0my1a.js";
|
|
33
33
|
import {
|
|
34
34
|
init_constants
|
|
35
35
|
} from "./index-xfzkq1k4.js";
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
getProjectDb,
|
|
5
5
|
projectDbExists,
|
|
6
6
|
withImmediateTransaction
|
|
7
|
-
} from "./index-
|
|
7
|
+
} from "./index-d083d1q7.js";
|
|
8
8
|
import {
|
|
9
9
|
derivePlanId,
|
|
10
10
|
derivePlanIdentityHash
|
|
@@ -426,4 +426,4 @@ function getEffectiveGates(profile, sessionOverrides) {
|
|
|
426
426
|
}
|
|
427
427
|
return merged;
|
|
428
428
|
}
|
|
429
|
-
export { formatLegacyQaBindingOnlyCall, DEFAULT_QA_GATES, getProfileLookupForIdentity, setGatesForIdentity, computeProfileHash, getEffectiveGates };
|
|
429
|
+
export { formatLegacyQaBindingOnlyCall, formatLegacyQaBindingRecovery, DEFAULT_QA_GATES, getProfileLookupForIdentity, setGatesForIdentity, computeProfileHash, getEffectiveGates };
|