@kungfu-tech/buildchain 4.0.1-alpha.2 → 4.0.1-alpha.3
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/architecture/decisions/0003-two-phase-delivery-warrant.md +152 -0
- package/architecture/internal-capabilities.json +94 -0
- package/architecture/maintainability-policy.json +75 -8
- package/architecture/v3-core-mechanism-inventory.json +2 -0
- package/architecture/v4-delivery-authority-parity.json +250 -0
- package/architecture/v4-delivery-warrant-shadow-fixtures.json +29 -6
- package/bin/buildchain.mjs +9 -1
- package/contracts/dev-delivery-authority-v2.schema.json +662 -0
- package/dist/site/agent-index.json +1 -0
- package/dist/site/artifact-schemas.json +2 -0
- package/dist/site/buildchain-contract.json +89 -6
- package/dist/site/buildchain-site.json +169 -18
- package/dist/site/capability-registry.json +2 -2
- package/dist/site/cli-registry.json +46 -2
- package/dist/site/kfd-claims.json +43 -9
- package/dist/site/kfd-upstream-aggregate.json +1 -1
- package/dist/site/manual-registry.json +3 -3
- package/dist/site/node-api-registry.json +1694 -165
- package/dist/site/page-registry.json +162 -11
- package/dist/site/public-surface-audit.json +367 -7
- package/dist/site/publication-registry.json +4 -4
- package/dist/site/release-provenance.json +2 -0
- package/dist/site/schemas/dev-delivery-authority-v2.schema.json +662 -0
- package/dist/site/site-manifest.json +7 -7
- package/dist/site/workflow-registry.json +22 -6
- package/docs/MAP.md +1 -0
- package/docs/cli-reference.md +211 -13
- package/docs/dev-delivery-qualification-landing-adr.md +251 -0
- package/docs/dev-delivery-warrant.md +326 -38
- package/docs/node-api-reference.md +113 -53
- package/package.json +5 -1
- package/packages/core/buildchain-contract.js +3 -2
- package/packages/core/dev-delivery-authority-candidate.js +270 -0
- package/packages/core/dev-delivery-authority-evidence.js +146 -0
- package/packages/core/dev-delivery-authority-landing.js +461 -0
- package/packages/core/dev-delivery-authority-observation.js +48 -0
- package/packages/core/dev-delivery-authority-qualification.js +591 -0
- package/packages/core/dev-delivery-authority-settlement.js +213 -0
- package/packages/core/dev-delivery-authority-state.js +583 -0
- package/packages/core/dev-delivery-candidate-identity.js +13 -0
- package/packages/core/dev-delivery-contract-surface.js +76 -0
- package/packages/core/dev-delivery-execution-failure.js +133 -0
- package/packages/core/dev-delivery-execution-transfer.js +572 -0
- package/packages/core/dev-delivery-landing-admission-core.js +119 -0
- package/packages/core/dev-delivery-landing-readback.js +598 -0
- package/packages/core/dev-delivery-landing-terminal-evidence.js +271 -0
- package/packages/core/dev-delivery-landing-testing-port.js +6 -0
- package/packages/core/dev-delivery-native-execution.js +110 -0
- package/packages/core/dev-delivery-native-proof.js +546 -0
- package/packages/core/dev-delivery-process-boundary.js +551 -0
- package/packages/core/dev-delivery-provider-attempt.js +127 -0
- package/packages/core/dev-delivery-provider-heartbeat.js +370 -0
- package/packages/core/dev-delivery-warrant-cancellation.js +1 -0
- package/packages/core/dev-delivery-warrant-qualification.js +145 -0
- package/packages/core/dev-delivery-warrant-settlement.js +237 -36
- package/packages/core/dev-delivery-warrant-state.js +565 -0
- package/packages/core/dev-delivery-warrant.js +320 -368
- package/scripts/buildchain-cli-help.mjs +11 -2
- package/scripts/dev-delivery-authority-command-adapters.mjs +206 -0
- package/scripts/dev-delivery-authority-provider.mjs +28 -0
- package/scripts/dev-delivery-authority.mjs +490 -0
- package/scripts/dev-delivery-native-run.mjs +177 -0
- package/scripts/dev-delivery-process-boundary.mjs +260 -0
- package/scripts/dev-delivery-proof.mjs +67 -2
- package/scripts/dev-delivery-provider-heartbeat.mjs +215 -0
- package/scripts/dev-delivery-two-phase-resume.mjs +345 -0
- package/scripts/dev-delivery-two-phase.mjs +573 -0
- package/scripts/dev-delivery-warrant-options.mjs +266 -0
- package/scripts/dev-delivery-warrant-store.mjs +227 -0
- package/scripts/dev-delivery-warrant.mjs +227 -193
- package/scripts/dev-pr-delivery-warrant.mjs +10 -0
- package/scripts/generate-site-bundle.mjs +26 -4
- package/scripts/npm-publish-transaction.mjs +2 -2
- package/scripts/site-capability-metadata.mjs +12 -0
- package/templates/native-dev-delivery.yml +141 -0
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"contract": "kungfu-buildchain-v4-delivery-authority-parity",
|
|
4
|
+
"sourceAuthority": {
|
|
5
|
+
"decision": "architecture/decisions/0003-two-phase-delivery-warrant.md",
|
|
6
|
+
"reference": "docs/dev-delivery-warrant.md",
|
|
7
|
+
"contract": "kungfu-buildchain-dev-delivery-warrant-queue",
|
|
8
|
+
"schemaVersion": 1
|
|
9
|
+
},
|
|
10
|
+
"target": {
|
|
11
|
+
"branch": "dev/v4/v4.0",
|
|
12
|
+
"singleFlightContract": "kungfu-buildchain-dev-delivery-warrant-queue",
|
|
13
|
+
"boundedAuthorityContract": "kungfu-buildchain-dev-delivery-authority",
|
|
14
|
+
"boundedAuthoritySchemaVersion": 2
|
|
15
|
+
},
|
|
16
|
+
"allowedDispositions": [
|
|
17
|
+
"implemented",
|
|
18
|
+
"superseded-equivalent",
|
|
19
|
+
"missing-before-closeout"
|
|
20
|
+
],
|
|
21
|
+
"invariants": [
|
|
22
|
+
{
|
|
23
|
+
"id": "DA-01",
|
|
24
|
+
"claim": "Native delivery receives provisional authority before expensive execution and cannot use that phase as merge admission.",
|
|
25
|
+
"disposition": "implemented",
|
|
26
|
+
"implementationEvidence": [
|
|
27
|
+
"packages/core/dev-delivery-warrant.js",
|
|
28
|
+
"scripts/dev-delivery-two-phase.mjs"
|
|
29
|
+
],
|
|
30
|
+
"verificationEvidence": [
|
|
31
|
+
"tests/dev-delivery-two-phase.test.mjs",
|
|
32
|
+
"tests/dev-delivery-two-phase-run.test.mjs"
|
|
33
|
+
],
|
|
34
|
+
"behavioralProof": "tests/v4-delivery-authority-parity.test.mjs#DA-01"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"id": "DA-02",
|
|
38
|
+
"claim": "The provisional Warrant heartbeats one exact token and generation, and stale or expired owners cannot renew or qualify.",
|
|
39
|
+
"disposition": "implemented",
|
|
40
|
+
"implementationEvidence": [
|
|
41
|
+
"packages/core/dev-delivery-warrant.js",
|
|
42
|
+
"scripts/dev-delivery-native-run.mjs"
|
|
43
|
+
],
|
|
44
|
+
"verificationEvidence": [
|
|
45
|
+
"tests/dev-delivery-two-phase.test.mjs",
|
|
46
|
+
"tests/dev-delivery-native-run.test.mjs"
|
|
47
|
+
],
|
|
48
|
+
"behavioralProof": "tests/v4-delivery-authority-parity.test.mjs#DA-02"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"id": "DA-03",
|
|
52
|
+
"claim": "Native proof binds semantic source, exact source head, qualified base, affected closure, dependency and toolchain roots, environment, heartbeat receipt, and shard evidence; PR-controlled native code and its complete readable process ancestry receive no controller or provider write credentials, the recursively enumerated transfer is an exact regular-file-only closed set staged separately from candidate evidence, an independent hosted heartbeat runner chains durable state and receipt roots through native and seal completion, and only a live-readback-proven distinct GitHub-hosted finalizer job and runner may verify the latest state, revalidate bytes, recompute canonical failure evidence, qualify, or settle the exact bound failure.",
|
|
53
|
+
"disposition": "implemented",
|
|
54
|
+
"implementationEvidence": [
|
|
55
|
+
"packages/core/dev-delivery-native-proof.js",
|
|
56
|
+
"packages/core/dev-delivery-execution-failure.js",
|
|
57
|
+
"packages/core/dev-delivery-execution-transfer.js",
|
|
58
|
+
"packages/core/dev-delivery-process-boundary.js",
|
|
59
|
+
"packages/core/dev-delivery-provider-heartbeat.js",
|
|
60
|
+
"scripts/dev-delivery-native-run.mjs",
|
|
61
|
+
"scripts/dev-delivery-process-boundary.mjs",
|
|
62
|
+
"scripts/dev-delivery-provider-heartbeat.mjs",
|
|
63
|
+
".github/workflows/dev-pr-auto-merge.yml"
|
|
64
|
+
],
|
|
65
|
+
"verificationEvidence": [
|
|
66
|
+
"tests/dev-delivery-two-phase.test.mjs",
|
|
67
|
+
"tests/dev-delivery-native-run.test.mjs",
|
|
68
|
+
"tests/dev-delivery-process-boundary.test.mjs",
|
|
69
|
+
"tests/dev-delivery-process-boundary-negative.test.mjs",
|
|
70
|
+
"tests/dev-delivery-provider-heartbeat.test.mjs",
|
|
71
|
+
"tests/build-surface.test.mjs"
|
|
72
|
+
],
|
|
73
|
+
"behavioralProof": "tests/v4-delivery-authority-parity.test.mjs#DA-03"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"id": "DA-04",
|
|
77
|
+
"claim": "Interruption resumes only from a live qualified fence or a proof whose complete attributed base delta remains disjoint; ambiguity or overlap revalidates.",
|
|
78
|
+
"disposition": "implemented",
|
|
79
|
+
"implementationEvidence": [
|
|
80
|
+
"packages/core/dev-delivery-native-proof.js",
|
|
81
|
+
"scripts/dev-delivery-two-phase-resume.mjs"
|
|
82
|
+
],
|
|
83
|
+
"verificationEvidence": [
|
|
84
|
+
"tests/dev-delivery-two-phase.test.mjs",
|
|
85
|
+
"tests/dev-delivery-two-phase-run.test.mjs"
|
|
86
|
+
],
|
|
87
|
+
"behavioralProof": "tests/v4-delivery-authority-parity.test.mjs#DA-04"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"id": "DA-05",
|
|
91
|
+
"claim": "Native success upgrades the same fence atomically to qualified authority and records exact proof and reuse roots without minting a second token.",
|
|
92
|
+
"disposition": "implemented",
|
|
93
|
+
"implementationEvidence": [
|
|
94
|
+
"packages/core/dev-delivery-native-proof.js",
|
|
95
|
+
"packages/core/dev-delivery-warrant.js"
|
|
96
|
+
],
|
|
97
|
+
"verificationEvidence": ["tests/dev-delivery-two-phase.test.mjs"],
|
|
98
|
+
"behavioralProof": "tests/v4-delivery-authority-parity.test.mjs#DA-05"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"id": "DA-06",
|
|
102
|
+
"claim": "Expiry does not imply worker termination; an expired provisional holder remains exclusive until exact fenced terminal settlement, and duplicate settlement is idempotent.",
|
|
103
|
+
"disposition": "implemented",
|
|
104
|
+
"implementationEvidence": [
|
|
105
|
+
"packages/core/dev-delivery-warrant.js",
|
|
106
|
+
"packages/core/dev-delivery-warrant-settlement.js"
|
|
107
|
+
],
|
|
108
|
+
"verificationEvidence": [
|
|
109
|
+
"tests/dev-delivery-warrant.test.mjs",
|
|
110
|
+
"tests/dev-delivery-two-phase.test.mjs"
|
|
111
|
+
],
|
|
112
|
+
"behavioralProof": "tests/v4-delivery-authority-parity.test.mjs#DA-06"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"id": "DA-07",
|
|
116
|
+
"claim": "GitHub merge_group and the protected Project Cut remain final integration authority; a Warrant alone never mutates branch protection or proves landing.",
|
|
117
|
+
"disposition": "implemented",
|
|
118
|
+
"implementationEvidence": [
|
|
119
|
+
"packages/core/dev-delivery-proof.js",
|
|
120
|
+
"scripts/dev-pr-delivery-warrant.mjs",
|
|
121
|
+
".github/workflows/dev-pr-auto-merge.yml"
|
|
122
|
+
],
|
|
123
|
+
"verificationEvidence": [
|
|
124
|
+
"tests/dev-delivery-warrant.test.mjs",
|
|
125
|
+
"tests/dev-pr-auto-merge.test.mjs"
|
|
126
|
+
],
|
|
127
|
+
"behavioralProof": "tests/v4-delivery-authority-parity.test.mjs#DA-07"
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"id": "DA-08",
|
|
131
|
+
"claim": "Bounded mode issues no more than the configured Qualification Leases and only across disjoint rooted safety domains; unknown or overlapping domains serialize.",
|
|
132
|
+
"disposition": "implemented",
|
|
133
|
+
"implementationEvidence": [
|
|
134
|
+
"packages/core/dev-delivery-authority-qualification.js",
|
|
135
|
+
"packages/core/dev-delivery-authority-state.js"
|
|
136
|
+
],
|
|
137
|
+
"verificationEvidence": ["tests/dev-delivery-authority.test.mjs"],
|
|
138
|
+
"behavioralProof": "tests/v4-delivery-authority-parity.test.mjs#DA-08"
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"id": "DA-09",
|
|
142
|
+
"claim": "Qualification authority cannot admit merge_group; a new Landing requires complete verified-native qualification, its public admission API derives provider identity only from live GitHub readback, and exactly one exclusive Landing Warrant binds the candidate, source head, token, generation, state root, protected base, merge-group head, and verified provider attempt.",
|
|
143
|
+
"disposition": "implemented",
|
|
144
|
+
"implementationEvidence": [
|
|
145
|
+
"packages/core/dev-delivery-authority-landing.js",
|
|
146
|
+
"packages/core/dev-delivery-landing-admission-core.js",
|
|
147
|
+
"packages/core/dev-delivery-authority-qualification.js",
|
|
148
|
+
"contracts/dev-delivery-authority-v2.schema.json"
|
|
149
|
+
],
|
|
150
|
+
"verificationEvidence": ["tests/dev-delivery-authority.test.mjs"],
|
|
151
|
+
"behavioralProof": "tests/v4-delivery-authority-parity.test.mjs#DA-09"
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"id": "DA-10",
|
|
155
|
+
"claim": "Landing is fair under bounded overtaking, including strict FIFO at zero, and never exposes more than one landing writer under contention.",
|
|
156
|
+
"disposition": "implemented",
|
|
157
|
+
"implementationEvidence": [
|
|
158
|
+
"packages/core/dev-delivery-authority-qualification.js",
|
|
159
|
+
"packages/core/dev-delivery-authority-landing.js"
|
|
160
|
+
],
|
|
161
|
+
"verificationEvidence": ["tests/dev-delivery-authority.test.mjs"],
|
|
162
|
+
"behavioralProof": "tests/v4-delivery-authority-parity.test.mjs#DA-10"
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"id": "DA-11",
|
|
166
|
+
"claim": "Every Landing admission derives the provider attempt through non-injectable live GitHub readback, and every admitted heartbeat carries that exact persisted attempt and renews only through the public GitHub workflow run-attempt and job readback; qualification expiry releases only qualification capacity, while every Landing Warrant remains exclusive until an independent terminal verifier reads the immutable historical attempt endpoint and returns fresh rooted evidence bound to state, fence, generation, candidate, admitted source head, provider run, provider job, and protected-base containment without depending on a mutable run projection, referenced-workflow inference, or the synchronized current PR head; runtime sealing enforces the published repository, protected-base, numeric identity, completed-state, run-conclusion, job-conclusion, pull-request-state, merged-flag, containment, and outcome schema, and every resulting settlement is deterministic and idempotent.",
|
|
167
|
+
"disposition": "implemented",
|
|
168
|
+
"implementationEvidence": [
|
|
169
|
+
"packages/core/dev-delivery-authority-qualification.js",
|
|
170
|
+
"packages/core/dev-delivery-authority-landing.js",
|
|
171
|
+
"packages/core/dev-delivery-landing-admission-core.js",
|
|
172
|
+
"packages/core/dev-delivery-landing-readback.js"
|
|
173
|
+
],
|
|
174
|
+
"verificationEvidence": ["tests/dev-delivery-authority.test.mjs"],
|
|
175
|
+
"behavioralProof": "tests/v4-delivery-authority-parity.test.mjs#DA-11"
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
"id": "DA-12",
|
|
179
|
+
"claim": "Expected-old state roots and non-force Git ref advancement serialize admission and prevent partial or competing writes from becoming two durable authorities.",
|
|
180
|
+
"disposition": "implemented",
|
|
181
|
+
"implementationEvidence": [
|
|
182
|
+
"scripts/dev-delivery-authority.mjs",
|
|
183
|
+
"scripts/dev-delivery-warrant.mjs"
|
|
184
|
+
],
|
|
185
|
+
"verificationEvidence": [
|
|
186
|
+
"tests/dev-delivery-authority.test.mjs",
|
|
187
|
+
"tests/dev-delivery-warrant-command.test.mjs"
|
|
188
|
+
],
|
|
189
|
+
"behavioralProof": "tests/v4-delivery-authority-parity.test.mjs#DA-12"
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
"id": "DA-13",
|
|
193
|
+
"claim": "One-shot v1 migration preserves the rooted legacy state and exact active fence while representing phase-less and qualified v1 compatibility honestly; compatibility-only evidence cannot acquire v2 native proof authority or mint a new Landing Warrant.",
|
|
194
|
+
"disposition": "implemented",
|
|
195
|
+
"implementationEvidence": [
|
|
196
|
+
"packages/core/dev-delivery-authority-state.js",
|
|
197
|
+
"scripts/dev-delivery-authority.mjs"
|
|
198
|
+
],
|
|
199
|
+
"verificationEvidence": ["tests/dev-delivery-authority.test.mjs"],
|
|
200
|
+
"behavioralProof": "tests/v4-delivery-authority-parity.test.mjs#DA-13"
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"id": "DA-14",
|
|
204
|
+
"claim": "Historical v1 queue bytes and native proofs remain readable, phase-less active-owner handoff uses exact legacy-safe bindings without a native command contract, and unbound or compatibility-only legacy proof cannot acquire new exact reuse or Landing authority.",
|
|
205
|
+
"disposition": "implemented",
|
|
206
|
+
"implementationEvidence": [
|
|
207
|
+
"packages/core/dev-delivery-warrant.js",
|
|
208
|
+
"packages/core/dev-delivery-native-proof.js",
|
|
209
|
+
".github/workflows/dev-pr-auto-merge.yml"
|
|
210
|
+
],
|
|
211
|
+
"verificationEvidence": [
|
|
212
|
+
"tests/dev-delivery-authority.test.mjs",
|
|
213
|
+
"tests/dev-delivery-two-phase.test.mjs"
|
|
214
|
+
],
|
|
215
|
+
"behavioralProof": "tests/v4-delivery-authority-parity.test.mjs#DA-14"
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
"id": "DA-15",
|
|
219
|
+
"claim": "The supported CLI, Node exports including independent Landing terminal readback, schema, documentation, generated references, and byte-exact generated site schema expose bounded v2 authority consistently, while the native template and Buildchain public v4-alpha caller truthfully remain single-flight v1 and do not advertise v2 Landing execution; matching stable and alpha contract locks preserve that explicit boundary.",
|
|
220
|
+
"disposition": "implemented",
|
|
221
|
+
"implementationEvidence": [
|
|
222
|
+
"bin/buildchain.mjs",
|
|
223
|
+
"package.json",
|
|
224
|
+
"packages/core/dev-delivery-landing-readback.js",
|
|
225
|
+
"packages/core/dev-delivery-contract-surface.js",
|
|
226
|
+
"contracts/dev-delivery-authority-v2.schema.json",
|
|
227
|
+
"docs/dev-delivery-warrant.md",
|
|
228
|
+
"docs/dev-delivery-qualification-landing-adr.md",
|
|
229
|
+
"templates/native-dev-delivery.yml",
|
|
230
|
+
".github/workflows/buildchain-dev-delivery.yml",
|
|
231
|
+
".buildchain/contract-lock.json",
|
|
232
|
+
".buildchain/alpha-contract-lock.json"
|
|
233
|
+
],
|
|
234
|
+
"verificationEvidence": [
|
|
235
|
+
"tests/dev-delivery-authority.test.mjs",
|
|
236
|
+
"tests/dev-pr-auto-merge.test.mjs",
|
|
237
|
+
"tests/build-surface.test.mjs"
|
|
238
|
+
],
|
|
239
|
+
"behavioralProof": "tests/v4-delivery-authority-parity.test.mjs#DA-15"
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"id": "DA-16",
|
|
243
|
+
"claim": "Independent review, protected merge into dev/v4/v4.0, and exact post-merge readback are required external closeout evidence and are not established by local tests.",
|
|
244
|
+
"disposition": "missing-before-closeout",
|
|
245
|
+
"implementationEvidence": [],
|
|
246
|
+
"verificationEvidence": []
|
|
247
|
+
}
|
|
248
|
+
],
|
|
249
|
+
"matrixRoot": "sha256:5be5abf70b982374f32a1400d4ec7c830017a0473d03165e831a506c94c8b881"
|
|
250
|
+
}
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"now": "2026-08-07T00:02:00Z"
|
|
62
62
|
}
|
|
63
63
|
],
|
|
64
|
-
"expectedLegacyProjectionRoot": "sha256:
|
|
64
|
+
"expectedLegacyProjectionRoot": "sha256:d360d0c66dde487b9020b1b0e90d0c7a3e0777bdfbac72f9ac40602bbe419826"
|
|
65
65
|
},
|
|
66
66
|
{
|
|
67
67
|
"id": "lease-expiry-and-stale-fence",
|
|
@@ -76,36 +76,59 @@
|
|
|
76
76
|
"id": "submit",
|
|
77
77
|
"operation": "submit",
|
|
78
78
|
"pullRequestNumber": 120,
|
|
79
|
+
"overrides": {
|
|
80
|
+
"environmentRoot": "sha256:9999999999999999999999999999999999999999999999999999999999999999",
|
|
81
|
+
"nativeCommandContract": {
|
|
82
|
+
"schema": "kungfu.buildchain.native-command-contract/v1",
|
|
83
|
+
"runner": "bash-lc",
|
|
84
|
+
"command": "node --test tests/v4-warrant-shadow-plan.test.mjs",
|
|
85
|
+
"commandRoot": "sha256:4d9a03536802c46fe254f247b7236925aec49d789e5e9ac7b2dceac08d7cefab"
|
|
86
|
+
}
|
|
87
|
+
},
|
|
79
88
|
"now": "2026-08-07T01:00:01Z"
|
|
80
89
|
},
|
|
90
|
+
{
|
|
91
|
+
"id": "submit-successor",
|
|
92
|
+
"operation": "submit",
|
|
93
|
+
"pullRequestNumber": 121,
|
|
94
|
+
"now": "2026-08-07T01:00:02Z"
|
|
95
|
+
},
|
|
81
96
|
{
|
|
82
97
|
"id": "select-old",
|
|
83
98
|
"operation": "select",
|
|
84
99
|
"saveWarrant": "old",
|
|
85
100
|
"leaseSeconds": 60,
|
|
86
|
-
"now": "2026-08-07T01:00:
|
|
101
|
+
"now": "2026-08-07T01:00:03Z"
|
|
87
102
|
},
|
|
88
103
|
{
|
|
89
104
|
"id": "recover",
|
|
90
105
|
"operation": "recover-expired",
|
|
91
106
|
"now": "2026-08-07T01:02:00Z"
|
|
92
107
|
},
|
|
108
|
+
{
|
|
109
|
+
"id": "close-expired",
|
|
110
|
+
"operation": "close",
|
|
111
|
+
"useWarrant": "old",
|
|
112
|
+
"outcome": "terminal-failure",
|
|
113
|
+
"reason": "fenced native worker stop proved",
|
|
114
|
+
"now": "2026-08-07T01:02:01Z"
|
|
115
|
+
},
|
|
93
116
|
{
|
|
94
117
|
"id": "select-new",
|
|
95
118
|
"operation": "select",
|
|
96
119
|
"saveWarrant": "new",
|
|
97
120
|
"leaseSeconds": 60,
|
|
98
|
-
"now": "2026-08-07T01:02:
|
|
121
|
+
"now": "2026-08-07T01:02:02Z"
|
|
99
122
|
},
|
|
100
123
|
{
|
|
101
124
|
"id": "reject-old",
|
|
102
125
|
"operation": "heartbeat",
|
|
103
126
|
"useWarrant": "old",
|
|
104
127
|
"expectError": "stale-fencing-token",
|
|
105
|
-
"now": "2026-08-07T01:02:
|
|
128
|
+
"now": "2026-08-07T01:02:03Z"
|
|
106
129
|
}
|
|
107
130
|
],
|
|
108
|
-
"expectedLegacyProjectionRoot": "sha256:
|
|
131
|
+
"expectedLegacyProjectionRoot": "sha256:64065e071d1099cb2187b57ba111fc444c95dc958dc6f97dc912e40c1738a081"
|
|
109
132
|
},
|
|
110
133
|
{
|
|
111
134
|
"id": "settlement-idempotence",
|
|
@@ -153,7 +176,7 @@
|
|
|
153
176
|
"now": "2026-08-07T02:02:00Z"
|
|
154
177
|
}
|
|
155
178
|
],
|
|
156
|
-
"expectedLegacyProjectionRoot": "sha256:
|
|
179
|
+
"expectedLegacyProjectionRoot": "sha256:4f8a9030750600b2f87f627c33d63147ae33a1612c6a5022fb21474ad6118015"
|
|
157
180
|
},
|
|
158
181
|
{
|
|
159
182
|
"id": "queued-cancellation-idempotence",
|
package/bin/buildchain.mjs
CHANGED
|
@@ -1385,12 +1385,20 @@ async function handleDevCommand(args) {
|
|
|
1385
1385
|
runScript("dev-delivery-warrant.mjs", devArgs);
|
|
1386
1386
|
return;
|
|
1387
1387
|
}
|
|
1388
|
+
if (subcommand === "authority") {
|
|
1389
|
+
runScript("dev-delivery-authority.mjs", devArgs);
|
|
1390
|
+
return;
|
|
1391
|
+
}
|
|
1388
1392
|
if (subcommand === "proof") {
|
|
1389
1393
|
runScript("dev-delivery-proof.mjs", devArgs);
|
|
1390
1394
|
return;
|
|
1391
1395
|
}
|
|
1396
|
+
if (subcommand === "two-phase") {
|
|
1397
|
+
runScript("dev-delivery-two-phase.mjs", devArgs);
|
|
1398
|
+
return;
|
|
1399
|
+
}
|
|
1392
1400
|
if (subcommand !== "merge-queue") {
|
|
1393
|
-
throw new Error("usage: buildchain dev <pr-admit|merge-queue|warrant|proof> [options]");
|
|
1401
|
+
throw new Error("usage: buildchain dev <pr-admit|merge-queue|warrant|authority|proof|two-phase> [options]");
|
|
1394
1402
|
}
|
|
1395
1403
|
runScript("dev-merge-queue.mjs", devArgs);
|
|
1396
1404
|
return;
|