@kungfu-tech/buildchain 3.0.3-alpha.0 → 3.0.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.
Files changed (115) hide show
  1. package/AGENTS.md +1 -1
  2. package/CONTRIBUTING.md +1 -1
  3. package/README.md +32 -1
  4. package/actions/promote-buildchain-ref/README.md +90 -19
  5. package/actions/report-buildchain-issue/README.md +19 -1
  6. package/actions/run-lifecycle/README.md +5 -0
  7. package/actions/validate-config/README.md +19 -1
  8. package/bin/buildchain.mjs +41 -241
  9. package/bin/internal/command-registry.mjs +82 -0
  10. package/bin/internal/trust-release-cli.mjs +1 -0
  11. package/contracts/auditable-demo-media-profiles-v1.json +116 -1
  12. package/contracts/buildchain-v2-residuals-v1.json +0 -45
  13. package/contracts/evidence/auditable-demo-responsive-web-delivery-v1.json +143 -0
  14. package/contracts/evidence/auditable-demo-web-delivery-v1.json +7 -3
  15. package/contracts/fixtures/auditable-demo-responsive-web-delivery-v1/complete-transcript.txt +2 -0
  16. package/contracts/fixtures/auditable-demo-responsive-web-delivery-v1/public-projection.json +16 -0
  17. package/contracts/fixtures/auditable-demo-responsive-web-delivery-v1/scene.json +12 -0
  18. package/dist/site/buildchain-contract.json +161 -42
  19. package/dist/site/buildchain-site.json +180 -84
  20. package/dist/site/capability-registry.json +6 -6
  21. package/dist/site/cli-registry.json +932 -98
  22. package/dist/site/controller-registry.json +97 -5
  23. package/dist/site/kfd-claims.json +316 -23
  24. package/dist/site/kfd-upstream-aggregate.json +1 -1
  25. package/dist/site/manual-registry.json +20 -20
  26. package/dist/site/node-api-registry.json +371 -56
  27. package/dist/site/page-registry.json +155 -59
  28. package/dist/site/public-surface-audit.json +286 -24
  29. package/dist/site/publication-registry.json +4 -4
  30. package/dist/site/release-provenance.json +3 -0
  31. package/dist/site/site-manifest.json +24 -24
  32. package/dist/site/workflow-registry.json +570 -79
  33. package/docs/MAP.md +22 -4
  34. package/docs/auditable-demo.md +35 -12
  35. package/docs/aws-us-elastic-runner-burst-plane.md +381 -0
  36. package/docs/cli.md +143 -12
  37. package/docs/consumer-issue-reporting.md +19 -1
  38. package/docs/github-governance-authority.md +2 -2
  39. package/docs/lifecycle-protocol.md +20 -2
  40. package/docs/migration-inventory.md +24 -5
  41. package/docs/ownership.md +19 -1
  42. package/docs/publication-artifacts.md +185 -18
  43. package/docs/publication-authority.md +4 -4
  44. package/docs/publish-transaction.md +78 -31
  45. package/docs/release-candidate.md +24 -0
  46. package/docs/release-flow.md +50 -32
  47. package/docs/release-governance.md +31 -31
  48. package/docs/release-passport.md +4 -0
  49. package/docs/release-propagation.md +57 -12
  50. package/docs/reusable-build-surface.md +95 -27
  51. package/docs/runtime-train-validation.md +20 -2
  52. package/docs/stable-candidate-patrol.md +6 -6
  53. package/docs/toolkit-observability.md +22 -0
  54. package/docs/versioning.md +6 -4
  55. package/docs/web-surface-deployments.md +62 -0
  56. package/package.json +7 -5
  57. package/packages/core/README.md +61 -4
  58. package/packages/core/buildchain-contract.js +8 -4
  59. package/packages/core/cache-evidence.js +1 -0
  60. package/packages/core/diagnostics.js +105 -30
  61. package/packages/core/github-governance-authority.js +10 -25
  62. package/packages/core/index.js +40 -0
  63. package/packages/core/paper-fleet.js +260 -0
  64. package/packages/core/paper-repository.js +210 -0
  65. package/packages/core/paper-work.js +365 -0
  66. package/packages/core/paper.js +3180 -0
  67. package/packages/core/public-surface-audit.js +26 -75
  68. package/packages/core/public-surface-cli.js +117 -0
  69. package/packages/core/publication-artifact.js +1 -6
  70. package/packages/core/publication-authority.js +1 -0
  71. package/packages/core/publication-reproducibility.js +947 -0
  72. package/packages/core/publication-sealed-bundle.js +190 -0
  73. package/packages/core/publish-transaction.js +147 -17
  74. package/packages/core/release-candidate.js +234 -0
  75. package/packages/core/release-passport.js +483 -201
  76. package/packages/core/release-propagation.js +175 -1
  77. package/scripts/auditable-demo.mjs +119 -5
  78. package/scripts/aws-codebuild-toolchain.mjs +285 -0
  79. package/scripts/aws-macos-jit-core.mjs +378 -0
  80. package/scripts/aws-macos-jit.mjs +123 -0
  81. package/scripts/aws-runner-burst-core.mjs +248 -0
  82. package/scripts/aws-runner-burst.mjs +79 -0
  83. package/scripts/aws-windows-jit-core.mjs +374 -0
  84. package/scripts/aws-windows-jit.mjs +121 -0
  85. package/scripts/build-contract-core.mjs +69 -6
  86. package/scripts/build-standalone-binary.mjs +23 -0
  87. package/scripts/buildchain-cli-help.mjs +256 -0
  88. package/scripts/buildchain-contract-lock.mjs +1 -1
  89. package/scripts/check-internal-architecture.mjs +69 -2
  90. package/scripts/check-inventory.mjs +69 -2
  91. package/scripts/check-javascript-syntax.mjs +31 -0
  92. package/scripts/check-maintainability.mjs +371 -0
  93. package/scripts/compiler-cache-evidence.mjs +221 -0
  94. package/scripts/dev-alpha-candidate-patrol.mjs +268 -43
  95. package/scripts/finalize-native-artifact-signing-result.mjs +75 -4
  96. package/scripts/generate-channel-promotion-workflow.mjs +3 -12
  97. package/scripts/generate-release-candidate-passport.mjs +4 -0
  98. package/scripts/generate-site-bundle.mjs +68 -188
  99. package/scripts/import-artifact-signing-results.mjs +64 -5
  100. package/scripts/inspect-artifact-signing-requests.mjs +7 -0
  101. package/scripts/maintainability-metrics.mjs +339 -0
  102. package/scripts/npm-publish-transaction.mjs +57 -6
  103. package/scripts/paper-work-fleet-cli.mjs +563 -0
  104. package/scripts/paper.mjs +631 -0
  105. package/scripts/promotion-channel-router.mjs +16 -4
  106. package/scripts/publication-reproducibility.mjs +62 -0
  107. package/scripts/release-propagation.mjs +39 -0
  108. package/scripts/resolve-build-contract.mjs +6 -0
  109. package/scripts/route-offline-runners.mjs +236 -0
  110. package/scripts/run-lifecycle-core.mjs +62 -1
  111. package/scripts/runtime-ref-core.mjs +23 -2
  112. package/scripts/seal-artifact-signing-requests.mjs +13 -6
  113. package/scripts/site-capability-metadata.mjs +202 -0
  114. package/scripts/stable-candidate-qualification.mjs +42 -0
  115. package/scripts/web-surface-core.mjs +272 -86
