@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.
@@ -203,6 +203,14 @@ The action outputs `transaction-id`, `transaction-state`,
203
203
  `release-passport/*` files have been uploaded into that recovery ref.
204
204
  `finalization-needed=true` means publish evidence is valid, but protected branch
205
205
  or ref finalization needs a later promotion run.
206
+ Set `github-release: "true"` when the semver promotion should also publish the
207
+ exact-tag GitHub Release. After the release transaction reaches `complete` and
208
+ `finalization-needed` is false, the action creates or updates the GitHub Release
209
+ for `transaction-exact-tag`, applies deterministic semver metadata
210
+ (`prerelease=true` and `make_latest=false` for prerelease tags, latest for stable
211
+ tags), and uploads the publish evidence file plus generated release passport
212
+ assets. If the transaction is not complete yet, the action defers GitHub Release
213
+ publication to the next idempotent promotion run.
206
214
 
207
215
  After a publish transaction reaches `complete`, the action generates the unified
208
216
  `buildchain-release-passport` in `.buildchain/release-passport` by default and
@@ -6,9 +6,12 @@
6
6
  "product-mechanism.json",
7
7
  "release-model.json",
8
8
  "cli-registry.json",
9
+ "manual-registry.json",
10
+ "node-api-registry.json",
9
11
  "workflow-registry.json",
10
12
  "artifact-schemas.json",
11
- "buildchain-contract.json"
13
+ "buildchain-contract.json",
14
+ "kfd-claims.json"
12
15
  ],
13
16
  "instruction": "Use this bundle as the package-owned fact source for Buildchain pages. Do not infer current release mechanics from prose alone."
14
17
  }
@@ -16,10 +16,13 @@
16
16
  "buildchain-site.json",
17
17
  "site-manifest.json",
18
18
  "cli-registry.json",
19
+ "manual-registry.json",
20
+ "node-api-registry.json",
19
21
  "workflow-registry.json",
20
22
  "release-model.json",
21
23
  "artifact-schemas.json",
22
24
  "buildchain-contract.json",
25
+ "kfd-claims.json",
23
26
  "product-mechanism.json",
24
27
  "release-provenance.json",
25
28
  "agent-index.json"
@@ -4,7 +4,7 @@
4
4
  "product": {
5
5
  "name": "Buildchain",
6
6
  "package": "@kungfu-tech/buildchain",
7
- "version": "2.8.2-alpha.1",
7
+ "version": "2.8.2",
8
8
  "repository": "https://github.com/kungfu-systems/buildchain"
9
9
  },
10
10
  "majorLine": "v2",
@@ -78,17 +78,21 @@
78
78
  "release-passport-kfd-3-artifact-witness-jsons",
79
79
  "release-passport-kfd-3-artifact-verify-command",
80
80
  "buildchain-contract-lock-path",
81
- "buildchain-contract-drift-issue-mode"
81
+ "buildchain-contract-drift-issue-mode",
82
+ "github-release",
83
+ "github-release-title",
84
+ "github-release-notes"
82
85
  ],
83
86
  "guarantees": [
84
87
  "promotion reuses PR-stage release-candidate artifacts",
85
88
  "promotion does not run the heavy native build matrix",
86
89
  "built source and promotion channel SHA are recorded separately",
87
90
  "contract drift is checked before release-candidate resolution and publish",
88
- "publish-gate source locks are created by the wrapper and enforced by promote-buildchain-ref before publish side effects"
91
+ "publish-gate source locks are created by the wrapper and enforced by promote-buildchain-ref before publish side effects",
92
+ "GitHub Release passport and evidence publication is delegated to promote-buildchain-ref after the semver release transaction completes"
89
93
  ],
90
- "breakingDigest": "sha256:1c27595adaa8fbc334b3f7f66605e4544cb8c60ce81a9bb7ee94d6ede93c65ac",
91
- "auditDigest": "sha256:4fddfd83cd8a90c45c1356561f38985b5a29f1cdb04ca969639867b6ee6869d0"
94
+ "breakingDigest": "sha256:403d2fcdb0c5eabe749e89102defad69745f70a1556707bec7831fcc2e9fa8f8",
95
+ "auditDigest": "sha256:b6dd734ffe4dbd705ab4cfbc209e169400c89158b52eab594f6bf6738b0b47ec"
92
96
  },
