@kungfu-tech/buildchain 3.0.5-alpha.2 → 3.0.5-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/dist/site/buildchain-contract.json +5 -5
- package/dist/site/buildchain-site.json +4 -4
- package/dist/site/kfd-upstream-aggregate.json +1 -1
- package/dist/site/publication-registry.json +4 -4
- package/dist/site/site-manifest.json +4 -4
- package/package.json +1 -1
- package/scripts/auditable-demo-renditions.mjs +1 -1
- package/scripts/auditable-demo.mjs +13 -17
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"product": {
|
|
5
5
|
"name": "Buildchain",
|
|
6
6
|
"package": "@kungfu-tech/buildchain",
|
|
7
|
-
"version": "3.0.5-alpha.
|
|
7
|
+
"version": "3.0.5-alpha.4",
|
|
8
8
|
"repository": "https://github.com/kungfu-systems/buildchain"
|
|
9
9
|
},
|
|
10
10
|
"majorLine": "v3",
|
|
@@ -177,7 +177,7 @@
|
|
|
177
177
|
"GitHub Release passport and evidence publication is delegated to promote-buildchain-ref after the semver release transaction completes"
|
|
178
178
|
],
|
|
179
179
|
"breakingDigest": "sha256:acd401cfc46450115a3763fd4b679d85f185e8757ebd52510d6262e1533df4cf",
|
|
180
|
-
"auditDigest": "sha256:
|
|
180
|
+
"auditDigest": "sha256:45f72dc26b1620b0f79558922b44449bda28b25ebc051a737137b5b01c220995"
|
|
181
181
|
},
|
|
182
182
|
{
|
|
183
183
|
"contractVersion": 1,
|
|
@@ -219,7 +219,7 @@
|
|
|
219
219
|
"promotion reuses PR-stage release-candidate artifacts and does not run the heavy native build matrix"
|
|
220
220
|
],
|
|
221
221
|
"breakingDigest": "sha256:aa30f22e3af0a89841310bdbdc900844dd95a66974db173fa140a71bbd7e82c0",
|
|
222
|
-
"auditDigest": "sha256:
|
|
222
|
+
"auditDigest": "sha256:727d8fe9b0cce68e4808cc3b31b6cf95876a96bad4b5afc8fd441c669d71a1b1"
|
|
223
223
|
},
|
|
224
224
|
{
|
|
225
225
|
"contractVersion": 1,
|
|
@@ -3334,7 +3334,7 @@
|
|
|
3334
3334
|
"missing receipts are non-qualifying and must not be represented as a successful controller run"
|
|
3335
3335
|
],
|
|
3336
3336
|
"breakingDigest": "sha256:015d8de793adbd4c539416be7d7512e18cc92097e629b0203fa06d2c183e98bd",
|
|
3337
|
-
"auditDigest": "sha256:
|
|
3337
|
+
"auditDigest": "sha256:727d8fe9b0cce68e4808cc3b31b6cf95876a96bad4b5afc8fd441c669d71a1b1"
|
|
3338
3338
|
},
|
|
3339
3339
|
{
|
|
3340
3340
|
"contractVersion": 1,
|
|
@@ -3548,5 +3548,5 @@
|
|
|
3548
3548
|
}
|
|
3549
3549
|
],
|
|
3550
3550
|
"compatibilityDigest": "sha256:3bbcaf835844260ed98414d3bd176667245d12131e13fc748e4c2fae12399691",
|
|
3551
|
-
"contractDigest": "sha256:
|
|
3551
|
+
"contractDigest": "sha256:f54d61463d316487dba2d08b0f69f1781557007902eb53d167381527ad22e860"
|
|
3552
3552
|
}
|
|
@@ -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-02T05:24:51.211Z",
|
|
5
|
+
"publishedAt": "2026-08-02T05:24:51.211Z",
|
|
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": "0e42df038cdb688330156635bbcad37e362a8345",
|
|
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": "3.0.5-alpha.
|
|
40
|
+
"version": "3.0.5-alpha.4",
|
|
41
41
|
"versionSource": "package.json#version"
|
|
42
42
|
},
|
|
43
43
|
"source": {
|
|
@@ -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-02T05:24:51.211Z",
|
|
5
|
+
"publishedAt": "2026-08-02T05:24:51.211Z",
|
|
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": "0e42df038cdb688330156635bbcad37e362a8345",
|
|
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": "3.0.5-alpha.
|
|
35
|
+
"version": "3.0.5-alpha.4",
|
|
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-02T05:24:51.211Z",
|
|
5
|
+
"publishedAt": "2026-08-02T05:24:51.211Z",
|
|
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": "0e42df038cdb688330156635bbcad37e362a8345",
|
|
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": "3.0.5-alpha.
|
|
40
|
+
"version": "3.0.5-alpha.4",
|
|
41
41
|
"versionSource": "package.json#version"
|
|
42
42
|
},
|
|
43
43
|
"entrypoint": "buildchain-site.json",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kungfu-tech/buildchain",
|
|
3
|
-
"version": "3.0.5-alpha.
|
|
3
|
+
"version": "3.0.5-alpha.4",
|
|
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",
|
|
@@ -114,7 +114,7 @@ export function validateRenditionSet(output, helpers) {
|
|
|
114
114
|
const captureBytes = readRegular(path.join(output, entry.terminalCapture), `${label} terminal capture`, maxBytes);
|
|
115
115
|
const capture = validateTerminalCapture(JSON.parse(decodeUtf8(captureBytes, `${label} terminal capture`)), scene, helpers);
|
|
116
116
|
invariant(entry.captureRoot === sha256(captureBytes), `${label}.captureRoot mismatch`);
|
|
117
|
-
return { ...entry, transcript, lines, scene, projection, capture };
|
|
117
|
+
return { ...entry, files: Object.fromEntries(["transcript", "projection", "scene", "terminalCapture"].map((key) => [key, entry[key]])), transcript, lines, scene, projection, capture };
|
|
118
118
|
});
|
|
119
119
|
invariant(normalized[0].captureRoot !== normalized[1].captureRoot, "native rendition capture roots must be distinct");
|
|
120
120
|
invariant(
|
|
@@ -1017,6 +1017,15 @@ function verifyRendererOutput(renderOutput, expectedImage, expectedInputs, optio
|
|
|
1017
1017
|
return { manifest, probe, qualification };
|
|
1018
1018
|
}
|
|
1019
1019
|
|
|
1020
|
+
function renditionInputRoots(root, renditions) {
|
|
1021
|
+
return renditions.map((rendition) => ({
|
|
1022
|
+
id: rendition.id, role: rendition.role, captureRoot: rendition.captureRoot,
|
|
1023
|
+
sceneRoot: sha256(readRegular(path.join(root, rendition.files.scene), `${rendition.id} scene`)),
|
|
1024
|
+
transcriptRoot: sha256(readRegular(path.join(root, rendition.files.transcript), `${rendition.id} transcript`)),
|
|
1025
|
+
projectionRoot: sha256(readRegular(path.join(root, rendition.files.projection), `${rendition.id} projection`)),
|
|
1026
|
+
}));
|
|
1027
|
+
}
|
|
1028
|
+
|
|
1020
1029
|
function finalizeGate(values) {
|
|
1021
1030
|
const adapterOutput = path.resolve(required(values, "--adapter-output"));
|
|
1022
1031
|
const smokeInput = path.resolve(required(values, "--smoke-input"));
|
|
@@ -1109,14 +1118,7 @@ function finalizeGate(values) {
|
|
|
1109
1118
|
renditionSet: {
|
|
1110
1119
|
schema: normalized.renditionSet.schema,
|
|
1111
1120
|
root: sha256(readRegular(path.join(output, "rendition-set.json"), "rendition set")),
|
|
1112
|
-
renditions: normalized.renditionSet.renditions
|
|
1113
|
-
id: rendition.id,
|
|
1114
|
-
role: rendition.role,
|
|
1115
|
-
captureRoot: rendition.captureRoot,
|
|
1116
|
-
sceneRoot: sha256(readRegular(path.join(output, rendition.scene), `${rendition.id} scene`)),
|
|
1117
|
-
transcriptRoot: sha256(readRegular(path.join(output, rendition.transcript), `${rendition.id} transcript`)),
|
|
1118
|
-
projectionRoot: sha256(readRegular(path.join(output, rendition.projection), `${rendition.id} projection`)),
|
|
1119
|
-
})),
|
|
1121
|
+
renditions: renditionInputRoots(output, normalized.renditionSet.renditions),
|
|
1120
1122
|
},
|
|
1121
1123
|
}
|
|
1122
1124
|
: {}),
|
|
@@ -1179,15 +1181,8 @@ function verifyGate(values) {
|
|
|
1179
1181
|
invariant(
|
|
1180
1182
|
qualifiedRenditionSet.schema === normalized.renditionSet.schema
|
|
1181
1183
|
&& qualifiedRenditionSet.root === sha256(readRegular(path.join(bundle, "rendition-set.json"), "rendition set"))
|
|
1182
|
-
&&
|
|
1183
|
-
===
|
|
1184
|
-
id: rendition.id,
|
|
1185
|
-
role: rendition.role,
|
|
1186
|
-
captureRoot: rendition.captureRoot,
|
|
1187
|
-
sceneRoot: sha256(readRegular(path.join(bundle, rendition.scene), `${rendition.id} scene`)),
|
|
1188
|
-
transcriptRoot: sha256(readRegular(path.join(bundle, rendition.transcript), `${rendition.id} transcript`)),
|
|
1189
|
-
projectionRoot: sha256(readRegular(path.join(bundle, rendition.projection), `${rendition.id} projection`)),
|
|
1190
|
-
}))),
|
|
1184
|
+
&& stableJson(qualifiedRenditionSet.renditions)
|
|
1185
|
+
=== stableJson(renditionInputRoots(bundle, normalized.renditionSet.renditions)),
|
|
1191
1186
|
"gate native rendition roots mismatch",
|
|
1192
1187
|
);
|
|
1193
1188
|
}
|
|
@@ -1311,6 +1306,7 @@ export {
|
|
|
1311
1306
|
inspectRendererMedia,
|
|
1312
1307
|
parseAdapterArguments,
|
|
1313
1308
|
qualifyMediaFixture,
|
|
1309
|
+
renditionInputRoots,
|
|
1314
1310
|
prepareSmoke,
|
|
1315
1311
|
runAdapter,
|
|
1316
1312
|
sha256,
|