@kungfu-tech/buildchain 4.1.3 → 4.1.4-alpha.0

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/MAP.md CHANGED
@@ -8,12 +8,13 @@ confidence: high
8
8
  sensitivity: public
9
9
  evidence_grade: A
10
10
  review_state: unreviewed
11
- last_reviewed: 2026-09-11
11
+ last_reviewed: 2026-09-20
12
12
  ai_provenance:
13
13
  model_family: GPT-6
14
14
  product: Codex
15
- generated_at: 2026-09-10
16
- invisible_context: not asserted
15
+ generated_at: 2026-09-20
16
+ visible_context: Current consumer contract and release and recovery manuals.
17
+ invisible_context_boundary: No unobserved hosted qualification or external consumer migration.
17
18
  ---
18
19
 
19
20
  # Documentation Map
@@ -28,13 +29,19 @@ running artifact), *use* (consume / extend) - and a **status**:
28
29
  - `stable` - current and holds.
29
30
  - `draft` - exists, rough or incomplete.
30
31
  - `to write` - planned; the material exists but is not yet a single doc.
31
- - `retired` - intentionally not part of the active Buildchain v3 surface.
32
+ - `retired` - intentionally not part of the active consumer surface.
33
+
34
+ The current consumer contract is the shared normal/recovery caller pair plus
35
+ schema-2 TOML. Start with [Getting started](getting-started.md),
36
+ [Release governance](release-governance.md), and [Attempt recovery](bootstrap-recovery.md).
37
+ The mechanism documents below also describe internal components and historical
38
+ qualification; their implementation ports are not additional consumer APIs.
32
39
 
33
40
  ## Start by Role or Intent
34
41
 
35
42
  | Role or intent | First entry | Then |
36
43
  | --- | --- | --- |
37
- | First-time repository adopter | [Golden Path](getting-started.md) | [Lifecycle Protocol](lifecycle-protocol.md) only when the generated defaults need changes |
44
+ | First-time repository adopter | [Golden Path](getting-started.md) | [CLI guide](cli.md) for schema-2 product commands and version declarations |
38
45
  | CLI operator or agent | [Generated CLI Reference](cli-reference.md) | [CLI guide](cli.md) for concepts and worked examples |
39
46
  | Node toolkit developer | [Generated Node API Reference](node-api-reference.md) | [Core package guide](../packages/core/README.md) for recipes |