93
97
  {
94
98
  "contractVersion": 1,
@@ -118,15 +122,19 @@
118
122
  "release-passport-kfd-2-claim-jsons",
119
123
  "release-passport-kfd-3-prebuild-witness-jsons",
120
124
  "release-passport-kfd-3-artifact-witness-jsons",
121
- "release-passport-kfd-3-artifact-verify-command"
125
+ "release-passport-kfd-3-artifact-verify-command",
126
+ "github-release",
127
+ "github-release-title",
128
+ "github-release-notes"
122
129
  ],
123
130
  "guarantees": [
124
131
  "protected release refs and durable release-state are finalized by Buildchain",
125
132
  "release passport finalization is idempotent after publish side effects",
126
- "publish transactions can require a resolved publish-gate source lock to prevent floating-ref drift"
133
+ "publish transactions can require a resolved publish-gate source lock to prevent floating-ref drift",
134
+ "semver GitHub Releases are created or updated only after transaction completion, with prerelease/latest metadata derived from the exact tag"
127
135
  ],
128
- "breakingDigest": "sha256:fca97ba00248ed436695f12f8fc44404458af462e666aa7b69b4315b32705bdd",
129
- "auditDigest": "sha256:014233a4add8a01fbccc40c86821c54d3aa12cd3b1158423ac88cb0e45a352a8"
136
+ "breakingDigest": "sha256:347b65aecd38bc671d8f697eabd15254f905b6f745389d7b26d7595a904a720c",
137
+ "auditDigest": "sha256:47c7c68b1c81cbe0a6cedb3da2841c33472e25e29b2353267a09e470667bcb93"
130
138
  },
131
139
  {
132
140
  "contractVersion": 1,
@@ -291,8 +299,52 @@
291
299
  ],
292
300
  "breakingDigest": "sha256:097db3e67509bedda8c6548bf1edfbfcf57f7b5510520b6a7b7e078d7ec087c8",
293
301
  "auditDigest": "sha256:478e656104272675d3be3391158251472e0c2515b3113376ef0e52757b47ace0"
302
+ },
303
+ {
304
+ "contractVersion": 1,
305
+ "stability": "stable",
306
+ "additiveChanges": "optional inputs, optional outputs, diagnostics, and documentation may be added within the same major line",
307
+ "id": "agent-manual-registry",
308
+ "kind": "site-contract",
309
+ "path": "dist/site/manual-registry.json",
310
+ "requiredInputs": [],
311
+ "requiredOutputs": [
312
+ "manuals",
313
+ "requiredAgentManuals"
314
+ ],
315
+ "breakingDefaults": {
316
+ "contract": "kungfu-buildchain-agent-manual-registry"
317
+ },
318
+ "guarantees": [
319
+ "agent-facing packaged docs are enumerable from the npm package site bundle",
320
+ "manual entries carry source file digests so downstream sites and agents can detect stale hand-written documentation"
321
+ ],
322
+ "breakingDigest": "sha256:7d0d2819e3a3e72989d9c57b5efe9d0bc0a79bc0f2c82a0c7b9d6c5a211a91f2",
323
+ "auditDigest": "sha256:7fbde28193df754afda019e218defb5d08aa2c64298382d277927faba5468240"
324
+ },
325
+ {
326
+ "contractVersion": 1,
327
+ "stability": "stable",
328
+ "additiveChanges": "optional inputs, optional outputs, diagnostics, and documentation may be added within the same major line",
329
+ "id": "node-api-registry",
330
+ "kind": "site-contract",
331
+ "path": "dist/site/node-api-registry.json",
332
+ "requiredInputs": [],
333
+ "requiredOutputs": [
334
+ "exports"
335
+ ],
336
+ "breakingDefaults": {
337
+ "contract": "kungfu-buildchain-node-api-registry",
338
+ "moduleSystem": "module"
339
+ },
340
+ "guarantees": [
341
+ "public Node import surfaces are derived from package.json exports",
342
+ "agents can discover supported Node APIs without importing internal file paths"
343
+ ],
344
+ "breakingDigest": "sha256:48f925608d3e2131d90936b07dc2a30341204cae3e6e785c0f77d61ad755c945",
345
+ "auditDigest": "sha256:f3ba17b4a48e7d0f2996fb9f39d5ff7f16f1e2de1958fc07718b04bdf8af5533"
294
346
  }
