@kungfu-tech/buildchain 3.0.5-alpha.3 → 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 +3 -3
- 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,
|
|
@@ -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,
|