@kungfu-tech/buildchain 2.12.3 → 2.12.4-alpha.2

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": "2.12.3",
7
+ "version": "2.12.4-alpha.2",
8
8
  "repository": "https://github.com/kungfu-systems/buildchain"
9
9
  },
10
10
  "majorLine": "v2",
@@ -549,9 +549,9 @@
549
549
  "agents can discover supported Node APIs without importing internal file paths"
550
550
  ],
551
551
  "breakingDigest": "sha256:48f925608d3e2131d90936b07dc2a30341204cae3e6e785c0f77d61ad755c945",
552
- "auditDigest": "sha256:4458f86ab03e26015a1247fcf6fd89837256b39ecd7e82dfde2140e8967d2eb0"
552
+ "auditDigest": "sha256:0b025f14bab42fd92705ce4e63e3b1881a70f43ee903eaa4e0d853b23e46ade3"
553
553
  }
554
554
  ],
555
555
  "compatibilityDigest": "sha256:2090784977bc7d54fc647215ef73532b9db26147a0b40ec3f56c31d611d806cc",
556
- "contractDigest": "sha256:9debce5534f2dc23ef3075fbea83843314c660c63e1024b98003b96376fcb9fc"
556
+ "contractDigest": "sha256:2269c84729a244558c839a7fd4f3da3d4d3078900c5fea50574c0d3ee536e904"
557
557
  }
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "contract": "kungfu-buildchain-site-bundle",
4
- "generatedAt": "2026-07-13T14:20:40.123Z",
5
- "publishedAt": "2026-07-13T14:20:40.123Z",
4
+ "generatedAt": "2026-07-13T14:46:16.105Z",
5
+ "publishedAt": "2026-07-13T14:46:16.105Z",
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": "761f1dfbaff1aa2b50fd1b7f4dbe16ec0e86b297",
22
+ "sourceRevision": "c4dd3fbaf0241d8872c54a574718cbd7869266ab",
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": "2.12.3",
40
+ "version": "2.12.4-alpha.2",
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": "2.12.3",
7
+ "version": "2.12.4-alpha.2",
8
8
  "repository": "https://github.com/kungfu-systems/buildchain"
9
9
  },
10
10
  "source": {
@@ -255,7 +255,7 @@
255
255
  "specifier": "@kungfu-tech/buildchain/stable-candidate-ledger",
256
256
  "export": "./stable-candidate-ledger",
257
257
  "target": "./packages/core/stable-candidate-ledger.js",
258
- "digest": "sha256:cefb5d1747e6e0e11490350e6b49877fe69982117a027b7c5b28e08d7afee374",
258
+ "digest": "sha256:c816025953dda54e43fc13c01139a19ea96b4377844108af537eb190255a8dbd",
259
259
  "summary": "Immutable alpha candidate ledger, qualification, revocation, selection, and exact stable source-lock APIs.",
260
260
  "capabilityGroup": "governance-versioning",
261
261
  "audience": [
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "contract": "kungfu-buildchain-publication-release-registry",
4
- "generatedAt": "2026-07-13T14:20:40.123Z",
5
- "publishedAt": "2026-07-13T14:20:40.123Z",
4
+ "generatedAt": "2026-07-13T14:46:16.105Z",
5
+ "publishedAt": "2026-07-13T14:46:16.105Z",
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": "761f1dfbaff1aa2b50fd1b7f4dbe16ec0e86b297",
22
+ "sourceRevision": "c4dd3fbaf0241d8872c54a574718cbd7869266ab",
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": "2.12.3",
35
+ "version": "2.12.4-alpha.2",
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-07-13T14:20:40.123Z",
5
- "publishedAt": "2026-07-13T14:20:40.123Z",
4
+ "generatedAt": "2026-07-13T14:46:16.105Z",
5
+ "publishedAt": "2026-07-13T14:46:16.105Z",
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": "761f1dfbaff1aa2b50fd1b7f4dbe16ec0e86b297",
22
+ "sourceRevision": "c4dd3fbaf0241d8872c54a574718cbd7869266ab",
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": "2.12.3",
40
+ "version": "2.12.4-alpha.2",
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": "2.12.3",
3
+ "version": "2.12.4-alpha.2",
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",
@@ -235,7 +235,9 @@ export function markStableCandidatePromoted(
235
235
  const version = exactAlpha(versionInput).version;
236
236
  const candidate = ledger.candidates.find((entry) => entry.version === version);
237
237
  if (!candidate) throw new Error(`candidate ${version} is not registered`);
238
- if (!candidate.qualification?.ok && candidate.decision?.reason !== "human-release-now") {
238
+ const humanAuthority = candidate.decision?.reason === "human-release-now"
239
+ || candidate.promotionRequest?.authority === "human";
240
+ if (!candidate.qualification?.ok && !humanAuthority) {
239
241
  throw new Error(`candidate ${version} is not qualified for promotion`);
240
242
  }
241
243
  candidate.state = "promoted";
@@ -110,6 +110,10 @@ export function windowsBatchInvocation(command, args, { cwd, comSpec } = {}) {
110
110
  };
111
111
  }
112
112
 
113
+ export function prepareGateExecutionFiles(files) {
114
+ for (const file of files) fs.rmSync(file, { force: true });
115
+ }
116
+
113
117
  function runArgv(
114
118
  argv,
115
119
  args,
@@ -234,6 +238,7 @@ function runMode() {
234
238
  const executionPath = path.join(outputRoot, "execution.json");
235
239
  const env = gateEnvironment();
236
240
  fs.mkdirSync(outputRoot, { recursive: true });
241
+ prepareGateExecutionFiles([receiptPath, validationPath, executionPath]);
237
242
  const argv = commandForPlatform(commandJson, entry.platform);
238
243
  const runArgs = gateArgs(
239
244
  [