295
347
  ],
296
- "compatibilityDigest": "sha256:ca668f3f73ab0d84db0d489efccf6cd556704b069990a37a0c6c77a6519f754b",
297
- "contractDigest": "sha256:315ea2dcc1d77b75b04475cfef85c627b31186edca1e4ddb929bb758c9de9576"
348
+ "compatibilityDigest": "sha256:36421b592a782decbfe31a7d8d42d70ce1100a56a2c4f4a0ccc21f0617dc72bf",
349
+ "contractDigest": "sha256:12d39a2256bc4b93c81aa3ba1ce62ccc35fbb5054fca395815d77d8902aa42fe"
298
350
  }
@@ -15,11 +15,14 @@
15
15
  "agentFirst": true,
16
16
  "entrypoints": [
17
17
  "cli-registry.json",
18
+ "manual-registry.json",
19
+ "node-api-registry.json",
18
20
  "workflow-registry.json",
19
21
  "release-model.json",
20
22
  "artifact-schemas.json",
21
23
  "product-mechanism.json",
22
24
  "release-provenance.json",
25
+ "kfd-claims.json",
23
26
  "agent-index.json",
24
27
  "site-manifest.json"
25
28
  ],
@@ -29,112 +32,128 @@
29
32
  "title": "Install and verify Buildchain",
30
33
  "path": "docs/install.md",
31
34
  "plane": "use",
32
- "exists": true
35
+ "exists": true,
36
+ "digest": "sha256:34bc161a26595f95684694d341616e47bfd65b0c51a63225e68a575179636175"
33
37
  },
34
38
  {
35
39
  "id": "release-passport",
36
40
  "title": "Release Passport protocol",
37
41
  "path": "docs/release-passport.md",
38
42
  "plane": "verify",
39
- "exists": true
43
+ "exists": true,
44
+ "digest": "sha256:4d69798646adb84c6d193b1f32e7dc50e389db8932e63e9cb71489b6015e0333"
40
45
  },
41
46
  {
42
47
  "id": "release-propagation",
43
48
  "title": "Release propagation",
44
49
  "path": "docs/release-propagation.md",
45
50
  "plane": "use",
46
- "exists": true
51
+ "exists": true,
52
+ "digest": "sha256:10c2bb3bc4ebd692c49fa55f286b77ed3e8caa1526298ad910c00fc80251a893"
47
53
  },
48
54
  {
49
55
  "id": "binary-distribution",
50
56
  "title": "Binary distribution contract",
51
57
  "path": "docs/binary-distribution.md",
52
58
  "plane": "verify",
53
- "exists": true
59
+ "exists": true,
60
+ "digest": "sha256:36899140a9b2e9ce1565ed41f3d64f73a8829fad3d59a04b9498d9479c85c4be"
54
61
  },
55
62
  {
56
63
  "id": "toolkit-observability",
57
64
  "title": "Toolkit observability",
58
65
  "path": "docs/toolkit-observability.md",
59
66
  "plane": "use",
60
- "exists": true
67
+ "exists": true,
68
+ "digest": "sha256:239949a75ca81b6002a2e148f7028402dbd98c00e246acd8d0955855781206a1"
61
69
  },
62
70
  {
63
71
  "id": "site-bundle-contract",
64
72
  "title": "Site bundle contract",
65
73
  "path": "docs/site-bundle-contract.md",
66
74
  "plane": "use",
67
- "exists": true
75
+ "exists": true,
76
+ "digest": "sha256:e6b4f2e76c713063ff750b0a8d6d96595addae2fd48f913744dc86559add0641"
68
77
  },
69
78
  {
70
79
  "id": "product-mechanism",
71
80
  "title": "Product mechanism",
72
81
  "path": "docs/product-mechanism.md",
73
82
  "plane": "why",
74
- "exists": true
83
+ "exists": true,
84
+ "digest": "sha256:da50022f96f8876bb275a7832190cb1f6ab0fa6aab9d045dda924a7abddc3edf"
75
85
  },
