@kungfu-tech/buildchain 4.0.2-alpha.9 → 4.0.3-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 (281) hide show
  1. package/AGENTS.md +14 -5
  2. package/CONTRIBUTING.md +58 -0
  3. package/README.md +3 -3
  4. package/actions/promote-buildchain-ref/README.md +1 -1
  5. package/actions/release-candidate-promote/README.md +31 -0
  6. package/architecture/agent-change-map.md +190 -126
  7. package/architecture/{v4-architecture-constitution.md → architecture-constitution.md} +33 -30
  8. package/architecture/{v3-core-mechanism-inventory.md → baseline-core-mechanism-inventory.md} +1 -1
  9. package/architecture/{v4-bootstrap-authority.json → bootstrap-authority.json} +3 -3
  10. package/architecture/{v3-v4-capability-closure.md → capability-parity-closure.md} +3 -3
  11. package/architecture/{v3-v4-live-capability-inventory.json → capability-parity-live-capability-inventory.json} +4 -4
  12. package/architecture/{v4-capability-state-machine-manifest.json → capability-state-machine-manifest.json} +2 -2
  13. package/architecture/{v4-capability-state-machine-manifest.schema.json → capability-state-machine-manifest.schema.json} +2 -2
  14. package/architecture/ci-lane-change-budget.json +384 -0
  15. package/architecture/{v4-cross-platform-adopter-qualification.json → cross-platform-adopter-qualification.json} +4 -4
  16. package/architecture/{v4-delivery-authority-parity.json → delivery-authority-parity.json} +17 -17
  17. package/architecture/{v4-delivery-warrant-shadow-bootstrap-plan.json → delivery-warrant-shadow-bootstrap-plan.json} +4 -4
  18. package/architecture/{v4-delivery-warrant-shadow-bootstrap-plan.md → delivery-warrant-shadow-bootstrap-plan.md} +7 -7
  19. package/architecture/{v4-floating-consumer-policy.json → floating-consumer-policy.json} +2 -2
  20. package/architecture/{v4-floating-consumer-policy.md → floating-consumer-policy.md} +1 -1
  21. package/architecture/implementation-naming.json +1273 -0
  22. package/architecture/internal-capabilities.json +201 -154
  23. package/architecture/maintainability-debt.json +205 -146
  24. package/architecture/maintainability-policy.json +37 -33
  25. package/architecture/{v4-next-development-parity.json → next-development-parity.json} +12 -12
  26. package/architecture/{v4-partial-mutation-recovery-qualification.json → partial-mutation-recovery-qualification.json} +8 -5
  27. package/architecture/{v4-platform-stage-checkpoints.json → platform-stage-checkpoints.json} +3 -3
  28. package/architecture/{v4-provider-operation-journal-contract.json → provider-operation-journal-contract.json} +10 -7
  29. package/architecture/publication-facade-patches.json +64 -0
  30. package/architecture/{v4-publication-rehearsal-parity.json → publication-rehearsal-parity.json} +4 -4
  31. package/architecture/{v4-release-activation-shadow-domain.json → release-activation-shadow-domain.json} +9 -6
  32. package/architecture/release-tail-contract-inventory.json +6 -6
  33. package/architecture/{v4-release-topology.json → release-topology.json} +163 -72
  34. package/architecture/{v4-release-train-parity.json → release-train-parity.json} +2 -2
  35. package/architecture/{v4-runtime-ref-resume-authority.json → runtime-ref-resume-authority.json} +1 -1
  36. package/architecture/{v4-runtime-semantic-closure.json → runtime-semantic-closure.json} +2 -2
  37. package/architecture/{v4-rust-libnode-bridge-evaluation.json → rust-libnode-bridge-evaluation.json} +3 -3
  38. package/architecture/{v4-rust-libnode-bridge-spike.md → rust-libnode-bridge-spike.md} +6 -6
  39. package/architecture/rust-wasm-production-authority.json +58 -0
  40. package/architecture/{v4-stable-publication-fence.json → stable-publication-fence.json} +7 -4
  41. package/architecture/{v4-stage-capsule-contract.json → stage-capsule-contract.json} +1 -1
  42. package/architecture/{v4-stage-capsule-qualification.json → stage-capsule-qualification.json} +8 -8
  43. package/architecture/{v4-stage-capsule-resume-planner.json → stage-capsule-resume-planner.json} +2 -2
  44. package/architecture/{v4-stage-capsule-store-contract.json → stage-capsule-store-contract.json} +4 -4
  45. package/architecture/{v4-tail-reseal-parity.json → tail-reseal-parity.json} +35 -33
  46. package/architecture/universal-workflow-bootstrap.json +176 -0
  47. package/architecture/universal-workflow-fault-campaign.json +72 -0
  48. package/architecture/universal-workflow-train-admission.json +40 -0
  49. package/architecture/workflow-taxonomy.json +1462 -0
  50. package/bin/buildchain.mjs +10 -10
  51. package/bin/internal/adopter-delivery-cli.mjs +9 -9
  52. package/contracts/buildchain-v2-residuals-v1.json +57 -48
  53. package/contracts/dev-delivery-authority-v2.schema.json +16 -2
  54. package/contracts/fixtures/v4-tail-reseal-v1/valid.json +1 -1
  55. package/contracts/v4-canonical-contracts-v1.schema.json +1 -0
  56. package/crates/{buildchain-v4-bridge → buildchain-host-bridge}/Cargo.lock +1 -1
  57. package/crates/{buildchain-v4-bridge → buildchain-host-bridge}/Cargo.toml +1 -1
  58. package/crates/{buildchain-v4-bridge → buildchain-host-bridge}/src/main.rs +3 -3
  59. package/dist/site/buildchain-contract.json +98 -53
  60. package/dist/site/buildchain-site.json +351 -102
  61. package/dist/site/capability-registry.json +7 -7
  62. package/dist/site/controller-registry.json +50 -13
  63. package/dist/site/kfd-claims.json +2773 -1052
  64. package/dist/site/kfd-upstream-aggregate.json +1 -1
  65. package/dist/site/manual-registry.json +14 -14
  66. package/dist/site/node-api-registry.json +13176 -10733
  67. package/dist/site/page-registry.json +332 -83
  68. package/dist/site/public-surface-audit.json +3227 -1222
  69. package/dist/site/publication-authority-registry.json +1135 -363
  70. package/dist/site/publication-registry.json +4 -4
  71. package/dist/site/release-provenance.json +18 -9
  72. package/dist/site/schemas/dev-delivery-authority-v2.schema.json +16 -2
  73. package/dist/site/site-manifest.json +18 -18
  74. package/dist/site/workflow-registry.json +5367 -1931
  75. package/docs/MAP.md +5 -3
  76. package/docs/auditable-demo.md +1 -1
  77. package/docs/cli.md +21 -8
  78. package/docs/dev-delivery-warrant.md +1 -1
  79. package/docs/engineering-housekeeper.md +3 -3
  80. package/docs/kfd-support.md +26 -2
  81. package/docs/next-development-transition.md +26 -3
  82. package/docs/node-api-reference.md +618 -358
  83. package/docs/oci-publication.md +173 -0
  84. package/docs/publication-authority.md +2 -2
  85. package/docs/publish-transaction.md +36 -3
  86. package/docs/release-candidate.md +3 -3
  87. package/docs/release-flow.md +67 -19
  88. package/docs/release-governance.md +8 -8
  89. package/docs/release-passport.md +27 -2
  90. package/docs/reusable-build-surface.md +17 -1
  91. package/docs/v4-adopter-delivery.md +4 -4
  92. package/docs/v4-canonical-contracts.md +7 -7
  93. package/docs/v4-delivery-warrant-read-candidate.md +3 -3
  94. package/docs/v4-delivery-warrant-semantic-diff.md +3 -3
  95. package/docs/v4-production-release.md +77 -8
  96. package/docs/v4-publication-rehearsal.md +3 -3
  97. package/docs/v4-runtime-ref-resume-authority.md +2 -2
  98. package/docs/v4-rust-wasm-production-authority.md +58 -0
  99. package/docs/v4-stage-capsule.md +9 -9
  100. package/docs/v4-tail-reseal.md +2 -2
  101. package/docs/workflow-catalog.md +155 -0
  102. package/docs/workflow-path-migration.md +109 -0
  103. package/package.json +39 -24
  104. package/packages/compatibility/adopter-delivery.js +16 -0
  105. package/packages/compatibility/cross-platform-adopter-qualification.js +12 -0
  106. package/packages/compatibility/floating-consumer-policy.js +14 -0
  107. package/packages/compatibility/publication-qualification.js +11 -0
  108. package/packages/compatibility/publication-rehearsal.js +18 -0
  109. package/packages/compatibility/runtime-ref-resume-authority.js +13 -0
  110. package/packages/compatibility/tail-reseal-receipt.js +7 -0
  111. package/packages/compatibility/tail-reseal.js +11 -0
  112. package/packages/core/{v4-adopter-delivery-parity.js → adopter-delivery-parity.js} +12 -12
  113. package/packages/core/{v4-adopter-delivery.js → adopter-delivery.js} +24 -24
  114. package/packages/core/artifact-verification-envelope.js +5 -5
  115. package/packages/core/buildchain-contract.js +6 -6
  116. package/packages/core/buildchain-domain.wasm +0 -0
  117. package/packages/core/buildchain-kfd-claims.js +2 -2
  118. package/packages/core/buildchain-publication-authority.js +43 -26
  119. package/packages/core/{v4-canonical-contracts.js → canonical-contracts.js} +39 -103
  120. package/packages/core/ci-lane-change-budget.js +14 -1
  121. package/packages/core/controller-evidence.js +4 -1
  122. package/packages/core/{v4-cross-platform-adopter-qualification.js → cross-platform-adopter-qualification.js} +19 -19
  123. package/packages/core/{v4-delivery-warrant-fixture-runner.js → delivery-warrant-fixture-runner.js} +36 -32
  124. package/packages/core/{v4-delivery-warrant-read-candidate.js → delivery-warrant-read-candidate.js} +40 -40
  125. package/packages/core/{v4-delivery-warrant-semantic-diff-gate.js → delivery-warrant-semantic-diff-gate.js} +58 -59
  126. package/packages/core/{v4-delivery-warrant-shadow-adapter.js → delivery-warrant-shadow-adapter.js} +15 -15
  127. package/packages/core/dev-delivery-candidate-identity.js +40 -6
  128. package/packages/core/dev-delivery-execution-transfer.js +6 -6
  129. package/packages/core/dev-delivery-native-proof.js +12 -8
  130. package/packages/core/dev-delivery-warrant-legacy-recovery.js +1 -1
  131. package/packages/core/dev-delivery-warrant-native-compatibility.js +4 -4
  132. package/packages/core/dev-delivery-warrant-state.js +14 -15
  133. package/packages/core/dev-delivery-warrant.js +15 -5
  134. package/packages/core/domain-wasm-artifact.js +7 -0
  135. package/packages/core/domain-wasm.js +216 -0
  136. package/packages/core/{v4-floating-consumer-evidence.js → floating-consumer-evidence.js} +14 -14
  137. package/packages/core/{v4-floating-consumer-policy.js → floating-consumer-policy.js} +28 -30
  138. package/packages/core/{v4-floating-consumer-release-passport.js → floating-consumer-release-passport.js} +25 -25
  139. package/packages/core/github-governance-authority.js +4 -4
  140. package/packages/core/index.js +4 -8
  141. package/packages/core/kfd-adopter-manifest.js +46 -47
  142. package/packages/core/next-development-projection.js +26 -3
  143. package/packages/core/next-development-transition.js +5 -6
  144. package/packages/core/oci-compose-qualification.js +143 -0
  145. package/packages/core/oci-publication-bundle.js +281 -0
  146. package/packages/core/oci-publication-graph.js +206 -0
  147. package/packages/core/paper-agent-entry.js +30 -4
  148. package/packages/core/paper-fleet.js +1 -1
  149. package/packages/core/paper-runtime-channels.js +348 -0
  150. package/packages/core/paper-scaffold-content.js +10 -0
  151. package/packages/core/paper.js +37 -71
  152. package/packages/core/partial-mutation-recovery-qualification.js +18 -0
  153. package/packages/core/{v4-platform-stage-checkpoints.js → platform-stage-checkpoints.js} +37 -37
  154. package/packages/core/product-publication.js +59 -0
  155. package/packages/core/{v4-protected-publication-source.js → protected-publication-source.js} +22 -24
  156. package/packages/core/provider-operation-journal.js +62 -0
  157. package/packages/core/{v4-provider-readback-idempotency.js → provider-readback-idempotency.js} +40 -125
  158. package/packages/core/public-export-compatibility.js +33 -0
  159. package/packages/core/publication-development.js +72 -0
  160. package/packages/core/{v4-publication-qualification.js → publication-qualification.js} +17 -17
  161. package/packages/core/{v4-publication-rehearsal-capsule.js → publication-rehearsal-capsule.js} +23 -23
  162. package/packages/core/publication-rehearsal-projection.js +2 -2
  163. package/packages/core/{v4-publication-rehearsal-provider-bindings.js → publication-rehearsal-provider-bindings.js} +4 -4
  164. package/packages/core/publication-rehearsal-runtime.js +21 -21
  165. package/packages/core/{v4-publication-rehearsal.js → publication-rehearsal.js} +33 -33
  166. package/packages/core/publication-sealed-bundle.js +78 -13
  167. package/packages/core/release-activation-shadow.js +32 -0
  168. package/packages/core/release-candidate.js +6 -6
  169. package/packages/core/release-invocation.js +64 -0
  170. package/packages/core/release-line-dry-run.js +1 -1
  171. package/packages/core/release-passport-contract.js +5 -5
  172. package/packages/core/release-passport.js +41 -40
  173. package/packages/core/release-tail-product-capabilities.js +9 -0
  174. package/packages/core/release-tail-provider-plane.js +68 -1048
  175. package/packages/core/{v4-runtime-ref-resume-authority.js → runtime-ref-resume-authority.js} +36 -40
  176. package/packages/core/{v4-runtime-selector-persistence.js → runtime-selector-persistence.js} +7 -7
  177. package/packages/core/stable-publication-fence.js +28 -0
  178. package/packages/core/{v4-stage-capsule-local-store.js → stage-capsule-local-store.js} +56 -54
  179. package/packages/core/{v4-stage-capsule-qualification-campaign.js → stage-capsule-qualification-campaign.js} +37 -38
  180. package/packages/core/{v4-stage-capsule-qualification.js → stage-capsule-qualification.js} +28 -29
  181. package/packages/core/{v4-stage-capsule-resume-planner.js → stage-capsule-resume-planner.js} +29 -29
  182. package/packages/core/{v4-stage-capsule-store.js → stage-capsule-store.js} +59 -56
  183. package/packages/core/{v4-stage-capsule.js → stage-capsule.js} +45 -45
  184. package/packages/core/{v4-tail-reseal-contract.js → tail-reseal-contract.js} +6 -6
  185. package/packages/core/{v4-tail-reseal-github.js → tail-reseal-github.js} +12 -12
  186. package/packages/core/{v4-tail-reseal-receipt.js → tail-reseal-receipt.js} +22 -22
  187. package/packages/core/{v4-tail-reseal.js → tail-reseal.js} +29 -29
  188. package/packages/core/universal-workflow-bootstrap.js +586 -0
  189. package/scripts/{v4-architecture.mjs → architecture.mjs} +6 -6
  190. package/scripts/binary-publication-evidence.mjs +135 -0
  191. package/scripts/{v4-bridge-bootstrap.mjs → bridge-bootstrap.mjs} +14 -18
  192. package/scripts/{v4-bridge-evidence.mjs → bridge-evidence.mjs} +8 -8
  193. package/scripts/build-contract-core.mjs +1 -14
  194. package/scripts/build-domain-wasm.mjs +177 -0
  195. package/scripts/{v3-v4-capability-catalog.mjs → capability-parity-catalog.mjs} +19 -19
  196. package/scripts/check-action-bundles.mjs +12 -2
  197. package/scripts/{check-v3-v4-capability-inventory.mjs → check-capability-parity-inventory.mjs} +42 -42
  198. package/scripts/check-ci-lane-change-budget.mjs +4 -1
  199. package/scripts/check-core-mechanism-inventory.mjs +8 -4
  200. package/scripts/{check-v4-floating-consumer-policy-contract.mjs → check-floating-consumer-policy-contract.mjs} +10 -10
  201. package/scripts/check-implementation-naming.mjs +135 -0
  202. package/scripts/check-inventory.mjs +39 -47
  203. package/scripts/check-maintainability.mjs +25 -115
  204. package/scripts/{check-v4-public-dogfood-contract.mjs → check-public-dogfood-contract.mjs} +37 -24
  205. package/scripts/{check-v4-release-topology.mjs → check-release-topology.mjs} +131 -52
  206. package/scripts/{check-v4-runtime-semantic-closure.mjs → check-runtime-semantic-closure.mjs} +23 -17
  207. package/scripts/check-universal-workflow-bootstrap.mjs +266 -0
  208. package/scripts/check-workflow-taxonomy.mjs +6 -0
  209. package/scripts/{v4-consumer-policy.mjs → consumer-policy.mjs} +15 -15
  210. package/scripts/copy-domain-wasm.mjs +14 -0
  211. package/scripts/{v4-cross-platform-adopter-qualification.mjs → cross-platform-adopter-qualification.mjs} +9 -9
  212. package/scripts/{v4-declarative-promotion-admission.mjs → declarative-promotion-admission.mjs} +4 -4
  213. package/scripts/dev-delivery-authority-command-adapters.mjs +1 -1
  214. package/scripts/dev-delivery-authority.mjs +8 -8
  215. package/scripts/dev-delivery-source-proof-reuse.mjs +2 -1
  216. package/scripts/dev-delivery-warrant-options.mjs +15 -10
  217. package/scripts/dev-delivery-warrant-store.mjs +98 -13
  218. package/scripts/dev-delivery-warrant-transition.mjs +109 -0
  219. package/scripts/dev-delivery-warrant.mjs +80 -103
  220. package/scripts/dev-pr-auto-merge.mjs +15 -15
  221. package/scripts/dev-pr-delivery-warrant.mjs +1 -1
  222. package/scripts/generate-channel-build-workflow.mjs +7 -2
  223. package/scripts/generate-channel-promotion-workflow.mjs +19 -34
  224. package/scripts/generate-release-candidate-passport.mjs +23 -23
  225. package/scripts/generate-site-bundle.mjs +28 -28
  226. package/scripts/generate-universal-workflow-facades.mjs +498 -0
  227. package/scripts/generate-workflow-taxonomy.mjs +25 -0
  228. package/scripts/github-output.mjs +31 -0
  229. package/scripts/{v4-host-adapter.mjs → host-adapter.mjs} +1 -1
  230. package/scripts/implementation-references.mjs +25 -0
  231. package/scripts/init-repo.mjs +1 -1
  232. package/scripts/maintainability-metrics.mjs +16 -5
  233. package/scripts/maintainability-public-surface.mjs +115 -0
  234. package/scripts/next-development-review.mjs +313 -0
  235. package/scripts/oci-compose-preview.mjs +261 -0
  236. package/scripts/paper-work-fleet-cli.mjs +2 -0
  237. package/scripts/{v4-platform-stage-checkpoint-rehearsal.mjs → platform-stage-checkpoint-rehearsal.mjs} +17 -17
  238. package/scripts/{v4-product-publication-intent.mjs → product-publication-intent.mjs} +28 -13
  239. package/scripts/publication-candidate-kind.mjs +93 -0
  240. package/scripts/publication-candidate-sealer.mjs +16 -1
  241. package/scripts/{v4-publication-rehearsal-fixture.mjs → publication-rehearsal-fixture.mjs} +5 -5
  242. package/scripts/publication-settlement.mjs +211 -0
  243. package/scripts/release-asset-client.mjs +91 -0
  244. package/scripts/{v4-release-candidate-adapter.mjs → release-candidate-adapter.mjs} +4 -4
  245. package/scripts/release-candidate-resolver.mjs +24 -35
  246. package/scripts/release-tail.mjs +5 -5
  247. package/scripts/resume-from-candidate-run.mjs +35 -42
  248. package/scripts/site-capability-metadata.mjs +9 -0
  249. package/scripts/source-verification-evidence.mjs +344 -0
  250. package/scripts/stable-candidate-qualification.mjs +1 -1
  251. package/scripts/{v4-stage-capsule-qualification.mjs → stage-capsule-qualification.mjs} +62 -62
  252. package/scripts/{v4-stage-capsule-resume-rehearsal.mjs → stage-capsule-resume-rehearsal.mjs} +6 -6
  253. package/scripts/{v4-tail-reseal-macos-rehearsal.mjs → tail-reseal-macos-rehearsal.mjs} +9 -9
  254. package/scripts/{v4-tail-reseal.mjs → tail-reseal.mjs} +19 -19
  255. package/scripts/universal-facade-maintainability.mjs +91 -0
  256. package/scripts/universal-workflow-backflow.mjs +212 -0
  257. package/scripts/universal-workflow-engine.mjs +620 -0
  258. package/scripts/universal-workflow-self-dogfood.mjs +205 -0
  259. package/scripts/verify-version-state-delta.mjs +175 -0
  260. package/scripts/{v4-warrant-shadow-plan.mjs → warrant-shadow-plan.mjs} +6 -6
  261. package/scripts/workflow-taxonomy.mjs +507 -0
  262. package/templates/native-dev-delivery.yml +4 -7
  263. package/templates/universal-buildchain-bootstrap-recovery.yml +282 -0
  264. package/templates/universal-buildchain-bootstrap.yml +28 -0
  265. package/actions/v4-release-candidate-promote/README.md +0 -3
  266. package/packages/core/v4-partial-mutation-recovery-qualification.js +0 -395
  267. package/packages/core/v4-product-publication.js +0 -387
  268. package/packages/core/v4-provider-operation-journal.js +0 -531
  269. package/packages/core/v4-release-activation-shadow.js +0 -519
  270. package/packages/core/v4-release-invocation.js +0 -425
  271. package/packages/core/v4-stable-publication-fence.js +0 -357
  272. /package/architecture/{v4-adopter-delivery-parity.json → adopter-delivery-parity.json} +0 -0
  273. /package/architecture/{v3-core-mechanism-inventory.json → baseline-core-mechanism-inventory.json} +0 -0
  274. /package/architecture/{v4-canonical-contract-fixtures.json → canonical-contract-fixtures.json} +0 -0
  275. /package/architecture/{v4-compatibility-facts-parity.json → compatibility-facts-parity.json} +0 -0
  276. /package/architecture/{v4-delivery-warrant-shadow-bootstrap-plan.schema.json → delivery-warrant-shadow-bootstrap-plan.schema.json} +0 -0
  277. /package/architecture/{v4-delivery-warrant-shadow-fixtures.json → delivery-warrant-shadow-fixtures.json} +0 -0
  278. /package/architecture/{v4-delivery-warrant-shadow-fixtures.schema.json → delivery-warrant-shadow-fixtures.schema.json} +0 -0
  279. /package/architecture/{v4-exception-ledger.json → exception-ledger.json} +0 -0
  280. /package/architecture/{v4-exception-ledger.schema.json → exception-ledger.schema.json} +0 -0
  281. /package/architecture/{v4-release-invocation-fixtures.json → release-invocation-fixtures.json} +0 -0
