@kungfu-tech/buildchain 4.1.3 → 4.1.4

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 (199) hide show
  1. package/AGENTS.md +11 -13
  2. package/CONTRIBUTING.md +32 -9
  3. package/README.md +56 -140
  4. package/actions/release/promotion/ref/README.md +1 -1
  5. package/architecture/action-taxonomy.json +1 -1
  6. package/architecture/agent-change-map.md +32 -45
  7. package/architecture/build-orchestration.json +1 -1
  8. package/architecture/capability-state-machine-manifest.json +5 -5
  9. package/architecture/ci-lane-change-budget.json +92 -92
  10. package/architecture/code-layout.json +2 -12
  11. package/architecture/core-mechanisms.json +38 -39
  12. package/architecture/cross-platform-adopter-qualification.json +1 -1
  13. package/architecture/dev-delivery-orchestration.json +2 -2
  14. package/architecture/floating-consumer-policy.json +3 -3
  15. package/architecture/internal-capabilities.json +27 -28
  16. package/architecture/maintainability-debt.json +60 -94
  17. package/architecture/maintainability-policy.json +7 -13
  18. package/architecture/minimal-consumer-migration.json +43 -5014
  19. package/architecture/platform-stage-checkpoints.json +1 -1
  20. package/architecture/release-tail-contract.json +2 -2
  21. package/architecture/release-topology.json +31 -25
  22. package/architecture/stage-capsule-qualification.json +1 -1
  23. package/architecture/universal-workflow-bootstrap.json +60 -60
  24. package/architecture/universal-workflow-capability-policy.json +3 -3
  25. package/architecture/universal-workflow-fault-campaign.json +7 -7
  26. package/architecture/workflow-taxonomy.json +59 -60
  27. package/contracts/fixtures/v4-tail-reseal-v1/valid.json +1 -1
  28. package/dist/site/buildchain-contract.json +138 -66
  29. package/dist/site/buildchain-site.json +257 -331
  30. package/dist/site/capability-registry.json +4 -4
  31. package/dist/site/cli-registry.json +6 -142
  32. package/dist/site/controller-registry.json +19 -19
  33. package/dist/site/kfd-claims.json +481 -529
  34. package/dist/site/kfd-upstream-aggregate.json +1 -1
  35. package/dist/site/manual-registry.json +22 -22
  36. package/dist/site/node-api-registry.json +82 -339
  37. package/dist/site/page-registry.json +229 -304
  38. package/dist/site/public-surface-audit.json +544 -754
  39. package/dist/site/publication-authority-registry.json +316 -316
  40. package/dist/site/publication-registry.json +1 -1
  41. package/dist/site/site-manifest.json +23 -23
  42. package/dist/site/workflow-registry.json +1071 -1027
  43. package/docs/MAP.md +28 -20
  44. package/docs/auditable-demo.md +17 -49
  45. package/docs/bootstrap-recovery.md +46 -37
  46. package/docs/cli-reference.md +2 -46
  47. package/docs/cli.md +97 -186
  48. package/docs/code-organization.md +7 -5
  49. package/docs/dev-alpha-candidate-patrol.md +19 -42
  50. package/docs/dev-delivery-orchestration.md +15 -11
  51. package/docs/dev-delivery-qualification-landing-adr.md +10 -9
  52. package/docs/dev-delivery-warrant.md +17 -16
  53. package/docs/dev-qualification-patrol.md +25 -20
  54. package/docs/getting-started.md +80 -139
  55. package/docs/github-artifact-attestation.md +31 -81
  56. package/docs/install.md +66 -30
  57. package/docs/lifecycle-protocol.md +19 -57
  58. package/docs/migration-inventory.md +17 -45
  59. package/docs/next-development-transition.md +13 -13
  60. package/docs/node-api-reference.md +122 -138
  61. package/docs/oci-publication.md +13 -10
  62. package/docs/publication-artifacts.md +128 -486
  63. package/docs/publication-authority.md +15 -45
  64. package/docs/publish-transaction.md +13 -11
  65. package/docs/release-candidate.md +126 -355
  66. package/docs/release-discussions.md +36 -67
  67. package/docs/release-flow.md +80 -339
  68. package/docs/release-governance.md +114 -962
  69. package/docs/release-promotion-request.md +45 -43
  70. package/docs/release-propagation.md +13 -27
  71. package/docs/release-tail-provider-plane.md +38 -65
  72. package/docs/reusable-build-surface.md +78 -196
  73. package/docs/runtime-train-validation.md +8 -6
  74. package/docs/stable-candidate-patrol.md +13 -66
  75. package/docs/v4-adopter-delivery.md +15 -15
  76. package/docs/v4-declarative-release-tail-migration.md +19 -17
  77. package/docs/v4-production-release.md +11 -6
  78. package/docs/v4-publication-rehearsal.md +12 -27
  79. package/docs/v4-stage-capsule.md +14 -20
  80. package/docs/v4-tail-reseal.md +34 -20
  81. package/docs/web-surface-deployments.md +26 -264
  82. package/docs/workflow-catalog.md +31 -31
  83. package/docs/workflow-path-migration.md +10 -4
  84. package/package.json +5 -4
  85. package/packages/core/adoption/buildchain-kfd-claims.js +7 -7
  86. package/packages/core/adoption/cli/output.mjs +1 -9
  87. package/packages/core/adoption/cli/product-gate.mjs +1 -15
  88. package/packages/core/adoption/cli/project.mjs +9 -10
  89. package/packages/core/adoption/cli/standards.mjs +1 -14
  90. package/packages/core/adoption/cli/support.mjs +0 -2
  91. package/packages/core/adoption/cli/surface-register.mjs +0 -2
  92. package/packages/core/adoption/commands/init-repo.mjs +77 -485
  93. package/packages/core/adoption/consumer-init.js +279 -0
  94. package/packages/core/adoption/qualification/admission.js +1 -1
  95. package/packages/core/build/cli/cache.mjs +0 -2
  96. package/packages/core/build/cli/facts.mjs +0 -3
  97. package/packages/core/build/cli/homebrew.mjs +0 -4
  98. package/packages/core/build/cli/lifecycle.mjs +0 -3
  99. package/packages/core/build/github-artifact-attestation.js +2 -2
  100. package/packages/core/build/platform-stage-checkpoints.js +1 -1
  101. package/packages/core/build/signing/dispatch.js +1 -1
  102. package/packages/core/consumer/buildchain-config.js +9 -0
  103. package/packages/core/consumer/contract/inspection.js +351 -9
  104. package/packages/core/consumer/contract/javascript-syntax.js +439 -0
  105. package/packages/core/consumer/contract/javascript-values.js +61 -0
  106. package/packages/core/consumer/contract/javascript.js +555 -0
  107. package/packages/core/consumer/contract/local-validation.js +84 -0
  108. package/packages/core/contracts/buildchain-contract.js +39 -8
  109. package/packages/core/contracts/cli/introspection.mjs +1 -9
  110. package/packages/core/contracts/public-surface-cli.js +0 -1
  111. package/packages/core/dev-delivery/dev-delivery-contract-surface.js +2 -2
  112. package/packages/core/governance/buildchain-publication-authority.js +24 -24
  113. package/packages/core/governance/cli/doctor.mjs +58 -42
  114. package/packages/core/governance/commands/architecture.mjs +6 -1
  115. package/packages/core/governance/commands/audit-publication-control-plane.mjs +1 -1
  116. package/packages/core/governance/commands/workflow-friction-report.mjs +1 -1
  117. package/packages/core/governance/github-governance-authority.js +2 -2
  118. package/packages/core/governance/publication/collection.js +1 -1
  119. package/packages/core/index.js +1 -3
  120. package/packages/core/observability/cli/candidate.mjs +0 -2
  121. package/packages/core/observability/cli/context.mjs +0 -5
  122. package/packages/core/observability/cli/diagnostics.mjs +0 -7
  123. package/packages/core/observability/cli/events.mjs +2 -10
  124. package/packages/core/paper/commands/paper-work-fleet-cli.mjs +1 -1
  125. package/packages/core/paper/commands/paper.mjs +33 -422
  126. package/packages/core/paper/consumer-status.js +72 -0
  127. package/packages/core/paper/operations/identity.js +0 -3
  128. package/packages/core/paper/operations/migration.js +460 -0
  129. package/packages/core/paper/operations/preflight-checks.js +8 -68
  130. package/packages/core/paper/operations/scaffold.js +16 -326
  131. package/packages/core/paper/operations/status.js +27 -53
  132. package/packages/core/paper/paper-agent-entry.js +36 -147
  133. package/packages/core/paper/paper-fleet.js +24 -39
  134. package/packages/core/paper/paper-repository.js +16 -0
  135. package/packages/core/paper/paper-runtime-channels.js +1 -1
  136. package/packages/core/paper/paper-scaffold-content.js +153 -162
  137. package/packages/core/paper/paper-work.js +3 -10
  138. package/packages/core/paper/paper.js +43 -5
  139. package/packages/core/providers/github/artifact-attestation.js +1 -1
  140. package/packages/core/providers/github/pipeline-context-artifacts.js +172 -0
  141. package/packages/core/publication/authority/control-plane.js +2 -2
  142. package/packages/core/publication/authority/seal.js +1 -1
  143. package/packages/core/publication/cli/dispatch.mjs +1 -12
  144. package/packages/core/publication/pipeline/actions.js +16 -9
  145. package/packages/core/publication/pipeline/apply.js +17 -9
  146. package/packages/core/publication/pipeline/context.js +29 -0
  147. package/packages/core/publication/pipeline/prepare.js +15 -6
  148. package/packages/core/publication/pipeline/recovery-materials.js +63 -1
  149. package/packages/core/publication/pipeline/recovery-prepare.js +21 -9
  150. package/packages/core/publication/pipeline/stable-entry.js +12 -7
  151. package/packages/core/publication/pipeline/stable-products.js +21 -19
  152. package/packages/core/publication/pipeline/version-actions.js +15 -6
  153. package/packages/core/publication/publication-rehearsal-projection.js +0 -9
  154. package/packages/core/release/cli/dispatch.mjs +1 -4
  155. package/packages/core/release/cli/inspection-handlers.mjs +1 -33
  156. package/packages/core/release/cli/release-handlers.mjs +2 -19
  157. package/packages/core/release/cli/verification-handlers.mjs +4 -25
  158. package/packages/core/release/next-development-projection.js +13 -13
  159. package/packages/core/release/passport/locations.js +13 -8
  160. package/packages/core/release/release-passport.js +70 -5
  161. package/packages/core/web/cli/badges.mjs +0 -4
  162. package/packages/core/web/publication-admission.js +1 -1
  163. package/packages/core/web/publication-capability.js +1 -1
  164. package/packages/core/web/readme-badges.js +1 -1
  165. package/packages/core/workflow/cli/main.mjs +1 -4
  166. package/packages/core/workflow/cli/process.mjs +1 -1
  167. package/packages/core/workflow/commands/buildchain-cli-help.mjs +2 -8
  168. package/packages/core/workflow/engine/conformance.js +1 -1
  169. package/packages/core/workflow/pipeline/build.js +21 -1
  170. package/packages/core/workflow/pipeline/delivery-observation.js +6 -2
  171. package/packages/core/workflow/workflow-taxonomy.mjs +61 -17
  172. package/scripts/check-code-layout.mjs +2 -0
  173. package/scripts/check-core-mechanism-inventory.mjs +29 -13
  174. package/scripts/check-floating-consumer-policy-contract.mjs +3 -3
  175. package/scripts/check-inventory.mjs +27 -27
  176. package/scripts/check-maintainability.mjs +28 -5
  177. package/scripts/check-public-dogfood-contract.mjs +3 -3
  178. package/scripts/check-release-topology.mjs +1 -1
  179. package/scripts/check-self-consumer-contract.mjs +7 -7
  180. package/scripts/check-universal-workflow-bootstrap.mjs +1 -1
  181. package/scripts/generate-channel-promotion-workflow.mjs +1 -1
  182. package/scripts/generate-minimal-consumer-contract.mjs +21 -1
  183. package/scripts/generate-site-bundle.mjs +2 -1
  184. package/scripts/generate-tail-reseal-fixture.mjs +3 -3
  185. package/scripts/inventory/promotion.mjs +1 -1
  186. package/scripts/next-development-self-dogfood-harness.mjs +1 -1
  187. package/scripts/next-development-self-dogfood.mjs +4 -4
  188. package/scripts/site-capability-metadata.mjs +2 -6
  189. package/scripts/source-metric-lineage.mjs +62 -7
  190. package/scripts/verify-golden-path.mjs +31 -35
  191. package/templates/native-dev-delivery.yml +1 -1
  192. package/templates/universal-buildchain-bootstrap.yml +1 -1
  193. package/packages/core/paper/operations/bootstrap.js +0 -75
  194. package/packages/core/paper/operations/plans.js +0 -213
  195. package/packages/core/paper/operations/provisioning.js +0 -113
  196. package/packages/core/paper/operations/scaffold-config.js +0 -77
  197. package/packages/core/paper/operations/scaffold-workflows.js +0 -116
  198. package/packages/core/paper/operations/workspace.js +0 -60
  199. package/packages/core/paper/paper-npm-bootstrap.js +0 -492
