@kungfu-tech/buildchain 4.0.1-alpha.23 → 4.0.1-alpha.25
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/dist/site/buildchain-contract.json +4 -4
- package/dist/site/buildchain-site.json +4 -4
- package/dist/site/kfd-claims.json +2 -2
- package/dist/site/kfd-upstream-aggregate.json +1 -1
- package/dist/site/public-surface-audit.json +1 -1
- package/dist/site/publication-registry.json +4 -4
- package/dist/site/site-manifest.json +4 -4
- package/dist/site/workflow-registry.json +4 -4
- package/package.json +1 -1
- package/packages/core/v4-floating-consumer-release-passport.js +13 -14
- package/scripts/artifact-signing-controller-core.mjs +1 -1
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"product": {
|
|
5
5
|
"name": "Buildchain",
|
|
6
6
|
"package": "@kungfu-tech/buildchain",
|
|
7
|
-
"version": "4.0.1-alpha.
|
|
7
|
+
"version": "4.0.1-alpha.25",
|
|
8
8
|
"repository": "https://github.com/kungfu-systems/buildchain"
|
|
9
9
|
},
|
|
10
10
|
"majorLine": "v4",
|
|
@@ -1361,7 +1361,7 @@
|
|
|
1361
1361
|
"retryable GitHub fallback fetches use a bounded attempt budget before exact source SHA and tree verification"
|
|
1362
1362
|
],
|
|
1363
1363
|
"breakingDigest": "sha256:dfbedd543ae0c067982b5c8c02d98dd2f7f7df88752be97fb330da6b0ba30faa",
|
|
1364
|
-
"auditDigest": "sha256:
|
|
1364
|
+
"auditDigest": "sha256:a47ff1abbe625befbf2f7558b8fb0bed6ab1e474156df81ce9f4b3746a8986f0",
|
|
1365
1365
|
"compatibleBreakingDigests": [
|
|
1366
1366
|
"sha256:a6a35370d6b0d0f46e1b2712dcc01961fe53c2febde95409a27a485c10a36650"
|
|
1367
1367
|
],
|
|
@@ -2908,7 +2908,7 @@
|
|
|
2908
2908
|
"missing receipts are non-qualifying and must not be represented as a successful controller run"
|
|
2909
2909
|
],
|
|
2910
2910
|
"breakingDigest": "sha256:6b8d38e92b2c67b5bc83fae0a3fd95bfa47582fbc176e6cdeebe7630a57534cb",
|
|
2911
|
-
"auditDigest": "sha256:
|
|
2911
|
+
"auditDigest": "sha256:a47ff1abbe625befbf2f7558b8fb0bed6ab1e474156df81ce9f4b3746a8986f0",
|
|
2912
2912
|
"compatibleBreakingDigests": [
|
|
2913
2913
|
"sha256:30745921541e9b0f70475bb2178c2559f6aef248f6680670ccd44d8c5a69a6b1",
|
|
2914
2914
|
"sha256:e264a79f9f399038c2fcfd21e4168c68c2e1485ee5c651c02242a02b622ac2be"
|
|
@@ -5308,5 +5308,5 @@
|
|
|
5308
5308
|
"compatibilityFactCutRoot": "sha256:f61b975d4a96c921cc4bd37fb3ed9a0596b47004fe34dc7219979d697e3707f9",
|
|
5309
5309
|
"compatibilityProofRegistryRoot": "sha256:b7194b811e4d3af2df4390bc4d1731e16a86215bd64ee18cb630dd5492f4fb63",
|
|
5310
5310
|
"compatibilityDigest": "sha256:5de1c69386510b74b17eb70141b8bdd07063d62c504f91db5e84b67c6d4b64a2",
|
|
5311
|
-
"contractDigest": "sha256:
|
|
5311
|
+
"contractDigest": "sha256:6814ef89c310377a349fd8d1c99aca48430cd7e8d516cf2228dffaf2f0f414be"
|
|
5312
5312
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"contract": "kungfu-buildchain-site-bundle",
|
|
4
|
-
"generatedAt": "2026-08-
|
|
5
|
-
"publishedAt": "2026-08-
|
|
4
|
+
"generatedAt": "2026-08-23T09:59:28.512Z",
|
|
5
|
+
"publishedAt": "2026-08-23T09:59:28.512Z",
|
|
6
6
|
"reproducible": true,
|
|
7
7
|
"timestampPolicy": "ci-injected",
|
|
8
8
|
"deterministicInputs": [
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"declared Buildchain surface manifest contract"
|
|
20
20
|
],
|
|
21
21
|
"sourceDateEpoch": "0",
|
|
22
|
-
"sourceRevision": "
|
|
22
|
+
"sourceRevision": "4eabb9490c224931c539873a7a1cfa871c19b0a4",
|
|
23
23
|
"timestampPolicyDetails": {
|
|
24
24
|
"contract": "kungfu-buildchain-surface-timestamp-policy",
|
|
25
25
|
"timestampFields": [
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
},
|
|
38
38
|
"package": {
|
|
39
39
|
"name": "@kungfu-tech/buildchain",
|
|
40
|
-
"version": "4.0.1-alpha.
|
|
40
|
+
"version": "4.0.1-alpha.25",
|
|
41
41
|
"versionSource": "package.json#version"
|
|
42
42
|
},
|
|
43
43
|
"source": {
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"contract": "kungfu-buildchain-public-surface-reverse-audit",
|
|
22
22
|
"path": "dist/site/public-surface-audit.json",
|
|
23
23
|
"status": "passed",
|
|
24
|
-
"sha256": "
|
|
24
|
+
"sha256": "a6c4772940868cd1c9cd60c47ec95025cd6de52c82ea0c348336742e7bb1c67b",
|
|
25
25
|
"summary": {
|
|
26
26
|
"cliCommandCount": 117,
|
|
27
27
|
"workflowCount": 76,
|
|
@@ -246,7 +246,7 @@
|
|
|
246
246
|
"contract": "kungfu-buildchain-public-surface-reverse-audit",
|
|
247
247
|
"path": "dist/site/public-surface-audit.json",
|
|
248
248
|
"status": "passed",
|
|
249
|
-
"sha256": "
|
|
249
|
+
"sha256": "a6c4772940868cd1c9cd60c47ec95025cd6de52c82ea0c348336742e7bb1c67b",
|
|
250
250
|
"summary": {
|
|
251
251
|
"cliCommandCount": 117,
|
|
252
252
|
"workflowCount": 76,
|
|
@@ -8846,7 +8846,7 @@
|
|
|
8846
8846
|
"workflowRegistryPath": "dist/site/workflow-registry.json",
|
|
8847
8847
|
"pageRegistryPath": "dist/site/page-registry.json",
|
|
8848
8848
|
"cliRegistryDigest": "ea47a31ce7ef3577f23e22055ab7be7715c3af494bcef63f76b426f2883086aa",
|
|
8849
|
-
"workflowRegistryDigest": "
|
|
8849
|
+
"workflowRegistryDigest": "df99098875d2ff1758cf351440a4736f398e0cc4bed6c11ba36c6abba9dde707",
|
|
8850
8850
|
"pageRegistryDigest": "9d9d0590c8d3110fc5a95978852ee25337567f93980b2562cc1159f0d5219ade"
|
|
8851
8851
|
},
|
|
8852
8852
|
"comparison": {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"contract": "kungfu-buildchain-publication-release-registry",
|
|
4
|
-
"generatedAt": "2026-08-
|
|
5
|
-
"publishedAt": "2026-08-
|
|
4
|
+
"generatedAt": "2026-08-23T09:59:28.512Z",
|
|
5
|
+
"publishedAt": "2026-08-23T09:59:28.512Z",
|
|
6
6
|
"reproducible": true,
|
|
7
7
|
"timestampPolicy": "ci-injected",
|
|
8
8
|
"deterministicInputs": [
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"declared Buildchain surface manifest contract"
|
|
20
20
|
],
|
|
21
21
|
"sourceDateEpoch": "0",
|
|
22
|
-
"sourceRevision": "
|
|
22
|
+
"sourceRevision": "4eabb9490c224931c539873a7a1cfa871c19b0a4",
|
|
23
23
|
"timestampPolicyDetails": {
|
|
24
24
|
"contract": "kungfu-buildchain-surface-timestamp-policy",
|
|
25
25
|
"timestampFields": [
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
},
|
|
33
33
|
"package": {
|
|
34
34
|
"name": "@kungfu-tech/buildchain",
|
|
35
|
-
"version": "4.0.1-alpha.
|
|
35
|
+
"version": "4.0.1-alpha.25",
|
|
36
36
|
"versionSource": "package.json#version"
|
|
37
37
|
},
|
|
38
38
|
"sourceKind": "package-site-bundle",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"contract": "kungfu-buildchain-site-manifest",
|
|
4
|
-
"generatedAt": "2026-08-
|
|
5
|
-
"publishedAt": "2026-08-
|
|
4
|
+
"generatedAt": "2026-08-23T09:59:28.512Z",
|
|
5
|
+
"publishedAt": "2026-08-23T09:59:28.512Z",
|
|
6
6
|
"reproducible": true,
|
|
7
7
|
"timestampPolicy": "ci-injected",
|
|
8
8
|
"deterministicInputs": [
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"declared Buildchain surface manifest contract"
|
|
20
20
|
],
|
|
21
21
|
"sourceDateEpoch": "0",
|
|
22
|
-
"sourceRevision": "
|
|
22
|
+
"sourceRevision": "4eabb9490c224931c539873a7a1cfa871c19b0a4",
|
|
23
23
|
"timestampPolicyDetails": {
|
|
24
24
|
"contract": "kungfu-buildchain-surface-timestamp-policy",
|
|
25
25
|
"timestampFields": [
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
},
|
|
38
38
|
"package": {
|
|
39
39
|
"name": "@kungfu-tech/buildchain",
|
|
40
|
-
"version": "4.0.1-alpha.
|
|
40
|
+
"version": "4.0.1-alpha.25",
|
|
41
41
|
"versionSource": "package.json#version"
|
|
42
42
|
},
|
|
43
43
|
"entrypoint": "buildchain-site.json",
|
|
@@ -2027,7 +2027,7 @@
|
|
|
2027
2027
|
"status": "preview",
|
|
2028
2028
|
"owner": "buildchain-workflows",
|
|
2029
2029
|
"maturity": "preview",
|
|
2030
|
-
"introducedVersion": "4.0.1-alpha.
|
|
2030
|
+
"introducedVersion": "4.0.1-alpha.25",
|
|
2031
2031
|
"compatibilityPromise": "preserved-through-the-v3-major-line",
|
|
2032
2032
|
"deprecationReplacement": "",
|
|
2033
2033
|
"sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
|
|
@@ -2048,7 +2048,7 @@
|
|
|
2048
2048
|
"status": "preview",
|
|
2049
2049
|
"owner": "buildchain-workflows",
|
|
2050
2050
|
"maturity": "preview",
|
|
2051
|
-
"introducedVersion": "4.0.1-alpha.
|
|
2051
|
+
"introducedVersion": "4.0.1-alpha.25",
|
|
2052
2052
|
"compatibilityPromise": "preserved-through-the-v3-major-line",
|
|
2053
2053
|
"deprecationReplacement": "",
|
|
2054
2054
|
"sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
|
|
@@ -2069,7 +2069,7 @@
|
|
|
2069
2069
|
"status": "preview",
|
|
2070
2070
|
"owner": "buildchain-workflows",
|
|
2071
2071
|
"maturity": "preview",
|
|
2072
|
-
"introducedVersion": "4.0.1-alpha.
|
|
2072
|
+
"introducedVersion": "4.0.1-alpha.25",
|
|
2073
2073
|
"compatibilityPromise": "preserved-through-the-v3-major-line",
|
|
2074
2074
|
"deprecationReplacement": "",
|
|
2075
2075
|
"sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
|
|
@@ -2119,7 +2119,7 @@
|
|
|
2119
2119
|
"status": "preview",
|
|
2120
2120
|
"owner": "buildchain-workflows",
|
|
2121
2121
|
"maturity": "preview",
|
|
2122
|
-
"introducedVersion": "4.0.1-alpha.
|
|
2122
|
+
"introducedVersion": "4.0.1-alpha.25",
|
|
2123
2123
|
"compatibilityPromise": "preserved-through-the-v3-major-line",
|
|
2124
2124
|
"deprecationReplacement": "",
|
|
2125
2125
|
"sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kungfu-tech/buildchain",
|
|
3
|
-
"version": "4.0.1-alpha.
|
|
3
|
+
"version": "4.0.1-alpha.25",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Buildchain Release Passport, release governance, CLI toolkit, and site facts.",
|
|
6
6
|
"repository": "https://github.com/kungfu-systems/buildchain",
|
|
@@ -4,7 +4,6 @@ import {
|
|
|
4
4
|
v4FloatingConsumerDocumentRoot,
|
|
5
5
|
verifyV4FloatingConsumerPolicyCertification,
|
|
6
6
|
} from "./v4-floating-consumer-evidence.js";
|
|
7
|
-
|
|
8
7
|
const SHA256_ROOT = /^sha256:[0-9a-f]{64}$/u;
|
|
9
8
|
export function isV4PromotionRouting(value = undefined) {
|
|
10
9
|
return [
|
|
@@ -13,7 +12,6 @@ export function isV4PromotionRouting(value = undefined) {
|
|
|
13
12
|
value?.runtime?.requestedRef,
|
|
14
13
|
].some((ref) => /^v4(?:-alpha)?$/u.test(String(ref || "")));
|
|
15
14
|
}
|
|
16
|
-
|
|
17
15
|
function resolveInside(root, relative, label) {
|
|
18
16
|
const resolvedRoot = path.resolve(root);
|
|
19
17
|
const file = path.resolve(resolvedRoot, relative);
|
|
@@ -22,7 +20,6 @@ function resolveInside(root, relative, label) {
|
|
|
22
20
|
}
|
|
23
21
|
return file;
|
|
24
22
|
}
|
|
25
|
-
|
|
26
23
|
function resolveCallerLock(root, relative, label) {
|
|
27
24
|
const file = resolveInside(root, relative, `${label} contract lock`);
|
|
28
25
|
if (!fs.existsSync(file)) {
|
|
@@ -81,20 +78,22 @@ export function resolveV4ConsumerPolicyCertificationIdentity({
|
|
|
81
78
|
runtimeResume = undefined,
|
|
82
79
|
sourceSha = "",
|
|
83
80
|
} = {}) {
|
|
84
|
-
const
|
|
85
|
-
release?.
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
81
|
+
const certifiedSourceSha =
|
|
82
|
+
(release?.certification?.certification || release?.certification)?.caller
|
|
83
|
+
?.sourceSha || "";
|
|
84
|
+
const treeEquivalentSources = [
|
|
85
|
+
release?.builtSourceSha || release?.built_source_sha,
|
|
86
|
+
release?.promotionChannelSha || release?.promotion_channel_sha,
|
|
87
|
+
];
|
|
88
|
+
const buildRuntimeSha = runtimeResume?.lineage?.attempts?.build?.runtimeSha;
|
|
89
89
|
return {
|
|
90
90
|
sourceSha:
|
|
91
|
-
|
|
92
|
-
|
|
91
|
+
certifiedSourceSha === sourceSha ||
|
|
92
|
+
(release?.treeEquivalent === true &&
|
|
93
|
+
treeEquivalentSources.includes(certifiedSourceSha))
|
|
94
|
+
? certifiedSourceSha
|
|
93
95
|
: sourceSha,
|
|
94
|
-
runtimeSha:
|
|
95
|
-
runtimeResume?.lineage?.attempts?.build?.runtimeSha ||
|
|
96
|
-
routing?.runtime?.resolvedSha ||
|
|
97
|
-
"",
|
|
96
|
+
runtimeSha: buildRuntimeSha || routing?.runtime?.resolvedSha || "",
|
|
98
97
|
};
|
|
99
98
|
}
|
|
100
99
|
export function requireV4ConsumerPolicyCertification({
|
|
@@ -374,6 +374,7 @@ export function assertArtifactSigningControlRequestContext(
|
|
|
374
374
|
export function artifactSigningControlRequestOutputs(request) {
|
|
375
375
|
const value = validateArtifactSigningControlRequest(request);
|
|
376
376
|
return {
|
|
377
|
+
"source-run-attempt": String(value.source.runAttempt),
|
|
377
378
|
"request-count": String(value.request.count),
|
|
378
379
|
"request-artifact": value.request.artifact,
|
|
379
380
|
"request-root": value.request.root,
|
|
@@ -384,7 +385,6 @@ export function artifactSigningControlRequestOutputs(request) {
|
|
|
384
385
|
"runtime-sha": value.runtime.sha,
|
|
385
386
|
};
|
|
386
387
|
}
|
|
387
|
-
|
|
388
388
|
export function normalizeControllerStatus(value) {
|
|
389
389
|
const normalized = required(value, "authority status");
|
|
390
390
|
if (
|