@@ -11,7 +11,7 @@ import { runLifecycle } from "../scripts/run-lifecycle-core.mjs";
11
11
  import { runReleasePropagationCli } from "../scripts/release-propagation.mjs";
12
12
  import { runReleaseGovernanceCli } from "../scripts/reconcile-release-governance.mjs";
13
13
  import { runReleaseTailCli } from "../scripts/release-tail.mjs";
14
- import { runV4TailResealCli } from "../scripts/v4-tail-reseal.mjs";
14
+ import { runTailResealCli } from "../scripts/tail-reseal.mjs";
15
15
  import { runPublicationArtifactCli } from "../scripts/publication-artifact.mjs";
16
16
  import { runPublicationPackageCli } from "../scripts/publication-package.mjs";
17
17
  import { runPublicationReproducibilityCli } from "../scripts/publication-reproducibility.mjs";
@@ -204,9 +204,9 @@ function runDoctor({ cwd = process.cwd(), requirePublishSourceLock = false } = {
204
204
  };
205
205
  }
206
206
 
207
- function runScript(scriptName, args) {
207
+ function runScript(scriptName, args, runner = process.execPath) {
208
208
  const scriptPath = path.join(root, "scripts", scriptName);
209
- const result = spawnSync(process.execPath, [scriptPath, ...args], {
209
+ const result = spawnSync(runner, [scriptPath, ...args], {
210
210
  cwd: process.cwd(),
211
211
  env: process.env,
212
212
  stdio: "inherit",
@@ -1378,13 +1378,11 @@ async function handleDoctorCommand(args) {
1378
1378
  }
1379
1379
  }
1380
1380
  return;
1381
-
1382
1381
  }
1383
-
1384
1382
  async function handleDevCommand(args) {
1385
1383
  const [subcommand = "", ...devArgs] = args;
1386
- if (subcommand === "pr-admit") {
1387
- runScript("dev-pr-auto-merge.mjs", devArgs);
1384
+ const directScript = { deliver: ["dev-delivery-request.sh", "/bin/bash"], "pr-admit": ["dev-pr-auto-merge.mjs", process.execPath] }[subcommand]; if (directScript) {
1385
+ runScript(directScript[0], devArgs, directScript[1]);
1388
1386
  return;
1389
1387
  }
1390
1388
  if (subcommand === "warrant") {
@@ -1404,11 +1402,13 @@ async function handleDevCommand(args) {
1404
1402
  return;
1405
1403
  }
1406
1404
  if (subcommand !== "merge-queue") {
1407
- throw new Error("usage: buildchain dev <pr-admit|merge-queue|warrant|authority|proof|two-phase> [options]");
1405
+ throw new Error("usage: buildchain dev <deliver|pr-admit|merge-queue|warrant|authority|proof|two-phase> [options]");
1408
1406
  }
1409
1407
  runScript("dev-merge-queue.mjs", devArgs);
1410
1408
  return;
1411
1409
 
1410
+
1411
+
1412
1412
  }
1413
1413
 
1414
1414
  async function handleLogCommand(args) {
@@ -1680,7 +1680,7 @@ async function handleReleaseTailCommand(args) {
1680
1680
  }
1681
1681
 
1682
1682
  async function handleTailResealCommand(args) {
1683
- await runV4TailResealCli(args);
1683
+ await runTailResealCli(args);
1684
1684
  }
1685
1685
 
1686
1686
  async function handleNextDevelopmentCommand(args) {
@@ -1748,7 +1748,7 @@ async function handlePublishSourceCommand(args) {
1748
1748
  }
1749
1749
 
1750
1750
  async function handleArchitectureCommand(args) {
1751
- runScript("v4-architecture.mjs", args);
1751
+ runScript("architecture.mjs", args);
1752
1752
  }
1753
1753
 
1754
1754
  async function handleAdopterDeliveryCommand(args) {
@@ -1,9 +1,9 @@
1
1
  import {
2
- loadV4PublishedAdopterDeliveryAuthority,
3
- qualifyV4AdopterDeliveryBootstrap,
4
- runV4AdopterDeliveryGate,
5
- verifyV4AdopterDeliveryReadback,
6
- } from "../../packages/core/v4-adopter-delivery.js";
2
+ loadPublishedAdopterDeliveryAuthority,
3
+ qualifyAdopterDeliveryBootstrap,
4
+ runAdopterDeliveryGate,
5
+ verifyAdopterDeliveryReadback,
6
+ } from "../../packages/core/adopter-delivery.js";
7
7
  import {
8
8
  printJson,
9
9
  readFlag,
@@ -22,7 +22,7 @@ export async function runAdopterDeliveryCli(args = []) {
22
22
  const input = readJsonInput(readFlag(commandArgs, "input", ""), {
23
23
  label: "adopter delivery input",
24
24
  });
25
- emit(commandArgs, runV4AdopterDeliveryGate(input));
25
+ emit(commandArgs, runAdopterDeliveryGate(input));
26
26
  return;
27
27
  }
28
28
  if (subcommand === "verify") {
@@ -32,21 +32,21 @@ export async function runAdopterDeliveryCli(args = []) {
32
32
  const readback = readJsonInput(readFlag(commandArgs, "readback", ""), {
33
33
  label: "adopter delivery readback",
34
34
  });
35
- emit(commandArgs, verifyV4AdopterDeliveryReadback({ input, readback }));
35
+ emit(commandArgs, verifyAdopterDeliveryReadback({ input, readback }));
36
36
  return;
37
37
  }
38
38
  if (subcommand === "bootstrap") {
39
39
  const request = readJsonInput(readFlag(commandArgs, "input", ""), {
40
40
  label: "adopter delivery bootstrap input",
41
41
  });
42
- emit(commandArgs, qualifyV4AdopterDeliveryBootstrap(request));
42
+ emit(commandArgs, qualifyAdopterDeliveryBootstrap(request));
43
43
  return;
44
44
  }
45
45
  if (subcommand === "archive") {
46
46
  const request = readJsonInput(readFlag(commandArgs, "input", ""), {
47
47
  label: "published archive input",
48
48
  });
49
- const authority = await loadV4PublishedAdopterDeliveryAuthority(request);
49
+ const authority = await loadPublishedAdopterDeliveryAuthority(request);
50
50
  try {
51
51
  emit(commandArgs, {
52
52
  schemaVersion: authority.schemaVersion,
@@ -16,33 +16,6 @@
16
16
  "owner": "buildchain-maintainers",
17
17
  "sunsetCondition": "Remove after every known caller migrates to the lifecycle version command."
18
18
  },
19
- {
20
- "path": ".github/workflows/.release-docker.yml",
21
- "token": "workflows v2 Docker release path is retired",
22
- "expectedOccurrences": 1,
23
- "classification": "retired-path-tombstone",
24
- "callerStatus": "fail-closed",
25
- "owner": "buildchain-maintainers",
26
- "sunsetCondition": "Remove only after the compatibility workflow entry itself is removed."
27
- },
28
- {
29
- "path": ".github/workflows/.release-elastic-beanstalk.yml",
30
- "token": "workflows v2 Elastic Beanstalk release path is retired",
31
- "expectedOccurrences": 1,
32
- "classification": "retired-path-tombstone",
33
- "callerStatus": "fail-closed",
34
- "owner": "buildchain-maintainers",
35
- "sunsetCondition": "Remove only after the compatibility workflow entry itself is removed."
36
- },
37
- {
38
- "path": ".github/workflows/.release-new-version.yml",
39
- "token": "default: \"v2\"",
40
- "expectedOccurrences": 1,
41
- "classification": "retired-input-tombstone",
42
- "callerStatus": "fail-closed-unused-input",
43
- "owner": "buildchain-maintainers",
44
- "sunsetCondition": "Remove with the retired workflow input compatibility surface."
45
- },
46
19
  {
47
20
  "path": ".github/workflows/.release-verify.yml",
48
21
  "token": "workflows v2",
@@ -52,15 +25,6 @@
52
25
  "owner": "buildchain-maintainers",
53
26
  "sunsetCondition": "Remove each message with its corresponding retired input or path."
54
27
  },
55
- {
56
- "path": ".github/workflows/.sam-release.yml",
57
- "token": "workflows v2 SAM release path is retired",
58
- "expectedOccurrences": 1,
59
- "classification": "retired-path-tombstone",
60
- "callerStatus": "fail-closed",
61
- "owner": "buildchain-maintainers",
62
- "sunsetCondition": "Remove only after the compatibility workflow entry itself is removed."
63
- },
64
28
  {
65
29
  "path": ".github/workflows/.sam-verify.yml",
66
30
  "token": "kungfu-systems/buildchain/actions/bump-version@v2",
@@ -88,15 +52,6 @@
88
52
  "owner": "buildchain-maintainers",
89
53
  "sunsetCondition": "Remove only after the compatibility workflow entry itself is removed."
90
54
  },
91
- {
92
- "path": ".github/workflows/.wheel-release.yml",
93
- "token": "workflows v2 wheel release path is retired",
94
- "expectedOccurrences": 1,
95
- "classification": "retired-path-tombstone",
96
- "callerStatus": "fail-closed",
97
- "owner": "buildchain-maintainers",
98
- "sunsetCondition": "Remove only after the compatibility workflow entry itself is removed."
99
- },
100
55
  {
101
56
  "path": ".github/workflows/.wheel-verify.yml",
102
57
  "token": "kungfu-systems/buildchain/actions/publish-prebuilt@v2",
@@ -116,7 +71,7 @@
116
71
  "sunsetCondition": "Remove after wheel consumers migrate to the lifecycle version command."
117
72
  },
118
73
  {
119
- "path": ".github/workflows/candidate-lab.yml",
74
+ "path": ".github/workflows/self-build-candidate-lab.yml",
120
75
  "token": "default: \"v2\"",
121
76
  "expectedOccurrences": 1,
122
77
  "classification": "legacy-compatibility-ref",
@@ -125,13 +80,67 @@
125
80
  "sunsetCondition": "Remove after the legacy workflows comparison lane is formally retired."
126
81
  },
127
82
  {
128
- "path": ".github/workflows/schedule-purge-artifacts.yml",
129
- "token": "not shipped in buildchain v2",
83
+ "path": ".github/workflows/.release-minor-bump-compat.yml",
84
+ "token": "kungfu-systems/buildchain/actions/bump-version@v2",
85
+ "expectedOccurrences": 1,
86
+ "classification": "legacy-compatibility-action",
87
+ "callerStatus": "legacy-reusable",
88
+ "owner": "buildchain-maintainers",
89
+ "sunsetCondition": "Remove after every known caller migrates to the lifecycle version command."
90
+ },
91
+ {
92
+ "path": ".github/workflows/.build-release-verify-compat.yml",
93
+ "token": "workflows v2",
94
+ "expectedOccurrences": 3,
95
+ "classification": "retired-path-tombstone",
96
+ "callerStatus": "fail-closed",
97
+ "owner": "buildchain-maintainers",
98
+ "sunsetCondition": "Remove each message with its corresponding retired input or path."
99
+ },
100
+ {
101
+ "path": ".github/workflows/.build-sam-verify-compat.yml",
102
+ "token": "kungfu-systems/buildchain/actions/bump-version@v2",
103
+ "expectedOccurrences": 3,
104
+ "classification": "legacy-compatibility-action",
105
+ "callerStatus": "legacy-reusable",
106
+ "owner": "buildchain-maintainers",
107
+ "sunsetCondition": "Remove after SAM consumers migrate to the lifecycle version command."
108
+ },
109
+ {
110
+ "path": ".github/workflows/.build-sam-verify-compat.yml",
111
+ "token": "aws-actions/setup-sam@v2",
112
+ "expectedOccurrences": 1,
113
+ "classification": "third-party-action-version",
114
+ "callerStatus": "legacy-reusable",
115
+ "owner": "aws-actions/setup-sam maintainers",
116
+ "sunsetCondition": "Upgrade through normal dependency review when a compatible successor is adopted."
117
+ },
118
+ {
119
+ "path": ".github/workflows/.release-page-sync-retired.yml",
120
+ "token": "retired in workflows v2",
130
121
  "expectedOccurrences": 1,
131
122
  "classification": "retired-path-tombstone",
132
123
  "callerStatus": "fail-closed",
133
124
  "owner": "buildchain-maintainers",
134
125
  "sunsetCondition": "Remove only after the compatibility workflow entry itself is removed."
126
+ },
127
+ {
128
+ "path": ".github/workflows/.build-wheel-verify-compat.yml",
129
+ "token": "kungfu-systems/buildchain/actions/publish-prebuilt@v2",
130
+ "expectedOccurrences": 1,
131
+ "classification": "legacy-compatibility-action",
132
+ "callerStatus": "legacy-reusable",
133
+ "owner": "buildchain-maintainers",
134
+ "sunsetCondition": "Remove after wheel consumers migrate to the publication authority path."
135
+ },
136
+ {
137
+ "path": ".github/workflows/.build-wheel-verify-compat.yml",
138
+ "token": "kungfu-systems/buildchain/actions/bump-version@v2",
139
+ "expectedOccurrences": 3,
140
+ "classification": "legacy-compatibility-action",
141
+ "callerStatus": "legacy-reusable",
142
+ "owner": "buildchain-maintainers",
143
+ "sunsetCondition": "Remove after wheel consumers migrate to the lifecycle version command."
135
144
  }
136
145
  ]
137
146
  }
@@ -558,8 +558,6 @@
558
558
  "repository",
559
559
  "protectedBase",
560
560
  "pullRequestNumber",
561
- "assignmentRoot",
562
- "initiativeRoot",
563
561
  "sourceIdentityRoot",
564
562
  "deliveryClass",
565
563
  "candidateId",
@@ -576,10 +574,26 @@
576
574
  "qualification",
577
575
  "terminal"
578
576
  ],
577
+ "oneOf": [
578
+ {
579
+ "required": ["sourceRoot"],
580
+ "not": {
581
+ "anyOf": [
582
+ { "required": ["assignmentRoot"] },
583
+ { "required": ["initiativeRoot"] }
584
+ ]
585
+ }
586
+ },
587
+ {
588
+ "required": ["assignmentRoot", "initiativeRoot"],
589
+ "not": { "required": ["sourceRoot"] }
590
+ }
591
+ ],
579
592
  "properties": {
580
593
  "repository": { "type": "string" },
581
594
  "protectedBase": { "type": "string" },
582
595
  "pullRequestNumber": { "type": "integer", "minimum": 1 },
596
+ "sourceRoot": { "$ref": "#/$defs/root" },
583
597
  "assignmentRoot": { "$ref": "#/$defs/root" },
584
598
  "initiativeRoot": { "$ref": "#/$defs/root" },
585
599
  "sourceIdentityRoot": { "$ref": "#/$defs/root" },
@@ -22,7 +22,7 @@
22
22
  "ref": "v4-alpha",
23
23
  "sha": "dddddddddddddddddddddddddddddddddddddddd",
24
24
  "contractRoot": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
25
- "consumerPolicyReceiptRoot": "sha256:8d8e55a4ae07a57a2a262e138f55148b05916c364b3d086530e1392c982b886f"
25
+ "consumerPolicyReceiptRoot": "sha256:acee2edcda59dfaf5fc0dd5877b7a20405fc6e0fa419abdd279a68aef32a0e5c"
26
26
  },
27
27
  "warrant": {
28
28
  "candidateId": "candidate-alpha-2",
@@ -69,6 +69,7 @@
69
69
  "stage-capsule-quarantine",
70
70
  "stage-capsule-resume-observation",
71
71
  "stage-capsule-resume-plan",
72
+ "source-verification-evidence",
72
73
  "stage-capsule-artifact-manifest",
73
74
  "stage-capsule-artifact-content",
74
75
  "stage-capsule-fault-campaign",
@@ -24,7 +24,7 @@ dependencies = [
24
24
  ]
25
25
 
26
26
  [[package]]
27
- name = "buildchain-v4-bridge"
27
+ name = "buildchain-host-bridge"
28
28
  version = "0.1.0"
29
29
  dependencies = [
30
30
  "base64",
@@ -1,5 +1,5 @@
1
1
  [package]
2
- name = "buildchain-v4-bridge"
2
+ name = "buildchain-host-bridge"
3
3
  version = "0.1.0"
4
4
  edition = "2024"
5
5
  license = "Apache-2.0"
@@ -222,7 +222,7 @@ fn read_bounded(
222
222
  fn execute(request: &HostRequest, serialized_request: &[u8]) -> HostResponse {
223
223
  let command = env::var("BUILDCHAIN_V4_HOST_COMMAND").unwrap_or_else(|_| "node".to_owned());
224
224
  let script = env::var("BUILDCHAIN_V4_HOST_SCRIPT")
225
- .unwrap_or_else(|_| "scripts/v4-host-adapter.mjs".to_owned());
225
+ .unwrap_or_else(|_| "scripts/host-adapter.mjs".to_owned());
226
226
  let mut child = match Command::new(&command)
227
227
  .arg(&script)
228
228
  .stdin(Stdio::piped())
@@ -415,7 +415,7 @@ fn execute(request: &HostRequest, serialized_request: &[u8]) -> HostResponse {
415
415
  fn run() -> Result<i32, String> {
416
416
  let mode = env::args().nth(1).unwrap_or_else(|| "exchange".to_owned());
417
417
  if !["exchange", "compat"].contains(&mode.as_str()) {
418
- return Err("usage: buildchain-v4-bridge [exchange|compat]".to_owned());
418
+ return Err("usage: buildchain-host-bridge [exchange|compat]".to_owned());
419
419
  }
420
420
  let mut serialized = Vec::new();
421
421
  io::stdin()
@@ -448,7 +448,7 @@ fn main() {
448
448
  match run() {
449
449
  Ok(code) => std::process::exit(code),
450
450
  Err(error) => {
451
- eprintln!("buildchain-v4-bridge: {error}");
451
+ eprintln!("buildchain-host-bridge: {error}");
452
452
  std::process::exit(DATA_EXIT);
453
453
  }
454
454
  }