40
47
  | Workflow contributor | [Workflow Catalog](workflow-catalog.md) | [Contribution rules](../CONTRIBUTING.md#workflow-organization) and the [exact registry](../architecture/workflow-taxonomy.json) |
@@ -112,7 +119,7 @@ replace them.
112
119
  | How do I install a standalone binary or npm package? | [`install.md`](install.md) | use | stable |
113
120
  | How do I run or look up the `buildchain` CLI? | [`cli-reference.md`](cli-reference.md) + [`cli.md`](cli.md) | use | stable |
114
121
  | How do I import Buildchain toolkit APIs from JavaScript build code? | [`node-api-reference.md`](node-api-reference.md) + [`../packages/core/README.md`](../packages/core/README.md) | use | stable |
115
- | How do I initialize a new repository? | [`getting-started.md`](getting-started.md) + [`lifecycle-protocol.md`](lifecycle-protocol.md) | use | stable |
122
+ | How do I initialize a new repository? | [`getting-started.md`](getting-started.md) | use | stable |
116
123
  | Why does Buildchain use branch-driven release governance? | [`release-governance.md`](release-governance.md) | why | stable |
117
124
  | What freezes the v4 dependency direction, writer authority, complexity budgets, exceptions, and N-1 qualification? | [`../architecture/architecture-constitution.md`](../architecture/architecture-constitution.md) | why/verify | preview |
118
125
  | How will Delivery Warrant move from the v3 writer through shadow, v4 read, single-writer cutover, and legacy removal? | [`../architecture/delivery-warrant-shadow-bootstrap-plan.md`](../architecture/delivery-warrant-shadow-bootstrap-plan.md) | why/verify | preview |
@@ -123,19 +130,19 @@ replace them.
123
130
  | How does a late macOS signing failure reuse an exact retained v4 Alpha candidate and rerun only the fenced release tail? | [`v4-tail-reseal.md`](v4-tail-reseal.md) | use/verify | preview |
124
131
  | How do Rust and JavaScript read the same retained Delivery Warrant traces and emit one semantic projection? | [`v4-canonical-contracts.md`](v4-canonical-contracts.md#shared-delivery-warrant-fixture-runner) | use/verify | preview |
125
132
  | How does an explicit caller try the qualified v4 read projection and roll back without moving v3 writer authority? | [`v4-delivery-warrant-read-candidate.md`](v4-delivery-warrant-read-candidate.md) | use/verify | preview |
126
- | How do protected dev branches and scheduled ready-PR merging work? | [`release-governance.md`](release-governance.md#protected-dev-branches) | use | stable |
133
+ | How do protected development review and merge queues work? | [`release-governance.md`](release-governance.md#protected-dev-branches) | use | stable |
127
134
  | How do slow required checks land reliably on a busy dev channel? | [`release-governance.md`](release-governance.md#protected-dev-branches) + [`cli.md`](cli.md#commands) | use | preview |
128
135
  | How does the durable fair Dev Delivery Warrant Queue prevent slow-candidate starvation? | [`dev-delivery-warrant.md`](dev-delivery-warrant.md) | use/verify | preview |
129
136
  | How are bounded Qualification Leases separated from exclusive merge-group Landing authority? | [`dev-delivery-qualification-landing-adr.md`](dev-delivery-qualification-landing-adr.md) + [`dev-delivery-warrant.md`](dev-delivery-warrant.md) | use/verify | preview |
130
137
  | How do I coalesce rapid Dev changes, preserve release runner priority, and retry only transient failed jobs? | [`dev-qualification-patrol.md`](dev-qualification-patrol.md) | use/verify | preview |
131
- | How do I run daily, weekly, or monthly repository patrols? | [`release-governance.md`](release-governance.md#buildchain-patrol) | use | stable |
138
+ | Who owns event routing, patrol and publication orchestration? | [`release-governance.md`](release-governance.md#consumer-contract) | use | stable |
132
139
  | How do I report or safely apply branch and pull-request engineering hygiene? | [`engineering-housekeeper.md`](engineering-housekeeper.md) | use/verify | preview |
133
140
  | How does Buildchain decide patch, minor, and major release lines? | [`versioning.md`](versioning.md) | why | stable |
134
141
  | What exact branch/tag state machine runs on alpha, release, and major gate? | [`release-flow.md`](release-flow.md) | verify | stable |
135
142
  | How does a completed Alpha remain successful while the following development version is prepared? | [`next-development-transition.md`](next-development-transition.md), [`../architecture/decisions/0002-next-development-transition.md`](../architecture/decisions/0002-next-development-transition.md) | verify/use | preview |
136
143
  | What did Buildchain migrate or retire from old action repositories? | [`migration-inventory.md`](migration-inventory.md) | verify | stable |
137
144
  | What is the active action and workflow source of truth? | [`ownership.md`](ownership.md) | verify | stable |
138
- | How do I declare version files and custom lifecycle commands? | [`lifecycle-protocol.md`](lifecycle-protocol.md) | use | stable |
145
+ | How do I declare schema-2 version files and product commands? | [`cli.md`](cli.md) + [`getting-started.md`](getting-started.md) | use | stable |
139
146
  | How does publish evidence, recovery, and finalization work? | [`publish-transaction.md`](publish-transaction.md) | verify | stable |
140
147
  | How are consumer-owned release-tail commands inventoried and replaced by declarative capabilities? | [`release-tail-contract.md`](release-tail-contract.md) | verify | draft |
141
148
  | How do I simulate, replay, or explicitly authorize a provider-facing publication rehearsal without creating release authority? | [`v4-publication-rehearsal.md`](v4-publication-rehearsal.md) | use/verify | preview |
@@ -168,14 +175,14 @@ replace them.
168
175
  | How do self-hosted runners relay large artifacts through S3 before GitHub artifacts? | [`reusable-build-surface.md`](reusable-build-surface.md#artifact-transfer-relay) | use | stable |
169
176
  | How do self-hosted runners reuse local Git checkout caches without weakening source locks? | [`reusable-build-surface.md`](reusable-build-surface.md#locked-source-checkout-cache) | use | stable |
170
177
  | How do ephemeral GitHub-hosted runners share exact dependency or compiler caches without fixed-runner affinity? | [`cli.md`](cli.md#commands) | use/verify | preview |
171
- | How do I validate an unreleased Buildchain runtime train while keeping `@v3`? | [`runtime-train-validation.md`](runtime-train-validation.md) | use | stable |
178
+ | How do I validate an unreleased Buildchain runtime train? | [`runtime-train-validation.md`](runtime-train-validation.md) | use | stable |
172
179
  | How do v4 consumers keep floating selectors while proving exact runtime and lock identity? | [`reusable-build-surface.md`](reusable-build-surface.md#v4-floating-consumer-admission) | verify/use | preview |
173
180
  | How does the public entry select a runtime and recover with a repaired train? | [`runtime-entry.md`](runtime-entry.md) | use/verify | preview |
174
- | How do I automatically qualify alpha candidates and publish the newest non-revoked qualified candidate at a fixed window? | [`stable-candidate-patrol.md`](stable-candidate-patrol.md) | use | preview |
175
- | How do I deploy a site/app preview, staging, or production surface? | [`web-surface-deployments.md`](web-surface-deployments.md) | use | stable |
181
+ | How does the retained internal stable-candidate ledger work? | [`stable-candidate-patrol.md`](stable-candidate-patrol.md) | verify | internal |
182
+ | How does the internal web deployment engine separate preview, staging and production authority? | [`web-surface-deployments.md`](web-surface-deployments.md) | verify | internal |
176
183
  | How do I publish observed infrastructure contracts for downstream consumers? | [`infra-contract.md`](infra-contract.md) | use | preview |
177
184
  | How do I operate a repeatable, disabled-by-default, budget-fail-closed AWS Windows JIT campaign? | [`aws-us-elastic-runner-burst-plane.md`](aws-us-elastic-runner-burst-plane.md#phase-2-operator-workflow) | use/verify | preview |
178
- | How do I use the active actions directly? | [`../actions/build/lifecycle/validate/README.md`](../actions/build/lifecycle/validate/README.md), [`../actions/build/lifecycle/run/README.md`](../actions/build/lifecycle/run/README.md), [`../actions/release/promotion/ref/README.md`](../actions/release/promotion/ref/README.md), [`../actions/release/promotion/candidate/README.md`](../actions/release/promotion/candidate/README.md), [`../actions/governance/incident/report/README.md`](../actions/governance/incident/report/README.md), [`../actions/build/artifact/prepare-attestation/README.md`](../actions/build/artifact/prepare-attestation/README.md), [`../actions/build/artifact/seal-attestation/README.md`](../actions/build/artifact/seal-attestation/README.md), [`../actions/build/credential/macos-island/README.md`](../actions/build/credential/macos-island/README.md), [`../actions/release/tail/settle/README.md`](../actions/release/tail/settle/README.md); `dist/site/workflow-registry.json#actions` is authoritative for the action inventory. | use | stable |
185
+ | Where are internal action implementations documented? | [`../actions/build/lifecycle/validate/README.md`](../actions/build/lifecycle/validate/README.md), [`../actions/build/lifecycle/run/README.md`](../actions/build/lifecycle/run/README.md), [`../actions/release/promotion/ref/README.md`](../actions/release/promotion/ref/README.md), [`../actions/release/promotion/candidate/README.md`](../actions/release/promotion/candidate/README.md), [`../actions/governance/incident/report/README.md`](../actions/governance/incident/report/README.md), [`../actions/build/artifact/prepare-attestation/README.md`](../actions/build/artifact/prepare-attestation/README.md), [`../actions/build/artifact/seal-attestation/README.md`](../actions/build/artifact/seal-attestation/README.md), [`../actions/build/credential/macos-island/README.md`](../actions/build/credential/macos-island/README.md), [`../actions/release/tail/settle/README.md`](../actions/release/tail/settle/README.md); `dist/site/workflow-registry.json#actions` is authoritative for the action inventory. | use | stable |
179
186
  | Where are shared build stages maintained? | [resolve-build-plan](../actions/build/lifecycle/plan/action.yml), [prepare-build-environment](../actions/build/lifecycle/prepare/action.yml), [run-build-stage](../actions/build/lifecycle/stage/action.yml), [transfer-build-artifact](../actions/build/artifact/transfer/action.yml), [sign-build-artifact](../actions/build/artifact/sign/action.yml), [attest-build-artifact](../actions/build/artifact/attest/action.yml), [finalize-build-result](../actions/build/artifact/finalize/action.yml); [ownership](../architecture/build-orchestration.json) | contribute | active |
180
187
  | How can a consumer workflow report a Buildchain-owned failure back to Buildchain? | [`consumer-issue-reporting.md`](consumer-issue-reporting.md) + [`../actions/governance/incident/report/README.md`](../actions/governance/incident/report/README.md) | use | stable |
181
188
  | What do the fixture repositories demonstrate? | [`../fixtures/libnode-shaped/README.md`](../fixtures/libnode-shaped/README.md), [`../fixtures/publish-transaction-shaped/README.md`](../fixtures/publish-transaction-shaped/README.md), [`../fixtures/web-surface-shaped/README.md`](../fixtures/web-surface-shaped/README.md), [`../fixtures/publication-artifact-shaped/README.md`](../fixtures/publication-artifact-shaped/README.md) | verify | stable |
@@ -191,22 +198,23 @@ replace them.
191
198
  [`release-governance.md`](release-governance.md) and
192
199
  [`release-flow.md`](release-flow.md).
193
200
  - **Buildchain self-dogfood / released alpha canary / stable compatibility lane** ->
194
- [`release-governance.md`](release-governance.md#buildchain-alpha-self-dogfood).
201
+ [`release-governance.md`](release-governance.md#buildchain-public-build-self-dogfood).
195
202
  - **qualified alpha ledger / scheduled stable selection / hold and revoke** ->
196
203
  [`stable-candidate-patrol.md`](stable-candidate-patrol.md).
197
204
  - **v3.1 vs v3.2 / when to open a new minor line** ->
198
205
  [`versioning.md`](versioning.md).
199
206
  - **dry-run / what would happen if this channel PR merges** -> [`cli.md`](cli.md)
200
207
  and [`release-flow.md`](release-flow.md).
201
- - **protected dev branches / scheduled ready-PR merge / daily-weekly-monthly patrol** ->
208
+ - **protected dev branches / normal pipeline / internal orchestration** ->
202
209
  [`release-governance.md`](release-governance.md#protected-dev-branches) and
203
- [`release-governance.md`](release-governance.md#buildchain-patrol).
210
+ [`release-governance.md`](release-governance.md#consumer-contract).
204
211
  - **Dev qualification coalescing / release-priority runners / failed-job retry** ->
205
212
  [`dev-qualification-patrol.md`](dev-qualification-patrol.md).
206
- - **pnpm / npm / yarn / package-manager adapters** ->
207
- [`lifecycle-protocol.md`](lifecycle-protocol.md).
208
- - **pip / Conan / CMake / custom commands** -> [`lifecycle-protocol.md`](lifecycle-protocol.md)
209
- and [`reusable-build-surface.md`](reusable-build-surface.md).
213
+ - **pnpm / npm / yarn / product commands** ->
214
+ [`cli.md`](cli.md) and [`getting-started.md`](getting-started.md).
215
+ - **CMake / custom product commands** -> [`cli.md`](cli.md) and
216
+ [`reusable-build-surface.md`](reusable-build-surface.md).
217
+ - **Historical schema-1 lifecycle engine** -> [`lifecycle-protocol.md`](lifecycle-protocol.md).
210
218
  - **libnode / native artifacts / self-hosted runner matrix** ->
211
219
  [`reusable-build-surface.md`](reusable-build-surface.md) and
212
220
  [`../fixtures/libnode-shaped/README.md`](../fixtures/libnode-shaped/README.md).
@@ -7,13 +7,14 @@ source_level: local-files
7
7
  confidence: high
8
8
  sensitivity: public
9
9
  evidence_grade: A
10
- review_state: self-reviewed
11
- last_reviewed: 2026-09-11
10
+ review_state: unreviewed
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-08-02
15
+ generated_at: 2026-09-20
16
16
  invisible_context_boundary: No hidden model build, parameter count, or private corpus is asserted.
17
+ visible_context: Current two-entry consumer contract and retained internal implementation references.
17
18
  ---
18
19
 
19
20
  # Auditable Demo Pipeline
@@ -25,19 +26,11 @@ two distinct evidence products:
25
26
  2. an optional rendered media bundle that can exist only after that exact Gate
26
27
  bundle passes.
27
28
 
28
- The public reusable workflow is
29
- `.github/workflows/.build-demo-adapter.yml`. It is consumer-neutral: Buildchain
30
- does not know how a Kungfu, library, service, or application artifact should be
31
- interpreted. The consumer owns a small checked-in executable adapter.
32
-
33
- For standalone binary CLIs, the higher-level first-class surface is
34
- `.github/workflows/public-build-demo.yml`. A consumer checks in only
35
- `.buildchain/auditable-demo.json`, builds and uploads its exact same-run binary
36
- plus metadata, and passes the producer-owned artifact name and digest to that
37
- workflow. Buildchain then owns capture, Gate adaptation, independent native
38
- 1080p and 720p rendering, Release Passport construction, content-addressed
39
- materialization, and the protected README update pull request. No
40
- product-specific capture, adapter, passport, or materializer is required.
29
+ The internal `.build-demo-adapter.yml` and `.build-demo.yml` components own
30
+ adapter execution and standalone CLI demo qualification. Their artifact, scenario,
31
+ Gate, renderer and materializer ports are runtime implementation details.
32
+ Consumers use the shared normal/recovery pair and do not copy a separate demo
33
+ workflow or pass artifact handoff parameters into consumer YAML.
41
34
 
42
35
  ## Declarative Standalone Binary Scenarios
43
36
 
@@ -108,39 +101,14 @@ It retains ANSI terminal bytes with the real PTY read timestamps, verifies
108
101
  declared stdout and JSON file facts, enforces the total deadline while a step is
109
102
  running, and removes the disposable workspace before emitting evidence.
110
103
 
111
- Both manual validation and alpha or release refreshes call the same reusable
112
- workflow. Manual callers select Gate-only or full rendering and can explicitly
113
- request a materialization PR. Release callers select full rendering and the
114
- same materializer automatically; there is no separate release-only recording
115
- implementation. Publication requires a dedicated update token and target
116
- branch. The token is an explicit bounded capability, while actor identity,
117
- first-party/System classification, KFD compliance, Product System metadata,
118
- package metadata, registry history, scans, and generated evidence grant no
119
- authority.
120
-
121
- ```yaml
122
- jobs:
123
- demo:
124
- needs: exact-binary
125
- uses: kungfu-systems/buildchain/.github/workflows/public-build-demo.yml@v4
126
- with:
127
- source-ref: ${{ github.sha }}
128
- binary-artifact-name: ${{ needs.exact-binary.outputs.artifact-name }}
129
- binary-artifact-digest: ${{ needs.exact-binary.outputs.artifact-digest }}
130
- scenario-path: .buildchain/auditable-demo.json
131
- renderer-image: ghcr.io/kungfu-systems/build-images/demo-renderer@sha256:RENDERER_DIGEST
132
- render-media: true
133
- render-failure-advisory: false
134
- media-profile: responsive-web-delivery-v1
135
- materialize: true
136
- materialize-base-ref: dev/v1/v1.0
137
- secrets:
138
- DEMO_UPDATE_TOKEN: ${{ secrets.DEMO_UPDATE_TOKEN }}
139
- ```
104
+ Internal callers select Gate-only or full rendering under the same capture and
105
+ materialization contracts. An admitted materialization capability, independent
106
+ Gate result and exact retained bytes remain necessary for any write. Product
107
+ metadata and generated evidence do not grant mutation authority.
140
108
 
141
- Buildchain recursively consumes this surface in
142
- `.github/workflows/self-build-demo-dogfood.yml` using its own exact standalone binary
143
- and the beginner bootstrap scenario in `.buildchain/auditable-demo.json`.
109
+ Buildchain retains its scenario in `.buildchain/auditable-demo.json`. The former
110
+ standalone self-demo caller is retired. Existing media is historical evidence;
111
+ a source or document change does not regenerate or qualify that media.
144
112
 
145
113
  ## Authority Boundary
146
114
 
@@ -1,50 +1,59 @@
1
1
  ---
2
2
  status: active
3
3
  period: ongoing
4
- theme: bootstrap-recovery-distribution
5
- doc_type: manual
4
+ theme: consumer-attempt-recovery
5
+ doc_type: technical-reference
6
6
  source_level: local-files
7
7
  confidence: high
8
8
  sensitivity: public
9
9
  evidence_grade: B
10
10
  review_state: unreviewed
11
- last_reviewed: 2026-09-09
11
+ last_reviewed: 2026-09-20
12
12
  ai_provenance:
13
13
  model_family: GPT-6
14
14
  product: Codex
15
- generated_at: 2026-09-09
16
- visible_context: Recovery workflows, node implementations, dependency closure generator and isolated consumer tests.
17
- invisible_context_boundary: No production recovery campaign or external consumer deployment was performed.
15
+ generated_at: 2026-09-20
16
+ visible_context: Schema-2 consumer contract, pipeline and recovery entries, and internal release implementations.
17
+ invisible_context_boundary: No unobserved hosted publication or external consumer migration is claimed.
18
18
  ---
19
19
 
20
- # Consumer-owned bootstrap recovery
21
-
22
- The normal entry is `public-ops-bootstrap.yml`. Before depending on it, install
23
- both recovery artifacts from the same reviewed Buildchain package into the
24
- consumer repository:
25
-
26
- | Package source | Consumer destination |
27
- | --- | --- |
28
- | `templates/universal-buildchain-bootstrap-recovery.yml` | `.github/workflows/buildchain-bootstrap-recovery.yml` |
29
- | Contents of `templates/bootstrap-recovery/` | `.buildchain/bootstrap-recovery/` |
30
-
31
- Commit both artifacts together. The second directory contains three composite
32
- nodes, their complete JavaScript dependency closure, a runtime preparation
33
- action, package identity and a file digest manifest. It must be tracked even
34
- when the consumer otherwise ignores `.buildchain/`. Installing the workflow
35
- alone is incomplete. Do not substitute files from a different package version.
36
-
37
- The recovery workflow checks out its own defining consumer commit and invokes
38
- the prepositioned nodes. Request parsing, independent review and terminal
39
- receipt verification start without npm dependencies or a published Buildchain
40
- workflow. Candidate code and its dependencies run only after the consumer-owned
41
- review boundary admits the exact candidate SHA. Provider execution uses the
42
- same candidate engine as the primary route. A failure of GitHub itself remains
43
- an external availability boundary.
44
-
45
- The recovery package is generated from the current `actions/workflow/`,
46
- `actions/runtime/` and `packages/core/` implementations. It contains no separate
47
- recovery implementation. `pnpm run generate:workflows` regenerates it and its
48
- admission roots; the normal repository check rejects distribution drift.
49
- Tests copy only these artifacts into a clean temporary consumer and execute
50
- request admission without the Buildchain checkout or `node_modules`.
20
+ # Consumer recovery
21
+
22
+ A current consumer keeps the generated `buildchain.yml` and
23
+ `buildchain-recover.yml` beside `.buildchain/buildchain.toml`.
24
+ [Initialize the consumer](getting-started.md) to obtain both caller files from
25
+ the same Buildchain package. No consumer-owned recovery implementation, copied
26
+ JavaScript closure or additional bootstrap workflow is required.
27
+
28
+ ## Normal execution
29
+
30
+ `buildchain.yml` invokes `public-ops-pipeline.yml` through the published channel.
31
+ The runtime owns event routing, source qualification, publication and durable
32
+ attempt records. Product install, build and verification commands belong in TOML.
33
+
34
+ ## Recover an interrupted attempt
35
+
36
+ Open the generated **Buildchain recovery** workflow and provide its exact
37
+ `attempt`. If execution requires a repaired runtime, provide the optional
38
+ `runtime-ref` for that recovery. The caller invokes `public-ops-recover.yml`.
39
+ Keep the durable caller on its published floating channel; the repair selector
40
+ is transient and does not replace the attempt's original source or material.
41
+
42
+ Recovery reads retained records and provider state before issuing remaining
43
+ effects. It preserves published bytes and immutable history. A successful build
44
+ or a green dispatch alone does not prove publication or terminal settlement.
45
+
46
+ The recovery form does not accept request JSON, Discussion/run/transaction
47
+ selector combinations, replacement artifacts or provider commands. Retained
48
+ historical formats are decoded by runtime-owned readers.
49
+
50
+ ## Retired bootstrap distribution
51
+
52
+ The earlier copied bootstrap recovery workflow and `.buildchain/bootstrap-recovery/`
53
+ implementation are historical distribution artifacts. They are not part of the
54
+ schema-2 consumer contract and must not be added to new consumers. Internal
55
+ bootstrap components and their qualification tests may retain this material for
56
+ implementation validation; that does not make it a consumer API.
57
+
58
+ See [Release discussions](release-discussions.md) for immutable record ownership
59
+ and [Release governance](release-governance.md) for the human release flow.
@@ -968,7 +968,7 @@ buildchain infra-contract ...
968
968
  - Syntax:
969
969
 
970
970
  ```text
971
- buildchain init [--cwd <dir>] [--type package|native|web-surface|infra-contract|publication-artifact|anchored-package] [--force] [--package-manager pnpm|npm|yarn] [--runner-preset <preset>] [--artifact-name <name>]
971
+ buildchain init [--cwd <dir>] [--type npm|binary|paper|package|native|publication-artifact|anchored-package] [--force] [--package-manager pnpm|npm|yarn] [--runner-preset <preset>] [--artifact-name <name>]
972
972
  ```
973
973
 
974
974
  ## `inspect`
@@ -1737,39 +1737,6 @@ buildchain paper
1737
1737
  buildchain paper agent verify [--cwd <dir>] [--offline] [--json]
1738
1738
  ```
1739
1739
 
1740
- ### `buildchain paper alpha`
1741
-
1742
- - Help: `buildchain paper alpha --help`
1743
- - Canonical id: `paper-alpha`
1744
- - Options: `--cwd`, `--execute`, `--json`, `--source-ref`, `--target-ref`
1745
- - Syntax:
1746
-
1747
- ```text
1748
- buildchain paper alpha [--cwd <dir>] [--source-ref <ref>] [--target-ref <ref>] [--execute] [--json]
1749
- ```
1750
-
1751
- ### `buildchain paper bootstrap npm`
1752
-
1753
- - Help: `buildchain paper bootstrap npm --help`
1754
- - Canonical id: `paper-bootstrap-npm`
1755
- - Options: `--confirm-public-package`, `--cwd`, `--execute`, `--json`
1756
- - Syntax:
1757
-
1758
- ```text
1759
- buildchain paper bootstrap npm [--cwd <dir>] [--execute] [--confirm-public-package <name>] [--json]
1760
- ```
1761
-
1762
- ### `buildchain paper build`
1763
-
1764
- - Help: `buildchain paper build --help`
1765
- - Canonical id: `paper-build`
1766
- - Options: `--cwd`, `--execute`, `--json`
1767
- - Syntax:
1768
-
1769
- ```text
1770
- buildchain paper build [--cwd <dir>] [--execute] [--json]
1771
- ```
1772
-
1773
1740
  ### `buildchain paper fleet audit`
1774
1741
 
1775
1742
  - Help: `buildchain paper fleet audit --help`
@@ -1814,17 +1781,6 @@ buildchain paper migrate [--cwd <dir>] [--write] [--json]
1814
1781
  buildchain paper preflight [--cwd <dir>] [--offline] [--json]
1815
1782
  ```
1816
1783
 
1817
- ### `buildchain paper resume`
1818
-
1819
- - Help: `buildchain paper resume --help`
1820
- - Canonical id: `paper-resume`
1821
- - Options: `--cwd`, `--execute`, `--json`, `--runtime-ref`
1822
- - Syntax:
1823
-
1824
- ```text
1825
- buildchain paper resume [--cwd <dir>] [--runtime-ref <ref>] [--execute] [--json]
1826
- ```
1827
-
1828
1784
  ### `buildchain paper scaffold`
1829
1785
 
1830
1786
  - Help: `buildchain paper scaffold --help`
@@ -1833,7 +1789,7 @@ buildchain paper resume [--cwd <dir>] [--runtime-ref <ref>] [--execute] [--json]
1833
1789
  - Syntax:
1834
1790
 
1835
1791
  ```text
1836
- buildchain paper scaffold --package <name> --repository <owner/repo> [--write] [--json]
1792
+ buildchain paper scaffold --repository <owner/repo> [--package <name>] [--write] [--json]
1837
1793
  ```
1838
1794
 
1839
1795
  ### `buildchain paper status`