@kungfu-tech/buildchain 4.0.1-alpha.15 → 4.0.1-alpha.16
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 +3 -3
- 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/node-api-registry.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/release-candidate-recovery.js +3 -3
|
@@ -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.16",
|
|
8
8
|
"repository": "https://github.com/kungfu-systems/buildchain"
|
|
9
9
|
},
|
|
10
10
|
"majorLine": "v4",
|
|
@@ -2233,7 +2233,7 @@
|
|
|
2233
2233
|
"agents can discover supported Node APIs without importing internal file paths"
|
|
2234
2234
|
],
|
|
2235
2235
|
"breakingDigest": "sha256:48f925608d3e2131d90936b07dc2a30341204cae3e6e785c0f77d61ad755c945",
|
|
2236
|
-
"auditDigest": "sha256:
|
|
2236
|
+
"auditDigest": "sha256:5d9041bc69c11daa40a5e682cf4ac66f85fc706537970d6c5c5773288e5fcb01"
|
|
2237
2237
|
},
|
|
2238
2238
|
{
|
|
2239
2239
|
"contractVersion": 1,
|
|
@@ -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:ef3e4d5c123bbc7cf4fe62e6d84b08d54ce8b87de0c6b2f7af92ba8b4161ba09"
|
|
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-22T21:16:23.467Z",
|
|
5
|
+
"publishedAt": "2026-08-22T21:16:23.467Z",
|
|
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": "3f16e16bfe8ccb6ca2bae7e095aedc6fc5a140d2",
|
|
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.16",
|
|
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": "9b9215aa74419a85a52e7cad966b56297a6b5751f6258163e1d8ac3bbcb2b52e",
|
|
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": "9b9215aa74419a85a52e7cad966b56297a6b5751f6258163e1d8ac3bbcb2b52e",
|
|
250
250
|
"summary": {
|
|
251
251
|
"cliCommandCount": 117,
|
|
252
252
|
"workflowCount": 76,
|
|
@@ -29320,7 +29320,7 @@
|
|
|
29320
29320
|
"specifier": "@kungfu-tech/buildchain/release-candidate-recovery",
|
|
29321
29321
|
"export": "./release-candidate-recovery",
|
|
29322
29322
|
"target": "./packages/core/release-candidate-recovery.js",
|
|
29323
|
-
"digest": "sha256:
|
|
29323
|
+
"digest": "sha256:6034a75aeb4e3e14330f43b4d8c72f3a0a9823a20ce03a578ea6eac33000d31e",
|
|
29324
29324
|
"summary": "Fail-closed verification and immutable receipts for reusing a successful sealed candidate run without rebuilding product payloads.",
|
|
29325
29325
|
"capabilityGroup": "release-passport-trust",
|
|
29326
29326
|
"audience": [
|
|
@@ -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": "d9c7193d3e6ad62b58a06931cccb3c4ee24285e75a705dd390cbf3ccd88645ad",
|
|
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-22T21:16:23.467Z",
|
|
5
|
+
"publishedAt": "2026-08-22T21:16:23.467Z",
|
|
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": "3f16e16bfe8ccb6ca2bae7e095aedc6fc5a140d2",
|
|
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.16",
|
|
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-22T21:16:23.467Z",
|
|
5
|
+
"publishedAt": "2026-08-22T21:16:23.467Z",
|
|
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": "3f16e16bfe8ccb6ca2bae7e095aedc6fc5a140d2",
|
|
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.16",
|
|
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.16",
|
|
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.16",
|
|
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.16",
|
|
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.16",
|
|
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.16",
|
|
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",
|
|
@@ -354,7 +354,7 @@ function validateCandidateProvenance({
|
|
|
354
354
|
run,
|
|
355
355
|
workflow,
|
|
356
356
|
pullRequest,
|
|
357
|
-
ancestry,
|
|
357
|
+
ancestry, targetTree,
|
|
358
358
|
passport,
|
|
359
359
|
anchorProvenance,
|
|
360
360
|
expectedTransactionId,
|
|
@@ -383,7 +383,7 @@ function validateCandidateProvenance({
|
|
|
383
383
|
const boundByNumber = Array.isArray(provenanceRun?.pullRequestNumbers) && provenanceRun.pullRequestNumbers.includes(Number(pullRequest?.number));
|
|
384
384
|
const boundByHead = provenanceRun?.headSha === pullRequest?.headSha && normalizedRef(provenanceRun?.headBranch) === normalizedRef(pullRequest?.headRef);
|
|
385
385
|
if (!boundByNumber && !boundByHead) fail("pr-identity-invalid", "candidate run is not bound to the merged candidate PR", "Select the exact PR-stage Build run.");
|
|
386
|
-
if (!ancestry?.mergeIsAncestor && ancestry?.status !== "identical") fail("ancestry-invalid", "candidate merge is
|
|
386
|
+
if (!ancestry?.mergeIsAncestor && ancestry?.status !== "identical" && exactSha(targetTree, "targetTree") !== exactSha(passport?.source?.treeHash, "passport.source.treeHash")) fail("ancestry-invalid", "candidate merge is neither an ancestor nor tree-equivalent to the promotion SHA", "Promote a descendant of the verified merged candidate identity or its exact tree-equivalent protected merge result.");
|
|
387
387
|
return { repository, workflowFile };
|
|
388
388
|
}
|
|
389
389
|
|
|
@@ -476,7 +476,7 @@ export function verifyReleaseCandidateRecovery({
|
|
|
476
476
|
const { repository, workflowFile } = validateCandidateProvenance({
|
|
477
477
|
candidateRepository, targetRepository, expectedRunId, expectedWorkflowFile,
|
|
478
478
|
expectedWorkflowName, targetRef, run, workflow, pullRequest, ancestry,
|
|
479
|
-
passport, anchorProvenance, expectedTransactionId,
|
|
479
|
+
targetTree, passport, anchorProvenance, expectedTransactionId,
|
|
480
480
|
});
|
|
481
481
|
const { sha, tree, runtimeSha, toolingSha } = validateCandidateIdentity({
|
|
482
482
|
repository, channel, targetSha, targetTree, expectedSourceTree,
|