@kungfu-tech/buildchain 4.0.2-alpha.0 → 4.0.2-alpha.4
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/agent-change-map.md +7 -4
- package/architecture/ci-lane-change-budget.json +76 -8
- package/architecture/internal-capabilities.json +2 -0
- package/architecture/maintainability-debt.json +52 -124
- package/architecture/maintainability-policy.json +15 -10
- package/architecture/release-tail-contract-inventory.json +4 -4
- package/architecture/v3-core-mechanism-inventory.json +1 -0
- package/architecture/v3-v4-live-capability-inventory.json +17 -17
- package/architecture/v4-delivery-warrant-shadow-fixtures.json +5 -5
- package/architecture/v4-release-invocation-fixtures.json +139 -0
- package/architecture/v4-release-topology.json +243 -0
- package/architecture/v4-runtime-semantic-closure.json +4 -1
- package/contracts/buildchain-v2-residuals-v1.json +0 -9
- package/contracts/fixtures/v4-tail-reseal-v1/valid.json +1 -1
- package/contracts/v4-release-invocation-v1.schema.json +134 -0
- package/dist/site/buildchain-contract.json +9 -9
- package/dist/site/buildchain-site.json +7 -7
- package/dist/site/kfd-claims.json +24 -5
- package/dist/site/kfd-upstream-aggregate.json +1 -1
- package/dist/site/manual-registry.json +1 -1
- package/dist/site/node-api-registry.json +90 -15
- package/dist/site/page-registry.json +2 -2
- package/dist/site/public-surface-audit.json +34 -9
- package/dist/site/publication-authority-registry.json +2 -3
- package/dist/site/publication-registry.json +4 -4
- package/dist/site/site-manifest.json +5 -5
- package/dist/site/workflow-registry.json +36 -11
- package/docs/node-api-reference.md +16 -13
- package/package.json +2 -2
- package/packages/core/dev-delivery-candidate-identity.js +45 -17
- package/packages/core/dev-delivery-execution-transfer.js +6 -7
- package/packages/core/dev-delivery-provider-heartbeat.js +22 -6
- package/packages/core/dev-delivery-warrant-legacy-recovery.js +4 -2
- package/packages/core/dev-delivery-warrant-native-compatibility.js +33 -0
- package/packages/core/dev-delivery-warrant-state.js +54 -54
- package/packages/core/dev-delivery-warrant.js +8 -0
- package/packages/core/dev-delivery-writer-protocol-transition.js +72 -0
- package/packages/core/v4-canonical-contracts.js +10 -0
- package/packages/core/v4-floating-consumer-policy.js +4 -1
- package/packages/core/v4-protected-publication-source.js +93 -0
- package/packages/core/v4-publication-qualification.js +1 -0
- package/packages/core/v4-release-invocation.js +425 -0
- package/scripts/audit-publication-control-plane.mjs +0 -1
- package/scripts/check-inventory.mjs +27 -59
- package/scripts/check-maintainability.mjs +13 -5
- package/scripts/check-v3-v4-capability-inventory.mjs +3 -61
- package/scripts/check-v4-floating-consumer-policy-contract.mjs +10 -20
- package/scripts/check-v4-release-topology.mjs +383 -0
- package/scripts/dev-delivery-warrant.mjs +26 -5
- package/scripts/generate-channel-promotion-workflow.mjs +14 -55
- package/scripts/release-candidate-resolver.mjs +17 -17
- package/scripts/resume-from-candidate-run.mjs +15 -16
- package/scripts/v3-v4-capability-catalog.mjs +107 -0
- package/scripts/v4-declarative-promotion-admission.mjs +4 -1
- package/scripts/v4-release-candidate-adapter.mjs +41 -0
- package/scripts/capture-package-release-propagation.mjs +0 -263
- package/scripts/publication-commit-evidence.mjs +0 -444
- package/scripts/publish-github-artifact-attestation-evidence.mjs +0 -201
- package/scripts/stage-github-artifact-attestation-inputs.mjs +0 -65
|
@@ -26,12 +26,12 @@
|
|
|
26
26
|
},
|
|
27
27
|
"repositoryBudgets": {
|
|
28
28
|
"baselineRevision": "858dbe00b6206a8f356b4a12d2659bee7a72e71b",
|
|
29
|
-
"maxHandMaintainedSourceFiles":
|
|
30
|
-
"maxHandMaintainedSourceLines":
|
|
29
|
+
"maxHandMaintainedSourceFiles": 448,
|
|
30
|
+
"maxHandMaintainedSourceLines": 165760,
|
|
31
31
|
"maxWorkflowFiles": 77,
|
|
32
32
|
"maxWorkflowLines": 26791,
|
|
33
|
-
"latestTransition": "Legacy
|
|
34
|
-
"latestTransitionRationale": "One bounded
|
|
33
|
+
"latestTransition": "Legacy queued native candidates are quarantined from exact Warrant selection and heartbeat authority.",
|
|
34
|
+
"latestTransitionRationale": "One bounded compatibility seam preserves immutable legacy queued evidence while excluding incomplete native candidates from ranking. New submissions and every selected, proving, waiting, blocked, or qualified native candidate still require the exact environment and command contract; a valid resubmission can repair the queued record without rewriting history, and a current exact Warrant heartbeat remains independent from incompatible followers.",
|
|
35
35
|
"rationale": "Bounded modules separate candidate, evidence, native proof and execution, canonical failure verification, closed-set execution transfer, process-boundary verification, Warrant state and qualification, authority state, qualification, Landing acquisition, verified-attempt admission, Landing settlement and fence validation, provider attempt and heartbeat readback, sealed terminal evidence, hosted heartbeat, resume, store, options, command-specific adapters, and CLI orchestration responsibilities. The protected delivery workflow gives candidate and seal jobs no provider write credential, recursively rejects transfer drift, scopes every transfer artifact to the exact provider run attempt, chains every durable heartbeat state and receipt root on a distinct hosted runner domain, and permits qualification or exact failure settlement only after the finalizer verifies live jobs and the latest durable authority state. Public Landing admission and heartbeat always perform non-injectable fresh exact-attempt provider readback, tolerate only a not-yet-materialized seal job while retaining exact native and duplicate-job rejection, and heartbeat-loss coordination never invokes GitHub's run-scoped cancellation API where a successor rerun could race. The hosted process boundary anchors trust in the kernel-resolved versioned Runner.Worker path while accepting an equivalent argv-zero spelling with the same basename; its public boundary marker is allowed only at the one exact non-secret value, so a forged value under the same credential-like name still fails closed. The credentialless transfer seal validates the rooted native reuse decision against the Warrant-bound source, closure, dependency, toolchain, environment and command inputs; qualifiedBase stays in the proof and decision where it is rooted and later independently rechecked, rather than being assumed on the Warrant schema. V2 mutation cannot initialize a second empty authority beside a legacy ref: migration reads and roots the canonical live v1 ref, rechecks it, applies the explicit configured v2 policy, and atomically replaces its bytes through one expected-old non-force update, so old v1 controllers fail closed while the prior commit remains immutable history. Candidate ancestry classifies the GitHub artifact runtime token as credential authority. Every Landing settlement, including an unexpired fence, requires product-owned terminal readback. Terminal cleanup reads the immutable historical attempt, derives workflow and hosted Landing job identity from live run data, reads the exact protected ref head and compares containment against that immutable SHA, and seals merged only when the admitted merge-group head is contained by that protected base; a later different-head merge settles the old attempt as dequeued. Terminal normalization preserves transfer, finalizer boundary, native and seal job, admitted provider attempt, protected-base head, containment result, and terminal readback coordinates. The public reusable workflow truthfully retains its single-flight v1 authority without advertising v2 migration, while bounded v2 remains a separate opt-in CLI, Node API, and schema contract; the tracked self-caller stays on public v4-alpha with matching stable and alpha locks, and transient train selection is dispatch-only. Next-development parity adds one versioned transition authority, one durable controller, one bounded reservation adapter, and pure public-contract recovery evidence while retaining the existing thin floating-channel callers byte-for-byte. The floating-consumer gate reuses the existing contract-world evaluator so SHA drift passes only under the selected lock's compatibility policy, breaking surface drift still fails closed, and external certification reconstructs the receipt from the observed workflow SHA rather than the lock's historical evidence SHA. Tail reseal adds no Stage Capsule effect or general rebuild authority: it verifies the exact retained four-platform bytes, admits one known macOS tail failure through live provider readback, fences signing and finalization to explicit credentials and Warrant identity, and requires standard candidate Passport plus provider and protected readback. Compatibility Facts parity isolates canonical encoding, temporal verification, lifecycle validation, fixture projection, public authority projection, and CLI adaptation into bounded modules; legacy digest and proof arrays are derived only from exact current Fact lineage. Publication Rehearsal adds no production release authority: the content-addressed capsule contract binds source, candidate, manifest, config, canonical data-only provider bindings, provider policy, observations and core version separately from filesystem, runtime and rehearsal-only provider authority; simulate, replay and explicitly authorized provider rehearsal all reuse the release-tail planner, while same-commit local dogfood resolves the new reusable contract and exact current runtime before external callers remain on floating v4-alpha. Cross-runtime candidate recovery preserves original runtime and provider roots and creates resume lineage only after exact public ref, tag, ancestry, npm version and integrity readback. Adopter Delivery restores the reviewed public v3 gate, drivers, Passport binding, N-1 bootstrap and exact archive loader through one public v4 surface while keeping provider and release authority explicit non-claims. Floating Alpha bootstrap uses only the existing exact resolver and protected Alpha private shell to move an otherwise stale floating shell, retains public v4 stable promotion, and removes itself after protected readback. CI lane change-budget enforcement adds a bounded parser, evaluator, guard, and tests without creating another merge authority.",
|
|
36
36
|
"governance": "legacy-debt-sunset-2026q4"
|
|
37
37
|
},
|
|
@@ -212,8 +212,8 @@
|
|
|
212
212
|
"scripts/release-candidate-resolver.mjs": {
|
|
213
213
|
"maxLines": 854,
|
|
214
214
|
"maxFunctionLines": 309,
|
|
215
|
-
"maxFunctionComplexity":
|
|
216
|
-
"rationale": "The shared candidate resolver retains bounded archive streaming, payload size and sha256 validation while
|
|
215
|
+
"maxFunctionComplexity": 61,
|
|
216
|
+
"rationale": "The shared candidate resolver retains bounded archive streaming, payload size and sha256 validation while locating and validating candidate-bound Stage Capsule and publication qualification evidence. Exact publication version selection now prefers the sealed npm bundle without widening the orchestration function, and these lower exact ceilings cannot grow implicitly.",
|
|
217
217
|
"governance": "legacy-debt-sunset-2026q4"
|
|
218
218
|
},
|
|
219
219
|
"scripts/auditable-demo.mjs": {
|
|
@@ -1204,7 +1204,6 @@
|
|
|
1204
1204
|
"reusable": true,
|
|
1205
1205
|
"inputs": [
|
|
1206
1206
|
"admission-json",
|
|
1207
|
-
"authority-job-id",
|
|
1208
1207
|
"authority-workflow-path",
|
|
1209
1208
|
"auto-admission",
|
|
1210
1209
|
"auto-admission-kind",
|
|
@@ -1254,7 +1253,7 @@
|
|
|
1254
1253
|
"gate-aggregate-json"
|
|
1255
1254
|
]
|
|
1256
1255
|
},
|
|
1257
|
-
"rationale": "The sealed read-only authority preserves the dedicated auditor App while adding an isolated governance-read token mapped from the existing caller credential only at the authority boundary. It independently checks out the immutable publication subject and controller, verifies both SHAs and the subject tree, and binds controller repository, SHA, command digest
|
|
1256
|
+
"rationale": "The sealed read-only authority preserves the dedicated auditor App while adding an isolated governance-read token mapped from the existing caller credential only at the authority boundary. It independently checks out the immutable publication subject and controller, verifies both SHAs and the subject tree, and binds controller repository, SHA, and command digest into the qualifying aggregate without granting new provider write permission.",
|
|
1258
1257
|
"governance": "legacy-debt-sunset-2026q4"
|
|
1259
1258
|
},
|
|
1260
1259
|
"workflow:.release-candidate-promote": {
|
|
@@ -1421,12 +1420,15 @@
|
|
|
1421
1420
|
"release-candidate-artifact",
|
|
1422
1421
|
"release-candidate-recovery-receipt-artifact",
|
|
1423
1422
|
"release-candidate-recovery-root",
|
|
1423
|
+
"release-invocation-root",
|
|
1424
1424
|
"release-propagation-work-artifact",
|
|
1425
|
+
"release-receipt-root",
|
|
1425
1426
|
"release-tail-declaration-root",
|
|
1426
1427
|
"release-tail-receipt-roots-json",
|
|
1427
1428
|
"release-tail-state-root",
|
|
1428
1429
|
"release-tail-transaction-root",
|
|
1429
|
-
"release-tail-transaction-state"
|
|
1430
|
+
"release-tail-transaction-state",
|
|
1431
|
+
"release-transaction-root"
|
|
1430
1432
|
]
|
|
1431
1433
|
},
|
|
1432
1434
|
"rationale": "The advanced workflow preserves exact contract-lock, channel, trusted transient runtime, candidate, target tree, policy, scanner, provider and fresh-attempt bindings while adding an isolated v4-only declarative provider lane and optional dogfood failure checkpoint. V4 admits only sealed candidate, Stage Capsule and qualification evidence; legacy command inputs fail closed before planning and the provider resumes only incomplete capabilities.",
|
|
@@ -1593,12 +1595,15 @@
|
|
|
1593
1595
|
"release-candidate-artifact",
|
|
1594
1596
|
"release-candidate-recovery-receipt-artifact",
|
|
1595
1597
|
"release-candidate-recovery-root",
|
|
1598
|
+
"release-invocation-root",
|
|
1596
1599
|
"release-propagation-work-artifact",
|
|
1600
|
+
"release-receipt-root",
|
|
1597
1601
|
"release-tail-declaration-root",
|
|
1598
1602
|
"release-tail-receipt-roots-json",
|
|
1599
1603
|
"release-tail-state-root",
|
|
1600
1604
|
"release-tail-transaction-root",
|
|
1601
|
-
"release-tail-transaction-state"
|
|
1605
|
+
"release-tail-transaction-state",
|
|
1606
|
+
"release-transaction-root"
|
|
1602
1607
|
]
|
|
1603
1608
|
},
|
|
1604
1609
|
"rationale": "The generated v4 promotion router preserves the opt-in declarative release-tail contract, exact contract-lock routing, and optional verified runtime-resume attachment while forwarding one optional dogfood provider checkpoint into the v4-only declarative lane. Existing v3 callers retain the same defaults, public inputs and legacy implementation, while v4 rejects command-shaped tail authority before planning.",
|
|
@@ -234,7 +234,7 @@
|
|
|
234
234
|
},
|
|
235
235
|
{
|
|
236
236
|
"path": ".github/workflows/.release-candidate-promote.yml",
|
|
237
|
-
"marker": "
|
|
237
|
+
"marker": "name: Translate and admit legacy-compatible inputs"
|
|
238
238
|
}
|
|
239
239
|
],
|
|
240
240
|
"currentCallers": ["kungfu-alpha-promotion"],
|
|
@@ -339,7 +339,7 @@
|
|
|
339
339
|
"executionSites": [
|
|
340
340
|
{
|
|
341
341
|
"path": ".github/workflows/.release-candidate-promote.yml",
|
|
342
|
-
"marker": "
|
|
342
|
+
"marker": "name: Translate and admit legacy-compatible inputs"
|
|
343
343
|
}
|
|
344
344
|
],
|
|
345
345
|
"currentCallers": ["kungfu-alpha-promotion"],
|
|
@@ -360,7 +360,7 @@
|
|
|
360
360
|
"executionSites": [
|
|
361
361
|
{
|
|
362
362
|
"path": ".github/workflows/.release-candidate-promote.yml",
|
|
363
|
-
"marker": "
|
|
363
|
+
"marker": "name: Translate and admit legacy-compatible inputs"
|
|
364
364
|
}
|
|
365
365
|
],
|
|
366
366
|
"currentCallers": ["kungfu-alpha-promotion"],
|
|
@@ -387,7 +387,7 @@
|
|
|
387
387
|
"executionSites": [
|
|
388
388
|
{
|
|
389
389
|
"path": ".github/workflows/.release-candidate-promote.yml",
|
|
390
|
-
"marker": "
|
|
390
|
+
"marker": "name: Translate and admit legacy-compatible inputs"
|
|
391
391
|
}
|
|
392
392
|
],
|
|
393
393
|
"currentCallers": ["kungfu-alpha-promotion"],
|
|
@@ -294,6 +294,7 @@
|
|
|
294
294
|
"packages/core/dev-delivery-proof.js",
|
|
295
295
|
"packages/core/dev-delivery-warrant-cancellation.js",
|
|
296
296
|
"packages/core/dev-delivery-warrant-legacy-recovery.js",
|
|
297
|
+
"packages/core/dev-delivery-warrant-native-compatibility.js",
|
|
297
298
|
"packages/core/dev-delivery-warrant-qualification.js",
|
|
298
299
|
"packages/core/dev-delivery-warrant-settlement.js",
|
|
299
300
|
"packages/core/dev-delivery-warrant-state.js",
|
|
@@ -16518,7 +16518,7 @@
|
|
|
16518
16518
|
"evidence": {
|
|
16519
16519
|
"path": ".buildchain/release-impact.json",
|
|
16520
16520
|
"selector": "$",
|
|
16521
|
-
"valueRoot": "sha256:
|
|
16521
|
+
"valueRoot": "sha256:8411804d1efba911b09a0e83494c68affe7cfede5bc5134f12cbede12be1f655"
|
|
16522
16522
|
}
|
|
16523
16523
|
}
|
|
16524
16524
|
},
|
|
@@ -17266,7 +17266,7 @@
|
|
|
17266
17266
|
"evidence": {
|
|
17267
17267
|
"path": "dist/site/node-api-registry.json",
|
|
17268
17268
|
"selector": "exports[export=\"./github-governance-authority\"]",
|
|
17269
|
-
"valueRoot": "sha256:
|
|
17269
|
+
"valueRoot": "sha256:c840ddeacf5eb8da14aee3e6879f0827aa965aa0187aecc36ca776d07bb6cdab"
|
|
17270
17270
|
}
|
|
17271
17271
|
}
|
|
17272
17272
|
},
|
|
@@ -17596,7 +17596,7 @@
|
|
|
17596
17596
|
"evidence": {
|
|
17597
17597
|
"path": "dist/site/node-api-registry.json",
|
|
17598
17598
|
"selector": "exports[export=\"./paper\"]",
|
|
17599
|
-
"valueRoot": "sha256:
|
|
17599
|
+
"valueRoot": "sha256:e86f76742a70d77039c39d9fb106de20c99458ccc07b65fc674328d2a952f819"
|
|
17600
17600
|
}
|
|
17601
17601
|
}
|
|
17602
17602
|
},
|
|
@@ -17706,7 +17706,7 @@
|
|
|
17706
17706
|
"evidence": {
|
|
17707
17707
|
"path": "dist/site/node-api-registry.json",
|
|
17708
17708
|
"selector": "exports[export=\"./publication-control-plane-audit\"]",
|
|
17709
|
-
"valueRoot": "sha256:
|
|
17709
|
+
"valueRoot": "sha256:1bb25a02f8d3ef0148c3e2a4ad9b6a94a841adc1ff1daf94f98d5e34c195fd56"
|
|
17710
17710
|
}
|
|
17711
17711
|
}
|
|
17712
17712
|
},
|
|
@@ -17926,7 +17926,7 @@
|
|
|
17926
17926
|
"evidence": {
|
|
17927
17927
|
"path": "dist/site/node-api-registry.json",
|
|
17928
17928
|
"selector": "exports[export=\"./release-candidate-recovery\"]",
|
|
17929
|
-
"valueRoot": "sha256:
|
|
17929
|
+
"valueRoot": "sha256:131e9c0f108a311b8246d8dfc55ff9d347cb9255162452f392874d6b01acf203"
|
|
17930
17930
|
}
|
|
17931
17931
|
}
|
|
17932
17932
|
},
|
|
@@ -17970,7 +17970,7 @@
|
|
|
17970
17970
|
"evidence": {
|
|
17971
17971
|
"path": "dist/site/node-api-registry.json",
|
|
17972
17972
|
"selector": "exports[export=\"./release-passport\"]",
|
|
17973
|
-
"valueRoot": "sha256:
|
|
17973
|
+
"valueRoot": "sha256:6a7403eb6020c6af989a721021aa6b9715df7db70c9f5da89f2b689c3ba767ae"
|
|
17974
17974
|
}
|
|
17975
17975
|
}
|
|
17976
17976
|
},
|
|
@@ -18168,7 +18168,7 @@
|
|
|
18168
18168
|
"evidence": {
|
|
18169
18169
|
"path": "dist/site/buildchain-contract.json",
|
|
18170
18170
|
"selector": "$",
|
|
18171
|
-
"valueRoot": "sha256:
|
|
18171
|
+
"valueRoot": "sha256:5373a6b746a389305d55d58d93b9aebf1ca61e2b13e32aab309e98f41a89b13c"
|
|
18172
18172
|
}
|
|
18173
18173
|
}
|
|
18174
18174
|
},
|
|
@@ -18256,7 +18256,7 @@
|
|
|
18256
18256
|
"evidence": {
|
|
18257
18257
|
"path": "dist/site/kfd-claims.json",
|
|
18258
18258
|
"selector": "$",
|
|
18259
|
-
"valueRoot": "sha256:
|
|
18259
|
+
"valueRoot": "sha256:94d546cec054e24f53841af5a46808cd452d0005f5bfcf8f7d370711ae446f0b"
|
|
18260
18260
|
}
|
|
18261
18261
|
}
|
|
18262
18262
|
},
|
|
@@ -18278,7 +18278,7 @@
|
|
|
18278
18278
|
"evidence": {
|
|
18279
18279
|
"path": "dist/site/manual-registry.json",
|
|
18280
18280
|
"selector": "$",
|
|
18281
|
-
"valueRoot": "sha256:
|
|
18281
|
+
"valueRoot": "sha256:b446b41f1342623ad5189850985553a9044dd14f3c4a24aa44cfc54db95ce876"
|
|
18282
18282
|
}
|
|
18283
18283
|
}
|
|
18284
18284
|
},
|
|
@@ -18300,7 +18300,7 @@
|
|
|
18300
18300
|
"evidence": {
|
|
18301
18301
|
"path": "dist/site/node-api-registry.json",
|
|
18302
18302
|
"selector": "$",
|
|
18303
|
-
"valueRoot": "sha256:
|
|
18303
|
+
"valueRoot": "sha256:9b173aa7390cc94d24b9a2b5711a367b15771b73773cd8f0a78f5c71ed054701"
|
|
18304
18304
|
}
|
|
18305
18305
|
}
|
|
18306
18306
|
},
|
|
@@ -18322,7 +18322,7 @@
|
|
|
18322
18322
|
"evidence": {
|
|
18323
18323
|
"path": "dist/site/page-registry.json",
|
|
18324
18324
|
"selector": "$",
|
|
18325
|
-
"valueRoot": "sha256:
|
|
18325
|
+
"valueRoot": "sha256:e01f49540ad858f2289ed212bdae9dab01be495f6c57d7d14ab07d3639201d3f"
|
|
18326
18326
|
}
|
|
18327
18327
|
}
|
|
18328
18328
|
},
|
|
@@ -18344,7 +18344,7 @@
|
|
|
18344
18344
|
"evidence": {
|
|
18345
18345
|
"path": "dist/site/public-surface-audit.json",
|
|
18346
18346
|
"selector": "$",
|
|
18347
|
-
"valueRoot": "sha256:
|
|
18347
|
+
"valueRoot": "sha256:dfdf7e6d38ea9b2cfec280831472ba61a825b88578437bc3b4965b61c656e0b1"
|
|
18348
18348
|
}
|
|
18349
18349
|
}
|
|
18350
18350
|
},
|
|
@@ -18564,7 +18564,7 @@
|
|
|
18564
18564
|
"evidence": {
|
|
18565
18565
|
"path": "dist/site/site-manifest.json",
|
|
18566
18566
|
"selector": "$",
|
|
18567
|
-
"valueRoot": "sha256:
|
|
18567
|
+
"valueRoot": "sha256:52413ce389353ea7fd83598a6f5c2ebbb5a88f163cff60ec4227324384d96fd8"
|
|
18568
18568
|
}
|
|
18569
18569
|
}
|
|
18570
18570
|
},
|
|
@@ -18586,7 +18586,7 @@
|
|
|
18586
18586
|
"evidence": {
|
|
18587
18587
|
"path": "dist/site/workflow-registry.json",
|
|
18588
18588
|
"selector": "$",
|
|
18589
|
-
"valueRoot": "sha256:
|
|
18589
|
+
"valueRoot": "sha256:590efe0d07ae20987f36056835f21e2a17fe40c242eb55032776b9bc4c0c7735"
|
|
18590
18590
|
}
|
|
18591
18591
|
}
|
|
18592
18592
|
},
|
|
@@ -68879,7 +68879,7 @@
|
|
|
68879
68879
|
"evidence": {
|
|
68880
68880
|
"path": "architecture/v4-runtime-semantic-closure.json",
|
|
68881
68881
|
"selector": "capability[id=\"publish-transaction\"]",
|
|
68882
|
-
"valueRoot": "sha256:
|
|
68882
|
+
"valueRoot": "sha256:4e24bcc1f070542ed22f3892d6f75f0d437e3242bfdee770c08788eca4407900"
|
|
68883
68883
|
}
|
|
68884
68884
|
}
|
|
68885
68885
|
},
|
|
@@ -102360,9 +102360,9 @@
|
|
|
102360
102360
|
},
|
|
102361
102361
|
"liveV4": {
|
|
102362
102362
|
"branch": "origin/dev/v4/v4.0",
|
|
102363
|
-
"commit": "
|
|
102363
|
+
"commit": "97edd5b93eb67e5bf36ad55726e08231b47b70c0",
|
|
102364
102364
|
"role": "execution-time-protected-target",
|
|
102365
|
-
"tree": "
|
|
102365
|
+
"tree": "05b14410fd3350bc6a621fe2c1bef575fef9b5fd"
|
|
102366
102366
|
},
|
|
102367
102367
|
"priorFamilyV3": {
|
|
102368
102368
|
"branch": "origin/dev/v3/v3.0",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"now": "2026-08-07T00:02:00Z"
|
|
67
67
|
}
|
|
68
68
|
],
|
|
69
|
-
"expectedLegacyProjectionRoot": "sha256:
|
|
69
|
+
"expectedLegacyProjectionRoot": "sha256:eb860ad33e3abb6a93c0635b0f06b4f433bc9b76deaa8e7b648e0ef2e296679b"
|
|
70
70
|
},
|
|
71
71
|
{
|
|
72
72
|
"id": "lease-expiry-and-stale-fence",
|
|
@@ -134,7 +134,7 @@
|
|
|
134
134
|
"now": "2026-08-07T01:02:03Z"
|
|
135
135
|
}
|
|
136
136
|
],
|
|
137
|
-
"expectedLegacyProjectionRoot": "sha256:
|
|
137
|
+
"expectedLegacyProjectionRoot": "sha256:3f734b04ac8baaf84a95d9f8746db5fd41dbfd73f147de2f884c09e373157aa9"
|
|
138
138
|
},
|
|
139
139
|
{
|
|
140
140
|
"id": "settlement-idempotence",
|
|
@@ -183,7 +183,7 @@
|
|
|
183
183
|
"now": "2026-08-07T02:02:00Z"
|
|
184
184
|
}
|
|
185
185
|
],
|
|
186
|
-
"expectedLegacyProjectionRoot": "sha256:
|
|
186
|
+
"expectedLegacyProjectionRoot": "sha256:b71de84b0483fcce3f0ba1f45ac20dead3227fc24a62769192eb16abca7f3a2f"
|
|
187
187
|
},
|
|
188
188
|
{
|
|
189
189
|
"id": "queued-cancellation-idempotence",
|
|
@@ -218,7 +218,7 @@
|
|
|
218
218
|
"now": "2026-08-07T03:00:03Z"
|
|
219
219
|
}
|
|
220
220
|
],
|
|
221
|
-
"expectedLegacyProjectionRoot": "sha256:
|
|
221
|
+
"expectedLegacyProjectionRoot": "sha256:a9ce9cad968234febd2ef74c2e6fab77f45899bc5dd74ee7128cadd02a997b8c"
|
|
222
222
|
},
|
|
223
223
|
{
|
|
224
224
|
"id": "cas-response-loss-provider-conflict",
|
|
@@ -253,7 +253,7 @@
|
|
|
253
253
|
},
|
|
254
254
|
{ "id": "provider-stop", "operation": "provider-conflict" }
|
|
255
255
|
],
|
|
256
|
-
"expectedLegacyProjectionRoot": "sha256:
|
|
256
|
+
"expectedLegacyProjectionRoot": "sha256:be002515ae6304c3cd325ee4bb6d07e6229922d620389285474325eb20aa27e9"
|
|
257
257
|
}
|
|
258
258
|
]
|
|
259
259
|
}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"contract": "kungfu-buildchain-v4-release-invocation-fixtures/v1",
|
|
4
|
+
"invocations": {
|
|
5
|
+
"alpha": {
|
|
6
|
+
"schema": "kungfu-buildchain-v4-release-invocation/v1",
|
|
7
|
+
"publisher": {
|
|
8
|
+
"repository": "kungfu-systems/buildchain",
|
|
9
|
+
"workflow": ".github/workflows/.release-candidate-promote.yml",
|
|
10
|
+
"workflowSha": "30cbbc46870871a0eacbe952935ea753e473ff25",
|
|
11
|
+
"job": "apply"
|
|
12
|
+
},
|
|
13
|
+
"runtime": {
|
|
14
|
+
"repository": "kungfu-systems/buildchain",
|
|
15
|
+
"commit": "30cbbc46870871a0eacbe952935ea753e473ff25",
|
|
16
|
+
"tree": "b86fea30cb92a32215206f159708a8ea1d10d462"
|
|
17
|
+
},
|
|
18
|
+
"candidate": {
|
|
19
|
+
"repository": "kungfu-systems/kungfu",
|
|
20
|
+
"commit": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
21
|
+
"tree": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
|
|
22
|
+
"version": "4.0.0-alpha.9"
|
|
23
|
+
},
|
|
24
|
+
"target": {
|
|
25
|
+
"channel": "alpha",
|
|
26
|
+
"tag": "v4.0.0-alpha.9",
|
|
27
|
+
"expectedOldSha": "cccccccccccccccccccccccccccccccccccccccc"
|
|
28
|
+
},
|
|
29
|
+
"authority": {
|
|
30
|
+
"policyRoot": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd",
|
|
31
|
+
"qualificationRoot": "sha256:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
|
|
32
|
+
"warrantRoot": "sha256:ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
|
|
33
|
+
},
|
|
34
|
+
"provider": {
|
|
35
|
+
"adapter": "built-in-provider-plane",
|
|
36
|
+
"contract": "kungfu-buildchain-release-tail-provider/v1",
|
|
37
|
+
"repository": "kungfu-systems/kungfu"
|
|
38
|
+
},
|
|
39
|
+
"parent": {
|
|
40
|
+
"invocationRoot": null,
|
|
41
|
+
"transactionRoot": null,
|
|
42
|
+
"receiptRoot": null
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"stable": {
|
|
46
|
+
"schema": "kungfu-buildchain-v4-release-invocation/v1",
|
|
47
|
+
"publisher": {
|
|
48
|
+
"repository": "kungfu-systems/buildchain",
|
|
49
|
+
"workflow": ".github/workflows/.release-candidate-promote.yml",
|
|
50
|
+
"workflowSha": "30cbbc46870871a0eacbe952935ea753e473ff25",
|
|
51
|
+
"job": "apply"
|
|
52
|
+
},
|
|
53
|
+
"runtime": {
|
|
54
|
+
"repository": "kungfu-systems/buildchain",
|
|
55
|
+
"commit": "30cbbc46870871a0eacbe952935ea753e473ff25",
|
|
56
|
+
"tree": "b86fea30cb92a32215206f159708a8ea1d10d462"
|
|
57
|
+
},
|
|
58
|
+
"candidate": {
|
|
59
|
+
"repository": "kungfu-systems/kungfu",
|
|
60
|
+
"commit": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
61
|
+
"tree": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
|
|
62
|
+
"version": "4.0.0"
|
|
63
|
+
},
|
|
64
|
+
"target": {
|
|
65
|
+
"channel": "stable",
|
|
66
|
+
"tag": "v4.0.0",
|
|
67
|
+
"expectedOldSha": "cccccccccccccccccccccccccccccccccccccccc"
|
|
68
|
+
},
|
|
69
|
+
"authority": {
|
|
70
|
+
"policyRoot": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd",
|
|
71
|
+
"qualificationRoot": "sha256:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
|
|
72
|
+
"warrantRoot": "sha256:ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
|
|
73
|
+
},
|
|
74
|
+
"provider": {
|
|
75
|
+
"adapter": "built-in-provider-plane",
|
|
76
|
+
"contract": "kungfu-buildchain-release-tail-provider/v1",
|
|
77
|
+
"repository": "kungfu-systems/kungfu"
|
|
78
|
+
},
|
|
79
|
+
"parent": {
|
|
80
|
+
"invocationRoot": null,
|
|
81
|
+
"transactionRoot": null,
|
|
82
|
+
"receiptRoot": null
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
"cases": [
|
|
87
|
+
{
|
|
88
|
+
"id": "alpha-fresh",
|
|
89
|
+
"invocation": "alpha",
|
|
90
|
+
"route": { "surface": "alpha", "execution": "fresh" }
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"id": "alpha-resume",
|
|
94
|
+
"invocation": "alpha",
|
|
95
|
+
"route": { "surface": "alpha", "execution": "resume" }
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"id": "public-alpha",
|
|
99
|
+
"invocation": "alpha",
|
|
100
|
+
"route": { "surface": "public", "execution": "fresh" }
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"id": "private-alpha",
|
|
104
|
+
"invocation": "alpha",
|
|
105
|
+
"route": { "surface": "private", "execution": "resume" }
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"id": "declarative-alpha",
|
|
109
|
+
"invocation": "alpha",
|
|
110
|
+
"route": { "surface": "declarative", "execution": "fresh" }
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"id": "legacy-alpha",
|
|
114
|
+
"invocation": "alpha",
|
|
115
|
+
"route": { "surface": "legacy-compatible", "execution": "resume" }
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"id": "stable-fresh",
|
|
119
|
+
"invocation": "stable",
|
|
120
|
+
"route": { "surface": "stable", "execution": "fresh" }
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"id": "stable-resume",
|
|
124
|
+
"invocation": "stable",
|
|
125
|
+
"route": { "surface": "stable", "execution": "resume" }
|
|
126
|
+
}
|
|
127
|
+
],
|
|
128
|
+
"equivalenceGroups": [
|
|
129
|
+
[
|
|
130
|
+
"alpha-fresh",
|
|
131
|
+
"alpha-resume",
|
|
132
|
+
"public-alpha",
|
|
133
|
+
"private-alpha",
|
|
134
|
+
"declarative-alpha",
|
|
135
|
+
"legacy-alpha"
|
|
136
|
+
],
|
|
137
|
+
["stable-fresh", "stable-resume"]
|
|
138
|
+
]
|
|
139
|
+
}
|