@kungfu-tech/buildchain 4.1.0-alpha.0 → 4.1.0-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 (295) hide show
  1. package/AGENTS.md +30 -41
  2. package/CONTRIBUTING.md +6 -7
  3. package/architecture/action-taxonomy.json +5 -21
  4. package/architecture/agent-change-map.md +74 -56
  5. package/architecture/build-orchestration.json +8 -1
  6. package/architecture/ci-lane-change-budget.json +179 -69
  7. package/architecture/floating-consumer-policy.json +7 -17
  8. package/architecture/internal-capabilities.json +58 -72
  9. package/architecture/maintainability-debt.json +138 -52
  10. package/architecture/maintainability-policy.json +6 -15
  11. package/architecture/promotion-job-topology.json +39 -20
  12. package/architecture/release-topology.json +26 -37
  13. package/architecture/runtime-entry.json +26 -0
  14. package/architecture/runtime-resume-lineage.json +23 -0
  15. package/architecture/stage-capsule-qualification.json +2 -2
  16. package/architecture/universal-workflow-bootstrap.json +10 -25
  17. package/architecture/universal-workflow-capability-policy.json +61 -0
  18. package/architecture/universal-workflow-fault-campaign.json +18 -24
  19. package/architecture/workflow-taxonomy.json +0 -11
  20. package/contracts/fixtures/{v4-runtime-ref-resume-authority-v1 → runtime-resume-lineage-v2}/scenario.json +2 -3
  21. package/contracts/fixtures/v4-floating-consumer-policy-v1/cases.json +2 -2
  22. package/contracts/fixtures/v4-tail-reseal-v1/valid.json +1 -1
  23. package/contracts/promotion-invocation-v1.schema.json +0 -44
  24. package/contracts/promotion-request-v1.schema.json +0 -39
  25. package/contracts/runtime-resume-lineage-v2.schema.json +182 -0
  26. package/dist/site/buildchain-contract.json +472 -361
  27. package/dist/site/buildchain-site.json +99 -99
  28. package/dist/site/capability-registry.json +3 -3
  29. package/dist/site/cli-registry.json +4 -4
  30. package/dist/site/controller-registry.json +94 -78
  31. package/dist/site/kfd-claims.json +224 -343
  32. package/dist/site/kfd-upstream-aggregate.json +1 -1
  33. package/dist/site/manual-registry.json +15 -15
  34. package/dist/site/node-api-registry.json +239 -354
  35. package/dist/site/page-registry.json +80 -80
  36. package/dist/site/public-surface-audit.json +203 -254
  37. package/dist/site/publication-authority-registry.json +1 -24
  38. package/dist/site/publication-registry.json +4 -4
  39. package/dist/site/release-provenance.json +1 -1
  40. package/dist/site/site-manifest.json +19 -19
  41. package/dist/site/workflow-registry.json +197 -357
  42. package/docs/MAP.md +3 -3
  43. package/docs/auditable-demo.md +4 -4
  44. package/docs/cli-reference.md +2 -2
  45. package/docs/code-organization.md +5 -4
  46. package/docs/controller-evidence.md +2 -2
  47. package/docs/dev-alpha-candidate-patrol.md +5 -5
  48. package/docs/dev-delivery-warrant.md +14 -24
  49. package/docs/engineering-housekeeper.md +3 -3
  50. package/docs/github-artifact-attestation.md +9 -12
  51. package/docs/github-governance-authority.md +4 -4
  52. package/docs/node-api-reference.md +153 -167
  53. package/docs/publication-artifacts.md +3 -4
  54. package/docs/publication-authority.md +2 -2
  55. package/docs/release-candidate.md +21 -27
  56. package/docs/release-governance.md +10 -10
  57. package/docs/release-promotion-request.md +11 -18
  58. package/docs/release-propagation.md +5 -6
  59. package/docs/release-tail-provider-plane.md +2 -3
  60. package/docs/reusable-build-surface.md +13 -7
  61. package/docs/runtime-entry.md +122 -0
  62. package/docs/runtime-train-validation.md +30 -41
  63. package/docs/v4-publication-rehearsal.md +5 -5
  64. package/docs/v4-stage-capsule.md +9 -10
  65. package/docs/web-surface-deployments.md +16 -20
  66. package/docs/workflow-catalog.md +0 -1
  67. package/package.json +6 -6
  68. package/packages/core/adoption/commands/init-repo.mjs +2 -2
  69. package/packages/core/adoption/cross-platform-adopter-qualification.js +2 -13
  70. package/packages/core/adoption/qualification/actions.js +3 -5
  71. package/packages/core/adoption/qualification/admission.js +2 -3
  72. package/packages/core/build/artifact/attestation.js +0 -1
  73. package/packages/core/build/artifact/contracts.js +1 -4
  74. package/packages/core/build/artifact/store.js +6 -5
  75. package/packages/core/build/artifact-signing.js +4 -10
  76. package/packages/core/build/binary/actions.js +15 -9
  77. package/packages/core/build/binary-publication-dispatch.js +2 -6
  78. package/packages/core/build/demo/action-context.js +2 -11
  79. package/packages/core/build/demo/binary-action.js +8 -10
  80. package/packages/core/build/gate/controller.js +0 -2
  81. package/packages/core/build/github-attestation/action.js +2 -7
  82. package/packages/core/build/github-attestation/admission.js +0 -8
  83. package/packages/core/build/github-attestation/transaction.js +1 -2
  84. package/packages/core/build/lifecycle/stage-action.js +2 -0
  85. package/packages/core/build/lifecycle/stage.js +6 -3
  86. package/packages/core/build/macos-credential-island/dmg-assembly.js +0 -2
  87. package/packages/core/build/macos-credential-island/lib.js +2 -6
  88. package/packages/core/build/plan/action-context.js +0 -7
  89. package/packages/core/build/plan/action.js +7 -11
  90. package/packages/core/build/plan/admission.js +6 -73
  91. package/packages/core/build/plan/configuration.js +1 -1
  92. package/packages/core/build/plan/environment.js +1 -1
  93. package/packages/core/build/plan/identity.js +1 -5
  94. package/packages/core/build/plan/resolve.js +7 -1
  95. package/packages/core/build/recovery/checkpoint.js +158 -0
  96. package/packages/core/build/recovery/transaction.js +51 -0
  97. package/packages/core/build/signing/authority-actions.js +2 -11
  98. package/packages/core/build/signing/control.js +0 -5
  99. package/packages/core/build/signing/controller-transaction.js +0 -1
  100. package/packages/core/build/signing/delegation.js +2 -4
  101. package/packages/core/build/signing/dispatch.js +10 -56
  102. package/packages/core/build/signing/intake.js +0 -4
  103. package/packages/core/build/signing/prepare.js +1 -1
  104. package/packages/core/build/signing/request.js +3 -8
  105. package/packages/core/build/source/checkout-action.js +6 -10
  106. package/packages/core/build/source/controller.js +1 -4
  107. package/packages/core/build/source/lifecycle.js +3 -13
  108. package/packages/core/build/stage-capsule/actions.js +3 -13
  109. package/packages/core/build/stage-capsule/campaign/resume.js +10 -5
  110. package/packages/core/build/stage-capsule/rehearsal/verify.js +3 -4
  111. package/packages/core/build/stage-capsule-resume-planner.js +0 -1
  112. package/packages/core/build/summary/aggregation.js +5 -5
  113. package/packages/core/build/summary/finalization.js +1 -1
  114. package/packages/core/build/verification/actions.js +3 -12
  115. package/packages/core/build/verification/runner.js +22 -20
  116. package/packages/core/consumer/floating-consumer-evidence.js +3 -21
  117. package/packages/core/consumer/floating-consumer-policy.js +2 -93
  118. package/packages/core/consumer/floating-consumer-release-passport.js +1 -34
  119. package/packages/core/consumer/policy-admission.js +1 -3
  120. package/packages/core/contracts/buildchain-contract.js +12 -146
  121. package/packages/core/contracts/workflow-yaml-contract.js +11 -1
  122. package/packages/core/dev-delivery/candidate/admission.js +3 -4
  123. package/packages/core/dev-delivery/candidate/coordinates.js +0 -8
  124. package/packages/core/dev-delivery/commands/dev-delivery-request.sh +5 -13
  125. package/packages/core/dev-delivery/commands/dev-delivery-source-proof-reuse.mjs +0 -3
  126. package/packages/core/dev-delivery/dev-delivery-contract-surface.js +4 -52
  127. package/packages/core/dev-delivery/dev-delivery-execution-transfer.js +2 -15
  128. package/packages/core/dev-delivery/native/action-context.js +4 -32
  129. package/packages/core/dev-delivery/native/provider-boundary.js +0 -2
  130. package/packages/core/dev-delivery/native/transactions.js +1 -2
  131. package/packages/core/dev-delivery/queue/reconciliation-action.js +6 -10
  132. package/packages/core/dev-delivery/source-proof/predicates.js +0 -6
  133. package/packages/core/dev-delivery/source-proof/reuse.js +0 -2
  134. package/packages/core/dev-delivery/source-proof/seal.js +0 -2
  135. package/packages/core/governance/alpha-candidate/action.js +1 -10
  136. package/packages/core/governance/audit/actions.js +1 -3
  137. package/packages/core/governance/audit/collection.js +1 -3
  138. package/packages/core/governance/audit/identity.js +3 -31
  139. package/packages/core/governance/audit/transactions.js +2 -4
  140. package/packages/core/governance/buildchain-publication-authority.js +0 -1
  141. package/packages/core/governance/commands/audit-github-governance.mjs +3 -2
  142. package/packages/core/governance/github-governance-authority.js +0 -5
  143. package/packages/core/governance/receipt-admission.js +0 -15
  144. package/packages/core/index.js +1 -1
  145. package/packages/core/observability/controller/identity.js +4 -5
  146. package/packages/core/observability/controller-evidence.js +5 -10
  147. package/packages/core/paper/commands/paper.mjs +6 -6
  148. package/packages/core/paper/operations/plans.js +2 -2
  149. package/packages/core/paper/operations/provisioning-validation.js +1 -1
  150. package/packages/core/paper/operations/scaffold-workflows.js +29 -12
  151. package/packages/core/paper/operations/scaffold.js +97 -69
  152. package/packages/core/paper/paper-agent-entry.js +0 -11
  153. package/packages/core/paper/paper-runtime-channels.js +21 -66
  154. package/packages/core/paper/paper-scaffold-content.js +1 -1
  155. package/packages/core/paper/paper.js +9 -5
  156. package/packages/core/paper/publication/candidate.js +0 -9
  157. package/packages/core/paper/publication-controller.js +2 -4
  158. package/packages/core/providers/github/artifact-attestation.js +1 -1
  159. package/packages/core/publication/authority/actions.js +9 -8
  160. package/packages/core/publication/authority/admission.js +0 -11
  161. package/packages/core/publication/authority/assembly.js +2 -7
  162. package/packages/core/publication/authority/control-plane.js +2 -2
  163. package/packages/core/publication/authority/governance.js +2 -9
  164. package/packages/core/publication/authority/request.js +7 -2
  165. package/packages/core/publication/authority/verification.js +3 -18
  166. package/packages/core/publication/binary/action.js +5 -7
  167. package/packages/core/publication/candidate/qualification-action.js +1 -6
  168. package/packages/core/publication/candidate/stage-capsules.js +1 -1
  169. package/packages/core/publication/npm/preview-action.js +9 -15
  170. package/packages/core/publication/oci/preview-actions.js +1 -10
  171. package/packages/core/publication/publication-artifact-candidate.js +2 -2
  172. package/packages/core/publication/publication-authority.js +2 -2
  173. package/packages/core/publication/publication-rehearsal-projection.js +3 -3
  174. package/packages/core/publication/settlement/actions.js +2 -11
  175. package/packages/core/release/binary/coordinates-action.js +0 -13
  176. package/packages/core/release/binary/coordinates.js +2 -19
  177. package/packages/core/release/commands/promotion-channel-router.mjs +12 -56
  178. package/packages/core/release/commands/resume-from-candidate-run.mjs +2 -3
  179. package/packages/core/release/dev-alpha-active-release-train.js +0 -5
  180. package/packages/core/release/line/action.js +2 -13
  181. package/packages/core/release/next-development/actions.js +2 -5
  182. package/packages/core/release/passport/consumer-validation.js +1 -28
  183. package/packages/core/release/promote-candidate/development-source.js +7 -8
  184. package/packages/core/release/promotion/actions.js +7 -38
  185. package/packages/core/release/promotion/admission.js +3 -50
  186. package/packages/core/release/promotion/candidate.js +2 -4
  187. package/packages/core/release/promotion/channel.js +13 -101
  188. package/packages/core/release/promotion/qualification-action.js +2 -13
  189. package/packages/core/release/promotion/routing.js +16 -81
  190. package/packages/core/release/promotion/selection.js +1 -9
  191. package/packages/core/release/promotion-request.js +1 -40
  192. package/packages/core/release/qualification/actions.js +0 -8
  193. package/packages/core/release/qualification/public-build.js +1 -1
  194. package/packages/core/release/recovery/candidate.js +15 -21
  195. package/packages/core/release/recovery/capsules.js +2 -10
  196. package/packages/core/release/recovery/lineage.js +305 -0
  197. package/packages/core/release/recovery/provenance.js +1 -2
  198. package/packages/core/release/recovery/publication.js +4 -14
  199. package/packages/core/release/recovery/readback.js +19 -32
  200. package/packages/core/release/recovery/runtime.js +4 -95
  201. package/packages/core/release/release-candidate-recovery.js +4 -9
  202. package/packages/core/release/release-candidate.js +2 -5
  203. package/packages/core/release/reseal/actions.js +3 -22
  204. package/packages/core/release/reseal/admission.js +0 -2
  205. package/packages/core/release/reseal/finalize-platform.js +0 -2
  206. package/packages/core/release/tail-reseal-github.js +1 -2
  207. package/packages/core/release/tail-reseal-receipt.js +0 -1
  208. package/packages/core/release/tail-reseal.js +2 -20
  209. package/packages/core/release/version-state.js +16 -13
  210. package/packages/core/runtime/buildchain-domain.wasm +0 -0
  211. package/packages/core/runtime/checkout-identity.js +0 -13
  212. package/packages/core/runtime/domain-wasm-artifact.js +2 -2
  213. package/packages/core/runtime/entry/actions.js +121 -0
  214. package/packages/core/runtime/entry/activation.js +86 -0
  215. package/packages/core/runtime/entry/github.js +55 -0
  216. package/packages/core/runtime/entry/recovery.js +37 -0
  217. package/packages/core/runtime/entry/selection.js +110 -0
  218. package/packages/core/web/controller.js +1 -1
  219. package/packages/core/web/publication-admission-action.js +1 -8
  220. package/packages/core/web/web-surface-publication-candidate.js +2 -5
  221. package/packages/core/workflow/admission/actions.js +6 -26
  222. package/packages/core/workflow/admission/recovery.js +3 -43
  223. package/packages/core/workflow/admission/transactions.js +8 -24
  224. package/packages/core/workflow/commands/buildchain-cli-help.mjs +1 -1
  225. package/packages/core/workflow/commands/universal-workflow-engine.mjs +2 -7
  226. package/packages/core/workflow/dogfood/actions.js +0 -17
  227. package/packages/core/workflow/engine/action.js +0 -5
  228. package/packages/core/workflow/engine/conformance.js +1 -1
  229. package/packages/core/workflow/engine/execution.js +2 -6
  230. package/packages/core/workflow/engine/identity.js +1 -6
  231. package/packages/core/workflow/engine/release-environment.js +11 -35
  232. package/packages/core/workflow/engine/release-promotion.js +2 -2
  233. package/packages/core/workflow/settlement/actions.js +0 -12
  234. package/packages/core/workflow/universal-self-dogfood.js +2 -16
  235. package/packages/core/workflow/universal-workflow-bootstrap.js +16 -241
  236. package/packages/core/workflow/workflow-taxonomy.mjs +2 -2
  237. package/scripts/check-dev-delivery-actions.mjs +17 -8
  238. package/scripts/check-floating-consumer-policy-contract.mjs +6 -6
  239. package/scripts/check-inventory.mjs +1 -10
  240. package/scripts/check-public-dogfood-contract.mjs +34 -21
  241. package/scripts/check-release-topology.mjs +2 -6
  242. package/scripts/check-runtime-entry.mjs +133 -0
  243. package/scripts/check-universal-workflow-bootstrap.mjs +45 -281
  244. package/scripts/check-workflows.sh +0 -7
  245. package/scripts/generate-bootstrap-admission.mjs +1 -1
  246. package/scripts/generate-channel-promotion-workflow.mjs +4 -4
  247. package/scripts/inventory/binary.mjs +4 -4
  248. package/scripts/inventory/promotion.mjs +5 -3
  249. package/scripts/runtime-source-boundaries.mjs +70 -0
  250. package/scripts/site-capability-metadata.mjs +2 -2
  251. package/scripts/workflow-action-graph.mjs +5 -18
  252. package/scripts/workflow-self-reference.mjs +20 -0
  253. package/templates/native-dev-delivery.yml +4 -4
  254. package/templates/universal-buildchain-bootstrap.yml +12 -2
  255. package/architecture/runtime-ref-resume-authority.json +0 -64
  256. package/architecture/universal-workflow-train-admission.json +0 -76
  257. package/contracts/v4-runtime-ref-resume-authority-v1.schema.json +0 -235
  258. package/docs/v4-runtime-ref-resume-authority.md +0 -69
  259. package/packages/core/consumer/channel-selection.js +0 -211
  260. package/packages/core/consumer/commands/buildchain-channel-router.mjs +0 -81
  261. package/packages/core/consumer/invocation-selector.js +0 -4
  262. package/packages/core/consumer/runtime-ref-resume-authority.js +0 -621
  263. package/packages/core/consumer/workflow-definition-authority.js +0 -64
  264. package/packages/core/contracts/runtime-contract-action.js +0 -48
  265. package/packages/core/release/commands/promotion-identity-resolver.mjs +0 -77
  266. package/packages/core/release/commands/verify-promotion-router-binding.sh +0 -36
  267. package/packages/core/release/promotion/identities.js +0 -56
  268. package/packages/core/release/runtime-override-authorization.js +0 -242
  269. package/packages/core/runtime/commands/runtime-ref-core.mjs +0 -171
  270. package/packages/core/runtime/provider-closure.js +0 -60
  271. package/packages/core/runtime/runtime-selection-action.js +0 -34
  272. package/packages/core/runtime/runtime-selection.js +0 -136
  273. package/packages/core/runtime/workflow-runtime.js +0 -11
  274. package/packages/core/workflow/admission/review.js +0 -188
  275. package/packages/core/workflow/commands/universal-workflow-backflow.mjs +0 -26
  276. package/packages/core/workflow/installation.js +0 -33
  277. package/packages/core/workflow/settlement/backflow.js +0 -187
  278. package/scripts/generate-bootstrap-recovery.mjs +0 -94
  279. package/templates/bootstrap-recovery/actions/build/source/admit/action.yml +0 -17
  280. package/templates/bootstrap-recovery/actions/build/source/admit/dist/index.js +0 -63
  281. package/templates/bootstrap-recovery/actions/runtime/dependencies/install/action.yml +0 -18
  282. package/templates/bootstrap-recovery/actions/runtime/dependencies/install/dist/index.js +0 -63
  283. package/templates/bootstrap-recovery/actions/runtime/environment/prepare/action.yml +0 -21
  284. package/templates/bootstrap-recovery/actions/workflow/admission/inspect/action.yml +0 -27
  285. package/templates/bootstrap-recovery/actions/workflow/admission/inspect/dist/index.js +0 -64
  286. package/templates/bootstrap-recovery/actions/workflow/admission/review/action.yml +0 -15
  287. package/templates/bootstrap-recovery/actions/workflow/admission/review/dist/index.js +0 -65
  288. package/templates/bootstrap-recovery/actions/workflow/recovery/admit/action.yml +0 -47
  289. package/templates/bootstrap-recovery/actions/workflow/recovery/execute/action.yml +0 -48
  290. package/templates/bootstrap-recovery/actions/workflow/recovery/settle/action.yml +0 -54
  291. package/templates/bootstrap-recovery/actions/workflow/settlement/seal/action.yml +0 -17
  292. package/templates/bootstrap-recovery/actions/workflow/settlement/seal/dist/index.js +0 -65
  293. package/templates/bootstrap-recovery/manifest.json +0 -68
  294. package/templates/bootstrap-recovery/package.json +0 -9
  295. package/templates/universal-buildchain-bootstrap-recovery.yml +0 -115