package/AGENTS.md CHANGED
@@ -23,7 +23,7 @@ override that policy:
23
23
  uses: kungfu-systems/buildchain/.github/workflows/build.yml@v3
24
24
  ```
25
25
 
26
- During the v2.12 alpha evaluation window, canaries call the same router through
26
+ During v3 prerelease evaluation windows, canaries call the same router through
27
27
  the matching prerelease ref:
28
28
 
29
29
  ```yaml
package/CONTRIBUTING.md CHANGED
@@ -120,7 +120,7 @@ release/vX/vX.Y -> publish-gate/major
120
120
  branch prefixes, max merges, and dry-run are all declared inputs.
121
121
  - When a Buildchain change needs downstream validation before stable refs move,
122
122
  publish a temporary runtime train ref such as
123
- `train/v2/v2.3/<capability>` and ask consumers to run trusted
123
+ `train/v3/v3.0/<capability>` and ask consumers to run trusted
124
124
  `workflow_dispatch` with `buildchain-ref` set to that train. Keep the pull
125
125
  request against the `dev/*` branch; the train is only a validation pointer,
126
126
  not a pending merge target. After validation succeeds, merge into the active
package/README.md CHANGED
@@ -191,6 +191,27 @@ npx @kungfu-tech/buildchain validate --require-version-state
191
191
  npx @kungfu-tech/buildchain release --dry-run --target-ref alpha/v3/v3.0