package/docs/install.md CHANGED
@@ -1,3 +1,22 @@
1
+ ---
2
+ status: active
3
+ period: ongoing
4
+ theme: buildchain-installation
5
+ doc_type: technical-reference
6
+ source_level: local-files
7
+ confidence: high
8
+ sensitivity: public
9
+ evidence_grade: B
10
+ review_state: unreviewed
11
+ last_reviewed: 2026-09-20
12
+ ai_provenance:
13
+ model_family: GPT-6
14
+ product: Codex
15
+ generated_at: 2026-09-20
16
+ visible_context: Current CLI source and public v4.1.3 release asset names and SHA-256 digests.
17
+ invisible_context_boundary: No new publication, installed artifact verification or live provider settlement is claimed.
18
+ ---
19
+
1
20
  # Install and Verify Buildchain
2
21
 
3
22
  Buildchain can be consumed as a standalone binary, an npm package, or a
@@ -6,9 +25,9 @@ adopting a new version.
6
25
 
7
26
  ## Standalone Binary
8
27
 
9
- Buildchain v4.0.0 does not publish standalone platform archives. This section
10
- documents the verified legacy binary release contract; v4 consumers should use
11
- the npm package or repository workflow surface below.
28
+ The [v4.1.3 release](https://github.com/kungfu-systems/buildchain/releases/tag/v4.1.3)
29
+ includes these standalone platform archives. The examples below pin that exact
30
+ release and verify its archive bytes against the published SHA-256 digests.
12
31
 
13
32
  Use the archive that matches the platform:
14
33
 
@@ -21,31 +40,29 @@ Use the archive that matches the platform:
21
40
  Linux example:
22
41
 
23
42
  ```bash
24
- tag=v2.2.1
43
+ tag=v4.1.3
25
44
  base="https://github.com/kungfu-systems/buildchain/releases/download/${tag}"
26
- curl -LO "${base}/buildchain-x86_64-unknown-linux-gnu.tar.gz"
27
- curl -LO "${base}/buildchain.release.json"
28
- curl -LO "${base}/artifact-evidence.json"
29
- npx @kungfu-tech/buildchain verify release-passport buildchain.release.json
30
- tar -xzf buildchain-x86_64-unknown-linux-gnu.tar.gz
31
- ./buildchain version
45
+ curl -fLO "${base}/buildchain-x86_64-unknown-linux-gnu.tar.gz"
46
+ echo 'd4240384f880f598df2a3ecd9220b3cd7ac4b7042ecb34f82c319cb76dfc8c1e buildchain-x86_64-unknown-linux-gnu.tar.gz' | sha256sum --check &&
47
+ tar -xzf buildchain-x86_64-unknown-linux-gnu.tar.gz &&
48
+ ./buildchain version
32
49
  ```
33
50
 
34
51
  Windows example:
35
52
 
36
53
  ```powershell
37
- $tag = "v2.2.1"
54
+ $tag = "v4.1.3"
38
55
  $base = "https://github.com/kungfu-systems/buildchain/releases/download/$tag"
39
56
  Invoke-WebRequest "$base/buildchain-x86_64-pc-windows-msvc.zip" -OutFile buildchain.zip
40
- Invoke-WebRequest "$base/buildchain.release.json" -OutFile buildchain.release.json
41
- Invoke-WebRequest "$base/artifact-evidence.json" -OutFile artifact-evidence.json
42
- npx @kungfu-tech/buildchain verify release-passport buildchain.release.json
57
+ $digest = (Get-FileHash buildchain.zip -Algorithm SHA256).Hash.ToLowerInvariant()
58
+ if ($digest -ne "3ec4e2d9666d254e8a55fdbe99297d0884204cbd871dc399d8f6f791e824183f") { throw "Archive digest mismatch" }
43
59
  Expand-Archive buildchain.zip -DestinationPath .
44
60
  .\buildchain.exe version
45
61
  ```
46
62
 
47
- The GitHub Release page does not publish loose top-level `buildchain` or
48
- `buildchain.exe` files. The executable is inside each platform archive.
63
+ The executable is inside each platform archive. The macOS archive's SHA-256
64
+ for v4.1.3 is `79221431aa832053952bffb36e68d63676ec922fc317d6f7e315d32a2fd20993`;
65
+ use `shasum -a 256` to check it. Select a release and its matching digests together.
49
66
 
50
67
  ## npm Package
51
68
 
@@ -64,7 +81,7 @@ Stable consumers should pin the exact Buildchain version they have validated,
64
81
  for example:
65
82
 
66
83
  ```bash
67
- pnpm add -D @kungfu-tech/buildchain@4.0.0
84
+ pnpm add -D @kungfu-tech/buildchain@4.1.3
68
85
  ```
69
86
 
70
87
  If a repository dogfoods a just-published Buildchain version and pnpm's release
@@ -74,34 +91,53 @@ all packages:
74
91
 
75
92
  ```yaml
76
93
  minimumReleaseAgeExclude:
77
- - '@kungfu-tech/buildchain@4.0.0'
94
+ - '@kungfu-tech/buildchain@4.1.3'
78
95
  ```
79
96
 
80
97
  Remove that entry after the package is old enough for the repository's normal
81
98
  policy. Do not use a broad exclude such as `@kungfu-tech/*` for this case.
82
- Buildchain-managed Paper scaffold and migration commands maintain this exact
83
- version entry in `pnpm-workspace.yaml` so an immediately published, verified
84
- runtime can refresh the lockfile without weakening the policy for other
85
- packages.
99
+ For repositories that already have `pnpm-workspace.yaml`, Paper migration
100
+ maintains the exclusion for the selected exact Buildchain version.
86
101
 
87
102
  ## Repository Integration
88
103
 
89
104
  ```bash
90
105
  npx @kungfu-tech/buildchain init --type package --package-manager pnpm
91
106
  npx @kungfu-tech/buildchain validate --require-version-state
92
- npx @kungfu-tech/buildchain release --dry-run --target-ref alpha/v4/v4.0
107
+ npx @kungfu-tech/buildchain doctor --json
93
108
  ```
94
109
 
95
- Use `.buildchain/buildchain.toml` to declare lifecycle commands. The commands may use Node
96
- package managers or non-Node tools such as pip, Conan, CMake, Make, or project
97
- scripts.
110
+ Use `.buildchain/buildchain.toml` to declare schema-2 products and their install,
111
+ build and verification commands. The generated `buildchain.yml` and
112
+ `buildchain-recover.yml` delegate normal operation and exact-attempt recovery
113
+ to the shared public pair. A protected channel PR expresses release intent;
114
+ the runtime owns publication. See the [getting-started guide](getting-started.md).
115
+
116
+ ## Release Evidence
98
117
 
99
- ## Verify a Release Passport
118
+ Current pipeline releases retain `buildchain.release.json` using
119
+ `kungfu.buildchain.release-passport/v4`, alongside plan, qualification,
120
+ invocation, capsule and attestation JSON files. Their checks and provider
121
+ readback belong to the shared pipeline. v4.1.3 publishes this inventory on its
122
+ release page.
123
+
124
+ Use a CLI built from the current source for the v4 reader; the published 4.1.3
125
+ CLI still has the legacy-only reader. Keep all six evidence files together,
126
+ unchanged, and install GitHub CLI with `gh attestation verify` support:
100
127
 
101
128
  ```bash
102
- buildchain verify release-passport buildchain.release.json
129
+ gh release download v4.1.3 --repo kungfu-systems/buildchain --pattern 'buildchain.*.json'
130
+ buildchain verify release-passport buildchain.release.json --json
103
131
  buildchain explain release --passport buildchain.release.json --for agent --json
104
132
  ```
105
133
 
106
- The verifier fails closed when the passport or its sibling evidence files are
107
- missing required fields or mismatching artifact digests.
134
+ The current reader verifies the central publisher's attestation, exact source,
135
+ qualification, invocation, capsules and reconstructed passport. Its report uses
136
+ `verificationScope: signed-release-metadata`; this does not check downloaded
137
+ archive bytes or reobserve the provider's current publication state. Check the
138
+ archive's digest separately before extracting or running it.
139
+
140
+ Missing or changed companion evidence, an unexpected publisher, or a failed
141
+ signature check produces a failed verification report. The reader also retains
142
+ support for the legacy `kungfu-buildchain-release-passport` envelope and its
143
+ original sibling evidence files.
@@ -1,5 +1,5 @@
1
1
  ---
2
- status: active
2
+ status: historical
3
3
  period: ongoing
4
4
  theme: buildchain-lifecycle-protocol
5
5
  doc_type: technical-reference
@@ -8,15 +8,23 @@ confidence: high
8
8
  sensitivity: public
9
9
  evidence_grade: A
10
10
  review_state: unreviewed
11
- last_reviewed: 2026-07-31
11
+ last_reviewed: 2026-09-20
12
12
  ai_provenance:
13
- model_family: GPT-5
13
+ model_family: GPT-6
14
14
  product: Codex
15
- generated_at: 2026-07-31
15
+ generated_at: 2026-09-20
16
16
  invisible_context: not asserted
17
17
  ---
18
18
 
19
- # Lifecycle Protocol
19
+ # Legacy lifecycle protocol
20
+
21
+ This page retains the schema-1 lifecycle engine reference and older migration
22
+ examples. It is not the schema-2 consumer configuration contract. Current
23
+ consumers declare products, install/build/verify commands, artifacts, targets,
24
+ version files and channels in `.buildchain/buildchain.toml`; see
25
+ [Getting started](getting-started.md) and the [CLI guide](cli.md).
26
+ Publication, proof reuse and recovery are runtime-owned, not lifecycle hooks to
27
+ copy into a new consumer.
20
28
 
21
29
  Buildchain uses `.buildchain/buildchain.toml` as the v3 repository configuration format.
22
30
  The file is optional for simple JavaScript repositories, but it is the preferred
@@ -202,59 +210,13 @@ git diff --check
202
210
  """
203
211
  ```
204
212
 
205
- `lifecycle.check` is the repository-owned source-acceptance gate. It should
206
- validate the checked-out source revision without entering the build, artifact,
207
- or release lifecycle. Consumers can run it on GitHub-hosted Linux through
208
- `.github/workflows/public-build-check.yml@v3` with `mode: source`; the reusable workflow runs
209
- only `lifecycle.install` and `lifecycle.check`. The default `mode: verify`
210
- continues to run `lifecycle.install` and `lifecycle.verify` for existing callers.
211
- Both executed stages receive `BUILDCHAIN_CHECK_MODE=source` or
212
- `BUILDCHAIN_CHECK_MODE=verify`, so a repository whose normal install path can
213
- compile native tooling can select a provisioning-only install path for source
214
- acceptance without weakening promotion installs.
215
- The reusable job name remains `check`, and `upload-artifacts: false` disables
216
- evidence upload without changing the job conclusion used by branch protection.
217
-
218
- Repositories with an expensive `lifecycle.check` may opt into exact source
219
- qualification proof reuse for merge groups. Set `source-proof-reuse: true` and
220
- provide non-empty JSON arrays for the policy, closure, dependency, and required
221
- context inputs. A successful pull-request run seals its exact source head, base,
222
- patch, runtime, plan, path-set roots, required contexts, controller receipt, and
223
- workflow run into a content-addressed artifact. The corresponding merge-group
224
- run downloads only an unexpired artifact from a successful run of the same
225
- caller workflow and pull request, recomputes every predicate, and records a
226
- merge-group-bound reuse decision. Reuse additionally requires the synthetic
227
- merge-group commit to have exactly the qualified base and proved PR head as its
228
- two parents; grouped or otherwise changed composition falls back. Exact
229
- verification skips package setup and the duplicate lifecycle commands while
230
- retaining the stable `check / check` context and an explicit non-executed
231
- lifecycle evidence manifest.
232
-
233
- The opt-in pull-request producer checks out `pull_request.head.sha`, not the
234
- ephemeral pull-request merge ref. This keeps the controller receipt, proof
235
- artifact name, and sealed source identity on the same exact PR head that the
236
- merge-group verifier binds as its second parent. Other check modes and callers
237
- retain their existing checkout behavior.
238
-
239
- The optimization is fail closed. A missing artifact, API or download error,
240
- base advance, source change, runtime change, contract change, configured path
241
- change, file blob change, required-context change, malformed proof, or
242
- non-qualifying producer receipt runs the full `lifecycle.install` plus
243
- `lifecycle.check` path. Existing callers remain unchanged because proof reuse is
244
- disabled by default.
213
+ The historical `lifecycle.check` source-acceptance stage is retained by the
214
+ internal `.build-check.yml` implementation. Its exact source-proof reuse contract
215
+ is an implementation detail. Current consumers do not supply JSON path sets,
216
+ required check contexts or a separate source-check reusable workflow.
245
217
 
246
- ```yaml
247
- jobs:
248
- source-acceptance:
249
- uses: kungfu-systems/buildchain/.github/workflows/public-build-check.yml@<exact-sha>
250
- with:
251
- mode: source
252
- source-proof-reuse: true
253
- source-proof-policy-paths-json: '[".github/workflows/source.yml"]'
254
- source-proof-closure-paths-json: '[".buildchain/buildchain.toml","scripts/source-check.mjs"]'
255
- source-proof-dependency-paths-json: '["pnpm-lock.yaml"]'
256
- source-proof-required-contexts-json: '["Candidate source acceptance / check"]'
257
- ```
218
+ The remaining examples describe the historical engine's environment and lifecycle
219
+ model; these fields must not be merged into a schema-2 product declaration.
258
220
 
259
221
  Shared environment variables can be declared once:
260
222
 
@@ -8,21 +8,20 @@ confidence: high
8
8
  sensitivity: public
9
9
  evidence_grade: A
10
10
  review_state: unreviewed
11
- last_reviewed: 2026-07-31
11
+ last_reviewed: 2026-09-20
12
12
  ai_provenance:
13
- model_family: GPT-5
13
+ model_family: GPT-6
14
14
  product: Codex
15
- generated_at: 2026-07-31
15
+ generated_at: 2026-09-20
16
16
  invisible_context: not asserted
17
17
  ---
18
18
 
19
19
  # Buildchain v2 Migration Inventory
20
20
 
21
- This historical inventory records the Buildchain v2 consolidation boundary.
22
- Buildchain v3 is now the active monorepo source of truth for Kungfu repository
23
- workflows, reusable build workflows, and Buildchain-native actions. The v2
24
- names below preserve the migration decisions that v3 inherited; they are not a
25
- current runtime baseline.
21
+ This inventory records the dated Buildchain v2 consolidation boundary and its
22
+ v3 successor. The original dispositions below remain historical. Current
23
+ consumers follow the [minimal schema-2 contract](getting-started.md), using only
24
+ the shared normal/recovery pair; historical wrappers are not compatibility APIs.
26
25
  Standalone `workflows` and `action-*` repositories are historical rollback
27
26
  anchors, not active Buildchain migration targets.
28
27
 
@@ -32,44 +31,17 @@ anchors, not active Buildchain migration targets.
32
31
  | --- | --- | --- |
33
32
  | `workflows` | `dev/v2/v2.0` | root `.github/workflows` sources migrated; reusable workflows linted by actionlint |
34
33
 
35
- ## Reusable Workflow Boundaries
34
+ ## Historical reusable workflow boundaries
36
35
 
37
- The active Buildchain-native reusable surface is:
36
+ The v2/v3 consolidation retired standalone PR orchestration and direct publish
37
+ integrations in favor of the then-current reusable build/promotion engines.
38
+ Those engines are now internal components. Their original migration history is
39
+ retained in Git; a new consumer must not copy hidden build workflows, a custom
40
+ `lifecycle.publish` hook or the former public promotion wrapper.
38
41
 
39
- | Workflow | Disposition |
40
- | --- | --- |
41
- | `.github/workflows/.build.yml` | active reusable build contract: runner presets, trusted event gate, publish source lock, lifecycle commands, deterministic artifacts, aggregate summary, and release manifest outputs |
42
-
43
- Hidden reusable workflow files from the old `workflows` repository are retained
44
- only when they still have an active compatibility or migration boundary. Retired
45
- PR orchestration paths are not kept in `.github/workflows`; they remain listed
46
- in the inventory as excluded legacy surfaces. In particular,
47
- `.batch-pull-request.yml` is removed with the retired batch PR action family,
48
- and the legacy `.release-new-version.yml` path is not the modern publish
49
- surface. New publish integrations should use `.build.yml`, `buildchain.toml`,
50
- `lifecycle.publish`, and publish transaction evidence.
51
-
52
- Release templates that previously performed direct publishing or deployment are
53
- now fail-closed when retained for compatibility discovery. They do not call
54
- legacy publish actions, `npm publish`, or deploy providers directly. Callers must
55
- migrate to `public-release-promote.yml@v3` or a project-owned
56
- `lifecycle.publish` command behind a publish-gate source lock, so floating
57
- `@v3` consumers cannot bypass source-lock drift protection.
58
-
59
- The public promotion workflow is now a generated dual-channel router. Existing
60
- callers remain source-compatible, while callers that want alpha workflow-shell
61
- fixes before stable promotion should add `buildchain-channel: auto` plus
62
- `buildchain-alpha-contract-lock-path` and
63
- `buildchain-stable-contract-lock-path`. Keep one common promotion declaration;
64
- do not duplicate alpha and stable jobs or call
65
- `.release-promote.yml` directly.
66
-
67
- Buildchain also keeps the workflow-file layout transition declarative in
68
- `.buildchain/promotion-shell-routing.json`. Stable `v2.14.13` contains the hidden
69
- advanced workflow, so the stable lane is pinned to that implementation's
70
- immutable release SHA and forwards the full internal identity surface. This is
71
- provider-owned compatibility state; consumers still keep the same single public
72
- promotion job.
42
+ Current public workflow identities are `public-ops-pipeline.yml` and
43
+ `public-ops-recover.yml`. Their source of truth is the workflow taxonomy and
44
+ generated catalog. Product differences belong in TOML and product source.
73
45
 
74
46
  ## Migrated Actions
75
47
 
@@ -130,7 +102,7 @@ older standalone action repository.
130
102
  | `actions/build/lifecycle/run` | lifecycle command execution and deterministic artifact manifest generation |
131
103
  | `actions/build/lifecycle/validate` | `buildchain.toml` version-state and lifecycle preflight without executing lifecycle commands |
132
104
 
133
- ## Current v3 Refs
105
+ ## Historical v3 Refs
134
106
 
135
107
  - Actions: `kungfu-systems/buildchain/actions/<name>@v3`
136
108
  - Reusable workflows: `kungfu-systems/buildchain/.github/workflows/<workflow>.yml@v3`
@@ -99,19 +99,19 @@ invalid.
99
99
 
100
100
  ## Public self-dogfood and adoption
101
101
 
102
- `.github/workflows/self-build-public-consumer-dogfood.yml` remains the exact thin
103
- consumer of the public `public-build-stage-capsule-canary.yml@v4-alpha` contract. Its
104
- declared `lifecycle.verify` runs `pnpm run check`, so the same public path
105
- executes pure recovery tests that inject a transient durable-state write
106
- failure, restore the adapter operation on a fresh runner, supersede stale work
107
- when protected Dev moves, preserve `pr-pending` during protected-PR delay, and
108
- prove both legal version models. No caller-local qualification job, action,
109
- or private self-dogfood route is added.
110
-
111
- The existing dual-channel self-consumer separately retains exact hosted
112
- `build.yml@v4-alpha` and `build.yml@v4` runtime evidence. Consumers adopt
113
- the proved contract through the floating v4 coordinates; exact resolved SHAs
114
- remain audit evidence and never become durable selectors.
102
+ `.github/workflows/buildchain.yml` calls the published
103
+ `public-ops-pipeline.yml@v4` entry. Products declare their verification commands
104
+ in schema-2 TOML, including the full repository check on each required platform.
105
+ Next-development preparation, independent review, protected merge and settlement
106
+ remain runtime responsibilities.
107
+
108
+ `.github/workflows/buildchain-recover.yml` calls
109
+ `public-ops-recover.yml@v4` with one exact attempt and an optional temporary
110
+ repaired runtime. It preserves completed publication evidence while continuing
111
+ unfinished follow-ups. Both callers use the same generated bytes as external
112
+ consumers. Tool-maintained locks and retained receipts bind exact runtime SHAs.
113
+ Earlier Stage Capsule and channel-build proofs retain their historical source
114
+ identities; they do not define additional current consumer entrypoints.
115
115
 
116
116
  ## Local adapter
117
117