@kungfu-tech/buildchain 2.12.2 → 2.12.3-alpha.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.
@@ -94,6 +94,15 @@ configuration diagnostic instead of opening a post-publish human PR. Reusable
94
94
  wrapper callers should allow `checks: write` so the generated check is owned by
95
95
  GitHub Actions and matches the managed branch protection rule.
96
96
 
97
+ Stable promotion also protects concurrent development work. The reusable
98
+ wrapper checks out the exact current `dev/vN/vN.M` head as a reconciliation
99
+ workspace. If next-alpha bookkeeping cannot fast-forward that branch, the
100
+ action reruns the declared version-state generation and verification from that
101
+ dev tree, creates a two-parent reconciliation commit from the regenerated
102
+ files, and fails closed if the checkout moved before the mutation boundary.
103
+ This prevents generated projections from an older release tree from replacing
104
+ capabilities that reached dev while the release was in progress.
105
+
97
106
  For Buildchain-owned automation, callers may pass
98
107
  `branch-protection-bypass-apps`, `branch-protection-bypass-users`, or
99
108
  `branch-protection-bypass-teams`. The action still configures managed
@@ -238,8 +247,17 @@ BUILDCHAIN_RELEASE_SHA
238
247
  BUILDCHAIN_RELEASE_MATERIAL_SHA
239
248
  BUILDCHAIN_PUBLISH_TOOLING_SHA
240
249
  BUILDCHAIN_PUBLISH_EVIDENCE