192
192
  ```
193
193
 
194
+ Bootstrap and inspect a governed paper repository through one interface:
195
+
196
+ ```bash
197
+ npx @kungfu-tech/buildchain paper scaffold \
198
+ --package @kungfu-tech/paper-example \
199
+ --repository kungfu-systems/paper-example
200
+ pnpm add -D @kungfu-tech/buildchain@<exact-v3-version>
201
+ pnpm exec buildchain paper work start <topic>
202
+ pnpm exec buildchain paper work submit
203
+ pnpm exec buildchain paper preflight --offline
204
+ pnpm exec buildchain paper status
205
+ ```
206
+
207
+ The paper surface is dry-run first. Add `--write` only to create missing
208
+ scaffold files. `work start` and `work submit` validate the canonical remote,
209
+ exact development SHA, clean source, safe branch, and fast-forward boundary
210
+ before changing local or GitHub state. External mutations such as npm
211
+ bootstrap, Alpha PR creation, and release resumption require `--execute`. See
212
+ [`docs/publication-artifacts.md`](docs/publication-artifacts.md) for the
213
+ evidence-state model and operator flow.
214
+
194
215
  Buildchain supports package and non-package projects through
195
216
  `.buildchain/buildchain.toml`. Legacy root `buildchain.toml` files remain
196
217
  readable, but new consumers should keep Buildchain-owned files under
@@ -212,13 +233,23 @@ plus fail-closed product-evidence gates for KFD-4, KFD-5, and KFD-7. These
212
233
  gates preserve product-owned qualification and support decisions; they do not
213
234
  turn a schema-valid record into certification or shipped support.
214
235
 
215
- Buildchain's active GitHub Action surface is deliberately small:
236
+ Buildchain's action registry currently contains six active entries. Four are
237
+ direct consumer integration actions:
216
238
 
217
239
  - `actions/validate-config`
218
240
  - `actions/run-lifecycle`
219
241
  - `actions/promote-buildchain-ref`
220
242
  - `actions/report-buildchain-issue`
221
243
 
244
+ Two additional release-authority components are also registered and versioned:
245
+
246
+ - `actions/github-artifact-attestation`
247
+ - `actions/macos-credential-island`
248
+
249
+ `dist/site/workflow-registry.json#actions` is the machine-readable inventory;
250
+ this split keeps the older four-action consumer list from being mistaken for
251
+ the complete current registry.
252
+
222
253
  The active reusable workflow surfaces are:
223
254
 
224
255
  - `.github/workflows/.gate-profile.yml` for project-neutral Shifu Gate profile
@@ -1,28 +1,46 @@
1
+ ---
2
+ status: active
3
+ period: ongoing
4
+ theme: buildchain-ref-promotion-action
5
+ doc_type: technical-reference
6
+ source_level: local-files
7
+ confidence: high
8
+ sensitivity: public
9
+ evidence_grade: A
10
+ review_state: unreviewed
11
+ last_reviewed: 2026-07-31
12
+ ai_provenance:
13
+ model_family: GPT-5
14
+ product: Codex
15
+ generated_at: 2026-07-31
16
+ invisible_context: not asserted
17
+ ---
18
+
1
19
  # promote-buildchain-ref
