@kungfu-tech/buildchain 2.8.2-alpha.1 → 2.8.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.
- package/actions/promote-buildchain-ref/README.md +8 -0
- package/dist/site/agent-index.json +4 -1
- package/dist/site/artifact-schemas.json +3 -0
- package/dist/site/buildchain-contract.json +63 -11
- package/dist/site/buildchain-site.json +46 -16
- package/dist/site/kfd-claims.json +786 -0
- package/dist/site/manual-registry.json +132 -0
- package/dist/site/node-api-registry.json +93 -0
- package/dist/site/release-model.json +11 -0
- package/dist/site/release-provenance.json +4 -0
- package/dist/site/site-manifest.json +35 -16
- package/docs/MAP.md +21 -0
- package/docs/cli.md +25 -0
- package/docs/release-candidate.md +7 -7
- package/docs/release-governance.md +15 -7
- package/docs/release-passport.md +36 -0
- package/docs/site-bundle-contract.md +19 -1
- package/package.json +5 -1
- package/packages/core/buildchain-contract.js +37 -0
- package/packages/core/buildchain-kfd-claims.js +488 -0
- package/packages/core/index.js +13 -0
- package/scripts/check-inventory.mjs +76 -7
- package/scripts/ensure-github-release.mjs +9 -1
- package/scripts/generate-buildchain-kfd-witnesses.mjs +116 -0
- package/scripts/generate-site-bundle.mjs +105 -21
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"contract": "kungfu-buildchain-agent-manual-registry",
|
|
4
|
+
"package": "@kungfu-tech/buildchain",
|
|
5
|
+
"source": "npm package docs/",
|
|
6
|
+
"manuals": [
|
|
7
|
+
{
|
|
8
|
+
"id": "install",
|
|
9
|
+
"title": "Install and verify Buildchain",
|
|
10
|
+
"path": "docs/install.md",
|
|
11
|
+
"plane": "use",
|
|
12
|
+
"digest": "sha256:34bc161a26595f95684694d341616e47bfd65b0c51a63225e68a575179636175"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"id": "release-passport",
|
|
16
|
+
"title": "Release Passport protocol",
|
|
17
|
+
"path": "docs/release-passport.md",
|
|
18
|
+
"plane": "verify",
|
|
19
|
+
"digest": "sha256:4d69798646adb84c6d193b1f32e7dc50e389db8932e63e9cb71489b6015e0333"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"id": "release-propagation",
|
|
23
|
+
"title": "Release propagation",
|
|
24
|
+
"path": "docs/release-propagation.md",
|
|
25
|
+
"plane": "use",
|
|
26
|
+
"digest": "sha256:10c2bb3bc4ebd692c49fa55f286b77ed3e8caa1526298ad910c00fc80251a893"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"id": "binary-distribution",
|
|
30
|
+
"title": "Binary distribution contract",
|
|
31
|
+
"path": "docs/binary-distribution.md",
|
|
32
|
+
"plane": "verify",
|
|
33
|
+
"digest": "sha256:36899140a9b2e9ce1565ed41f3d64f73a8829fad3d59a04b9498d9479c85c4be"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"id": "toolkit-observability",
|
|
37
|
+
"title": "Toolkit observability",
|
|
38
|
+
"path": "docs/toolkit-observability.md",
|
|
39
|
+
"plane": "use",
|
|
40
|
+
"digest": "sha256:239949a75ca81b6002a2e148f7028402dbd98c00e246acd8d0955855781206a1"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"id": "site-bundle-contract",
|
|
44
|
+
"title": "Site bundle contract",
|
|
45
|
+
"path": "docs/site-bundle-contract.md",
|
|
46
|
+
"plane": "use",
|
|
47
|
+
"digest": "sha256:e6b4f2e76c713063ff750b0a8d6d96595addae2fd48f913744dc86559add0641"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"id": "product-mechanism",
|
|
51
|
+
"title": "Product mechanism",
|
|
52
|
+
"path": "docs/product-mechanism.md",
|
|
53
|
+
"plane": "why",
|
|
54
|
+
"digest": "sha256:da50022f96f8876bb275a7832190cb1f6ab0fa6aab9d045dda924a7abddc3edf"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"id": "cli",
|
|
58
|
+
"title": "CLI and npm package",
|
|
59
|
+
"path": "docs/cli.md",
|
|
60
|
+
"plane": "use",
|
|
61
|
+
"digest": "sha256:a8a348181d6419b746e863d1cacc9d6a91aa6ac5cc2b60819843d44487957c49"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"id": "lifecycle-protocol",
|
|
65
|
+
"title": "Lifecycle protocol",
|
|
66
|
+
"path": "docs/lifecycle-protocol.md",
|
|
67
|
+
"plane": "use",
|
|
68
|
+
"digest": "sha256:02e1be97935c0d9520ea22e8ef0dc61d9b860c347f07127074600cdca02713ce"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"id": "reusable-build-surface",
|
|
72
|
+
"title": "Reusable build surface",
|
|
73
|
+
"path": "docs/reusable-build-surface.md",
|
|
74
|
+
"plane": "use",
|
|
75
|
+
"digest": "sha256:e5b2222fddd0624b6aff1c999bb156df26eebbd7b365ec65ef3622611dc055ea"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"id": "publish-transaction",
|
|
79
|
+
"title": "Publish transaction",
|
|
80
|
+
"path": "docs/publish-transaction.md",
|
|
81
|
+
"plane": "verify",
|
|
82
|
+
"digest": "sha256:dd45cf98f0847e3968f150a09bed84aa1f59cb2687ac988e9519f08dc9c91877"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"id": "release-governance",
|
|
86
|
+
"title": "Release governance",
|
|
87
|
+
"path": "docs/release-governance.md",
|
|
88
|
+
"plane": "why",
|
|
89
|
+
"digest": "sha256:8aab1af617e511011974cb63f04240463fc99c427cb3b29e5f5d385c88620464"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"id": "release-flow",
|
|
93
|
+
"title": "Release flow",
|
|
94
|
+
"path": "docs/release-flow.md",
|
|
95
|
+
"plane": "verify",
|
|
96
|
+
"digest": "sha256:0a2f46501a64905067cc5872b45ac4824f9e632d59bfdfb2f6a794dfc5f959ea"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"id": "versioning",
|
|
100
|
+
"title": "Versioning",
|
|
101
|
+
"path": "docs/versioning.md",
|
|
102
|
+
"plane": "why",
|
|
103
|
+
"digest": "sha256:77b92fc979cc100beab3f8a13cd791dea992737b986ace505104edff4810a296"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"id": "web-surface-deployments",
|
|
107
|
+
"title": "Web surface deployments",
|
|
108
|
+
"path": "docs/web-surface-deployments.md",
|
|
109
|
+
"plane": "use",
|
|
110
|
+
"digest": "sha256:614aea65d745e8978d8329545753adf13b8914f84fe35b0148abbd1aff0c0dc2"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"id": "infra-contract",
|
|
114
|
+
"title": "Infra Contract",
|
|
115
|
+
"path": "docs/infra-contract.md",
|
|
116
|
+
"plane": "use",
|
|
117
|
+
"digest": "sha256:7826e8c70ac2d90ddd8d4e38bcdd1bcfa36eef5106431d7ad94b2fe9c8d3d5dc"
|
|
118
|
+
}
|
|
119
|
+
],
|
|
120
|
+
"requiredAgentManuals": [
|
|
121
|
+
"docs/MAP.md",
|
|
122
|
+
"docs/install.md",
|
|
123
|
+
"docs/cli.md",
|
|
124
|
+
"docs/reusable-build-surface.md",
|
|
125
|
+
"docs/release-candidate.md",
|
|
126
|
+
"docs/release-governance.md",
|
|
127
|
+
"docs/release-passport.md",
|
|
128
|
+
"docs/publish-transaction.md",
|
|
129
|
+
"docs/site-bundle-contract.md"
|
|
130
|
+
],
|
|
131
|
+
"guidance": "Agent consumers should use this registry to find packaged Buildchain manuals before inferring behavior from workflow snippets or release notes."
|
|
132
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"contract": "kungfu-buildchain-node-api-registry",
|
|
4
|
+
"package": "@kungfu-tech/buildchain",
|
|
5
|
+
"moduleSystem": "module",
|
|
6
|
+
"exports": [
|
|
7
|
+
{
|
|
8
|
+
"specifier": "@kungfu-tech/buildchain",
|
|
9
|
+
"export": ".",
|
|
10
|
+
"target": "./packages/core/index.js",
|
|
11
|
+
"digest": "sha256:cfbe85e8fcac0f1c525ed99d9d488898575d9ea21cc7855e454b55df49cd2e0e"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"specifier": "@kungfu-tech/buildchain/core",
|
|
15
|
+
"export": "./core",
|
|
16
|
+
"target": "./packages/core/index.js",
|
|
17
|
+
"digest": "sha256:cfbe85e8fcac0f1c525ed99d9d488898575d9ea21cc7855e454b55df49cd2e0e"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"specifier": "@kungfu-tech/buildchain/artifact-passport",
|
|
21
|
+
"export": "./artifact-passport",
|
|
22
|
+
"target": "./packages/core/artifact-passport.js",
|
|
23
|
+
"digest": "sha256:2f882bf245658fb7a204004d7aa3a22f7e34816e4ba101fb0969a002d05fc12c"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"specifier": "@kungfu-tech/buildchain/buildchain-contract",
|
|
27
|
+
"export": "./buildchain-contract",
|
|
28
|
+
"target": "./packages/core/buildchain-contract.js",
|
|
29
|
+
"digest": "sha256:0ec4fb82b4a01f303688a74e020e6b718db248cf0470be25d088e7d669e38679"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"specifier": "@kungfu-tech/buildchain/diagnostics",
|
|
33
|
+
"export": "./diagnostics",
|
|
34
|
+
"target": "./packages/core/diagnostics.js",
|
|
35
|
+
"digest": "sha256:d447f864c719632872c9d90f0e30e2b6d45311bc5115d4f3c661d21164d75ebc"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"specifier": "@kungfu-tech/buildchain/issue-reporting",
|
|
39
|
+
"export": "./issue-reporting",
|
|
40
|
+
"target": "./packages/core/issue-reporting.js",
|
|
41
|
+
"digest": "sha256:d6e0a450a52b7a4fba84bff855d5370e0cfa2ec3c4be737b3c9099a72f705e2d"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"specifier": "@kungfu-tech/buildchain/logging",
|
|
45
|
+
"export": "./logging",
|
|
46
|
+
"target": "./packages/core/logging.js",
|
|
47
|
+
"digest": "sha256:8cc29b88dc7968de3b43d495b54c0b53f90984beb85883705d764c40d4da1b4e"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"specifier": "@kungfu-tech/buildchain/kfd-gate",
|
|
51
|
+
"export": "./kfd-gate",
|
|
52
|
+
"target": "./packages/core/kfd-gate.js",
|
|
53
|
+
"digest": "sha256:6a99ee108c385837ee9f1dbb75848f6ea434b6474977e6e567ae81f8fc9a555c"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"specifier": "@kungfu-tech/buildchain/release-candidate",
|
|
57
|
+
"export": "./release-candidate",
|
|
58
|
+
"target": "./packages/core/release-candidate.js",
|
|
59
|
+
"digest": "sha256:0aa35ae7482fdb9543214275118da7111c6592b715d2622c525f83f253e5d6dc"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"specifier": "@kungfu-tech/buildchain/release-passport",
|
|
63
|
+
"export": "./release-passport",
|
|
64
|
+
"target": "./packages/core/release-passport.js",
|
|
65
|
+
"digest": "sha256:22017d4cbe0d89aecfcada7b93f5cdf2935837b2236ae4aeff23f19dbf3d26cb"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"specifier": "@kungfu-tech/buildchain/release-propagation",
|
|
69
|
+
"export": "./release-propagation",
|
|
70
|
+
"target": "./packages/core/release-propagation.js",
|
|
71
|
+
"digest": "sha256:1960be557e57d738cb242ccf3df9ad41cdf156037648a7ab584905b6629f5840"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"specifier": "@kungfu-tech/buildchain/buildchain-kfd-claims",
|
|
75
|
+
"export": "./buildchain-kfd-claims",
|
|
76
|
+
"target": "./packages/core/buildchain-kfd-claims.js",
|
|
77
|
+
"digest": "sha256:03e866a7cf7b9d84c71c2353a0865b301a8656dcbaeb67ea47813897f44a0bbc"
|
|
78
|
+
}
|
|
79
|
+
],
|
|
80
|
+
"docs": [
|
|
81
|
+
{
|
|
82
|
+
"id": "cli-and-node-package",
|
|
83
|
+
"path": "docs/cli.md",
|
|
84
|
+
"digest": "sha256:a8a348181d6419b746e863d1cacc9d6a91aa6ac5cc2b60819843d44487957c49"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"id": "site-bundle-contract",
|
|
88
|
+
"path": "docs/site-bundle-contract.md",
|
|
89
|
+
"digest": "sha256:e6b4f2e76c713063ff750b0a8d6d96595addae2fd48f913744dc86559add0641"
|
|
90
|
+
}
|
|
91
|
+
],
|
|
92
|
+
"guidance": "These are the public Node import surfaces shipped by the npm package. Agents should prefer these exports over internal file paths."
|
|
93
|
+
}
|
|
@@ -33,5 +33,16 @@
|
|
|
33
33
|
"versionSource": "package.json#version",
|
|
34
34
|
"alphaDistTag": "alpha",
|
|
35
35
|
"stableDistTag": "latest"
|
|
36
|
+
},
|
|
37
|
+
"githubRelease": {
|
|
38
|
+
"exactTagRelease": true,
|
|
39
|
+
"prereleaseTags": "semver prerelease tags set prerelease=true and make_latest=false",
|
|
40
|
+
"stableTags": "stable semver tags set make_latest=true",
|
|
41
|
+
"evidenceAssets": [
|
|
42
|
+
"publish evidence JSON",
|
|
43
|
+
"buildchain.release.json",
|
|
44
|
+
"release passport assets"
|
|
45
|
+
],
|
|
46
|
+
"owner": "promote-buildchain-ref"
|
|
36
47
|
}
|
|
37
48
|
}
|
|
@@ -19,9 +19,13 @@
|
|
|
19
19
|
"./release-candidate": "./packages/core/release-candidate.js",
|
|
20
20
|
"./release-passport": "./packages/core/release-passport.js",
|
|
21
21
|
"./release-propagation": "./packages/core/release-propagation.js",
|
|
22
|
+
"./buildchain-kfd-claims": "./packages/core/buildchain-kfd-claims.js",
|
|
22
23
|
"./site/buildchain-site.json": "./dist/site/buildchain-site.json",
|
|
23
24
|
"./site/site-manifest.json": "./dist/site/site-manifest.json",
|
|
24
25
|
"./site/cli-registry.json": "./dist/site/cli-registry.json",
|
|
26
|
+
"./site/manual-registry.json": "./dist/site/manual-registry.json",
|
|
27
|
+
"./site/node-api-registry.json": "./dist/site/node-api-registry.json",
|
|
28
|
+
"./site/kfd-claims.json": "./dist/site/kfd-claims.json",
|
|
25
29
|
"./site/workflow-registry.json": "./dist/site/workflow-registry.json",
|
|
26
30
|
"./site/release-model.json": "./dist/site/release-model.json",
|
|
27
31
|
"./site/artifact-schemas.json": "./dist/site/artifact-schemas.json",
|
|
@@ -17,121 +17,140 @@
|
|
|
17
17
|
"title": "Install and verify Buildchain",
|
|
18
18
|
"path": "docs/install.md",
|
|
19
19
|
"plane": "use",
|
|
20
|
-
"exists": true
|
|
20
|
+
"exists": true,
|
|
21
|
+
"digest": "sha256:34bc161a26595f95684694d341616e47bfd65b0c51a63225e68a575179636175"
|
|
21
22
|
},
|
|
22
23
|
{
|
|
23
24
|
"id": "release-passport",
|
|
24
25
|
"title": "Release Passport protocol",
|
|
25
26
|
"path": "docs/release-passport.md",
|
|
26
27
|
"plane": "verify",
|
|
27
|
-
"exists": true
|
|
28
|
+
"exists": true,
|
|
29
|
+
"digest": "sha256:4d69798646adb84c6d193b1f32e7dc50e389db8932e63e9cb71489b6015e0333"
|
|
28
30
|
},
|
|
29
31
|
{
|
|
30
32
|
"id": "release-propagation",
|
|
31
33
|
"title": "Release propagation",
|
|
32
34
|
"path": "docs/release-propagation.md",
|
|
33
35
|
"plane": "use",
|
|
34
|
-
"exists": true
|
|
36
|
+
"exists": true,
|
|
37
|
+
"digest": "sha256:10c2bb3bc4ebd692c49fa55f286b77ed3e8caa1526298ad910c00fc80251a893"
|
|
35
38
|
},
|
|
36
39
|
{
|
|
37
40
|
"id": "binary-distribution",
|
|
38
41
|
"title": "Binary distribution contract",
|
|
39
42
|
"path": "docs/binary-distribution.md",
|
|
40
43
|
"plane": "verify",
|
|
41
|
-
"exists": true
|
|
44
|
+
"exists": true,
|
|
45
|
+
"digest": "sha256:36899140a9b2e9ce1565ed41f3d64f73a8829fad3d59a04b9498d9479c85c4be"
|
|
42
46
|
},
|
|
43
47
|
{
|
|
44
48
|
"id": "toolkit-observability",
|
|
45
49
|
"title": "Toolkit observability",
|
|
46
50
|
"path": "docs/toolkit-observability.md",
|
|
47
51
|
"plane": "use",
|
|
48
|
-
"exists": true
|
|
52
|
+
"exists": true,
|
|
53
|
+
"digest": "sha256:239949a75ca81b6002a2e148f7028402dbd98c00e246acd8d0955855781206a1"
|
|
49
54
|
},
|
|
50
55
|
{
|
|
51
56
|
"id": "site-bundle-contract",
|
|
52
57
|
"title": "Site bundle contract",
|
|
53
58
|
"path": "docs/site-bundle-contract.md",
|
|
54
59
|
"plane": "use",
|
|
55
|
-
"exists": true
|
|
60
|
+
"exists": true,
|
|
61
|
+
"digest": "sha256:e6b4f2e76c713063ff750b0a8d6d96595addae2fd48f913744dc86559add0641"
|
|
56
62
|
},
|
|
57
63
|
{
|
|
58
64
|
"id": "product-mechanism",
|
|
59
65
|
"title": "Product mechanism",
|
|
60
66
|
"path": "docs/product-mechanism.md",
|
|
61
67
|
"plane": "why",
|
|
62
|
-
"exists": true
|
|
68
|
+
"exists": true,
|
|
69
|
+
"digest": "sha256:da50022f96f8876bb275a7832190cb1f6ab0fa6aab9d045dda924a7abddc3edf"
|
|
63
70
|
},
|
|
64
71
|
{
|
|
65
72
|
"id": "cli",
|
|
66
73
|
"title": "CLI and npm package",
|
|
67
74
|
"path": "docs/cli.md",
|
|
68
75
|
"plane": "use",
|
|
69
|
-
"exists": true
|
|
76
|
+
"exists": true,
|
|
77
|
+
"digest": "sha256:a8a348181d6419b746e863d1cacc9d6a91aa6ac5cc2b60819843d44487957c49"
|
|
70
78
|
},
|
|
71
79
|
{
|
|
72
80
|
"id": "lifecycle-protocol",
|
|
73
81
|
"title": "Lifecycle protocol",
|
|
74
82
|
"path": "docs/lifecycle-protocol.md",
|
|
75
83
|
"plane": "use",
|
|
76
|
-
"exists": true
|
|
84
|
+
"exists": true,
|
|
85
|
+
"digest": "sha256:02e1be97935c0d9520ea22e8ef0dc61d9b860c347f07127074600cdca02713ce"
|
|
77
86
|
},
|
|
78
87
|
{
|
|
79
88
|
"id": "reusable-build-surface",
|
|
80
89
|
"title": "Reusable build surface",
|
|
81
90
|
"path": "docs/reusable-build-surface.md",
|
|
82
91
|
"plane": "use",
|
|
83
|
-
"exists": true
|
|
92
|
+
"exists": true,
|
|
93
|
+
"digest": "sha256:e5b2222fddd0624b6aff1c999bb156df26eebbd7b365ec65ef3622611dc055ea"
|
|
84
94
|
},
|
|
85
95
|
{
|
|
86
96
|
"id": "publish-transaction",
|
|
87
97
|
"title": "Publish transaction",
|
|
88
98
|
"path": "docs/publish-transaction.md",
|
|
89
99
|
"plane": "verify",
|
|
90
|
-
"exists": true
|
|
100
|
+
"exists": true,
|
|
101
|
+
"digest": "sha256:dd45cf98f0847e3968f150a09bed84aa1f59cb2687ac988e9519f08dc9c91877"
|
|
91
102
|
},
|
|
92
103
|
{
|
|
93
104
|
"id": "release-governance",
|
|
94
105
|
"title": "Release governance",
|
|
95
106
|
"path": "docs/release-governance.md",
|
|
96
107
|
"plane": "why",
|
|
97
|
-
"exists": true
|
|
108
|
+
"exists": true,
|
|
109
|
+
"digest": "sha256:8aab1af617e511011974cb63f04240463fc99c427cb3b29e5f5d385c88620464"
|
|
98
110
|
},
|
|
99
111
|
{
|
|
100
112
|
"id": "release-flow",
|
|
101
113
|
"title": "Release flow",
|
|
102
114
|
"path": "docs/release-flow.md",
|
|
103
115
|
"plane": "verify",
|
|
104
|
-
"exists": true
|
|
116
|
+
"exists": true,
|
|
117
|
+
"digest": "sha256:0a2f46501a64905067cc5872b45ac4824f9e632d59bfdfb2f6a794dfc5f959ea"
|
|
105
118
|
},
|
|
106
119
|
{
|
|
107
120
|
"id": "versioning",
|
|
108
121
|
"title": "Versioning",
|
|
109
122
|
"path": "docs/versioning.md",
|
|
110
123
|
"plane": "why",
|
|
111
|
-
"exists": true
|
|
124
|
+
"exists": true,
|
|
125
|
+
"digest": "sha256:77b92fc979cc100beab3f8a13cd791dea992737b986ace505104edff4810a296"
|
|
112
126
|
},
|
|
113
127
|
{
|
|
114
128
|
"id": "web-surface-deployments",
|
|
115
129
|
"title": "Web surface deployments",
|
|
116
130
|
"path": "docs/web-surface-deployments.md",
|
|
117
131
|
"plane": "use",
|
|
118
|
-
"exists": true
|
|
132
|
+
"exists": true,
|
|
133
|
+
"digest": "sha256:614aea65d745e8978d8329545753adf13b8914f84fe35b0148abbd1aff0c0dc2"
|
|
119
134
|
},
|
|
120
135
|
{
|
|
121
136
|
"id": "infra-contract",
|
|
122
137
|
"title": "Infra Contract",
|
|
123
138
|
"path": "docs/infra-contract.md",
|
|
124
139
|
"plane": "use",
|
|
125
|
-
"exists": true
|
|
140
|
+
"exists": true,
|
|
141
|
+
"digest": "sha256:7826e8c70ac2d90ddd8d4e38bcdd1bcfa36eef5106431d7ad94b2fe9c8d3d5dc"
|
|
126
142
|
}
|
|
127
143
|
],
|
|
128
144
|
"facts": [
|
|
129
145
|
"cli-registry.json",
|
|
146
|
+
"manual-registry.json",
|
|
147
|
+
"node-api-registry.json",
|
|
130
148
|
"workflow-registry.json",
|
|
131
149
|
"release-model.json",
|
|
132
150
|
"artifact-schemas.json",
|
|
133
151
|
"product-mechanism.json",
|
|
134
152
|
"release-provenance.json",
|
|
153
|
+
"kfd-claims.json",
|
|
135
154
|
"agent-index.json"
|
|
136
155
|
]
|
|
137
156
|
}
|
package/docs/MAP.md
CHANGED
|
@@ -12,6 +12,27 @@ running artifact), *use* (consume / extend) - and a **status**:
|
|
|
12
12
|
- `to write` - planned; the material exists but is not yet a single doc.
|
|
13
13
|
- `retired` - intentionally not part of the active Buildchain v2 surface.
|
|
14
14
|
|
|
15
|
+
## Capability Coverage
|
|
16
|
+
|
|
17
|
+
This package should be usable by an agent from the npm artifact alone. The
|
|
18
|
+
machine-readable `dist/site/` bundle is the first fact source; the Markdown
|
|
19
|
+
manuals explain those facts and give operator examples.
|
|
20
|
+
|
|
21
|
+
| Capability | Machine-readable entry | Manual entry |
|
|
22
|
+
| --- | --- | --- |
|
|
23
|
+
| KFD-1 / KFD-2 / KFD-3 release-passport gates | `dist/site/kfd-claims.json`, `dist/site/buildchain-contract.json`, `dist/site/artifact-schemas.json` | [`release-passport.md`](release-passport.md) |
|
|
24
|
+
| Floating `@v2` drift detection and compatibility issues | `dist/site/buildchain-contract.json` | [`reusable-build-surface.md`](reusable-build-surface.md#floating-ref-contract-lock) |
|
|
25
|
+
| npm publish transactions, evidence, dist-tags, and recovery | `dist/site/release-model.json`, `dist/site/artifact-schemas.json` | [`publish-transaction.md`](publish-transaction.md) |
|
|
26
|
+
| GitHub Release passport/evidence publication | `dist/site/release-model.json`, `dist/site/artifact-schemas.json` | [`release-governance.md`](release-governance.md), [`release-candidate.md`](release-candidate.md) |
|
|
27
|
+
| release propagation for package/site chains | `dist/site/release-model.json` | [`release-propagation.md`](release-propagation.md) |
|
|
28
|
+
| Buildchain CLI manual | `dist/site/cli-registry.json`, `dist/site/manual-registry.json` | [`cli.md`](cli.md) |
|
|
29
|
+
| Node API / package exports | `dist/site/node-api-registry.json`, `dist/site/release-provenance.json` | [`cli.md`](cli.md#node-api-and-package-exports) |
|
|
30
|
+
|
|
31
|
+
`dist/site/kfd-claims.json` is generated from
|
|
32
|
+
`packages/core/buildchain-kfd-claims.js`. Treat that module and JSON file as the
|
|
33
|
+
source claim registry; this map and the manuals explain those claims but do not
|
|
34
|
+
replace them.
|
|
35
|
+
|
|
15
36
|
## Map
|
|
16
37
|
|
|
17
38
|
| Your question | Document | Plane | Status |
|
package/docs/cli.md
CHANGED
|
@@ -51,6 +51,31 @@ non-JavaScript environments. JavaScript code that already depends on
|
|
|
51
51
|
`@kungfu-tech/buildchain` should import the toolkit API instead of spawning
|
|
52
52
|
`npx buildchain` or a downloaded binary.
|
|
53
53
|
|
|
54
|
+
## Node API and Package Exports
|
|
55
|
+
|
|
56
|
+
Buildchain's public Node API is the package `exports` surface, not arbitrary
|
|
57
|
+
internal file paths. The npm package also ships
|
|
58
|
+
`dist/site/node-api-registry.json` and exports it as
|
|
59
|
+
`@kungfu-tech/buildchain/site/node-api-registry.json` so agents can enumerate
|
|
60
|
+
the supported imports from the installed package.
|
|
61
|
+
|
|
62
|
+
Current public import families include:
|
|
63
|
+
|
|
64
|
+
```js
|
|
65
|
+
import * as buildchain from "@kungfu-tech/buildchain";
|
|
66
|
+
import { createBuildchainLogger } from "@kungfu-tech/buildchain/logging";
|
|
67
|
+
import { verifyKfd1ReleaseGate } from "@kungfu-tech/buildchain/kfd-gate";
|
|
68
|
+
import { verifyReleasePassport } from "@kungfu-tech/buildchain/release-passport";
|
|
69
|
+
import { createReleasePropagationPlan } from "@kungfu-tech/buildchain/release-propagation";
|
|
70
|
+
import contractWorld from "@kungfu-tech/buildchain/site/buildchain-contract.json" with { type: "json" };
|
|
71
|
+
import manualRegistry from "@kungfu-tech/buildchain/site/manual-registry.json" with { type: "json" };
|
|
72
|
+
import nodeApiRegistry from "@kungfu-tech/buildchain/site/node-api-registry.json" with { type: "json" };
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Use `dist/site/manual-registry.json` to find the packaged operating manuals and
|
|
76
|
+
their SHA-256 digests. Use `dist/site/buildchain-contract.json` to verify the
|
|
77
|
+
floating-ref contract world for a runtime such as `@v2`.
|
|
78
|
+
|
|
54
79
|
## Commands
|
|
55
80
|
|
|
56
81
|
`buildchain init` writes a starter `buildchain.toml` and a reusable workflow
|
|
@@ -82,13 +82,13 @@ other package as `role: platform`. Consumer workflows therefore stay
|
|
|
82
82
|
declarative and do not need their own artifact download or publish-evidence
|
|
83
83
|
generation scripts.
|
|
84
84
|
|
|
85
|
-
When `github-release: true`, the wrapper
|
|
86
|
-
the
|
|
87
|
-
updates the exact-tag GitHub
|
|
88
|
-
the semver tag, and uploads the
|
|
89
|
-
generated release passport assets. This
|
|
90
|
-
Buildchain release passport persistence, and
|
|
91
|
-
one declarative reusable workflow.
|
|
85
|
+
When `github-release: true`, the wrapper forwards GitHub Release publication to
|
|
86
|
+
the underlying `promote-buildchain-ref` semver model. Once the release
|
|
87
|
+
transaction is complete, the action creates or updates the exact-tag GitHub
|
|
88
|
+
Release, applies prerelease/latest metadata from the semver tag, and uploads the
|
|
89
|
+
publish evidence file together with the generated release passport assets. This
|
|
90
|
+
keeps npm/registry publication, Buildchain release passport persistence, and
|
|
91
|
+
`release.published` propagation in one declarative reusable workflow.
|
|
92
92
|
|
|
93
93
|
Products that publish KFD release trust evidence can keep that path declarative
|
|
94
94
|
too. Pass KFD-1 self contract witnesses, KFD-2 public claim files, and KFD-3
|
|
@@ -62,6 +62,11 @@ Buildchain implements the same governance loop with:
|
|
|
62
62
|
promotion; this workflow dogfoods the declarative
|
|
63
63
|
`release-candidate-promote.yml` wrapper and does not hand-wire resolver,
|
|
64
64
|
artifact download, publish-gate, or promote action steps;
|
|
65
|
+
- Buildchain self promotion enables `release-passport-buildchain-self-kfd`, so
|
|
66
|
+
the release passport consumes generated KFD-1 witnesses, KFD-2 public claim
|
|
67
|
+
JSON, and KFD-3 collaboration-interface witnesses from
|
|
68
|
+
`packages/core/buildchain-kfd-claims.js` instead of relying on prose release
|
|
69
|
+
notes;
|
|
65
70
|
- `actions/promote-buildchain-ref` for branch, tag, version-state, and
|
|
66
71
|
governance checks;
|
|
67
72
|
- package-manager adapters that can update version state for pnpm, npm, and
|
|
@@ -435,13 +440,16 @@ from the reusable build outputs. Workflows that only collect passports or run
|
|
|
435
440
|
dry-run package checks do not move publish refs and are not publish-gate
|
|
436
441
|
publication models.
|
|
437
442
|
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
`
|
|
444
|
-
|
|
443
|
+
Semver GitHub Release publication is owned by `promote-buildchain-ref`, not by
|
|
444
|
+
consumer shell glue. Consumers normally use the `release-candidate-promote.yml`
|
|
445
|
+
wrapper and set `github-release: true`; the wrapper passes that declaration to
|
|
446
|
+
the action. After the publish transaction reaches `complete`, Buildchain creates
|
|
447
|
+
or updates the exact-tag GitHub Release and uploads the generated
|
|
448
|
+
`buildchain.release.json`, release-passport assets, and publish evidence. Semver
|
|
449
|
+
prerelease tags are marked `prerelease=true` and `make_latest=false`; stable
|
|
450
|
+
semver tags are marked latest. This is the supported path for downstream
|
|
451
|
+
`release.published` propagation across semver, major, and promote-only release
|
|
452
|
+
candidate publication models.
|
|
445
453
|
|
|
446
454
|
Buildchain also does not maintain bare exact tags such as `1.0.0`. The supported
|
|
447
455
|
exact release and alpha refs are v-prefixed:
|
package/docs/release-passport.md
CHANGED
|
@@ -204,6 +204,33 @@ machine-bound but only supported by prose downgrade the KFD-2 audit and produce
|
|
|
204
204
|
a warning, so agents can distinguish "verified", "needs review", and "not
|
|
205
205
|
bound to evidence" without reading release notes.
|
|
206
206
|
|
|
207
|
+
For Buildchain's own releases, public release claims are not authored in prose
|
|
208
|
+
inside the workflow. The source registry is
|
|
209
|
+
`packages/core/buildchain-kfd-claims.js`, published as
|
|
210
|
+
`dist/site/kfd-claims.json` and exported as
|
|
211
|
+
`@kungfu-tech/buildchain/buildchain-kfd-claims`. That registry is the
|
|
212
|
+
version-invariant source of public claims and collaboration surfaces: it does
|
|
213
|
+
not store the exact release version, promotion SHA, or exact runtime contract
|
|
214
|
+
digest. Those run-specific facts belong in the release passport and generated
|
|
215
|
+
witnesses. During Buildchain promotion,
|
|
216
|
+
`scripts/generate-buildchain-kfd-witnesses.mjs` binds the source registry to the
|
|
217
|
+
current source/artifact hashes and generates:
|
|
218
|
+
|
|
219
|
+
- a KFD-1 self contract-world witness for the packaged docs, schemas, workflows,
|
|
220
|
+
actions, Node exports, and site-consumption facts;
|
|
221
|
+
- one KFD-2 claim JSON per public Buildchain release claim;
|
|
222
|
+
- KFD-3 pre-build and artifact witnesses for the same public collaboration
|
|
223
|
+
surfaces.
|
|
224
|
+
|
|
225
|
+
The generated claim set covers Buildchain's KFD release passport support,
|
|
226
|
+
agent-first single source of truth, floating `@v2` contract drift protection,
|
|
227
|
+
semver GitHub Release evidence publication, channel-preserving release
|
|
228
|
+
propagation, and npm publish evidence/finalization. Buildchain self promotion
|
|
229
|
+
passes those files into `promote-buildchain-ref`; `verifyReleasePassport()` then
|
|
230
|
+
fails closed if any claim is missing source bindings, machine evidence, hashes,
|
|
231
|
+
artifact coordinates, verification result, audit boundary, responsibility, or
|
|
232
|
+
residual risk.
|
|
233
|
+
|
|
207
234
|
### KFD-3 collaboration-interface release gate
|
|
208
235
|
|
|
209
236
|
KFD-3 asks a different release question than KFD-1. KFD-1 proves that named
|
|
@@ -211,6 +238,15 @@ payload bytes match one contract world. KFD-3 proves that a product's shipped
|
|
|
211
238
|
participant-facing collaboration/control surface is closed over its declared
|
|
212
239
|
interface.
|
|
213
240
|
|
|
241
|
+
For Buildchain itself, the declared interface starts in
|
|
242
|
+
`packages/core/buildchain-kfd-claims.js`, not in this Markdown file. The
|
|
243
|
+
registry enumerates public human/agent surfaces across manuals, schema and
|
|
244
|
+
standard metadata, package exports, site-consumption contracts, workflows, and
|
|
245
|
+
actions. `dist/site/kfd-claims.json` is the packaged machine-readable form used
|
|
246
|
+
by downstream sites and by Buildchain's own release passport. Exact release
|
|
247
|
+
version/SHA binding is deliberately deferred to the promotion witness, so the
|
|
248
|
+
source registry can remain stable across semver version-state bumps.
|
|
249
|
+
|
|
214
250
|
The product remains the fact source. Before build/publish, the product writes a
|
|
215
251
|
pre-build witness:
|
|
216
252
|
|
|
@@ -14,10 +14,13 @@ dist/site/
|
|
|
14
14
|
buildchain-site.json
|
|
15
15
|
site-manifest.json
|
|
16
16
|
cli-registry.json
|
|
17
|
+
manual-registry.json
|
|
18
|
+
node-api-registry.json
|
|
17
19
|
workflow-registry.json
|
|
18
20
|
release-model.json
|
|
19
21
|
artifact-schemas.json
|
|
20
22
|
buildchain-contract.json
|
|
23
|
+
kfd-claims.json
|
|
21
24
|
product-mechanism.json
|
|
22
25
|
release-provenance.json
|
|
23
26
|
agent-index.json
|
|
@@ -28,6 +31,15 @@ dist/site/
|
|
|
28
31
|
world used by floating-ref contract locks. It records public workflow/action/CLI
|
|
29
32
|
surfaces, compatibility digests, and audit digests for the files that implement
|
|
30
33
|
those surfaces.
|
|
34
|
+
`manual-registry.json` enumerates the packaged Markdown manuals with source
|
|
35
|
+
digests so an agent can find complete operating documentation from the npm
|
|
36
|
+
artifact. `node-api-registry.json` enumerates public Node import surfaces from
|
|
37
|
+
`package.json#exports`, so agents do not have to infer supported APIs from
|
|
38
|
+
internal paths.
|
|
39
|
+
`kfd-claims.json` is the Buildchain-owned KFD claim registry. It is generated
|
|
40
|
+
from `packages/core/buildchain-kfd-claims.js` and enumerates the public release
|
|
41
|
+
claims plus the KFD-3 collaboration surfaces that Buildchain self-verifies
|
|
42
|
+
during release promotion.
|
|
31
43
|
|
|
32
44
|
## npm Consumption
|
|
33
45
|
|
|
@@ -63,10 +75,16 @@ The P0 bundle includes:
|
|
|
63
75
|
|
|
64
76
|
- site manifest;
|
|
65
77
|
- CLI command registry;
|
|
78
|
+
- manual registry for packaged agent-facing documentation;
|
|
79
|
+
- Node API registry for public package exports;
|
|
66
80
|
- workflow/action registry;
|
|
67
81
|
- release model facts;
|
|
68
82
|
- artifact and evidence schema index;
|
|
69
|
-
- Buildchain runtime contract world for `@v2` floating-ref compatibility checks
|
|
83
|
+
- Buildchain runtime contract world for `@v2` floating-ref compatibility checks,
|
|
84
|
+
KFD-1/KFD-2/KFD-3 release gates, GitHub Release evidence publication, and
|
|
85
|
+
site-consumption contracts;
|
|
86
|
+
- Buildchain KFD claim registry for release-passport self verification and
|
|
87
|
+
agent-first public claim discovery;
|
|
70
88
|
- product mechanism manifest;
|
|
71
89
|
- release provenance;
|
|
72
90
|
- agent read order.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kungfu-tech/buildchain",
|
|
3
|
-
"version": "2.8.2
|
|
3
|
+
"version": "2.8.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",
|
|
@@ -22,9 +22,13 @@
|
|
|
22
22
|
"./release-candidate": "./packages/core/release-candidate.js",
|
|
23
23
|
"./release-passport": "./packages/core/release-passport.js",
|
|
24
24
|
"./release-propagation": "./packages/core/release-propagation.js",
|
|
25
|
+
"./buildchain-kfd-claims": "./packages/core/buildchain-kfd-claims.js",
|
|
25
26
|
"./site/buildchain-site.json": "./dist/site/buildchain-site.json",
|
|
26
27
|
"./site/site-manifest.json": "./dist/site/site-manifest.json",
|
|
27
28
|
"./site/cli-registry.json": "./dist/site/cli-registry.json",
|
|
29
|
+
"./site/manual-registry.json": "./dist/site/manual-registry.json",
|
|
30
|
+
"./site/node-api-registry.json": "./dist/site/node-api-registry.json",
|
|
31
|
+
"./site/kfd-claims.json": "./dist/site/kfd-claims.json",
|
|
28
32
|
"./site/workflow-registry.json": "./dist/site/workflow-registry.json",
|
|
29
33
|
"./site/release-model.json": "./dist/site/release-model.json",
|
|
30
34
|
"./site/artifact-schemas.json": "./dist/site/artifact-schemas.json",
|