@kungfu-tech/buildchain 2.12.6-alpha.2 → 2.12.6
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.
- package/dist/site/buildchain-contract.json +2 -2
- package/dist/site/buildchain-site.json +4 -4
- package/dist/site/kfd-upstream-aggregate.json +1 -1
- package/dist/site/publication-registry.json +4 -4
- package/dist/site/site-manifest.json +4 -4
- package/package.json +1 -1
- package/scripts/controller-evidence.mjs +22 -4
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"product": {
|
|
5
5
|
"name": "Buildchain",
|
|
6
6
|
"package": "@kungfu-tech/buildchain",
|
|
7
|
-
"version": "2.12.6
|
|
7
|
+
"version": "2.12.6",
|
|
8
8
|
"repository": "https://github.com/kungfu-systems/buildchain"
|
|
9
9
|
},
|
|
10
10
|
"majorLine": "v2",
|
|
@@ -2549,5 +2549,5 @@
|
|
|
2549
2549
|
}
|
|
2550
2550
|
],
|
|
2551
2551
|
"compatibilityDigest": "sha256:2520207c5d6d6a737dd32251a42be9c5299644d9aebf690a8402ead1724ed495",
|
|
2552
|
-
"contractDigest": "sha256:
|
|
2552
|
+
"contractDigest": "sha256:4c369ecd3bf25e43dc44f42c8cdd00924e8585e90c5300cba51b483054effd9d"
|
|
2553
2553
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"contract": "kungfu-buildchain-site-bundle",
|
|
4
|
-
"generatedAt": "2026-07-
|
|
5
|
-
"publishedAt": "2026-07-
|
|
4
|
+
"generatedAt": "2026-07-14T04:26:37.000Z",
|
|
5
|
+
"publishedAt": "2026-07-14T04:26:37.000Z",
|
|
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": "
|
|
22
|
+
"sourceRevision": "cbc30aab42b6ef7a32f8ab87b9e5674ce676f5c3",
|
|
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.6
|
|
40
|
+
"version": "2.12.6",
|
|
41
41
|
"versionSource": "package.json#version"
|
|
42
42
|
},
|
|
43
43
|
"source": {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"contract": "kungfu-buildchain-publication-release-registry",
|
|
4
|
-
"generatedAt": "2026-07-
|
|
5
|
-
"publishedAt": "2026-07-
|
|
4
|
+
"generatedAt": "2026-07-14T04:26:37.000Z",
|
|
5
|
+
"publishedAt": "2026-07-14T04:26:37.000Z",
|
|
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": "
|
|
22
|
+
"sourceRevision": "cbc30aab42b6ef7a32f8ab87b9e5674ce676f5c3",
|
|
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.6
|
|
35
|
+
"version": "2.12.6",
|
|
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-
|
|
5
|
-
"publishedAt": "2026-07-
|
|
4
|
+
"generatedAt": "2026-07-14T04:26:37.000Z",
|
|
5
|
+
"publishedAt": "2026-07-14T04:26:37.000Z",
|
|
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": "
|
|
22
|
+
"sourceRevision": "cbc30aab42b6ef7a32f8ab87b9e5674ce676f5c3",
|
|
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.6
|
|
40
|
+
"version": "2.12.6",
|
|
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.6
|
|
3
|
+
"version": "2.12.6",
|
|
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",
|
|
@@ -70,6 +70,24 @@ export function selectWorkflowCallInputs(descriptor, inputs) {
|
|
|
70
70
|
);
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
+
export function resolveControllerInputBoundary(descriptor, requestedBoundary = "") {
|
|
74
|
+
const requested = String(requestedBoundary || "").trim();
|
|
75
|
+
if (requested) {
|
|
76
|
+
if (!["strict", "workflow-call"].includes(requested)) {
|
|
77
|
+
throw new Error(`unsupported controller input boundary: ${requested}`);
|
|
78
|
+
}
|
|
79
|
+
return requested;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
const declaredInputs = descriptor?.inputs;
|
|
83
|
+
const sources = declaredInputs && typeof declaredInputs === "object" && !Array.isArray(declaredInputs)
|
|
84
|
+
? Object.values(declaredInputs).map((entry) => String(entry?.source || ""))
|
|
85
|
+
: [];
|
|
86
|
+
return sources.length > 0 && sources.every((source) => ["workflow-call-input", "workflow-call-secret"].includes(source))
|
|
87
|
+
? "workflow-call"
|
|
88
|
+
: "strict";
|
|
89
|
+
}
|
|
90
|
+
|
|
73
91
|
function normalizeStageStatus(value) {
|
|
74
92
|
const normalized = String(value || "").trim().toLowerCase();
|
|
75
93
|
return {
|
|
@@ -104,10 +122,10 @@ function planMode() {
|
|
|
104
122
|
const registry = readJson(registryPath, "controller registry");
|
|
105
123
|
const descriptor = descriptorFromRegistry(registry, env("BUILDCHAIN_CONTROLLER_ID"));
|
|
106
124
|
const rawInputs = parseJson(env("BUILDCHAIN_CONTROLLER_INPUTS_JSON", "{}"), "controller inputs JSON", {});
|
|
107
|
-
const inputBoundary =
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
125
|
+
const inputBoundary = resolveControllerInputBoundary(
|
|
126
|
+
descriptor,
|
|
127
|
+
env("BUILDCHAIN_CONTROLLER_INPUT_BOUNDARY"),
|
|
128
|
+
);
|
|
111
129
|
const plan = createControllerPlan({
|
|
112
130
|
descriptor,
|
|
113
131
|
source: {
|