@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.
@@ -4,7 +4,7 @@
4
4
  "product": {
5
5
  "name": "Buildchain",
6
6
  "package": "@kungfu-tech/buildchain",
7
- "version": "3.0.5-alpha.2",
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,
@@ -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:cb3776ccf4d09a4197da7f894c6c2f72b15d982b9e3c8e7c3576cc1607e2241b"
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:cb3776ccf4d09a4197da7f894c6c2f72b15d982b9e3c8e7c3576cc1607e2241b"
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:f6ae61e93292ec8de2c910686175f31d1f28de405730dfba94b775abdc2cf5cf"
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-02T03:31:24.457Z",
5
- "publishedAt": "2026-08-02T03:31:24.457Z",
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": "1d2c6f6f9571f0417063c9814e5ad0e6fd61bb81",
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.2",
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.2",
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-02T03:31:24.457Z",
5
- "publishedAt": "2026-08-02T03:31:24.457Z",
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": "1d2c6f6f9571f0417063c9814e5ad0e6fd61bb81",
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.2",
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-02T03:31:24.457Z",
5
- "publishedAt": "2026-08-02T03:31:24.457Z",
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": "1d2c6f6f9571f0417063c9814e5ad0e6fd61bb81",
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.2",
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.2",
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,