250
+ BUILDCHAIN_REQUIRED_ARTIFACTS
241
251
  ```
242
252
 
253
+ `BUILDCHAIN_REQUIRED_ARTIFACTS` is the normalized requirement array after the
254
+ action resolves a missing artifact `ref` to `BUILDCHAIN_VERSION`, or expands an
255
+ optional `ref_template` containing exactly one `{version}`, and binds any
256
+ declared provenance to the current release coordinate. Template expansion
257
+ happens after exact version selection; ambiguous or unsupported templates fail
258
+ before `lifecycle.publish`. Requirement descriptors may omit `digest`; final
259
+ publish evidence may not.
260
+
243
261
  The action outputs `transaction-id`, `transaction-state`,
244
262
  `transaction-exact-tag`, `public-release-tag`, `transaction-release-sha`,
245
263
  `transaction-state-ref`, `transaction-state-sha`, `transaction-state-path`,
@@ -315,7 +333,8 @@ missing floating tags or dev/alpha refs before marking the transaction
315
333
 
316
334
  Normal reruns accept already-published artifacts only when evidence matches.
317
335
  Missing required artifacts can be published on the next run. Conflicting
318
- artifacts put the transaction into `repair_required`; `abandoned` and
336
+ refs, digests, or declared provenance put the transaction into
337
+ `repair_required`; `abandoned` and
319
338
  `failed_permanently` also fail closed unless `publish-transaction-override` is
320
339
  set for a controlled repair.
321
340
 
@@ -4,7 +4,7 @@
4
4
  "product": {
5
5
  "name": "Buildchain",
6
6
  "package": "@kungfu-tech/buildchain",
7
- "version": "2.12.2",
7
+ "version": "2.12.3-alpha.2",
8
8
  "repository": "https://github.com/kungfu-systems/buildchain"
9
9
  },
10
10
  "majorLine": "v2",
@@ -127,6 +127,29 @@
127
127
  "github-release-title",
128
128
  "github-release-notes"
129
129
  ],
130
+ "publishArtifactSchema": {
131
+ "requirementDigest": "optional-before-publish-required-after-publish",
132
+ "exactRefResolution": "missing requirement refs resolve to the promoted exact version",
133
+ "exactRefTemplate": "optional ref_template expands one {version} after exact version selection",
134
+ "provenanceActions": [
135
+ "built",
136
+ "reused"
137
+ ],
138
+ "provenanceCoordinates": [
139
+ "content",
140
+ "release"
141
+ ],
142
+ "verificationFields": [
143
+ "public_manifest",
144
+ "ref",
145
+ "digest",
146
+ "platform",
147
+ "contract_major",
148
+ "parent_digest",
149
+ "smoke",
150
+ "evidence"
151
+ ]
152
+ },
130
153
  "guarantees": [
131
154
  "promotion reuses PR-stage release-candidate artifacts",
132
155
  "promotion does not run the heavy native build matrix",
@@ -136,7 +159,7 @@
136
159
  "GitHub Release passport and evidence publication is delegated to promote-buildchain-ref after the semver release transaction completes"
137
160
  ],
138
161
  "breakingDigest": "sha256:6dbae32ce3d7aab3be6957065105af574794581847b7637314dad45f5349c919",
139
- "auditDigest": "sha256:960c4d986f3bfd1c31681c3a3b9fa0bc00d24b5b1c0ac1fa3b44caebb24d3452"
162
+ "auditDigest": "sha256:4de3e10012429d18f066e453a49a470ae889612143bca56327649d6cacd546cf"
140
163
  },
141
164
  {
142
165
  "contractVersion": 1,
@@ -216,6 +239,29 @@
216
239
  "github-release-title",
217
240
  "github-release-notes"
218
241
  ],
242
+ "publishArtifactSchema": {
243
+ "requirementDigest": "optional-before-publish-required-after-publish",
244
+ "exactRefResolution": "missing requirement refs resolve to the promoted exact version",
245
+ "exactRefTemplate": "optional ref_template expands one {version} after exact version selection",
246
+ "provenanceActions": [
247
+ "built",
248
+ "reused"
249
+ ],
250
+ "provenanceCoordinates": [
251
+ "content",
252
+ "release"
253
+ ],
254
+ "verificationFields": [
255
+ "public_manifest",
256
+ "ref",
257
+ "digest",
258
+ "platform",
259
+ "contract_major",
260
+ "parent_digest",
261
+ "smoke",
262
+ "evidence"
263
+ ]
264
+ },
219
265
  "guarantees": [
220
266
  "protected release refs and durable release-state are finalized by Buildchain",
221
267
  "release passport finalization is idempotent after publish side effects",
@@ -223,7 +269,7 @@
223
269
  "semver GitHub Releases are created or updated only after transaction completion, with prerelease/latest metadata derived from the public release tag"
224
270
  ],
225
271
  "breakingDigest": "sha256:a59f0910e6df842e7699139472e5dd69ac2fdd7f7213bf2cb346d1d622556874",
226
- "auditDigest": "sha256:19a838fa786936a65585c00d65b15fe84c83ee19a0d41f3b6502226a966345a9"
272
+ "auditDigest": "sha256:61edd187a303c33eeef28ccca138e46d7494645b16e6df72719b6d632b0d8e80"
227
273
  },
228
274
  {
229
275
  "contractVersion": 1,
@@ -282,7 +328,7 @@
282
328
  "release-state SHA is recorded as a durable audit entrance"
283
329
  ],
284
330
  "breakingDigest": "sha256:b627e1b2ece9b6049517a942c5139e342e6077cdd3d8962d61cef8481b1f70ad",
285
- "auditDigest": "sha256:8d5a050df580d9bb7bbf3300b8fa4d22df8478bc1028de08b5af7a902d38448d"
331
+ "auditDigest": "sha256:54c23c984ab1e63f8fa5310f0106927ea63c6b069219970b9145c31558c47db0"
286
332
  },
287
333
  {
288
334
  "contractVersion": 1,
@@ -331,7 +377,7 @@
331
377
  "prose-only public claims downgrade the release trust passport audit"
332
378
  ],
333
379
  "breakingDigest": "sha256:f0b636eb925ddbf45ff1a8872454ab7b4dd98857cac12bb75217830130e62a16",
334
- "auditDigest": "sha256:8d5a050df580d9bb7bbf3300b8fa4d22df8478bc1028de08b5af7a902d38448d"
380
+ "auditDigest": "sha256:54c23c984ab1e63f8fa5310f0106927ea63c6b069219970b9145c31558c47db0"
335
381
  },
336
382
  {
337
383
  "contractVersion": 1,
@@ -481,7 +527,7 @@
481
527
  "manual entries carry source file digests so downstream sites and agents can detect stale hand-written documentation"
482
528
  ],
483
529
  "breakingDigest": "sha256:7d0d2819e3a3e72989d9c57b5efe9d0bc0a79bc0f2c82a0c7b9d6c5a211a91f2",
484
- "auditDigest": "sha256:def4f995282224c7072e4534aa8c8fa7d77b3497e5cd6f00098469da70b5ff6d"
530
+ "auditDigest": "sha256:a4d5ae2cf51f16cc1c1ab9d344ea044e881e3a7653ca4ae4aff1f3e95d556cf9"
485
531
  },
486
532
  {
487
533
  "contractVersion": 1,
@@ -503,9 +549,9 @@
503
549
  "agents can discover supported Node APIs without importing internal file paths"
504
550
  ],
505
551
  "breakingDigest": "sha256:48f925608d3e2131d90936b07dc2a30341204cae3e6e785c0f77d61ad755c945",
506
- "auditDigest": "sha256:6c4078f847d70ba9d2cca1149e976828c5b0244f2e66cc5232cb79936388c5d5"
552
+ "auditDigest": "sha256:4458f86ab03e26015a1247fcf6fd89837256b39ecd7e82dfde2140e8967d2eb0"
507
553
  }
508
554
  ],
509
555
  "compatibilityDigest": "sha256:2090784977bc7d54fc647215ef73532b9db26147a0b40ec3f56c31d611d806cc",
510
- "contractDigest": "sha256:db57a57a03db285dc2d3970c3ef2dc00e72bd95a3fd2791df8990c49d847aa3f"
556
+ "contractDigest": "sha256:97e39d3211a9f6423c4074993eba9f7c1a688204825fa5e27b5ff0db62bfb0c7"
511
557
  }