@kungfu-tech/buildchain 2.12.4-alpha.1 → 2.12.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": "2.12.4-alpha.1",
7
+ "version": "2.12.4",
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:0d898ca8215c45fc67496ceae931b28805d6f4579fdecf54e2adc0e86a94e4b8"
556
+ "contractDigest": "sha256:ef9eb9323b4e14b9d02d51c9b974b27d8c38daf6754c1249783c0eaa7510a645"
557
557
  }
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "contract": "kungfu-buildchain-site-bundle",
4
- "generatedAt": "2026-07-13T14:29:27.780Z",
5
- "publishedAt": "2026-07-13T14:29:27.780Z",
4
+ "generatedAt": "2026-07-13T14:57:09.623Z",
5
+ "publishedAt": "2026-07-13T14:57:09.623Z",
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": "70504e94e428045971c9c71ca606bf83d14d5071",
22
+ "sourceRevision": "687f57693cd6ca239325819661f896f00f33f50e",
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.4-alpha.1",
40
+ "version": "2.12.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": "2.12.4-alpha.1",
7
+ "version": "2.12.4",
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:29:27.780Z",
5
- "publishedAt": "2026-07-13T14:29:27.780Z",
4
+ "generatedAt": "2026-07-13T14:57:09.623Z",
5
+ "publishedAt": "2026-07-13T14:57:09.623Z",
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": "70504e94e428045971c9c71ca606bf83d14d5071",
22
+ "sourceRevision": "687f57693cd6ca239325819661f896f00f33f50e",
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.4-alpha.1",
35
+ "version": "2.12.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-07-13T14:29:27.780Z",
5
- "publishedAt": "2026-07-13T14:29:27.780Z",
4
+ "generatedAt": "2026-07-13T14:57:09.623Z",
5
+ "publishedAt": "2026-07-13T14:57:09.623Z",
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": "70504e94e428045971c9c71ca606bf83d14d5071",
22
+ "sourceRevision": "687f57693cd6ca239325819661f896f00f33f50e",
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.4-alpha.1",
40
+ "version": "2.12.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": "2.12.4-alpha.1",
3
+ "version": "2.12.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",
@@ -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";