76
86
  {
77
87
  "id": "cli",
78
88
  "title": "CLI and npm package",
79
89
  "path": "docs/cli.md",
80
90
  "plane": "use",
81
- "exists": true
91
+ "exists": true,
92
+ "digest": "sha256:a8a348181d6419b746e863d1cacc9d6a91aa6ac5cc2b60819843d44487957c49"
82
93
  },
83
94
  {
84
95
  "id": "lifecycle-protocol",
85
96
  "title": "Lifecycle protocol",
86
97
  "path": "docs/lifecycle-protocol.md",
87
98
  "plane": "use",
88
- "exists": true
99
+ "exists": true,
100
+ "digest": "sha256:02e1be97935c0d9520ea22e8ef0dc61d9b860c347f07127074600cdca02713ce"
89
101
  },
90
102
  {
91
103
  "id": "reusable-build-surface",
92
104
  "title": "Reusable build surface",
93
105
  "path": "docs/reusable-build-surface.md",
94
106
  "plane": "use",
95
- "exists": true
107
+ "exists": true,
108
+ "digest": "sha256:e5b2222fddd0624b6aff1c999bb156df26eebbd7b365ec65ef3622611dc055ea"
96
109
  },
97
110
  {
98
111
  "id": "publish-transaction",
99
112
  "title": "Publish transaction",
100
113
  "path": "docs/publish-transaction.md",
101
114
  "plane": "verify",
102
- "exists": true
115
+ "exists": true,
116
+ "digest": "sha256:dd45cf98f0847e3968f150a09bed84aa1f59cb2687ac988e9519f08dc9c91877"
103
117
  },
104
118
  {
105
119
  "id": "release-governance",
106
120
  "title": "Release governance",
107
121
  "path": "docs/release-governance.md",
108
122
  "plane": "why",
109
- "exists": true
123
+ "exists": true,
124
+ "digest": "sha256:8aab1af617e511011974cb63f04240463fc99c427cb3b29e5f5d385c88620464"
110
125
  },
111
126
  {
112
127
  "id": "release-flow",
113
128
  "title": "Release flow",
114
129
  "path": "docs/release-flow.md",
115
130
  "plane": "verify",
116
- "exists": true
131
+ "exists": true,
132
+ "digest": "sha256:0a2f46501a64905067cc5872b45ac4824f9e632d59bfdfb2f6a794dfc5f959ea"
117
133
  },
118
134
  {
119
135
  "id": "versioning",
120
136
  "title": "Versioning",
121
137
  "path": "docs/versioning.md",
122
138
  "plane": "why",
123
- "exists": true
139
+ "exists": true,
140
+ "digest": "sha256:77b92fc979cc100beab3f8a13cd791dea992737b986ace505104edff4810a296"
124
141
  },
125
142
  {
126
143
  "id": "web-surface-deployments",
127
144
  "title": "Web surface deployments",
128
145
  "path": "docs/web-surface-deployments.md",
129
146
  "plane": "use",
130
- "exists": true
147
+ "exists": true,
148
+ "digest": "sha256:614aea65d745e8978d8329545753adf13b8914f84fe35b0148abbd1aff0c0dc2"
131
149
  },
132
150
  {
133
151
  "id": "infra-contract",
134
152
  "title": "Infra Contract",
135
153
  "path": "docs/infra-contract.md",
136
154
  "plane": "use",
137
- "exists": true
155
+ "exists": true,
156
+ "digest": "sha256:7826e8c70ac2d90ddd8d4e38bcdd1bcfa36eef5106431d7ad94b2fe9c8d3d5dc"
138
157
  }
139
158
  ],
140
159
  "releaseModel": {
@@ -172,6 +191,17 @@
172
191
  "versionSource": "package.json#version",
173
192
  "alphaDistTag": "alpha",
174
193
  "stableDistTag": "latest"
194
+ },
195
+ "githubRelease": {
196
+ "exactTagRelease": true,
197
+ "prereleaseTags": "semver prerelease tags set prerelease=true and make_latest=false",
198
+ "stableTags": "stable semver tags set make_latest=true",
199
+ "evidenceAssets": [
200
+ "publish evidence JSON",
201
+ "buildchain.release.json",
202
+ "release passport assets"
203
+ ],
204
+ "owner": "promote-buildchain-ref"
175
205
  }
176
206
  }
177
207
  }