2
20
 
3
21
  Internal buildchain action for promoting verified buildchain release-line and
4
22
  compatibility refs from buildchain release channels:
5
23
 
6
- - `alpha/v2/v2.0` creates or reuses the next exact prerelease tag such as
7
- `v2.0.1-alpha.0`, writes that version into package version state, points the
24
+ - `alpha/v3/v3.0` creates or reuses the next exact prerelease tag such as
25
+ `v3.0.3-alpha.0`, writes that version into package version state, points the
8
26
  alpha and dev channel branches at the version commit, then promotes
9
- `v2.0-alpha` and, when this is the highest published alpha minor, `v3-alpha`;
10
- - `release/v2/v2.0` creates or reuses the next exact release tag such as
11
- `v2.0.0`, writes that version into package version state, points the release
27
+ `v3.0-alpha` and, when this is the highest published alpha minor, `v3-alpha`;
28
+ - `release/v3/v3.0` creates or reuses the next exact release tag such as
29
+ `v3.0.2`, writes that version into package version state, points the release
12
30
  channel branch and release tags at the release commit, then prepares a second
13
- source commit for the next exact prerelease tag such as `v2.0.1-alpha.0` and
14
- points the alpha/dev channel branches plus `v2.0-alpha` at that prerelease
15
- commit, and moves `v3-alpha` only if no higher v2 minor has published an alpha;
31
+ source commit for the next exact prerelease tag such as `v3.0.3-alpha.0` and
32
+ points the alpha/dev channel branches plus `v3.0-alpha` at that prerelease
33
+ commit, and moves `v3-alpha` only if no higher v3 minor has published an alpha;
16
34
  - `publish-gate/major` accepts a reviewed PR from a production release line such
17
- as `release/v2/v2.0`, writes the next major production version such as
18
- `v3.0.0`, points `publish-gate/major`, `release/v3/v3.0`, `v3.0`, and `v3`
19
- at that release commit, then prepares `v3.0.1-alpha.0` for
20
- `alpha/v3/v3.0`, `dev/v3/v3.0`, `v3.0-alpha`, and `v3-alpha`. The older `major-gate`
35
+ as `release/v3/v3.0`, writes the next major production version such as
36
+ `v4.0.0`, points `publish-gate/major`, `release/v4/v4.0`, `v4.0`, and `v4`
37
+ at that release commit, then prepares `v4.0.1-alpha.0` for
38
+ `alpha/v4/v4.0`, `dev/v4/v4.0`, `v4.0-alpha`, and `v4-alpha`. The older `major-gate`
21
39
  branch name is a compatibility alias only.
22
40
 
23
41
  The release branch name defines the minor line. For example,
24
- `release/v2/v2.1` creates `v2.1.N`, promotes `v2.1`, and promotes `v2` only
25
- when the next minor tag such as `v2.2` does not already exist.
42
+ `release/v3/v3.1` creates `v3.1.N`, promotes `v3.1`, and promotes `v3` only
43
+ when the next minor tag such as `v3.2` does not already exist.
26
44
 
27
45
  The action updates version state in `lerna.json`, root `package.json`, and
28
46
  workspace package manifests discovered from package manager metadata
@@ -134,7 +152,7 @@ trusted channel workflow:
134
152
  token: ${{ secrets.BUILDCHAIN_PROMOTION_TOKEN }}
135
153
  generated-ref-update-token: ${{ github.token }}
136
154
  sha: ${{ github.sha }}
137
- target-ref: release/v2/v2.0
155
+ target-ref: release/v3/v3.0
138
156
  publish-transaction: "true"
139
157
  publish-mode: publish-final-version
140
158
  publish-auth: trusted-publishing
