@abelxiaoxing/cadence 1.8.4 → 2.0.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/README.md +324 -117
- package/THIRD_PARTY_NOTICES.md +15 -0
- package/agents/design-explorer.md +14 -18
- package/agents/diagnosis-worker.md +14 -14
- package/agents/implementation-worker.md +16 -17
- package/config/workflow-task.example.json +7 -0
- package/docs/remote-access.md +60 -0
- package/docs/reuse-and-distribution.md +44 -0
- package/docs/service-management.md +108 -0
- package/licenses/bundled-web.txt +6245 -0
- package/licenses/pi-web-ui-MIT.txt +21 -0
- package/licenses/pi-web-ui-reuse.md +22 -0
- package/package.json +92 -20
- package/src/index.ts +21 -1802
- package/src/native-build.ts +6 -0
- package/src/native-client.ts +103 -0
- package/src/native-export.ts +58 -0
- package/src/native-history.ts +359 -0
- package/src/operator-cli.mjs +453 -1937
- package/src/plan-proposal.ts +87 -0
- package/src/sdk-worker.mjs +549 -0
- package/src/service/contracts/active.ts +82 -0
- package/src/service/contracts/budget.ts +148 -0
- package/src/service/contracts/build.ts +67 -0
- package/src/service/contracts/capture.ts +48 -0
- package/src/service/contracts/core.ts +33 -0
- package/src/service/contracts/current.ts +261 -0
- package/src/service/contracts/domain.ts +68 -0
- package/src/service/contracts/history.ts +2245 -0
- package/src/service/contracts/models.ts +139 -0
- package/src/service/coordination.ts +862 -0
- package/src/service/private-files.ts +204 -0
- package/src/service-cli.mjs +5592 -0
- package/src/service-client.ts +747 -0
- package/src/service-contract.ts +245 -0
- package/src/service-host.mjs +22382 -0
- package/src/service-http-client.ts +425 -0
- package/src/service-wire.ts +372 -0
- package/src/task-shell.ts +1045 -0
- package/src/task-store.ts +479 -0
- package/src/task-types.ts +184 -0
- package/src/verification-diagnostics.ts +29 -72
- package/src/worker-capture.mjs +1197 -0
- package/src/worker-public.mjs +1753 -0
- package/src/worker-redaction.mjs +608 -0
- package/src/worker-tools.mjs +202 -0
- package/web/dist/assets/KaTeX_AMS-Regular.ttf +0 -0
- package/web/dist/assets/KaTeX_AMS-Regular.woff +0 -0
- package/web/dist/assets/KaTeX_AMS-Regular.woff2 +0 -0
- package/web/dist/assets/KaTeX_Caligraphic-Bold.ttf +0 -0
- package/web/dist/assets/KaTeX_Caligraphic-Bold.woff +0 -0
- package/web/dist/assets/KaTeX_Caligraphic-Bold.woff2 +0 -0
- package/web/dist/assets/KaTeX_Caligraphic-Regular.ttf +0 -0
- package/web/dist/assets/KaTeX_Caligraphic-Regular.woff +0 -0
- package/web/dist/assets/KaTeX_Caligraphic-Regular.woff2 +0 -0
- package/web/dist/assets/KaTeX_Fraktur-Bold.ttf +0 -0
- package/web/dist/assets/KaTeX_Fraktur-Bold.woff +0 -0
- package/web/dist/assets/KaTeX_Fraktur-Bold.woff2 +0 -0
- package/web/dist/assets/KaTeX_Fraktur-Regular.ttf +0 -0
- package/web/dist/assets/KaTeX_Fraktur-Regular.woff +0 -0
- package/web/dist/assets/KaTeX_Fraktur-Regular.woff2 +0 -0
- package/web/dist/assets/KaTeX_Main-Bold.ttf +0 -0
- package/web/dist/assets/KaTeX_Main-Bold.woff +0 -0
- package/web/dist/assets/KaTeX_Main-Bold.woff2 +0 -0
- package/web/dist/assets/KaTeX_Main-BoldItalic.ttf +0 -0
- package/web/dist/assets/KaTeX_Main-BoldItalic.woff +0 -0
- package/web/dist/assets/KaTeX_Main-BoldItalic.woff2 +0 -0
- package/web/dist/assets/KaTeX_Main-Italic.ttf +0 -0
- package/web/dist/assets/KaTeX_Main-Italic.woff +0 -0
- package/web/dist/assets/KaTeX_Main-Italic.woff2 +0 -0
- package/web/dist/assets/KaTeX_Main-Regular.ttf +0 -0
- package/web/dist/assets/KaTeX_Main-Regular.woff +0 -0
- package/web/dist/assets/KaTeX_Main-Regular.woff2 +0 -0
- package/web/dist/assets/KaTeX_Math-BoldItalic.ttf +0 -0
- package/web/dist/assets/KaTeX_Math-BoldItalic.woff +0 -0
- package/web/dist/assets/KaTeX_Math-BoldItalic.woff2 +0 -0
- package/web/dist/assets/KaTeX_Math-Italic.ttf +0 -0
- package/web/dist/assets/KaTeX_Math-Italic.woff +0 -0
- package/web/dist/assets/KaTeX_Math-Italic.woff2 +0 -0
- package/web/dist/assets/KaTeX_SansSerif-Bold.ttf +0 -0
- package/web/dist/assets/KaTeX_SansSerif-Bold.woff +0 -0
- package/web/dist/assets/KaTeX_SansSerif-Bold.woff2 +0 -0
- package/web/dist/assets/KaTeX_SansSerif-Italic.ttf +0 -0
- package/web/dist/assets/KaTeX_SansSerif-Italic.woff +0 -0
- package/web/dist/assets/KaTeX_SansSerif-Italic.woff2 +0 -0
- package/web/dist/assets/KaTeX_SansSerif-Regular.ttf +0 -0
- package/web/dist/assets/KaTeX_SansSerif-Regular.woff +0 -0
- package/web/dist/assets/KaTeX_SansSerif-Regular.woff2 +0 -0
- package/web/dist/assets/KaTeX_Script-Regular.ttf +0 -0
- package/web/dist/assets/KaTeX_Script-Regular.woff +0 -0
- package/web/dist/assets/KaTeX_Script-Regular.woff2 +0 -0
- package/web/dist/assets/KaTeX_Size1-Regular.ttf +0 -0
- package/web/dist/assets/KaTeX_Size1-Regular.woff +0 -0
- package/web/dist/assets/KaTeX_Size1-Regular.woff2 +0 -0
- package/web/dist/assets/KaTeX_Size2-Regular.ttf +0 -0
- package/web/dist/assets/KaTeX_Size2-Regular.woff +0 -0
- package/web/dist/assets/KaTeX_Size2-Regular.woff2 +0 -0
- package/web/dist/assets/KaTeX_Size3-Regular.ttf +0 -0
- package/web/dist/assets/KaTeX_Size3-Regular.woff +0 -0
- package/web/dist/assets/KaTeX_Size3-Regular.woff2 +0 -0
- package/web/dist/assets/KaTeX_Size4-Regular.ttf +0 -0
- package/web/dist/assets/KaTeX_Size4-Regular.woff +0 -0
- package/web/dist/assets/KaTeX_Size4-Regular.woff2 +0 -0
- package/web/dist/assets/KaTeX_Typewriter-Regular.ttf +0 -0
- package/web/dist/assets/KaTeX_Typewriter-Regular.woff +0 -0
- package/web/dist/assets/KaTeX_Typewriter-Regular.woff2 +0 -0
- package/web/dist/assets/cadence.css +2 -0
- package/web/dist/assets/cadence.js +7 -0
- package/web/dist/assets/markdown.js +296 -0
- package/web/dist/assets/react.js +9 -0
- package/web/dist/assets/rolldown-runtime.js +1 -0
- package/web/dist/assets/timeline-client.js +41 -0
- package/web/dist/assets/vis-timeline.css +1274 -0
- package/web/dist/assets/vis-timeline.js +32 -0
- package/web/dist/index.html +18 -0
- package/web/dist/manifest.json +505 -0
- package/config/plan-draft.example.json +0 -125
- package/config/plan-draft.multiple-tasks.example.json +0 -375
- package/config/plan-draft.quick.example.json +0 -78
- package/prompts/abel-design.md +0 -382
- package/prompts/abel-diagnose.md +0 -71
- package/prompts/abel-implement.md +0 -284
- package/prompts/abel-init.md +0 -52
- package/src/activation.ts +0 -44
- package/src/activity-contracts.ts +0 -82
- package/src/agent-registry.ts +0 -53
- package/src/apply-transaction.ts +0 -1437
- package/src/artifact-store.ts +0 -213
- package/src/build-windows-job.mjs +0 -95
- package/src/candidate-artifact.ts +0 -143
- package/src/candidate-context.ts +0 -289
- package/src/candidate-patch.ts +0 -271
- package/src/candidate-workspace.ts +0 -80
- package/src/canonical.ts +0 -16
- package/src/change-contract-schema.ts +0 -191
- package/src/change-contract.ts +0 -324
- package/src/change-verification.ts +0 -1617
- package/src/contracts.ts +0 -2466
- package/src/control-contracts.ts +0 -382
- package/src/delivery-compiler.ts +0 -1805
- package/src/delivery-revision.ts +0 -42
- package/src/design-control.ts +0 -1299
- package/src/design-diagnostics.ts +0 -181
- package/src/design-journal.ts +0 -1773
- package/src/directory-sync.ts +0 -36
- package/src/durable-contracts.ts +0 -227
- package/src/durable-workflow.ts +0 -822
- package/src/evidence-draft.ts +0 -122
- package/src/execution-profile.ts +0 -64
- package/src/execution-retention.ts +0 -77
- package/src/file-snapshot.ts +0 -163
- package/src/implement-continuation.ts +0 -559
- package/src/implement-graph.ts +0 -690
- package/src/implement-plan.ts +0 -72
- package/src/install-config.d.mts +0 -6
- package/src/isolation-backend.ts +0 -353
- package/src/model-source.ts +0 -22
- package/src/openspec-cli.ts +0 -494
- package/src/operator-cli-entry.mjs +0 -24
- package/src/operator-tools.ts +0 -309
- package/src/package-candidate-process.ts +0 -206
- package/src/package-candidate.ts +0 -24
- package/src/package-delivery.ts +0 -486
- package/src/package-state.ts +0 -320
- package/src/package-verification.ts +0 -635
- package/src/package-workflow.ts +0 -305
- package/src/packet-runtime.ts +0 -459
- package/src/phase-execution.ts +0 -2163
- package/src/pi-adapter.ts +0 -19
- package/src/plan-draft-summary.ts +0 -527
- package/src/plan-draft.ts +0 -502
- package/src/remove-path.ts +0 -32
- package/src/run-state.ts +0 -420
- package/src/run-store.ts +0 -1179
- package/src/safe-path.ts +0 -77
- package/src/scoped-grep-worker.mjs +0 -23
- package/src/scoped-tools.ts +0 -775
- package/src/single-task-draft.ts +0 -142
- package/src/sqlite-schema.ts +0 -171
- package/src/state-root.ts +0 -215
- package/src/storage-schema.ts +0 -360
- package/src/subagent-activity.ts +0 -1417
- package/src/subagent-process.ts +0 -476
- package/src/task-ledger.ts +0 -1338
- package/src/transport-budget.ts +0 -50
- package/src/verification-capability.ts +0 -1191
- package/src/verification-environment-io.ts +0 -389
- package/src/verification-environment.ts +0 -162
- package/src/verification-identity.ts +0 -77
- package/src/verification-scan.ts +0 -64
- package/src/windows-job-backend.ts +0 -419
- package/src/windows-job.c +0 -149
- package/src/workflow-engine.ts +0 -28
- package/src/workflow-policy.ts +0 -1670
- package/src/workflow-recovery-policy.ts +0 -97
- package/src/workflow-scheduling.ts +0 -105
- package/src/workflow-state-machine.ts +0 -4341
- package/src/workflow-status.ts +0 -576
- package/src/workspace-io-entry.mjs +0 -76
- package/src/workspace-io-worker.mjs +0 -1312
- package/src/workspace-io.ts +0 -89
- package/src/workspace-store.ts +0 -634
package/src/storage-schema.ts
DELETED
|
@@ -1,360 +0,0 @@
|
|
|
1
|
-
export const ROUTE_HEALTH_SCHEMA = `
|
|
2
|
-
CREATE TABLE IF NOT EXISTS route_health (
|
|
3
|
-
route_fingerprint TEXT PRIMARY KEY,
|
|
4
|
-
state TEXT NOT NULL,
|
|
5
|
-
next_half_open_at INTEGER,
|
|
6
|
-
projection_json TEXT NOT NULL
|
|
7
|
-
) STRICT;
|
|
8
|
-
`;
|
|
9
|
-
|
|
10
|
-
/** v2 predates proof-bound delivery receipts; migration must not invent proof. */
|
|
11
|
-
const DELIVERY_PROOF_COLUMNS = `
|
|
12
|
-
approval_revision INTEGER,
|
|
13
|
-
contract_hash TEXT,
|
|
14
|
-
record_hash TEXT,`;
|
|
15
|
-
|
|
16
|
-
function runSchema(withDeliveryProof: boolean): string {
|
|
17
|
-
return `
|
|
18
|
-
CREATE TABLE IF NOT EXISTS runs (
|
|
19
|
-
run_id TEXT PRIMARY KEY,
|
|
20
|
-
root_hash TEXT NOT NULL,
|
|
21
|
-
stage TEXT NOT NULL,
|
|
22
|
-
lookup_key TEXT NOT NULL,
|
|
23
|
-
change_name TEXT,
|
|
24
|
-
provisional_key TEXT,
|
|
25
|
-
state TEXT NOT NULL,
|
|
26
|
-
sequence INTEGER NOT NULL,
|
|
27
|
-
event_hash TEXT NOT NULL,
|
|
28
|
-
delivery_revision INTEGER,
|
|
29
|
-
projection_json TEXT NOT NULL,
|
|
30
|
-
terminal_tombstone TEXT,
|
|
31
|
-
UNIQUE (root_hash, stage, lookup_key)
|
|
32
|
-
) STRICT;
|
|
33
|
-
|
|
34
|
-
CREATE TABLE IF NOT EXISTS delivery_bindings (
|
|
35
|
-
run_id TEXT NOT NULL REFERENCES runs(run_id) ON DELETE CASCADE,
|
|
36
|
-
gate TEXT NOT NULL,
|
|
37
|
-
revision INTEGER NOT NULL,
|
|
38
|
-
receipt_hash TEXT NOT NULL,${withDeliveryProof ? DELIVERY_PROOF_COLUMNS : ""}
|
|
39
|
-
operation_id TEXT NOT NULL,
|
|
40
|
-
PRIMARY KEY (run_id, gate, revision),
|
|
41
|
-
UNIQUE (run_id, operation_id)
|
|
42
|
-
) STRICT;
|
|
43
|
-
|
|
44
|
-
CREATE TABLE IF NOT EXISTS events (
|
|
45
|
-
run_id TEXT NOT NULL REFERENCES runs(run_id) ON DELETE CASCADE,
|
|
46
|
-
sequence INTEGER NOT NULL,
|
|
47
|
-
type TEXT NOT NULL,
|
|
48
|
-
payload_json TEXT NOT NULL,
|
|
49
|
-
prior_hash TEXT NOT NULL,
|
|
50
|
-
event_hash TEXT NOT NULL,
|
|
51
|
-
PRIMARY KEY (run_id, sequence),
|
|
52
|
-
UNIQUE (run_id, event_hash)
|
|
53
|
-
) STRICT;
|
|
54
|
-
|
|
55
|
-
CREATE TABLE IF NOT EXISTS tasks (
|
|
56
|
-
run_id TEXT NOT NULL REFERENCES runs(run_id) ON DELETE CASCADE,
|
|
57
|
-
task_id TEXT NOT NULL,
|
|
58
|
-
state TEXT NOT NULL,
|
|
59
|
-
phase TEXT,
|
|
60
|
-
projection_json TEXT NOT NULL,
|
|
61
|
-
PRIMARY KEY (run_id, task_id)
|
|
62
|
-
) STRICT;
|
|
63
|
-
|
|
64
|
-
CREATE TABLE IF NOT EXISTS operations (
|
|
65
|
-
run_id TEXT NOT NULL REFERENCES runs(run_id) ON DELETE CASCADE,
|
|
66
|
-
operation_id TEXT NOT NULL,
|
|
67
|
-
kind TEXT NOT NULL,
|
|
68
|
-
state TEXT NOT NULL,
|
|
69
|
-
outcome_json TEXT,
|
|
70
|
-
lease_token TEXT,
|
|
71
|
-
lease_expires_at INTEGER,
|
|
72
|
-
PRIMARY KEY (run_id, operation_id)
|
|
73
|
-
) STRICT;
|
|
74
|
-
|
|
75
|
-
${ROUTE_HEALTH_SCHEMA}
|
|
76
|
-
|
|
77
|
-
CREATE TABLE IF NOT EXISTS artifacts (
|
|
78
|
-
content_hash TEXT PRIMARY KEY,
|
|
79
|
-
size_bytes INTEGER NOT NULL,
|
|
80
|
-
seal_state TEXT NOT NULL,
|
|
81
|
-
owner_run_id TEXT REFERENCES runs(run_id) ON DELETE CASCADE,
|
|
82
|
-
reference_count INTEGER NOT NULL
|
|
83
|
-
) STRICT;
|
|
84
|
-
|
|
85
|
-
CREATE TABLE IF NOT EXISTS workspace_revisions (
|
|
86
|
-
revision_id TEXT PRIMARY KEY,
|
|
87
|
-
owner_run_id TEXT NOT NULL REFERENCES runs(run_id) ON DELETE CASCADE,
|
|
88
|
-
parent_revision_id TEXT,
|
|
89
|
-
manifest_hash TEXT NOT NULL
|
|
90
|
-
) STRICT;
|
|
91
|
-
|
|
92
|
-
CREATE TABLE IF NOT EXISTS apply_transactions (
|
|
93
|
-
transaction_id TEXT PRIMARY KEY,
|
|
94
|
-
owner_run_id TEXT NOT NULL REFERENCES runs(run_id) ON DELETE CASCADE,
|
|
95
|
-
state TEXT NOT NULL,
|
|
96
|
-
intent_json TEXT NOT NULL,
|
|
97
|
-
recovery_json TEXT
|
|
98
|
-
) STRICT;
|
|
99
|
-
|
|
100
|
-
CREATE TABLE IF NOT EXISTS bootstrap_handoffs (
|
|
101
|
-
handoff_id TEXT PRIMARY KEY,
|
|
102
|
-
owner_run_id TEXT NOT NULL REFERENCES runs(run_id) ON DELETE CASCADE,
|
|
103
|
-
receipt_hash TEXT NOT NULL UNIQUE,
|
|
104
|
-
state TEXT NOT NULL,
|
|
105
|
-
facts_json TEXT NOT NULL
|
|
106
|
-
) STRICT;
|
|
107
|
-
`;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
/** Owner-private storage contracts. Migrations run atomically before use. */
|
|
111
|
-
export const RUN_SCHEMA = runSchema(true);
|
|
112
|
-
export const LEGACY_RUN_SCHEMA_V2 = runSchema(false);
|
|
113
|
-
|
|
114
|
-
export const DESIGN_SCHEMA = `
|
|
115
|
-
CREATE TABLE IF NOT EXISTS design_facts (
|
|
116
|
-
run_id TEXT NOT NULL REFERENCES runs(run_id) ON DELETE CASCADE,
|
|
117
|
-
sequence INTEGER NOT NULL,
|
|
118
|
-
kind TEXT NOT NULL,
|
|
119
|
-
identity TEXT NOT NULL,
|
|
120
|
-
payload_json TEXT NOT NULL,
|
|
121
|
-
canonical_hash TEXT NOT NULL,
|
|
122
|
-
prior_record_hash TEXT NOT NULL,
|
|
123
|
-
record_hash TEXT NOT NULL,
|
|
124
|
-
PRIMARY KEY (run_id, sequence),
|
|
125
|
-
UNIQUE (run_id, kind, identity),
|
|
126
|
-
UNIQUE (run_id, record_hash)
|
|
127
|
-
) STRICT;
|
|
128
|
-
|
|
129
|
-
CREATE TABLE IF NOT EXISTS design_operations (
|
|
130
|
-
run_id TEXT NOT NULL REFERENCES runs(run_id) ON DELETE CASCADE,
|
|
131
|
-
operation_id TEXT NOT NULL,
|
|
132
|
-
operation TEXT NOT NULL,
|
|
133
|
-
request_hash TEXT NOT NULL,
|
|
134
|
-
outcome_json TEXT NOT NULL,
|
|
135
|
-
PRIMARY KEY (run_id, operation_id)
|
|
136
|
-
) STRICT;
|
|
137
|
-
|
|
138
|
-
CREATE TABLE IF NOT EXISTS design_compiled_plans (
|
|
139
|
-
run_id TEXT NOT NULL REFERENCES runs(run_id) ON DELETE CASCADE,
|
|
140
|
-
revision INTEGER NOT NULL,
|
|
141
|
-
fact_sequence INTEGER NOT NULL,
|
|
142
|
-
raw_sha256 TEXT NOT NULL,
|
|
143
|
-
canonical_hash TEXT NOT NULL,
|
|
144
|
-
plan_bytes BLOB NOT NULL,
|
|
145
|
-
PRIMARY KEY (run_id, revision),
|
|
146
|
-
UNIQUE (run_id, fact_sequence),
|
|
147
|
-
FOREIGN KEY (run_id, fact_sequence)
|
|
148
|
-
REFERENCES design_facts(run_id, sequence) ON DELETE CASCADE
|
|
149
|
-
) STRICT;
|
|
150
|
-
|
|
151
|
-
CREATE TABLE IF NOT EXISTS design_finalization_leases (
|
|
152
|
-
run_id TEXT PRIMARY KEY REFERENCES runs(run_id) ON DELETE CASCADE,
|
|
153
|
-
operation_id TEXT NOT NULL,
|
|
154
|
-
token TEXT NOT NULL UNIQUE,
|
|
155
|
-
expires_at INTEGER NOT NULL
|
|
156
|
-
) STRICT;
|
|
157
|
-
`;
|
|
158
|
-
|
|
159
|
-
export const ENGINE_SCHEMA = `
|
|
160
|
-
CREATE TABLE IF NOT EXISTS workflow_engine_runs (
|
|
161
|
-
run_id TEXT PRIMARY KEY REFERENCES runs(run_id) ON DELETE CASCADE,
|
|
162
|
-
current_revision INTEGER,
|
|
163
|
-
baseline_workspace_revision TEXT,
|
|
164
|
-
current_workspace_revision TEXT,
|
|
165
|
-
cleanup_state TEXT NOT NULL DEFAULT 'none',
|
|
166
|
-
route_id TEXT,
|
|
167
|
-
route_fingerprint TEXT,
|
|
168
|
-
transaction_id TEXT,
|
|
169
|
-
verification_json TEXT,
|
|
170
|
-
delivery_diagnostics_json TEXT,
|
|
171
|
-
next_queue_position INTEGER NOT NULL DEFAULT 1
|
|
172
|
-
) STRICT;
|
|
173
|
-
|
|
174
|
-
CREATE TABLE IF NOT EXISTS workflow_engine_deliveries (
|
|
175
|
-
run_id TEXT NOT NULL REFERENCES runs(run_id) ON DELETE CASCADE,
|
|
176
|
-
revision INTEGER NOT NULL,
|
|
177
|
-
gate TEXT NOT NULL,
|
|
178
|
-
receipt_hash TEXT NOT NULL,
|
|
179
|
-
plan_json TEXT NOT NULL,
|
|
180
|
-
PRIMARY KEY (run_id, revision)
|
|
181
|
-
) STRICT;
|
|
182
|
-
|
|
183
|
-
CREATE TABLE IF NOT EXISTS workflow_engine_tasks (
|
|
184
|
-
run_id TEXT NOT NULL REFERENCES runs(run_id) ON DELETE CASCADE,
|
|
185
|
-
task_id TEXT NOT NULL,
|
|
186
|
-
task_order INTEGER NOT NULL,
|
|
187
|
-
delivery_revision INTEGER NOT NULL,
|
|
188
|
-
plan_json TEXT NOT NULL,
|
|
189
|
-
state TEXT NOT NULL,
|
|
190
|
-
phase TEXT NOT NULL,
|
|
191
|
-
pause_code TEXT,
|
|
192
|
-
context_request_json TEXT,
|
|
193
|
-
attempt_diagnostic_json TEXT,
|
|
194
|
-
route_id TEXT,
|
|
195
|
-
route_fingerprint TEXT,
|
|
196
|
-
queue_position INTEGER,
|
|
197
|
-
PRIMARY KEY (run_id, task_id)
|
|
198
|
-
) STRICT;
|
|
199
|
-
|
|
200
|
-
CREATE TABLE IF NOT EXISTS workflow_engine_operations (
|
|
201
|
-
run_id TEXT NOT NULL REFERENCES runs(run_id) ON DELETE CASCADE,
|
|
202
|
-
operation_id TEXT NOT NULL,
|
|
203
|
-
command TEXT NOT NULL,
|
|
204
|
-
state TEXT NOT NULL,
|
|
205
|
-
lease_token TEXT,
|
|
206
|
-
lease_expires_at INTEGER,
|
|
207
|
-
outcome_json TEXT,
|
|
208
|
-
PRIMARY KEY (run_id, operation_id)
|
|
209
|
-
) STRICT;
|
|
210
|
-
`;
|
|
211
|
-
|
|
212
|
-
export const RECOVERY_SCHEMA = `
|
|
213
|
-
CREATE TABLE IF NOT EXISTS workflow_context_reads (
|
|
214
|
-
run_id TEXT NOT NULL REFERENCES runs(run_id) ON DELETE CASCADE,
|
|
215
|
-
task_id TEXT NOT NULL,
|
|
216
|
-
path TEXT NOT NULL,
|
|
217
|
-
PRIMARY KEY (run_id, task_id, path)
|
|
218
|
-
) STRICT;
|
|
219
|
-
|
|
220
|
-
CREATE TABLE IF NOT EXISTS workflow_work_budget (
|
|
221
|
-
run_id TEXT PRIMARY KEY REFERENCES runs(run_id) ON DELETE CASCADE,
|
|
222
|
-
used INTEGER NOT NULL CHECK (used >= 0),
|
|
223
|
-
max_work INTEGER NOT NULL CHECK (max_work > 0 AND used <= max_work),
|
|
224
|
-
phase_high_water INTEGER NOT NULL DEFAULT 0,
|
|
225
|
-
hard_limit INTEGER NOT NULL DEFAULT 512,
|
|
226
|
-
recovery_policy INTEGER NOT NULL DEFAULT 0
|
|
227
|
-
) STRICT;
|
|
228
|
-
|
|
229
|
-
CREATE TABLE IF NOT EXISTS workflow_recovery_incidents (
|
|
230
|
-
run_id TEXT NOT NULL REFERENCES runs(run_id) ON DELETE CASCADE,
|
|
231
|
-
incident_key TEXT NOT NULL,
|
|
232
|
-
failures INTEGER NOT NULL CHECK (failures >= 0),
|
|
233
|
-
max_attempts INTEGER NOT NULL CHECK (max_attempts > 0),
|
|
234
|
-
feedback_json TEXT NOT NULL,
|
|
235
|
-
conditions_json TEXT NOT NULL DEFAULT '{}',
|
|
236
|
-
PRIMARY KEY (run_id, incident_key)
|
|
237
|
-
) STRICT;
|
|
238
|
-
|
|
239
|
-
CREATE TABLE IF NOT EXISTS workflow_recovery_events (
|
|
240
|
-
run_id TEXT NOT NULL REFERENCES runs(run_id) ON DELETE CASCADE,
|
|
241
|
-
sequence INTEGER NOT NULL CHECK (sequence > 0),
|
|
242
|
-
incident_key TEXT NOT NULL,
|
|
243
|
-
kind TEXT NOT NULL CHECK (kind IN ('failure', 'resolved', 'repair', 'launch')),
|
|
244
|
-
PRIMARY KEY (run_id, sequence)
|
|
245
|
-
) STRICT;
|
|
246
|
-
`;
|
|
247
|
-
|
|
248
|
-
// Independent namespace so existing recovery stores remain atomically additive.
|
|
249
|
-
export const AMENDMENT_SCHEMA = `
|
|
250
|
-
CREATE TABLE IF NOT EXISTS workflow_amendment_budget (
|
|
251
|
-
run_id TEXT PRIMARY KEY REFERENCES runs(run_id) ON DELETE CASCADE,
|
|
252
|
-
used INTEGER NOT NULL CHECK (used >= 0 AND used <= 64)
|
|
253
|
-
) STRICT;
|
|
254
|
-
`;
|
|
255
|
-
|
|
256
|
-
export const REJECTED_DELIVERY_SCHEMA = `
|
|
257
|
-
CREATE TABLE IF NOT EXISTS workflow_rejected_deliveries (
|
|
258
|
-
run_id TEXT NOT NULL REFERENCES runs(run_id) ON DELETE CASCADE,
|
|
259
|
-
delivery_revision INTEGER NOT NULL CHECK (delivery_revision > 0),
|
|
260
|
-
receipt_hash TEXT NOT NULL,
|
|
261
|
-
PRIMARY KEY (run_id, delivery_revision, receipt_hash)
|
|
262
|
-
) STRICT;
|
|
263
|
-
`;
|
|
264
|
-
|
|
265
|
-
export const TASK_SCHEMA = `
|
|
266
|
-
CREATE TABLE IF NOT EXISTS candidates (
|
|
267
|
-
candidate_id TEXT PRIMARY KEY,
|
|
268
|
-
identity_json TEXT NOT NULL,
|
|
269
|
-
state TEXT NOT NULL,
|
|
270
|
-
next_sequence INTEGER NOT NULL,
|
|
271
|
-
total_bytes INTEGER NOT NULL,
|
|
272
|
-
artifact_hash TEXT,
|
|
273
|
-
candidate_hash TEXT,
|
|
274
|
-
segment_count INTEGER,
|
|
275
|
-
paths_json TEXT,
|
|
276
|
-
pause_code TEXT
|
|
277
|
-
) STRICT;
|
|
278
|
-
CREATE TABLE IF NOT EXISTS candidate_segments (
|
|
279
|
-
candidate_id TEXT NOT NULL REFERENCES candidates(candidate_id) ON DELETE CASCADE,
|
|
280
|
-
sequence INTEGER NOT NULL,
|
|
281
|
-
artifact_hash TEXT NOT NULL,
|
|
282
|
-
size_bytes INTEGER NOT NULL,
|
|
283
|
-
segment_hash TEXT NOT NULL,
|
|
284
|
-
PRIMARY KEY (candidate_id, sequence)
|
|
285
|
-
) STRICT;
|
|
286
|
-
CREATE TABLE IF NOT EXISTS task_ledger (
|
|
287
|
-
run_id TEXT NOT NULL,
|
|
288
|
-
task_id TEXT NOT NULL,
|
|
289
|
-
delivery_revision INTEGER NOT NULL,
|
|
290
|
-
boundary_hash TEXT NOT NULL,
|
|
291
|
-
objective TEXT NOT NULL,
|
|
292
|
-
context_refs_json TEXT NOT NULL,
|
|
293
|
-
initial_phase TEXT NOT NULL,
|
|
294
|
-
PRIMARY KEY (run_id, task_id)
|
|
295
|
-
) STRICT;
|
|
296
|
-
CREATE TABLE IF NOT EXISTS task_events (
|
|
297
|
-
run_id TEXT NOT NULL,
|
|
298
|
-
task_id TEXT NOT NULL,
|
|
299
|
-
ordinal INTEGER NOT NULL,
|
|
300
|
-
event_id TEXT NOT NULL,
|
|
301
|
-
event_json TEXT NOT NULL,
|
|
302
|
-
prior_hash TEXT NOT NULL,
|
|
303
|
-
event_hash TEXT NOT NULL,
|
|
304
|
-
PRIMARY KEY (run_id, task_id, ordinal),
|
|
305
|
-
UNIQUE (run_id, task_id, event_id),
|
|
306
|
-
FOREIGN KEY (run_id, task_id) REFERENCES task_ledger(run_id, task_id) ON DELETE CASCADE
|
|
307
|
-
) STRICT;
|
|
308
|
-
CREATE TABLE IF NOT EXISTS durable_facts (
|
|
309
|
-
fact_key TEXT PRIMARY KEY,
|
|
310
|
-
fact_json TEXT NOT NULL
|
|
311
|
-
) STRICT;
|
|
312
|
-
`;
|
|
313
|
-
|
|
314
|
-
export const APPLY_SCHEMA = `
|
|
315
|
-
CREATE TABLE IF NOT EXISTS apply_transaction_journal (
|
|
316
|
-
transaction_id TEXT PRIMARY KEY,
|
|
317
|
-
journal_json TEXT NOT NULL,
|
|
318
|
-
journal_hash TEXT NOT NULL
|
|
319
|
-
) STRICT;
|
|
320
|
-
`;
|
|
321
|
-
|
|
322
|
-
export const ENGINE_ADDITIONS = {
|
|
323
|
-
workflow_engine_runs: {
|
|
324
|
-
baseline_workspace_revision: "TEXT",
|
|
325
|
-
current_workspace_revision: "TEXT",
|
|
326
|
-
cleanup_state: "TEXT NOT NULL DEFAULT 'none'",
|
|
327
|
-
verification_json: "TEXT",
|
|
328
|
-
delivery_diagnostics_json: "TEXT",
|
|
329
|
-
route_fingerprint: "TEXT",
|
|
330
|
-
},
|
|
331
|
-
workflow_engine_tasks: {
|
|
332
|
-
route_fingerprint: "TEXT",
|
|
333
|
-
context_request_json: "TEXT",
|
|
334
|
-
attempt_diagnostic_json: "TEXT",
|
|
335
|
-
},
|
|
336
|
-
};
|
|
337
|
-
|
|
338
|
-
export const RECOVERY_ADDITIONS = {
|
|
339
|
-
workflow_work_budget: {
|
|
340
|
-
phase_high_water: "INTEGER NOT NULL DEFAULT 0",
|
|
341
|
-
hard_limit: "INTEGER NOT NULL DEFAULT 512",
|
|
342
|
-
recovery_policy: "INTEGER NOT NULL DEFAULT 0",
|
|
343
|
-
},
|
|
344
|
-
workflow_recovery_incidents: {
|
|
345
|
-
conditions_json: "TEXT NOT NULL DEFAULT '{}'",
|
|
346
|
-
},
|
|
347
|
-
};
|
|
348
|
-
|
|
349
|
-
export const RECOVERY_GRANT_SCHEMA = `
|
|
350
|
-
CREATE TABLE IF NOT EXISTS workflow_recovery_grants (
|
|
351
|
-
run_id TEXT NOT NULL REFERENCES runs(run_id) ON DELETE CASCADE,
|
|
352
|
-
operation_id TEXT NOT NULL,
|
|
353
|
-
incident_key TEXT NOT NULL,
|
|
354
|
-
failure_sequence INTEGER NOT NULL,
|
|
355
|
-
reason TEXT NOT NULL,
|
|
356
|
-
consumed INTEGER NOT NULL DEFAULT 0 CHECK (consumed IN (0, 1)),
|
|
357
|
-
PRIMARY KEY (run_id, operation_id),
|
|
358
|
-
UNIQUE (run_id, incident_key, failure_sequence)
|
|
359
|
-
) STRICT;
|
|
360
|
-
`;
|