@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
@@ -1,23 +1,23 @@
1
- import { v4ContentRoot, validateV4Root } from "./v4-canonical-contracts.js";
1
+ import { domainContentRoot, validateRoot } from "./canonical-contracts.js";
2
2
  import { validateReleaseCandidatePassport } from "./release-candidate.js";
3
3
  import {
4
- V4_TAIL_RESEAL_PLAN_CONTRACT,
5
- V4_TAIL_RESEAL_PLATFORMS,
6
- V4TailResealFault,
7
- normalizeV4TailResealRequest,
8
- planV4TailReseal,
9
- } from "./v4-tail-reseal.js";
4
+ TAIL_RESEAL_PLAN_CONTRACT,
5
+ TAIL_RESEAL_PLATFORMS,
6
+ TailResealFault,
7
+ normalizeTailResealRequest,
8
+ planTailReseal,
9
+ } from "./tail-reseal.js";
10
10
 
11
- export const V4_TAIL_RESEAL_RECEIPT_CONTRACT =
11
+ export const TAIL_RESEAL_RECEIPT_CONTRACT =
12
12
  "kungfu-buildchain-v4-tail-reseal-receipt/v1";
13
13
 
14
14
  function fault(code, path, message) {
15
- throw new V4TailResealFault(code, path, message);
15
+ throw new TailResealFault(code, path, message);
16
16
  }
17
17
 