@@ -219,6 +237,10 @@ and fail before publish-gate side effects if it no longer matches:
219
237
  promote-only-release-candidate: "true"
220
238
  release-candidate-passport-path: .buildchain/artifacts/release-candidate-passport.json
221
239
  release-candidate-build-summary-path: .buildchain/artifacts/build-summary.json
240
+ release-candidate-family-evidence-required: "true"
241
+ release-candidate-family-evidence-root: sha256:<initiative-family-root>
242
+ release-candidate-family-initiative-id: 2026-07-30-example-initiative
243
+ release-candidate-family-assignment-id: 2026-07-30-example-release
222
244
  ```
223
245
 
224
246
  The action validates repository, channel, source identity, platform matrix, and
@@ -229,6 +251,14 @@ channel HEAD's Git tree SHA matching the passport tree hash. If validation
229
251
  fails, run or attach the verified channel PR build first instead of promoting a
230
252
  stale or unproven artifact set.
231
253
 
254
+ The four family-evidence inputs are optional. When enabled, the action requires
255
+ the candidate passport to carry the exact
256
+ `kungfu-buildchain-initiative-family-release-evidence/v1` envelope and checks
257
+ its family root, Initiative id, and Assignment id before any promotion
258
+ mutation. Buildchain only transports and validates this adapter-edge release
259
+ evidence; Kungfu Work Control remains authoritative for native Family State v1
260
+ and its additive v2 typed envelope.
261
+
232
262
  When enabled, the action creates or resumes a release transaction keyed by
233
263
  repository, version, source SHA, and target ref. It persists that transaction to
234
264
  a machine-managed branch under `buildchain/release-state/<version>`, with
@@ -244,6 +274,16 @@ Passport collection. This is explicit opt-in because registry publication and
244
274
  other provider mutations must not be replayed blindly; the option rejects
245
275
  `promote-existing-version`.
246
276
 
277
+ Build-once callers additionally pass `publish-sealed-bundle-root` and
278
+ `publish-sealed-bundle-manifest`. The action verifies the typed manifest and
279
+ persists every declared file below
280
+ `sealed-bundle/<candidate-root>/files/` on the same durable ref before it starts
281
+ the publish command. A fresh runner can omit both inputs: the action restores
282
+ the exact binary bundle into `.buildchain/recovered-publication/<version>/`,
283
+ re-verifies it, and exports the recovered npm tarball through
284
+ `BUILDCHAIN_SEALED_NPM_TARBALL` with its exact integrity and SHA-256. This path
285
+ never repacks the npm tarball.
286
+
247
287
  The action runs `lifecycle.publish` from `buildchain.toml` or the explicit
248
288
  `publish-command` input, then validates publish evidence before exact tags and
249
289
  floating refs move. If durable state persistence fails, the action fails closed
@@ -275,6 +315,10 @@ BUILDCHAIN_RELEASE_SHA
275
315
  BUILDCHAIN_RELEASE_MATERIAL_SHA
276
316
  BUILDCHAIN_PUBLISH_TOOLING_SHA
277
317
  BUILDCHAIN_PUBLISH_EVIDENCE
318
+ BUILDCHAIN_SEALED_BUNDLE_ROOT
319
+ BUILDCHAIN_SEALED_NPM_TARBALL
320
+ BUILDCHAIN_SEALED_NPM_INTEGRITY
321
+ BUILDCHAIN_SEALED_NPM_SHA256
278
322
  BUILDCHAIN_REQUIRED_ARTIFACTS
279
323
  ```
280
324
 
@@ -287,11 +331,17 @@ before `lifecycle.publish`. Requirement descriptors may omit `digest`; final
287
331
  publish evidence may not.
288
332
 
289
333
  The action outputs `transaction-id`, `transaction-state`,
334
+ `transaction-publication-state`, `transaction-sealed-bundle-root`,
335
+ `transaction-resume-command`,
290
336
  `transaction-exact-tag`, `public-release-tag`, `transaction-release-sha`,
