@kungfu-tech/buildchain 2.14.14-alpha.4 → 2.14.14-alpha.5
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/bin/buildchain.mjs +46 -2
- package/dist/site/agent-index.json +1 -0
- package/dist/site/artifact-schemas.json +2 -0
- package/dist/site/badge-endpoint-registry.json +1120 -0
- package/dist/site/badges/v1/kfd-10/aligned.json +14 -0
- package/dist/site/badges/v1/kfd-10/declared.json +14 -0
- package/dist/site/badges/v1/kfd-10/downgraded.json +14 -0
- package/dist/site/badges/v1/kfd-10/draft.json +14 -0
- package/dist/site/badges/v1/kfd-10/failed.json +14 -0
- package/dist/site/badges/v1/kfd-10/missing.json +14 -0
- package/dist/site/badges/v1/kfd-10/passed.json +14 -0
- package/dist/site/badges/v1/kfd-10/planned.json +14 -0
- package/dist/site/badges/v1/kfd-11/aligned.json +14 -0
- package/dist/site/badges/v1/kfd-11/declared.json +14 -0
- package/dist/site/badges/v1/kfd-11/downgraded.json +14 -0
- package/dist/site/badges/v1/kfd-11/draft.json +14 -0
- package/dist/site/badges/v1/kfd-11/failed.json +14 -0
- package/dist/site/badges/v1/kfd-11/missing.json +14 -0
- package/dist/site/badges/v1/kfd-11/passed.json +14 -0
- package/dist/site/badges/v1/kfd-11/planned.json +14 -0
- package/dist/site/badges/v1/kfd-12/aligned.json +14 -0
- package/dist/site/badges/v1/kfd-12/declared.json +14 -0
- package/dist/site/badges/v1/kfd-12/downgraded.json +14 -0
- package/dist/site/badges/v1/kfd-12/draft.json +14 -0
- package/dist/site/badges/v1/kfd-12/failed.json +14 -0
- package/dist/site/badges/v1/kfd-12/missing.json +14 -0
- package/dist/site/badges/v1/kfd-12/passed.json +14 -0
- package/dist/site/badges/v1/kfd-12/planned.json +14 -0
- package/dist/site/badges/v1/kfd-13/aligned.json +14 -0
- package/dist/site/badges/v1/kfd-13/declared.json +14 -0
- package/dist/site/badges/v1/kfd-13/downgraded.json +14 -0
- package/dist/site/badges/v1/kfd-13/draft.json +14 -0
- package/dist/site/badges/v1/kfd-13/failed.json +14 -0
- package/dist/site/badges/v1/kfd-13/missing.json +14 -0
- package/dist/site/badges/v1/kfd-13/passed.json +14 -0
- package/dist/site/badges/v1/kfd-13/planned.json +14 -0
- package/dist/site/badges/v1/kfd-7/aligned.json +14 -0
- package/dist/site/badges/v1/kfd-7/declared.json +14 -0
- package/dist/site/badges/v1/kfd-7/downgraded.json +14 -0
- package/dist/site/badges/v1/kfd-7/draft.json +14 -0
- package/dist/site/badges/v1/kfd-7/failed.json +14 -0
- package/dist/site/badges/v1/kfd-7/missing.json +14 -0
- package/dist/site/badges/v1/kfd-7/passed.json +14 -0
- package/dist/site/badges/v1/kfd-7/planned.json +14 -0
- package/dist/site/badges/v1/kfd-8/aligned.json +14 -0
- package/dist/site/badges/v1/kfd-8/declared.json +14 -0
- package/dist/site/badges/v1/kfd-8/downgraded.json +14 -0
- package/dist/site/badges/v1/kfd-8/draft.json +14 -0
- package/dist/site/badges/v1/kfd-8/failed.json +14 -0
- package/dist/site/badges/v1/kfd-8/missing.json +14 -0
- package/dist/site/badges/v1/kfd-8/passed.json +14 -0
- package/dist/site/badges/v1/kfd-8/planned.json +14 -0
- package/dist/site/badges/v1/kfd-9/aligned.json +14 -0
- package/dist/site/badges/v1/kfd-9/declared.json +14 -0
- package/dist/site/badges/v1/kfd-9/downgraded.json +14 -0
- package/dist/site/badges/v1/kfd-9/draft.json +14 -0
- package/dist/site/badges/v1/kfd-9/failed.json +14 -0
- package/dist/site/badges/v1/kfd-9/missing.json +14 -0
- package/dist/site/badges/v1/kfd-9/passed.json +14 -0
- package/dist/site/badges/v1/kfd-9/planned.json +14 -0
- package/dist/site/buildchain-contract.json +42 -27
- package/dist/site/buildchain-site.json +62 -11
- package/dist/site/capability-registry.json +6 -5
- package/dist/site/cli-registry.json +12 -0
- package/dist/site/controller-registry.json +16 -4
- package/dist/site/kfd-claims.json +65 -13
- package/dist/site/kfd-upstream-aggregate.json +12 -12
- package/dist/site/manual-registry.json +17 -2
- package/dist/site/node-api-registry.json +17 -4
- package/dist/site/page-registry.json +48 -5
- package/dist/site/public-surface-audit.json +53 -10
- package/dist/site/publication-registry.json +4 -4
- package/dist/site/release-passport-check-manifest.json +28 -2
- package/dist/site/release-provenance.json +2 -0
- package/dist/site/schemas/kfd-agent-hub-adoption.schema.json +116 -0
- package/dist/site/site-manifest.json +14 -6
- package/dist/site/workflow-registry.json +8 -4
- package/docs/MAP.md +2 -0
- package/docs/kfd-agent-hub.md +110 -0
- package/docs/release-candidate.md +7 -0
- package/package.json +4 -2
- package/packages/core/buildchain-kfd-claims.js +1 -0
- package/packages/core/index.js +13 -0
- package/packages/core/kfd-agent-hub.js +496 -0
- package/packages/core/release-passport.js +105 -0
- package/scripts/generate-site-bundle.mjs +8 -0
|
@@ -57,7 +57,20 @@
|
|
|
57
57
|
"publicationUrlSemantics": "https://kfd.libkungfu.dev/schemas/kfd-1/publication-url-semantics.schema.json",
|
|
58
58
|
"candidateRegistry": "https://kfd.libkungfu.dev/schemas/kfd-candidate-registry.schema.json",
|
|
59
59
|
"verificationBundle": "https://kfd.libkungfu.dev/schemas/kfd-verification-bundle.schema.json",
|
|
60
|
-
"verificationReport": "https://kfd.libkungfu.dev/schemas/kfd-verification-report.schema.json"
|
|
60
|
+
"verificationReport": "https://kfd.libkungfu.dev/schemas/kfd-verification-report.schema.json",
|
|
61
|
+
"agentHubManifest": "https://kfd.libkungfu.dev/schemas/kfd-agent-hub/manifest.schema.json",
|
|
62
|
+
"agentHubCapabilities": "https://kfd.libkungfu.dev/schemas/kfd-agent-hub/capabilities.schema.json",
|
|
63
|
+
"agentHubExchange": "https://kfd.libkungfu.dev/schemas/kfd-agent-hub/exchange.schema.json",
|
|
64
|
+
"agentHubConformanceManifest": "https://kfd.libkungfu.dev/schemas/kfd-agent-hub/conformance-manifest.schema.json",
|
|
65
|
+
"agentHubAdapterRequest": "https://kfd.libkungfu.dev/schemas/kfd-agent-hub/adapter-request.schema.json",
|
|
66
|
+
"agentHubAdapterResponse": "https://kfd.libkungfu.dev/schemas/kfd-agent-hub/adapter-response.schema.json",
|
|
67
|
+
"agentHubSuite": "https://kfd.libkungfu.dev/schemas/kfd-agent-hub/suite.schema.json",
|
|
68
|
+
"agentHubReport": "https://kfd.libkungfu.dev/schemas/kfd-agent-hub/report.schema.json",
|
|
69
|
+
"agentRuntimeManifest": "https://kfd.libkungfu.dev/schemas/kfd-agent-runtime/manifest.schema.json",
|
|
70
|
+
"agentRuntimeAdapterRequest": "https://kfd.libkungfu.dev/schemas/kfd-agent-runtime/adapter-request.schema.json",
|
|
71
|
+
"agentRuntimeAdapterResponse": "https://kfd.libkungfu.dev/schemas/kfd-agent-runtime/adapter-response.schema.json",
|
|
72
|
+
"agentRuntimeSuite": "https://kfd.libkungfu.dev/schemas/kfd-agent-runtime/suite.schema.json",
|
|
73
|
+
"agentRuntimeReport": "https://kfd.libkungfu.dev/schemas/kfd-agent-runtime/report.schema.json"
|
|
61
74
|
},
|
|
62
75
|
"schemaPaths": {
|
|
63
76
|
"metadata": "schemas/kfd-standards.schema.json",
|
|
@@ -66,7 +79,20 @@
|
|
|
66
79
|
"publicationUrlSemantics": "schemas/kfd-1/publication-url-semantics.schema.json",
|
|
67
80
|
"candidateRegistry": "schemas/kfd-candidate-registry.schema.json",
|
|
68
81
|
"verificationBundle": "schemas/kfd-verification-bundle.schema.json",
|
|
69
|
-
"verificationReport": "schemas/kfd-verification-report.schema.json"
|
|
82
|
+
"verificationReport": "schemas/kfd-verification-report.schema.json",
|
|
83
|
+
"agentHubManifest": "schemas/kfd-agent-hub/manifest.schema.json",
|
|
84
|
+
"agentHubCapabilities": "schemas/kfd-agent-hub/capabilities.schema.json",
|
|
85
|
+
"agentHubExchange": "schemas/kfd-agent-hub/exchange.schema.json",
|
|
86
|
+
"agentHubConformanceManifest": "schemas/kfd-agent-hub/conformance-manifest.schema.json",
|
|
87
|
+
"agentHubAdapterRequest": "schemas/kfd-agent-hub/adapter-request.schema.json",
|
|
88
|
+
"agentHubAdapterResponse": "schemas/kfd-agent-hub/adapter-response.schema.json",
|
|
89
|
+
"agentHubSuite": "schemas/kfd-agent-hub/suite.schema.json",
|
|
90
|
+
"agentHubReport": "schemas/kfd-agent-hub/report.schema.json",
|
|
91
|
+
"agentRuntimeManifest": "schemas/kfd-agent-runtime/manifest.schema.json",
|
|
92
|
+
"agentRuntimeAdapterRequest": "schemas/kfd-agent-runtime/adapter-request.schema.json",
|
|
93
|
+
"agentRuntimeAdapterResponse": "schemas/kfd-agent-runtime/adapter-response.schema.json",
|
|
94
|
+
"agentRuntimeSuite": "schemas/kfd-agent-runtime/suite.schema.json",
|
|
95
|
+
"agentRuntimeReport": "schemas/kfd-agent-runtime/report.schema.json"
|
|
70
96
|
},
|
|
71
97
|
"compatibility": {
|
|
72
98
|
"packageLine": "v1.0",
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
"./homebrew": "./packages/core/homebrew.js",
|
|
22
22
|
"./issue-reporting": "./packages/core/issue-reporting.js",
|
|
23
23
|
"./kfd": "./packages/core/kfd.js",
|
|
24
|
+
"./kfd-agent-hub": "./packages/core/kfd-agent-hub.js",
|
|
24
25
|
"./buildchain-layout": "./packages/core/buildchain-layout.js",
|
|
25
26
|
"./release-line-bootstrap": "./packages/core/release-line-bootstrap.js",
|
|
26
27
|
"./readme-badges": "./packages/core/readme-badges.js",
|
|
@@ -58,6 +59,7 @@
|
|
|
58
59
|
"./site/artifact-schemas.json": "./dist/site/artifact-schemas.json",
|
|
59
60
|
"./site/release-passport-check-manifest.json": "./dist/site/release-passport-check-manifest.json",
|
|
60
61
|
"./site/schemas/release-passport-v1.schema.json": "./dist/site/schemas/release-passport-v1.schema.json",
|
|
62
|
+
"./site/schemas/kfd-agent-hub-adoption.schema.json": "./dist/site/schemas/kfd-agent-hub-adoption.schema.json",
|
|
61
63
|
"./site/buildchain-contract.json": "./dist/site/buildchain-contract.json",
|
|
62
64
|
"./site/product-mechanism.json": "./dist/site/product-mechanism.json",
|
|
63
65
|
"./site/release-provenance.json": "./dist/site/release-provenance.json",
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://buildchain.libkungfu.dev/schemas/kfd-agent-hub-adoption.schema.json",
|
|
4
|
+
"title": "Buildchain KFD Agent Hub adoption declaration",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": [
|
|
7
|
+
"schemaVersion",
|
|
8
|
+
"contract",
|
|
9
|
+
"profile",
|
|
10
|
+
"adapter",
|
|
11
|
+
"capabilities"
|
|
12
|
+
],
|
|
13
|
+
"properties": {
|
|
14
|
+
"$schema": {
|
|
15
|
+
"const": "https://buildchain.libkungfu.dev/schemas/kfd-agent-hub-adoption.schema.json"
|
|
16
|
+
},
|
|
17
|
+
"schemaVersion": {
|
|
18
|
+
"const": 1
|
|
19
|
+
},
|
|
20
|
+
"contract": {
|
|
21
|
+
"const": "kungfu-buildchain-kfd-agent-hub-adoption/v1"
|
|
22
|
+
},
|
|
23
|
+
"profile": {
|
|
24
|
+
"type": "object",
|
|
25
|
+
"required": [
|
|
26
|
+
"package",
|
|
27
|
+
"id"
|
|
28
|
+
],
|
|
29
|
+
"properties": {
|
|
30
|
+
"package": {
|
|
31
|
+
"const": "@kungfu-tech/kfd"
|
|
32
|
+
},
|
|
33
|
+
"id": {
|
|
34
|
+
"const": "kfd-agent-hub-conformance"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"additionalProperties": false
|
|
38
|
+
},
|
|
39
|
+
"adapter": {
|
|
40
|
+
"type": "object",
|
|
41
|
+
"required": [
|
|
42
|
+
"id",
|
|
43
|
+
"version",
|
|
44
|
+
"path"
|
|
45
|
+
],
|
|
46
|
+
"properties": {
|
|
47
|
+
"id": {
|
|
48
|
+
"type": "string",
|
|
49
|
+
"minLength": 1
|
|
50
|
+
},
|
|
51
|
+
"version": {
|
|
52
|
+
"type": "string",
|
|
53
|
+
"minLength": 1
|
|
54
|
+
},
|
|
55
|
+
"path": {
|
|
56
|
+
"type": "string",
|
|
57
|
+
"minLength": 1
|
|
58
|
+
},
|
|
59
|
+
"args": {
|
|
60
|
+
"type": "array",
|
|
61
|
+
"items": {
|
|
62
|
+
"type": "string"
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
"build": {
|
|
66
|
+
"type": "array",
|
|
67
|
+
"minItems": 1,
|
|
68
|
+
"items": {
|
|
69
|
+
"type": "string",
|
|
70
|
+
"minLength": 1
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
"additionalProperties": false
|
|
75
|
+
},
|
|
76
|
+
"capabilities": {
|
|
77
|
+
"type": "object",
|
|
78
|
+
"required": [
|
|
79
|
+
"operations",
|
|
80
|
+
"topologies",
|
|
81
|
+
"hubBindings"
|
|
82
|
+
],
|
|
83
|
+
"properties": {
|
|
84
|
+
"operations": {
|
|
85
|
+
"type": "array",
|
|
86
|
+
"minItems": 1,
|
|
87
|
+
"uniqueItems": true,
|
|
88
|
+
"items": {
|
|
89
|
+
"type": "string",
|
|
90
|
+
"minLength": 1
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
"topologies": {
|
|
94
|
+
"type": "array",
|
|
95
|
+
"minItems": 1,
|
|
96
|
+
"uniqueItems": true,
|
|
97
|
+
"items": {
|
|
98
|
+
"type": "string",
|
|
99
|
+
"minLength": 1
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
"hubBindings": {
|
|
103
|
+
"type": "array",
|
|
104
|
+
"minItems": 1,
|
|
105
|
+
"uniqueItems": true,
|
|
106
|
+
"items": {
|
|
107
|
+
"type": "string",
|
|
108
|
+
"minLength": 1
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
"additionalProperties": false
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
"additionalProperties": false
|
|
116
|
+
}
|
|
@@ -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-22T05:34:20.599Z",
|
|
5
|
+
"publishedAt": "2026-07-22T05:34:20.599Z",
|
|
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": "69360fc86fffa4c07b4966a4173af0e770aa4df3",
|
|
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.14-alpha.
|
|
40
|
+
"version": "2.14.14-alpha.5",
|
|
41
41
|
"versionSource": "package.json#version"
|
|
42
42
|
},
|
|
43
43
|
"entrypoint": "buildchain-site.json",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"path": "docs/MAP.md",
|
|
54
54
|
"plane": "use",
|
|
55
55
|
"exists": true,
|
|
56
|
-
"digest": "sha256:
|
|
56
|
+
"digest": "sha256:7f007a9d295d597dfc5b1447629ab0d6bf2b3fa3d625b02d27abf7493d73bb40"
|
|
57
57
|
},
|
|
58
58
|
{
|
|
59
59
|
"id": "install",
|
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
"path": "docs/release-candidate.md",
|
|
94
94
|
"plane": "verify",
|
|
95
95
|
"exists": true,
|
|
96
|
-
"digest": "sha256:
|
|
96
|
+
"digest": "sha256:15bfe69e1da8c9bf7310c5cd89968d206886a25447f71fdc7cd58db2af0c7608"
|
|
97
97
|
},
|
|
98
98
|
{
|
|
99
99
|
"id": "release-propagation",
|
|
@@ -207,6 +207,14 @@
|
|
|
207
207
|
"exists": true,
|
|
208
208
|
"digest": "sha256:ab15de33a1a9e292b6da74c00b8b96b7c46330d0553a454d1de4c24c672fc025"
|
|
209
209
|
},
|
|
210
|
+
{
|
|
211
|
+
"id": "kfd-agent-hub",
|
|
212
|
+
"title": "KFD Agent Hub Builder flow",
|
|
213
|
+
"path": "docs/kfd-agent-hub.md",
|
|
214
|
+
"plane": "use",
|
|
215
|
+
"exists": true,
|
|
216
|
+
"digest": "sha256:7528f8a11c7fe67b350c0dd380b77d724c2d9e0001b4427949ee1c6012735d49"
|
|
217
|
+
},
|
|
210
218
|
{
|
|
211
219
|
"id": "lifecycle-protocol",
|
|
212
220
|
"title": "Lifecycle protocol",
|
|
@@ -66,6 +66,7 @@
|
|
|
66
66
|
"expected-artifacts-json",
|
|
67
67
|
"gate-profile-aggregate-json",
|
|
68
68
|
"install-command",
|
|
69
|
+
"kfd-agent-hub",
|
|
69
70
|
"lifecycle-timeout-minutes",
|
|
70
71
|
"linux-container-image",
|
|
71
72
|
"linux-container-preset",
|
|
@@ -97,7 +98,7 @@
|
|
|
97
98
|
"verify-command",
|
|
98
99
|
"working-directory"
|
|
99
100
|
],
|
|
100
|
-
"inputCount":
|
|
101
|
+
"inputCount": 60,
|
|
101
102
|
"secrets": [
|
|
102
103
|
"BUILDCHAIN_ARTIFACT_RELAY_S3_DOWNLOAD_ROLE_ARN",
|
|
103
104
|
"BUILDCHAIN_ARTIFACT_RELAY_S3_ROLE_ARN",
|
|
@@ -342,11 +343,12 @@
|
|
|
342
343
|
"required-artifact-count",
|
|
343
344
|
"required-status-check",
|
|
344
345
|
"runner-preset",
|
|
346
|
+
"standalone-binary-distribution",
|
|
345
347
|
"target-ref",
|
|
346
348
|
"target-sha",
|
|
347
349
|
"trusted-publishing"
|
|
348
350
|
],
|
|
349
|
-
"inputCount":
|
|
351
|
+
"inputCount": 73,
|
|
350
352
|
"secrets": [
|
|
351
353
|
"BUILDCHAIN_ISSUE_APP_ID",
|
|
352
354
|
"BUILDCHAIN_ISSUE_APP_PRIVATE_KEY",
|
|
@@ -836,6 +838,7 @@
|
|
|
836
838
|
"expected-artifacts-json",
|
|
837
839
|
"gate-profile-aggregate-json",
|
|
838
840
|
"install-command",
|
|
841
|
+
"kfd-agent-hub",
|
|
839
842
|
"lifecycle-timeout-minutes",
|
|
840
843
|
"linux-container-image",
|
|
841
844
|
"linux-container-preset",
|
|
@@ -867,7 +870,7 @@
|
|
|
867
870
|
"verify-command",
|
|
868
871
|
"working-directory"
|
|
869
872
|
],
|
|
870
|
-
"inputCount":
|
|
873
|
+
"inputCount": 63,
|
|
871
874
|
"secrets": [
|
|
872
875
|
"BUILDCHAIN_ARTIFACT_RELAY_S3_DOWNLOAD_ROLE_ARN",
|
|
873
876
|
"BUILDCHAIN_ARTIFACT_RELAY_S3_ROLE_ARN",
|
|
@@ -1520,11 +1523,12 @@
|
|
|
1520
1523
|
"required-artifact-count",
|
|
1521
1524
|
"required-status-check",
|
|
1522
1525
|
"runner-preset",
|
|
1526
|
+
"standalone-binary-distribution",
|
|
1523
1527
|
"target-ref",
|
|
1524
1528
|
"target-sha",
|
|
1525
1529
|
"trusted-publishing"
|
|
1526
1530
|
],
|
|
1527
|
-
"inputCount":
|
|
1531
|
+
"inputCount": 65,
|
|
1528
1532
|
"secrets": [
|
|
1529
1533
|
"BUILDCHAIN_ISSUE_APP_ID",
|
|
1530
1534
|
"BUILDCHAIN_ISSUE_APP_PRIVATE_KEY",
|
package/docs/MAP.md
CHANGED
|
@@ -44,6 +44,7 @@ workflow, action, and Node API export also carries a `capabilityGroup`,
|
|
|
44
44
|
| Product invariant Passport release gate | `buildchain.release.json#invariantPassports`, `dist/site/buildchain-contract.json` | [`release-passport.md`](release-passport.md) |
|
|
45
45
|
| KFD-3 public surface reverse audit | `dist/site/public-surface-audit.json`, `dist/site/cli-registry.json`, `dist/site/workflow-registry.json`, `dist/site/page-registry.json` | [`cli.md`](cli.md), [`site-bundle-contract.md`](site-bundle-contract.md) |
|
|
46
46
|
| KFD-1 / KFD-2 / KFD-3 first-class CLI and Node API | `.buildchain/kfd/kfd-3/surfaces.json`, `dist/site/kfd-claims.json`, `buildchain.release.json`, KFD schemas from `@kungfu-tech/kfd` | [`kfd-support.md`](kfd-support.md), [`cli.md`](cli.md#commands) |
|
|
47
|
+
| Declarative KFD Agent Hub adapter conformance and Passport evidence | `.buildchain/kfd/agent-hub.json`, `.buildchain/artifacts/kfd-agent-hub/evidence.json`, `buildchain.release.json#kfdAgentHub` | [`kfd-agent-hub.md`](kfd-agent-hub.md) |
|
|
47
48
|
| Floating `@v2` drift detection and compatibility issues | `dist/site/buildchain-contract.json` | [`reusable-build-surface.md`](reusable-build-surface.md#floating-ref-contract-lock) |
|
|
48
49
|
| npm publish transactions, evidence, dist-tags, and recovery | `dist/site/release-model.json`, `dist/site/artifact-schemas.json` | [`publish-transaction.md`](publish-transaction.md) |
|
|
49
50
|
| Git/source/version/module/product build facts | `dist/site/node-api-registry.json`, `dist/site/cli-registry.json`, `kungfu-buildchain-module-build-facts`, `kungfu-buildchain-product-build-facts` | [`build-facts.md`](build-facts.md) |
|
|
@@ -89,6 +90,7 @@ replace them.
|
|
|
89
90
|
| How do I declare, render, and audit product KFD-2 release trust claims? | [`kfd-support.md`](kfd-support.md#kfd-2) + [`release-passport.md`](release-passport.md#kfd-2-release-trust-passport-audit) + [`cli.md`](cli.md) | verify/use | stable |
|
|
90
91
|
| How do I gate KFD-3 collaboration-interface releases? | [`release-passport.md`](release-passport.md#kfd-3-collaboration-interface-release-gate) + [`cli.md`](cli.md) | verify/use | stable |
|
|
91
92
|
| How do I detect, register, audit, witness, or query KFD-3 product surfaces? | [`kfd-support.md`](kfd-support.md) + [`cli.md`](cli.md) | verify/use | stable |
|
|
93
|
+
| How do I adopt the KFD Agent Hub profile with one declaration and one adapter? | [`kfd-agent-hub.md`](kfd-agent-hub.md) | verify/use | preview |
|
|
92
94
|
| How do I keep `@v2` floating refs while detecting Buildchain contract drift? | [`reusable-build-surface.md`](reusable-build-surface.md#floating-ref-contract-lock) | verify/use | stable |
|
|
93
95
|
| How do reusable workflows bind controller intent, source/runtime identity, outcomes, and receipt evidence? | [`controller-evidence.md`](controller-evidence.md) | verify/use | draft |
|
|
94
96
|
| How do I propagate finalized upstream releases to downstream package/site PRs? | [`release-propagation.md`](release-propagation.md) | use | preview |
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# KFD Agent Hub Builder Flow
|
|
2
|
+
|
|
3
|
+
Buildchain reduces Agent Hub adoption to one consumer declaration and one
|
|
4
|
+
adapter artifact. KFD owns the conformance profile, fixed suite, runner,
|
|
5
|
+
verifier, report schema, and failure codes. Buildchain owns orchestration,
|
|
6
|
+
source-cut locking, declaration-to-observation comparison, workflow artifacts,
|
|
7
|
+
agent explanations, and Release Passport binding.
|
|
8
|
+
|
|
9
|
+
## Declare one adapter
|
|
10
|
+
|
|
11
|
+
Create `.buildchain/kfd/agent-hub.json`:
|
|
12
|
+
|
|
13
|
+
```json
|
|
14
|
+
{
|
|
15
|
+
"$schema": "https://buildchain.libkungfu.dev/schemas/kfd-agent-hub-adoption.schema.json",
|
|
16
|
+
"schemaVersion": 1,
|
|
17
|
+
"contract": "kungfu-buildchain-kfd-agent-hub-adoption/v1",
|
|
18
|
+
"profile": {
|
|
19
|
+
"package": "@kungfu-tech/kfd",
|
|
20
|
+
"id": "kfd-agent-hub-conformance"
|
|
21
|
+
},
|
|
22
|
+
"adapter": {
|
|
23
|
+
"id": "example-agent-hub-adapter",
|
|
24
|
+
"version": "0.1.0",
|
|
25
|
+
"path": "dist/agent-hub-adapter.mjs",
|
|
26
|
+
"build": ["pnpm", "run", "build:agent-hub"]
|
|
27
|
+
},
|
|
28
|
+
"capabilities": {
|
|
29
|
+
"operations": ["capability-advertisement", "fact-admission"],
|
|
30
|
+
"topologies": ["local-peer"],
|
|
31
|
+
"hubBindings": ["local-file-bundle"]
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
`adapter.build` is an argv array, not a shell command. Buildchain does not
|
|
37
|
+
accept a consumer-provided verifier command. It always invokes the installed
|
|
38
|
+
KFD package's fixed public commands:
|
|
39
|
+
|
|
40
|
+
```text
|
|
41
|
+
kfd test agent-hub --adapter <entry> --output <report.json>
|
|
42
|
+
kfd verify agent-hub-report <report.json> --adapter <entry> --json
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
`jsonl-stdio/v1` is the KFD runner-to-adapter invocation binding. It is locked
|
|
46
|
+
from the KFD profile and is deliberately separate from
|
|
47
|
+
`capabilities.hubBindings`, which declares product transport or file bindings
|
|
48
|
+
such as `local-file-bundle`.
|
|
49
|
+
|
|
50
|
+
## Inspect, test, and explain
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
buildchain kfd hub init --write
|
|
54
|
+
buildchain kfd hub inspect --for agent
|
|
55
|
+
buildchain kfd hub test --for agent
|
|
56
|
+
buildchain kfd hub explain --for agent
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
`inspect` resolves the installed `@kungfu-tech/kfd` package and locks its exact
|
|
60
|
+
package version, package manifest, release anchor, profile manifest, protocol
|
|
61
|
+
manifest, fixed suite root, failure inventory root, declaration, and adapter
|
|
62
|
+
artifact. Placeholder roots and KFD packages without the public Agent Hub
|
|
63
|
+
profile fail closed.
|
|
64
|
+
|
|
65
|
+
`test` runs the declared adapter build, delegates all semantic decisions to
|
|
66
|
+
KFD, verifies the KFD report, and then checks that every observed Hub
|
|
67
|
+
capability document exactly matches the declared operations, topologies, and
|
|
68
|
+
Hub bindings. Scope widening is a failure.
|
|
69
|
+
|
|
70
|
+
Evidence is written under `.buildchain/artifacts/kfd-agent-hub/`:
|
|
71
|
+
|
|
72
|
+
- `report.json`: the KFD-owned Agent Hub report.
|
|
73
|
+
- `adoption-lock.json`: exact KFD cut, declaration, adapter, and capability lock.
|
|
74
|
+
- `verification.json`: Buildchain's binding of the KFD verifier verdict to the lock.
|
|
75
|
+
- `evidence.json`: the portable, nonqualifying, non-certifying release evidence index.
|
|
76
|
+
|
|
77
|
+
The evidence proves only the named adapter artifact, KFD package cut, platform,
|
|
78
|
+
fixed suite, observed capability documents, and retained residual risks. It is
|
|
79
|
+
not KFD certification, a security assessment, or production-fitness evidence.
|
|
80
|
+
|
|
81
|
+
## Use the reusable workflow
|
|
82
|
+
|
|
83
|
+
```yaml
|
|
84
|
+
jobs:
|
|
85
|
+
build:
|
|
86
|
+
uses: kungfu-systems/buildchain/.github/workflows/build.yml@v2
|
|
87
|
+
with:
|
|
88
|
+
kfd-agent-hub: auto
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
`auto` runs the fixed Builder flow after the consumer verify lifecycle on every
|
|
92
|
+
selected platform and uploads
|
|
93
|
+
`<artifact>-kfd-agent-hub-<platform>-<source-sha>`. `off` is the default.
|
|
94
|
+
|
|
95
|
+
## Bind Release Passport
|
|
96
|
+
|
|
97
|
+
Pass the generated evidence index to the normal collector:
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
buildchain collect github-release \
|
|
101
|
+
--tag "$TAG" \
|
|
102
|
+
--assets-dir dist \
|
|
103
|
+
--kfd-agent-hub-evidence-json .buildchain/artifacts/kfd-agent-hub/evidence.json
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
The collector embeds a `kfdAgentHub` section and bundles
|
|
107
|
+
`kfd-agent-hub-evidence.json`. `buildchain verify release-passport` resolves
|
|
108
|
+
that sibling asset and rejects report, lock, source-cut, scope, or claim-boundary
|
|
109
|
+
tampering.
|
|
110
|
+
|
|
@@ -121,6 +121,13 @@ For anchored/manual package releases, the public GitHub Release tag defaults to
|
|
|
121
121
|
`v<publishedVersion>` while the internal transaction exact tag remains recorded
|
|
122
122
|
in the release passport.
|
|
123
123
|
|
|
124
|
+
Standalone binary publication is a separate consumer capability. The promotion
|
|
125
|
+
wrapper does not assume that an npm-only repository provides
|
|
126
|
+
`.github/workflows/binary-distribution.yml`. Repositories that own that workflow
|
|
127
|
+
opt in with `standalone-binary-distribution: true`; Buildchain's self-promotion
|
|
128
|
+
does so explicitly. Once enabled, a missing or invalid binary workflow remains a
|
|
129
|
+
hard failure rather than being silently skipped.
|
|
130
|
+
|
|
124
131
|
Products that publish KFD release trust evidence can keep that path declarative
|
|
125
132
|
too. Pass KFD-1 self contract witnesses, KFD-2 public claim files, and KFD-3
|
|
126
133
|
pre-build/artifact evidence into the wrapper:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kungfu-tech/buildchain",
|
|
3
|
-
"version": "2.14.14-alpha.
|
|
3
|
+
"version": "2.14.14-alpha.5",
|
|
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",
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
"./homebrew": "./packages/core/homebrew.js",
|
|
25
25
|
"./issue-reporting": "./packages/core/issue-reporting.js",
|
|
26
26
|
"./kfd": "./packages/core/kfd.js",
|
|
27
|
+
"./kfd-agent-hub": "./packages/core/kfd-agent-hub.js",
|
|
27
28
|
"./buildchain-layout": "./packages/core/buildchain-layout.js",
|
|
28
29
|
"./release-line-bootstrap": "./packages/core/release-line-bootstrap.js",
|
|
29
30
|
"./readme-badges": "./packages/core/readme-badges.js",
|
|
@@ -61,6 +62,7 @@
|
|
|
61
62
|
"./site/artifact-schemas.json": "./dist/site/artifact-schemas.json",
|
|
62
63
|
"./site/release-passport-check-manifest.json": "./dist/site/release-passport-check-manifest.json",
|
|
63
64
|
"./site/schemas/release-passport-v1.schema.json": "./dist/site/schemas/release-passport-v1.schema.json",
|
|
65
|
+
"./site/schemas/kfd-agent-hub-adoption.schema.json": "./dist/site/schemas/kfd-agent-hub-adoption.schema.json",
|
|
64
66
|
"./site/buildchain-contract.json": "./dist/site/buildchain-contract.json",
|
|
65
67
|
"./site/product-mechanism.json": "./dist/site/product-mechanism.json",
|
|
66
68
|
"./site/release-provenance.json": "./dist/site/release-provenance.json",
|
|
@@ -108,7 +110,7 @@
|
|
|
108
110
|
"vitest": "^4.1.9"
|
|
109
111
|
},
|
|
110
112
|
"dependencies": {
|
|
111
|
-
"@kungfu-tech/kfd": "1.0.0-alpha.
|
|
113
|
+
"@kungfu-tech/kfd": "1.0.0-alpha.41",
|
|
112
114
|
"smol-toml": "1.7.0"
|
|
113
115
|
}
|
|
114
116
|
}
|
|
@@ -32,6 +32,7 @@ export const BUILDCHAIN_AGENT_MANUALS = Object.freeze([
|
|
|
32
32
|
{ id: "cli", title: "CLI and npm package", path: "docs/cli.md", plane: "use" },
|
|
33
33
|
{ id: "build-facts", title: "Build Facts", path: "docs/build-facts.md", plane: "use" },
|
|
34
34
|
{ id: "kfd-support", title: "KFD support and KFD-3 surface registration", path: "docs/kfd-support.md", plane: "verify" },
|
|
35
|
+
{ id: "kfd-agent-hub", title: "KFD Agent Hub Builder flow", path: "docs/kfd-agent-hub.md", plane: "use" },
|
|
35
36
|
{ id: "lifecycle-protocol", title: "Lifecycle protocol", path: "docs/lifecycle-protocol.md", plane: "use" },
|
|
36
37
|
{ id: "reusable-build-surface", title: "Reusable build surface", path: "docs/reusable-build-surface.md", plane: "use" },
|
|
37
38
|
{ id: "publish-transaction", title: "Publish transaction", path: "docs/publish-transaction.md", plane: "verify" },
|
package/packages/core/index.js
CHANGED
|
@@ -327,6 +327,19 @@ export {
|
|
|
327
327
|
verifyReleasePassport,
|
|
328
328
|
} from "./release-passport.js";
|
|
329
329
|
|
|
330
|
+
export {
|
|
331
|
+
KFD_AGENT_HUB_ADOPTION_CONTRACT,
|
|
332
|
+
KFD_AGENT_HUB_ADOPTION_SCHEMA,
|
|
333
|
+
KFD_AGENT_HUB_DECLARATION,
|
|
334
|
+
KFD_AGENT_HUB_LOCK_CONTRACT,
|
|
335
|
+
KFD_AGENT_HUB_OUTPUT_DIR,
|
|
336
|
+
KFD_AGENT_HUB_VERIFICATION_CONTRACT,
|
|
337
|
+
explainKfdAgentHub,
|
|
338
|
+
initKfdAgentHub,
|
|
339
|
+
inspectKfdAgentHub,
|
|
340
|
+
testKfdAgentHub,
|
|
341
|
+
} from "./kfd-agent-hub.js";
|
|
342
|
+
|
|
330
343
|
export {
|
|
331
344
|
RELEASE_PASSPORT_CHECK_MANIFEST_CONTRACT,
|
|
332
345
|
RELEASE_PASSPORT_SCHEMA,
|