package/docs/MAP.md CHANGED
@@ -8,7 +8,7 @@ confidence: high
8
8
  sensitivity: public
9
9
  evidence_grade: A
10
10
  review_state: unreviewed
11
- last_reviewed: 2026-09-10
11
+ last_reviewed: 2026-09-11
12
12
  ai_provenance:
13
13
  model_family: GPT-6
14
14
  product: Codex
@@ -170,7 +170,7 @@ replace them.
170
170
  | 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
171
  | How do I validate an unreleased Buildchain runtime train while keeping `@v3`? | [`runtime-train-validation.md`](runtime-train-validation.md) | use | stable |
172
172
  | 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
- | How can a trusted v4 run use a transient exact runtime and resume sealed Stage Capsules after a floating ref moves? | [`v4-runtime-ref-resume-authority.md`](v4-runtime-ref-resume-authority.md) | use/verify | preview |
173
+ | How does the public entry select a runtime and recover with a repaired train? | [`runtime-entry.md`](runtime-entry.md) | use/verify | preview |
174
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
175
  | How do I deploy a site/app preview, staging, or production surface? | [`web-surface-deployments.md`](web-surface-deployments.md) | use | stable |
176
176
  | How do I publish observed infrastructure contracts for downstream consumers? | [`infra-contract.md`](infra-contract.md) | use | preview |
