@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.
@@ -4,7 +4,7 @@
4
4
  "product": {
5
5
  "name": "Buildchain",
6
6
  "package": "@kungfu-tech/buildchain",
7
- "version": "3.0.5-alpha.3",
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:d0e9128f5e46d0c4f439d5e1e4aa7a1ab84bdeb8c43c5d46887871004cb79b26"
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:6a1d7c1b58c7427447b94d138cc3c4e026c4eb2717d1641c685b0a89dd143bcf"
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-02T04:14:02.030Z",
5
- "publishedAt": "2026-08-02T04:14:02.030Z",
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": "0b2bbbec336a3e5bd2f032eb9cb10b0758b7c579",
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.3",
40
+ "version": "3.0.5-alpha.4",
41
41
  "versionSource": "package.json#version"
42
42
  },
43
43
  "source": {
@@ -4,7 +4,7 @@
4
4
  "product": {
5
5
  "id": "kungfu-tech-buildchain",
6
6
  "name": "@kungfu-tech/buildchain",
7
- "version": "3.0.5-alpha.3",
7
+ "version": "3.0.5-alpha.4",
8
8
  "repository": "https://github.com/kungfu-systems/buildchain"
9
9
  },
10
10
  "source": {
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "contract": "kungfu-buildchain-publication-release-registry",
4
- "generatedAt": "2026-08-02T04:14:02.030Z",
5
- "publishedAt": "2026-08-02T04:14:02.030Z",
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": "0b2bbbec336a3e5bd2f032eb9cb10b0758b7c579",
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.3",
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-02T04:14:02.030Z",
5
- "publishedAt": "2026-08-02T04:14:02.030Z",
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": "0b2bbbec336a3e5bd2f032eb9cb10b0758b7c579",
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.3",
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",
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.map((rendition) => ({
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
- && JSON.stringify(qualifiedRenditionSet.renditions)
1183
- === JSON.stringify(normalized.renditionSet.renditions.map((rendition) => ({
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,