18
18
  function root(value, path) {
19
19
  try {
20
- validateV4Root(value, path);
20
+ validateRoot(value, path);
21
21
  } catch (error) {
22
22
  fault("invalid-tail-reseal-root", path, error.message);
23
23
  }
@@ -52,7 +52,7 @@ function positiveInteger(value, path) {
52
52
  function validateReadbacks(readbacks, request) {
53
53
  if (
54
54
  !Array.isArray(readbacks) ||
55
- readbacks.length !== V4_TAIL_RESEAL_PLATFORMS.length
55
+ readbacks.length !== TAIL_RESEAL_PLATFORMS.length
56
56
  )
57
57
  fault(
58
58
  "tail-reseal-readback-mismatch",
@@ -116,7 +116,7 @@ function validateReadbacks(readbacks, request) {
116
116
  return normalized;
117
117
  }
118
118
 
119
- export function createV4TailResealReceipt({
119
+ export function createTailResealReceipt({
120
120
  request,
121
121
  plan,
122
122
  readbacks,
@@ -124,13 +124,13 @@ export function createV4TailResealReceipt({
124
124
  protectedReadbackRoot,
125
125
  currentRun,
126
126
  } = {}) {
127
- const normalized = normalizeV4TailResealRequest(request);
128
- const expectedPlan = planV4TailReseal(normalized);
127
+ const normalized = normalizeTailResealRequest(request);
128
+ const expectedPlan = planTailReseal(normalized);
129
129
  const { planRoot: _planRoot, ...planBody } = plan || {};
130
130
  if (
131
- plan?.schema !== V4_TAIL_RESEAL_PLAN_CONTRACT ||
131
+ plan?.schema !== TAIL_RESEAL_PLAN_CONTRACT ||
132
132
  plan.planRoot !== expectedPlan.planRoot ||
133
- v4ContentRoot("tail-reseal-plan", planBody) !== expectedPlan.planRoot
133
+ domainContentRoot("tail-reseal-plan", planBody) !== expectedPlan.planRoot
134
134
  )
135
135
  fault(
136
136
  "tail-reseal-plan-drift",
@@ -168,7 +168,7 @@ export function createV4TailResealReceipt({
168
168
  positiveInteger(currentRun.id, "$/currentRun/id");
169
169
  positiveInteger(currentRun.attempt, "$/currentRun/attempt");
170
170
  const payload = {
171
- schema: V4_TAIL_RESEAL_RECEIPT_CONTRACT,
171
+ schema: TAIL_RESEAL_RECEIPT_CONTRACT,
172
172
  action: "reused-retained-tail",
173
173
  repository: normalized.repository,
174
174
  source: normalized.source,
@@ -186,22 +186,22 @@ export function createV4TailResealReceipt({
186
186
  passport: {
187
187
  contract: passport.contract,
188
188
  candidateHash: passport.candidateHash,
189
- passportRoot: v4ContentRoot("release-candidate-passport", passport),
189
+ passportRoot: domainContentRoot("release-candidate-passport", passport),
190
190
  },
191
191
  protectedReadbackRoot,
192
192
  currentRun,
193
193
  };
194
194
  return {
195
195
  ...payload,
196
- receiptRoot: v4ContentRoot("tail-reseal-receipt", payload),
196
+ receiptRoot: domainContentRoot("tail-reseal-receipt", payload),
197
197
  };
198
198
  }
199
199
 
200
- export function verifyV4TailResealReceipt({ receipt, request, passport } = {}) {
200
+ export function verifyTailResealReceipt({ receipt, request, passport } = {}) {
201
201
  try {
202
- const expected = createV4TailResealReceipt({
202
+ const expected = createTailResealReceipt({
203
203
  request,
204
- plan: planV4TailReseal(request),
204
+ plan: planTailReseal(request),
205
205
  readbacks: receipt.platformReadbacks,
206
206
  passport,
207
207
  protectedReadbackRoot: receipt.protectedReadbackRoot,
@@ -1,36 +1,36 @@
1
1
  import {
2
- v4ContentRoot,
3
- validateV4Clock,
4
- validateV4Root,
5
- } from "./v4-canonical-contracts.js";
2
+ domainContentRoot,
3
+ validateClock,
4
+ validateRoot,
5
+ } from "./canonical-contracts.js";
6
6
  import {
7
- V4_TAIL_RESEAL_PLAN_CONTRACT,
8
- V4_TAIL_RESEAL_PLATFORMS as PLATFORM_IDS,
9
- V4_TAIL_RESEAL_PLATFORM_RUNNERS as PLATFORM_RUNNERS,
10
- V4_TAIL_RESEAL_REQUEST_CONTRACT,
11
- V4_TAIL_RESEAL_REUSED_STAGE_KEYS as REUSED_STAGE_KEYS,
12
- } from "./v4-tail-reseal-contract.js";
7
+ TAIL_RESEAL_PLAN_CONTRACT,
8
+ TAIL_RESEAL_PLATFORMS as PLATFORM_IDS,
9
+ TAIL_RESEAL_PLATFORM_RUNNERS as PLATFORM_RUNNERS,
10
+ TAIL_RESEAL_REQUEST_CONTRACT,
11
+ TAIL_RESEAL_REUSED_STAGE_KEYS as REUSED_STAGE_KEYS,
12
+ } from "./tail-reseal-contract.js";
13
13
 
14
14
  export {
15
- V4_TAIL_RESEAL_PLAN_CONTRACT,
16
- V4_TAIL_RESEAL_REQUEST_CONTRACT,
17
- } from "./v4-tail-reseal-contract.js";
15
+ TAIL_RESEAL_PLAN_CONTRACT,
16
+ TAIL_RESEAL_REQUEST_CONTRACT,
17
+ } from "./tail-reseal-contract.js";
18
18
 
19
19
  const SHA = /^[0-9a-f]{40}$/u;
20
20
  const TOKEN = /^[A-Za-z0-9][A-Za-z0-9._:/-]*$/u;
21
- const V4_RUNTIME_REF = /^(?:v4-alpha|train\/v4\/v4\.0\/[A-Za-z0-9._/-]+)$/u;
21
+ const DOMAIN_RUNTIME_REF = /^(?:v4-alpha|train\/v4\/v4\.0\/[A-Za-z0-9._/-]+)$/u;
22
22
 
23
- export class V4TailResealFault extends Error {
23
+ export class TailResealFault extends Error {
24
24
  constructor(code, path, message) {
25
25
  super(`${path}: ${message}`);
26
- this.name = "V4TailResealFault";
26
+ this.name = "TailResealFault";
27
27
  this.code = code;
28
28
  this.path = path;
29
29
  }
30
30
  }
31
31
 
32
32
  function fault(code, path, message) {
33
- throw new V4TailResealFault(code, path, message);
33
+ throw new TailResealFault(code, path, message);
34
34
  }
35
35
 
36
36
  function exactKeys(value, expected, path) {
@@ -84,7 +84,7 @@ function sha(value, path) {
84
84
 
85
85
  function root(value, path) {
86
86
  try {
87
- validateV4Root(value, path);
87
+ validateRoot(value, path);
88
88
  } catch (error) {
89
89
  fault("invalid-tail-reseal-root", path, error.message);
90
90
  }
@@ -93,7 +93,7 @@ function root(value, path) {
93
93
 
94
94
  function clock(value, path) {
95
95
  try {
96
- validateV4Clock(value, path);
96
+ validateClock(value, path);
97
97
  } catch (error) {
98
98
  fault("invalid-tail-reseal-clock", path, error.message);
99
99
  }
@@ -183,7 +183,7 @@ function validateRuntime(value) {
183
183
  "$/runtime/repository",
184
184
  "official Buildchain runtime required",
185
185
  );
186
- if (!V4_RUNTIME_REF.test(value.ref))
186
+ if (!DOMAIN_RUNTIME_REF.test(value.ref))
187
187
  fault(
188
188
  "tail-reseal-runtime-mismatch",
189
189
  "$/runtime/ref",
@@ -457,7 +457,7 @@ function validatePlatforms(values) {
457
457
  );
458
458
  }
459
459
 
460
- export function normalizeV4TailResealRequest(request) {
460
+ export function normalizeTailResealRequest(request) {
461
461
  exactKeys(
462
462
  request,
463
463
  [
@@ -477,7 +477,7 @@ export function normalizeV4TailResealRequest(request) {
477
477
  ],
478
478
  "$",
479
479
  );
480
- if (request.schema !== V4_TAIL_RESEAL_REQUEST_CONTRACT)
480
+ if (request.schema !== TAIL_RESEAL_REQUEST_CONTRACT)
481
481
  fault(
482
482
  "unsupported-tail-reseal-version",
483
483
  "$/schema",
@@ -516,10 +516,10 @@ export function normalizeV4TailResealRequest(request) {
516
516
  return structuredClone(request);
517
517
  }
518
518
 
519
- export function planV4TailReseal(request) {
520
- const normalized = normalizeV4TailResealRequest(request);
519
+ export function planTailReseal(request) {
520
+ const normalized = normalizeTailResealRequest(request);
521
521
  const payload = {
522
- schema: V4_TAIL_RESEAL_PLAN_CONTRACT,
522
+ schema: TAIL_RESEAL_PLAN_CONTRACT,
523
523
  mode: "production",
524
524
  productionAuthority: "v4",
525
525
  evaluatedAt: normalized.evaluatedAt,
@@ -584,11 +584,11 @@ export function planV4TailReseal(request) {
584
584
  };
585
585
  return {
586
586
  ...payload,
587
- planRoot: v4ContentRoot("tail-reseal-plan", payload),
587
+ planRoot: domainContentRoot("tail-reseal-plan", payload),
588
588
  };
589
589
  }
590
590
 
591
591
  export {
592
- V4_TAIL_RESEAL_PLATFORMS,
593
- V4_TAIL_RESEAL_REUSED_STAGE_KEYS,
594
- } from "./v4-tail-reseal-contract.js";
592
+ TAIL_RESEAL_PLATFORMS,
593
+ TAIL_RESEAL_REUSED_STAGE_KEYS,
594
+ } from "./tail-reseal-contract.js";