@@ -214,7 +214,7 @@ replace them.
214
214
  [`reusable-build-surface.md`](reusable-build-surface.md#artifact-transfer-relay).
215
215
  - **local Git checkout cache / self-hosted source transport** ->
216
216
  [`reusable-build-surface.md`](reusable-build-surface.md#locked-source-checkout-cache).
217
- - **runtime train validation / temporary `buildchain-ref` override** ->
217
+ - **runtime train validation / temporary `runtime-ref` override** ->
218
218
  [`runtime-train-validation.md`](runtime-train-validation.md) and
219
219
  [`reusable-build-surface.md`](reusable-build-surface.md).
220
220
  - **consumer workflow feedback / automatic Buildchain GitHub issues** ->
@@ -8,7 +8,7 @@ confidence: high
8
8
  sensitivity: public
9
9
  evidence_grade: A
10
10
  review_state: self-reviewed
11
- last_reviewed: 2026-08-05
11
+ last_reviewed: 2026-09-11
12
12
  ai_provenance:
13
13
  model_family: GPT-5
14
14
  product: Codex
@@ -122,7 +122,7 @@ authority.
122
122
  jobs:
123
123
  demo:
124
124
  needs: exact-binary
125
- uses: kungfu-systems/buildchain/.github/workflows/public-build-demo.yml@BUILDCHAIN_EXACT_SHA
125
+ uses: kungfu-systems/buildchain/.github/workflows/public-build-demo.yml@v4
126
126
  with:
127
127
  source-ref: ${{ github.sha }}
128
128
  binary-artifact-name: ${{ needs.exact-binary.outputs.artifact-name }}
@@ -215,7 +215,7 @@ non-symlink, executable file inside the exact checked-out consumer source.
215
215
 
216
216
  The Gate:
217
217
 
218
- - checks out the exact consumer source and exact called-workflow SHA;
218
+ - prepares the selected execution runtime and checks out the exact consumer source;
219
219
  - resolves and downloads one exact same-run GitHub Artifact;
220
220
  - invokes the checked-in adapter by argv, never as an evaluated shell string;
221
221
  - rejects undeclared adapter outputs, symlinks, invalid UTF-8, invalid scene or
@@ -353,7 +353,7 @@ jobs:
353
353
  permissions:
354
354
  actions: read
355
355
  contents: read
356
- uses: kungfu-systems/buildchain/.github/workflows/.build-demo-adapter.yml@BUILDCHAIN_EXACT_SHA
356
+ uses: kungfu-systems/buildchain/.github/workflows/.build-demo-adapter.yml@v4
357
357
  with:
358
358
  source-ref: ${{ github.sha }}
359
359
  source-artifact-name: ${{ needs.build.outputs.artifact-name }}
@@ -1818,11 +1818,11 @@ buildchain paper preflight [--cwd <dir>] [--offline] [--json]
1818
1818
 
1819
1819
  - Help: `buildchain paper resume --help`
1820
1820
  - Canonical id: `paper-resume`
1821
- - Options: `--buildchain-ref`, `--cwd`, `--execute`, `--json`
1821
+ - Options: `--cwd`, `--execute`, `--json`, `--runtime-ref`
1822
1822
  - Syntax:
1823
1823
 
1824
1824
  ```text
1825
- buildchain paper resume [--cwd <dir>] [--buildchain-ref <ref>] [--execute] [--json]
1825
+ buildchain paper resume [--cwd <dir>] [--runtime-ref <ref>] [--execute] [--json]
1826
1826
  ```
1827
1827
 
1828
1828
  ### `buildchain paper scaffold`
@@ -8,7 +8,7 @@ confidence: high
8
8
  sensitivity: public
9
9
  evidence_grade: B
10
10
  review_state: unreviewed
11
- last_reviewed: 2026-09-10
11
+ last_reviewed: 2026-09-11
12
12
  ai_provenance:
13
13
  model_family: GPT-6
14
14
  product: Codex
@@ -21,7 +21,7 @@ ai_provenance:
21
21
 
22
22
  Buildchain 4.1 uses responsibility layers, then capability directories. The
23
23
  reusable workflow is the primary consumer API. This development line is
24
- `4.1.0-alpha.0`; these changes do not themselves publish an alpha release.
24
+ `4.1.0-alpha.1`; these changes do not themselves publish an alpha release.
25
25
 
26
26
  ```text
27
27
  .github/workflows/ Consumer APIs and hosted job topology
@@ -97,8 +97,9 @@ The development delivery API has six semantic nodes: source admission,
97
97
  reservation, native execution, qualification, settlement, and landing. Its
98
98
  actions are grouped under `dev-delivery/candidate`, `dev-delivery/native`,
99
99
  `dev-delivery/warrant`, and `dev-delivery/queue`.
100
- Buildchain invokes this public delivery workflow from the same source commit, so
101
- its workflow, action paths and runtime modules share one implementation identity.
100
+ Buildchain consumes the same public floating entry as other repositories. The
101
+ entry selects one runtime through the shared runtime entry; every business
102
+ action and module comes from that selection, independently of the entry SHA.
102
103
  The native node runs in separate hosted jobs where the trust boundary requires
103
104
  process and credential isolation.
104
105
  Dispatch carries exact source-run coordinates and content roots. When the path
@@ -8,7 +8,7 @@ confidence: high
8
8
  sensitivity: public
9
9
  evidence_grade: B
10
10
  review_state: unreviewed
11
- last_reviewed: 2026-07-14
11
+ last_reviewed: 2026-09-11
12
12
  ai_provenance:
13
13
  model_family: GPT-5
14
14
  product: Codex
@@ -80,7 +80,7 @@ Reusable workflows expose these outputs:
80
80
  `controller-receipt-digest`, and `controller-receipt-status`.
81
81
 
82
82
  Final aggregation uses `always()`. A required missing stage, required missing
83
- evidence, invalid digest, source/runtime mismatch, or missing receipt cannot be
83
+ evidence, invalid digest, source mismatch, or missing receipt cannot be
84
84
  reported as qualifying green. `aggregateControllerReceipts()` reports an
85
85
  explicit `receipt-missing` status when a plan has no receipt.
86
86
 
@@ -8,7 +8,7 @@ confidence: high
8
8
  sensitivity: public
9
9
  evidence_grade: A
10
10
  review_state: self-reviewed
11
- last_reviewed: 2026-08-11
11
+ last_reviewed: 2026-09-11
12
12
  ai_provenance:
13
13
  model_family: GPT-5
14
14
  product: Codex
@@ -128,15 +128,15 @@ the rendered bytes. Concurrent qualification progress therefore fails closed
128
128
  and is recomputed by the next patrol instead of attaching a declaration to the
129
129
  wrong candidate.
130
130
 
131
- The separately permissioned `settle` job checks out the exact Buildchain runtime
132
- commit used by `observe`, re-runs the exact observation, and compare-and-swap
131
+ The separately permissioned `settle` job prepares the entry-selected runtime,
132
+ re-runs the exact observation, and compare-and-swap
133
133
  checks the selected SHA, prior controller root and Release Cut root before any
134
134
  write. With no active managed candidate, it reads the candidate tree and creates
135
135
  one rooted Release Cut before it creates one branch named from
136
136
  the target branch and the first 12 characters of the full source SHA. An
137
137
  existing branch must point to the same full SHA or the run fails. With one
138
- active managed candidate, it validates the candidate ref, tree, Alpha base and
139
- runtime before returning that same SHA to every checkout/build consumer. It only
138
+ active managed candidate, it validates the candidate ref, tree and Alpha base
139
+ before returning that source SHA to every checkout/build consumer. It only
140
140
  updates the machine-readable state marker when a new dev observation or hold
141
141
  receipt must be persisted. Repeated events and rapid dev progress cannot create
142
142
  another candidate PR or another heavy candidate build. Foreign human-authored
@@ -8,7 +8,7 @@ confidence: high
8
8
  sensitivity: public
9
9
  evidence_grade: A
10
10
  review_state: self-reviewed
11
- last_reviewed: 2026-08-17
11
+ last_reviewed: 2026-09-11
12
12
  ai_provenance:
13
13
  model_family: GPT-5
14
14
  product: Codex
@@ -508,26 +508,16 @@ root still match. A delayed `dequeued` event is ignored when GitHub readback
508
508
  shows the same exact PR head is already queued again, so an earlier queue event
509
509
  cannot close a newer active Warrant generation.
510
510
 
511
- Buildchain uses the same contract for its own protected dev line through
512
- `self-ops-dev-delivery.yml`. The manual caller requires the exact PR head and
513
- semantic source roots, accepts an optional reusable native proof, keeps both
514
- the durable public selector and explicit runtime input on `v4-alpha`, selects
515
- `delivery-warrant-mode: required`, and targets GitHub Merge Queue. It does not
516
- offer an `off` switch: rollback is a reviewed change to this caller, not an
517
- operator-time weakening of a specific delivery attempt.
518
-
519
- `templates/native-dev-delivery.yml` provides the corresponding protected-dev
520
- consumer workflow. It supports both explicit dispatch and the bounded wake
521
- event, calls the allowed floating `@v4-alpha` selector, explicitly passes the v4
522
- runtime ref that locks every delivery job to the same checkout, and keeps the
523
- native command in the consumer repository rather than inventing
524
- provider-specific shards. Both callers explicitly bind the queue-admission
525
- and active-lease status contexts so write/readback fencing uses the same exact
526
- names. The reusable workflow defaults the explicit runtime input to
527
- `v4-alpha`; an empty input or any v3 selector fails before the first runtime
528
- checkout.
529
-
530
- This mechanism schedules protected delivery only. It does not serialize local
531
- development, source-only checks, unrelated channels, release publication, or
532
- runner provisioning. It never grants authority to enable cloud runner
533
- campaigns.
511
+ Buildchain uses the same public contract for its protected dev line through
512
+ `self-ops-dev-delivery.yml`. The caller keeps the durable selector on `@v4`,
513
+ requires exact PR source roots, and selects `delivery-warrant-mode: required`.
514
+ The central runtime entry selects and prepares execution code. Explicit transient
515
+ runtime selection can choose a repaired train without changing the persisted
516
+ caller. There is no per-attempt Warrant bypass.
517
+
518
+ `templates/native-dev-delivery.yml` supplies the corresponding consumer workflow.
519
+ It supports explicit dispatch and the bounded wake event, preserves the native
520
+ command in the consumer repository, and binds queue-admission and active-lease
521
+ status contexts for provider write/readback fencing. Runtime selection follows
522
+ the shared entry precedence; subsequent delivery nodes do not compare Buildchain
523
+ SHAs.
@@ -8,7 +8,7 @@ confidence: high
8
8
  sensitivity: public
9
9
  evidence_grade: A
10
10
  review_state: reviewed
11
- last_reviewed: 2026-08-10
11
+ last_reviewed: 2026-09-11
12
12
  ---
13
13
 
14
14
  # Engineering Housekeeper
@@ -127,8 +127,8 @@ continue.
127
127
  | `stale-pull-request-label` | string | empty | Empty keeps pull requests report-only; non-empty permits labeling, never closure. |
128
128
  | `max-actions` | number | `20` | Positive global apply limit. |
129
129
  | `artifact-retention-days` | number | `30` | Retention for plan, report, and receipts. |
130
- | `buildchain-repository` | string | `kungfu-systems/buildchain` | Runtime source repository. |
131
- | `buildchain-ref` | string | `v4` | Runtime ref; trusted qualification may pass a train or exact SHA. |
130
+ | `runtime-ref` | string | empty | Transient runtime selected by the central entry; otherwise use the lock or entry default. |
131
+ | `contract-lock` | string | empty | Optional consumer-relative contract lock path. |
132
132
 
133
133
  Stable outputs are `plan-root`, `report-receipt-root`, optional
134
134
  `branch-receipt-root` and `pull-request-receipt-root`, `action-count`,
@@ -8,7 +8,7 @@ confidence: high
8
8
  sensitivity: public
9
9
  evidence_grade: A
10
10
  review_state: unreviewed
11
- last_reviewed: 2026-07-24
11
+ last_reviewed: 2026-09-11
12
12
  ai_provenance:
13
13
  model_family: GPT-5
14
14
  product: Codex
@@ -137,9 +137,8 @@ permissions:
137
137
 
138
138
  jobs:
139
139
  promote:
140
- uses: kungfu-systems/buildchain/.github/workflows/public-release-promote.yml@<exact-buildchain-v3-runtime-sha>
140
+ uses: kungfu-systems/buildchain/.github/workflows/public-release-promote.yml@v4
141
141
  with:
142
- buildchain-ref: <exact-buildchain-v3-runtime-sha>
143
142
  github-release: true
144
143
  release-passport: true
145
144
  github-artifact-attestation-policy-json: .buildchain/release-candidate/payload/<artifact>/policy.json
@@ -147,14 +146,14 @@ jobs:
147
146
  ```
148
147
 
149
148
  Promotion binds the policy into the Passport, stages only digest-matching data,
150
- calls the exact v3 signer, verifies the provider identity a second time, and
149
+ calls the public signer entry, verifies the provider identity a second time, and
151
150
  publishes immutable bundle, predicate, verification, evidence, and receipt
152
151
  assets beside the release artifact. A same-name Release asset with different
153
152
  bytes is rejected instead of overwritten.
154
153
 
155
154
  Low-level callers may call the reusable attester directly after their Passport
156
- job. Both the reusable workflow ref and `buildchain-ref` use the same exact
157
- 40-hex signer-bootstrap commit and fail closed if the provider identity differs:
155
+ job. The public entry selects the execution runtime through the same contract as
156
+ build and release. Provider signer identity and subject digests remain mandatory:
158
157
 
159
158
  ```yaml
160
159
  jobs:
@@ -166,9 +165,8 @@ jobs:
166
165
  attestations: write
167
166
  contents: read
168
167
  id-token: write
169
- uses: kungfu-systems/buildchain/.github/workflows/public-release-artifact-attestation.yml@<exact-signer-bootstrap-sha>
168
+ uses: kungfu-systems/buildchain/.github/workflows/public-release-artifact-attestation.yml@v4
170
169
  with:
171
- buildchain-ref: <exact-signer-bootstrap-sha>
172
170
  evidence-run-id: ${{ github.run_id }}
173
171
  source-sha: ${{ github.sha }}
174
172
  subject-artifact-name: linux-release
@@ -191,10 +189,9 @@ custom predicate, and Buildchain evidence root:
191
189
 
192
190
  The reusable workflow runs that same exact signer/source verification
193
191
  immediately after `actions/attest` and before it finalizes or uploads evidence.
194
- Passing a different `buildchain-ref` than the commit used to invoke the reusable
195
- workflow therefore fails in the signer job, not only during later consumption.
196
- The policy additionally retains the distinct Buildchain runtime SHA that
197
- created the build and release evidence.
192
+ The provider signer commit identifies the workflow that issued the attestation.
193
+ The selected execution runtime is separate provenance and may differ. Subject,
194
+ signer and evidence-root verification does not compare entry and runtime SHAs.
198
195
 
199
196
  ```bash
200
197
  buildchain verify github-artifact-attestation \
@@ -8,7 +8,7 @@ confidence: high
8
8
  sensitivity: public
9
9
  evidence_grade: B
10
10
  review_state: unreviewed
11
- last_reviewed: 2026-07-31
11
+ last_reviewed: 2026-09-11
12
12
  ai_provenance:
13
13
  model_family: GPT-5
14
14
  product: Codex
@@ -125,9 +125,9 @@ buildchain audit github-governance \
125
125
  ```
126
126
 
127
127
  Protected merge and publication consumers verify the receipt against the exact
128
- repository, target base ref, policy root, freshness window, and exact
129
- Buildchain verifier source revision. Non-dry-run publication does not trust a
130
- caller-supplied JSON hash: it mints a bounded token for the dedicated read-only
128
+ repository, target base ref, policy root and freshness window. The selected
129
+ runtime revision is recorded as provenance, without a downstream SHA comparison.
130
+ Non-dry-run publication does not trust a caller-supplied JSON hash: it mints a bounded token for the dedicated read-only
131
131
  governance auditor GitHub App, recollects live provider state with the exact
132
132
  Buildchain runtime, requires the resulting single-repository/single-target
133
133
  audit to qualify, and consumes that independently generated receipt. Missing