@kungfu-tech/buildchain 2.14.15-alpha.0 → 2.14.15

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.14.15-alpha.0",
7
+ "version": "2.14.15",
8
8
  "repository": "https://github.com/kungfu-systems/buildchain"
9
9
  },
10
10
  "majorLine": "v2",
@@ -604,7 +604,7 @@
604
604
  "agents can discover supported Node APIs without importing internal file paths"
605
605
  ],
606
606
  "breakingDigest": "sha256:48f925608d3e2131d90936b07dc2a30341204cae3e6e785c0f77d61ad755c945",
607
- "auditDigest": "sha256:02607253de44ba53e4a9beadf1ada3e1e8639973fc3fb94d4049284bd4139cbb"
607
+ "auditDigest": "sha256:c026509d1fde0a1828ea7d8691f4dfc1d14686ae92a140f3d2350252699d70b3"
608
608
  },
609
609
  {
610
610
  "contractVersion": 1,
@@ -2913,5 +2913,5 @@
2913
2913
  }
2914
2914
  ],
2915
2915
  "compatibilityDigest": "sha256:cdf588422ec6b460bd6f631400efa6e361a045e052c8967d6c50fadd7aa4dd90",
2916
- "contractDigest": "sha256:78c9b1b892015e649148de065ec4d7a5130dc8b124b61b306cef1b1bc03373dd"
2916
+ "contractDigest": "sha256:f9d0f434a73812c3b2349104101f45541cb8fa7e7d1da789f775712fd2d9510e"
2917
2917
  }
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "contract": "kungfu-buildchain-site-bundle",
4
- "generatedAt": "2026-07-22T08:44:38.308Z",
5
- "publishedAt": "2026-07-22T08:44:38.308Z",
4
+ "generatedAt": "2026-07-22T09:42:53.063Z",
5
+ "publishedAt": "2026-07-22T09:42:53.063Z",
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": "6a8ee8a9ab08d00cb453e520220efe9af4758bd4",
22
+ "sourceRevision": "f092fb829717f4cd61d44522c9f96322d819fcef",
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.14.15-alpha.0",
40
+ "version": "2.14.15",
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.14.15-alpha.0",
7
+ "version": "2.14.15",
8
8
  "repository": "https://github.com/kungfu-systems/buildchain"
9
9
  },
10
10
  "source": {
@@ -112,7 +112,7 @@
112
112
  "specifier": "@kungfu-tech/buildchain/controller-evidence",
113
113
  "export": "./controller-evidence",
114
114
  "target": "./packages/core/controller-evidence.js",
115
- "digest": "sha256:3767d8dce1a18e610d4d1dcad3ef5e5c457d97f01769c9961cb45eb4d682ce59",
115
+ "digest": "sha256:c061ed32e02713fd99ffd291ee8ed4a4dba563265ee530deef4b37197cbb65e6",
116
116
  "summary": "Project-independent controller descriptors, source/runtime-bound plans, receipts, aggregates, and validation APIs.",
117
117
  "capabilityGroup": "reusable-build",
118
118
  "audience": [
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "contract": "kungfu-buildchain-publication-release-registry",
4
- "generatedAt": "2026-07-22T08:44:38.308Z",
5
- "publishedAt": "2026-07-22T08:44:38.308Z",
4
+ "generatedAt": "2026-07-22T09:42:53.063Z",
5
+ "publishedAt": "2026-07-22T09:42:53.063Z",
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": "6a8ee8a9ab08d00cb453e520220efe9af4758bd4",
22
+ "sourceRevision": "f092fb829717f4cd61d44522c9f96322d819fcef",
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.14.15-alpha.0",
35
+ "version": "2.14.15",
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-22T08:44:38.308Z",
5
- "publishedAt": "2026-07-22T08:44:38.308Z",
4
+ "generatedAt": "2026-07-22T09:42:53.063Z",
5
+ "publishedAt": "2026-07-22T09:42:53.063Z",
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": "6a8ee8a9ab08d00cb453e520220efe9af4758bd4",
22
+ "sourceRevision": "f092fb829717f4cd61d44522c9f96322d819fcef",
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.14.15-alpha.0",
40
+ "version": "2.14.15",
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.14.15-alpha.0",
3
+ "version": "2.14.15",
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",
@@ -391,7 +391,7 @@ export function createControllerReceipt({ plan, stages = [], evidence = [], reas
391
391
  stages: normalizedStages,
392
392
  evidence: normalizedEvidence,
393
393
  issues,
394
- ...(reason ? {
394
+ ...(status !== "passed" && reason ? {
395
395
  reason: {
396
396
  code: nonEmptyString(reason.code, "reason.code"),
397
397
  summary: nonEmptyString(reason.summary, "reason.summary"),
@@ -414,6 +414,7 @@ export function validateControllerReceipt(receipt, {
414
414
  if (receipt.contract !== BUILDCHAIN_CONTROLLER_EVIDENCE_CONTRACT) issues.push(`receipt contract must be ${BUILDCHAIN_CONTROLLER_EVIDENCE_CONTRACT}`);
415
415
  if (receipt.kind !== "receipt") issues.push("receipt kind must be receipt");
416
416
  if (receipt.digest !== digestDocument(receipt)) issues.push("receipt digest mismatch");
417
+ if (receipt.status === "passed" && receipt.reason) issues.push("passed controller receipt must not declare a failure reason");
417
418
  issues.push(...(receipt.issues || []));
418
419
  if (plan) {
419
420
  if (receipt.planDigest !== plan.digest) issues.push("receipt plan digest mismatch");