291
337
  `transaction-state-ref`, `transaction-state-sha`, `transaction-state-path`,
292
338
  `publish-evidence-path`, and `release-passport-path`, `release-passport-output-dir`,
293
339
  `release-passport-state-sha`, and `finalization-needed`.
294
340
  `transaction-state-ref` is the durable recovery location.
341
+ `transaction-publication-state` provides the stable
342
+ `prepared`, `sealed`, `package-published`, `alpha-complete`, or
343
+ `release-complete` operator view. `transaction-resume-command` is the exact
344
+ consumer-facing resume entrypoint bound into the sealed manifest.
295
345
  `release-passport-state-sha` is the durable ref commit after the generated
296
346
  `release-passport/*` files have been uploaded into that recovery ref.
297
347
  `finalization-needed=true` means publish evidence is valid, but protected branch
@@ -311,7 +361,11 @@ package releases, `public-release-tag` is derived
311
361
  from the published package version, while `transaction-exact-tag` remains the
312
362
  internal Buildchain transaction ref for recovery and audit. If the transaction is
313
363
  not complete yet, the action defers GitHub Release publication to the next
314
- idempotent promotion run.
364
+ idempotent promotion run. When sealed release assets are present, those restored
365
+ files replace caller-supplied artifact paths. After upload succeeds, the action
366
+ writes the `github_release` milestone back to the durable transaction; an
367
+ interruption before that write is safe to retry because release creation and
368
+ asset replacement are idempotent.
315
369
 
316
370
  After a publish transaction reaches `complete`, the action generates the unified
317
371
  `buildchain-release-passport` in `.buildchain/release-passport` by default and
@@ -351,6 +405,23 @@ requires a `verified` verdict, complete platform coverage, a clean exact source
351
405
  revision, and then binds the result into `buildchain.release.json`. Missing,
352
406
  stale, falsified, incomplete, dirty, or tampered Passport evidence fails the
353
407
  release transaction closed.
408
+ Set `release-passport-evidence-jsons` to newline-separated product-owned release
409
+ evidence attachment indexes. Each JSON document must declare `schemaVersion`, a
410
+ stable `id`, a product contract, and the exact release source SHA, tag, and
411
+ channel. Buildchain copies and hashes the documents, verifies their coordinates
412
+ against the final Passport, and retains them in the release evidence bundle
413
+ without interpreting product-specific or legal claims.
414
+
415
+ When release coordinates are not known until promotion, set
416
+ `release-passport-attachment-command`. Buildchain supplies
417
+ `BUILDCHAIN_RELEASE_SOURCE_SHA`, `BUILDCHAIN_RELEASE_TAG`,
418
+ `BUILDCHAIN_RELEASE_CHANNEL`, `BUILDCHAIN_RELEASE_VERSION`,
419
+ `BUILDCHAIN_RELEASE_DEPLOYMENT_COORDINATE`, `BUILDCHAIN_RELEASE_TARGET_REF`, and
420
+ `BUILDCHAIN_RELEASE_PASSPORT_OUTPUT_DIR`; the command must emit a JSON array or
421
+ an object with a non-empty `files` array. Direct Action callers may still use
422
+ the v2 alias `release-passport-evidence-command`. Reusable v3 workflows reserve
423
+ that older name for the distinct post-activation released-evidence command.
424
+
354
425
  Buildchain's own release workflow sets `release-passport-buildchain-self-kfd:
355
426
  "true"`. In that mode the action generates Buildchain-owned KFD-1/2/3 witnesses
356
427
  inside the final version-state workspace, after the release transaction has
@@ -446,15 +517,15 @@ so the mutation path cannot widen the authority descriptor.
446
517
 
447
518
  The tag names intentionally follow the old ABV release semantics:
448
519
  exact release tags are `vX.Y.Z`, exact alpha tags are `vX.Y.Z-alpha.N`, floating
449
- release tags are minor/major tags such as `v2.0` and `v2`, and floating alpha
450
- tags are minor-line tags such as `v2.0-alpha` plus cross-minor major tags such
520
+ release tags are minor/major tags such as `v3.0` and `v3`, and floating alpha
521
+ tags are minor-line tags such as `v3.0-alpha` plus cross-minor major tags such
451
522
  as `v3-alpha`. A major alpha tag only moves for the highest minor in that major
452
523
  with a published alpha, so older-line maintenance cannot roll consumers back.
453
524
  Bare tags such as `1.0.0` are not
454
525
  maintained as buildchain release entrypoints.
455
526
 
456
527
  Repository rulesets should protect exact tags, not every `v*` tag. A ruleset
457
- such as `refs/tags/v*` also protects floating channel tags like `v2.0-alpha` and `v3-alpha`,
528
+ such as `refs/tags/v*` also protects floating channel tags like `v3.0-alpha` and `v3-alpha`,
458
529
  which Buildchain must update after exact tags and publish evidence are durable.
459
530
  Use an exact-tag rule such as `refs/tags/v*.*.*` for immutable evidence tags and
460
531
  leave floating channel tags mutable for the promotion token.
@@ -1,3 +1,21 @@
1
+ ---
2
+ status: active
3
+ period: ongoing
4
+ theme: buildchain-consumer-issue-action
5
+ doc_type: technical-reference
6
+ source_level: local-files
7
+ confidence: high
8
+ sensitivity: public
9
+ evidence_grade: A
10
+ review_state: unreviewed
11
+ last_reviewed: 2026-07-31
12
+ ai_provenance:
13
+ model_family: GPT-5
14
+ product: Codex
15
+ generated_at: 2026-07-31
16
+ invisible_context: not asserted
17
+ ---
18
+
1
19
  # report-buildchain-issue
2
20
 
3
21
  Create or update a Buildchain repository issue from a consumer workflow or from
@@ -76,7 +94,7 @@ steps:
76
94
  workflow: ${{ github.workflow }}
77
95
  run-id: ${{ github.run_id }}
78
96
  run-attempt: ${{ github.run_attempt }}
79
- channel: alpha/v2/v2.4
97
+ channel: alpha/v3/v3.0
80
98
  source-sha: ${{ github.sha }}
81
99
  friction-class: duplicate-build
82
100
  related-runs-json: ${{ steps.classify.outputs.related-runs-json }}
@@ -26,6 +26,11 @@ be diagnosed after the runner is released.
26
26
  The action writes both a full manifest and a compact summary. It also exposes
27
27
  the summary as outputs for reusable workflow callers:
28
28
 
29
+ For a `build` stage, paths selected by `[[signing.artifacts]]` for the current
30
+ `platform-id` are automatically included in the lifecycle manifest even when
31
+ they sit outside `artifact-paths`. This binds every byte sent to the signing
32
+ authority without changing which ordinary product paths the caller uploads.
33
+
29
34
  | Output | Meaning |
30
35
  | --- | --- |
31
36
  | `manifest-path` | Full manifest path |
@@ -1,6 +1,24 @@
1
+ ---
2
+ status: active
3
+ period: ongoing
4
+ theme: buildchain-config-validation-action
5
+ doc_type: technical-reference
6
+ source_level: local-files
7
+ confidence: high
8
+ sensitivity: public
9
+ evidence_grade: A
10
+ review_state: unreviewed
11
+ last_reviewed: 2026-07-31
12
+ ai_provenance:
13
+ model_family: GPT-5
14
+ product: Codex
15
+ generated_at: 2026-07-31
16
+ invisible_context: not asserted
17
+ ---
18
+
1
19
  # validate-config
2
20
 
3
- Buildchain v2 action for validating `buildchain.toml` without running lifecycle
21
+ Buildchain v3 action for validating `.buildchain/buildchain.toml` without running lifecycle
4
22
  commands.
5
23
 
6
24
  Use this action during repository migration when a heavyweight project needs to