@kungfu-tech/buildchain 3.0.9-alpha.8 → 4.0.0-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 (255) hide show
  1. package/AGENTS.md +39 -0
  2. package/README.md +17 -13
  3. package/actions/promote-buildchain-ref/README.md +0 -10
  4. package/actions/release-tail/README.md +6 -10
  5. package/architecture/internal-capabilities.json +502 -0
  6. package/architecture/maintainability-baseline.json +59 -0
  7. package/architecture/maintainability-policy.json +1384 -0
  8. package/architecture/release-tail-contract-inventory.json +587 -0
  9. package/architecture/v3-core-mechanism-inventory.json +1043 -0
  10. package/architecture/v3-core-mechanism-inventory.md +67 -0
  11. package/architecture/v4-adopter-delivery-parity.json +47 -0
  12. package/architecture/v4-architecture-constitution.md +210 -0
  13. package/architecture/v4-bootstrap-authority.json +56 -0
  14. package/architecture/v4-canonical-contract-fixtures.json +105 -0
  15. package/architecture/v4-capability-state-machine-manifest.json +480 -0
  16. package/architecture/v4-capability-state-machine-manifest.schema.json +202 -0
  17. package/architecture/v4-delivery-warrant-shadow-bootstrap-plan.json +830 -0
  18. package/architecture/v4-delivery-warrant-shadow-bootstrap-plan.md +223 -0
  19. package/architecture/v4-delivery-warrant-shadow-bootstrap-plan.schema.json +318 -0
  20. package/architecture/v4-delivery-warrant-shadow-fixtures.json +227 -0
  21. package/architecture/v4-delivery-warrant-shadow-fixtures.schema.json +67 -0
  22. package/architecture/v4-exception-ledger.json +5 -0
  23. package/architecture/v4-exception-ledger.schema.json +56 -0
  24. package/architecture/v4-partial-mutation-recovery-qualification.json +65 -0
  25. package/architecture/v4-platform-stage-checkpoints.json +97 -0
  26. package/architecture/v4-provider-operation-journal-contract.json +113 -0
  27. package/architecture/v4-release-activation-shadow-domain.json +61 -0
  28. package/architecture/v4-release-train-parity.json +68 -0
  29. package/architecture/v4-rust-libnode-bridge-evaluation.json +107 -0
  30. package/architecture/v4-rust-libnode-bridge-spike.md +85 -0
  31. package/architecture/v4-stable-publication-fence.json +66 -0
  32. package/architecture/v4-stage-capsule-contract.json +90 -0
  33. package/architecture/v4-stage-capsule-qualification.json +99 -0
  34. package/architecture/v4-stage-capsule-resume-planner.json +52 -0
  35. package/architecture/v4-stage-capsule-store-contract.json +72 -0
  36. package/bin/buildchain.mjs +15 -6
  37. package/contracts/auditable-demo-scenario-v1.schema.json +1 -1
  38. package/contracts/buildchain-v2-residuals-v1.json +2 -2
  39. package/contracts/fixtures/v4-delivery-warrant-trace-v1/golden.json +158 -0
  40. package/contracts/fixtures/v4-delivery-warrant-trace-v1/property.json +380 -0
  41. package/contracts/fixtures/v4-delivery-warrant-trace-v1/replay.json +163 -0
  42. package/contracts/fixtures/v4-partial-mutation-recovery-v1/shared.json +155 -0
  43. package/contracts/fixtures/v4-provider-operation-journal-v1/shared.json +457 -0
  44. package/contracts/fixtures/v4-provider-readback-idempotency-v1/shared.json +682 -0
  45. package/contracts/fixtures/v4-release-activation-shadow-v1/shared.json +53 -0
  46. package/contracts/fixtures/v4-stable-publication-fence-v1/shared.json +56 -0
  47. package/contracts/fixtures/v4-stage-capsule-resume-v1/late-platform-failure.json +176 -0
  48. package/contracts/fixtures/v4-stage-capsule-store-v1/shared.json +132 -0
  49. package/contracts/fixtures/v4-stage-capsule-v1/shared.json +111 -0
  50. package/contracts/v4-canonical-contracts-v1.schema.json +182 -0
  51. package/contracts/v4-delivery-warrant-semantic-diff-report-v1.schema.json +284 -0
  52. package/contracts/v4-delivery-warrant-trace-v1.schema.json +215 -0
  53. package/contracts/v4-host-contract-v1.schema.json +135 -0
  54. package/contracts/v4-partial-mutation-recovery-v1.schema.json +168 -0
  55. package/contracts/v4-provider-operation-journal-v1.schema.json +381 -0
  56. package/contracts/v4-release-activation-shadow-v1.schema.json +186 -0
  57. package/contracts/v4-stable-publication-fence-v1.schema.json +125 -0
  58. package/contracts/v4-stage-capsule-resume-v1.schema.json +225 -0
  59. package/contracts/v4-stage-capsule-store-v1.schema.json +154 -0
  60. package/contracts/v4-stage-capsule-v1.schema.json +178 -0
  61. package/crates/buildchain-v4-bridge/Cargo.lock +213 -0
  62. package/crates/buildchain-v4-bridge/Cargo.toml +12 -0
  63. package/crates/buildchain-v4-bridge/src/main.rs +495 -0
  64. package/dist/site/agent-index.json +0 -3
  65. package/dist/site/artifact-schemas.json +0 -6
  66. package/dist/site/buildchain-contract.json +103 -397
  67. package/dist/site/buildchain-site.json +302 -270
  68. package/dist/site/capability-registry.json +9 -11
  69. package/dist/site/cli-registry.json +8 -30
  70. package/dist/site/controller-registry.json +48 -8
  71. package/dist/site/kfd-claims.json +129 -142
  72. package/dist/site/kfd-upstream-aggregate.json +9 -9
  73. package/dist/site/manual-registry.json +18 -49
  74. package/dist/site/node-api-registry.json +1882 -4118
  75. package/dist/site/page-registry.json +278 -230
  76. package/dist/site/public-surface-audit.json +87 -185
  77. package/dist/site/publication-authority-registry.json +11 -1
  78. package/dist/site/publication-registry.json +4 -4
  79. package/dist/site/release-provenance.json +3 -7
  80. package/dist/site/schemas/kfd-support-projection-v1.schema.json +106 -0
  81. package/dist/site/site-manifest.json +22 -38
  82. package/dist/site/workflow-registry.json +80 -35
  83. package/docs/MAP.md +8 -4
  84. package/docs/auditable-demo.md +2 -2
  85. package/docs/aws-us-elastic-runner-burst-plane.md +7 -59
  86. package/docs/cli-reference.md +15 -92
  87. package/docs/cli.md +14 -14
  88. package/docs/dev-alpha-candidate-patrol.md +3 -11
  89. package/docs/dev-delivery-warrant.md +28 -100
  90. package/docs/engineering-housekeeper.md +12 -4
  91. package/docs/getting-started.md +1 -1
  92. package/docs/install.md +5 -5
  93. package/docs/kfd-support.md +2 -7
  94. package/docs/lifecycle-protocol.md +2 -4
  95. package/docs/node-api-reference.md +414 -523
  96. package/docs/release-flow.md +31 -31
  97. package/docs/release-governance.md +16 -28
  98. package/docs/release-passport.md +2 -15
  99. package/docs/release-tail-contract.md +13 -6
  100. package/docs/release-tail-provider-plane.md +13 -19
  101. package/docs/release-train.md +4 -4
  102. package/docs/reusable-build-surface.md +14 -27
  103. package/docs/site-bundle-contract.md +1 -5
  104. package/docs/stable-candidate-patrol.md +7 -7
  105. package/docs/v4-canonical-contracts.md +92 -0
  106. package/docs/v4-delivery-warrant-read-candidate.md +73 -0
  107. package/docs/v4-delivery-warrant-semantic-diff.md +75 -0
  108. package/docs/v4-production-release.md +63 -0
  109. package/docs/v4-stage-capsule.md +193 -0
  110. package/docs/versioning.md +3 -3
  111. package/package.json +19 -17
  112. package/packages/core/adopter-delivery-gate.js +576 -0
  113. package/packages/core/adopter-delivery-json.js +66 -0
  114. package/packages/core/artifact-signing.js +0 -61
  115. package/packages/core/artifact-verification-envelope.js +5 -5
  116. package/packages/core/build-facts.js +12 -4
  117. package/packages/core/buildchain-agent-manuals.js +0 -2
  118. package/packages/core/buildchain-config.js +4 -69
  119. package/packages/core/buildchain-contract.js +232 -46
  120. package/packages/core/buildchain-kfd-claims.js +1 -1
  121. package/packages/core/channel-candidate.js +0 -8
  122. package/packages/core/channel-promotion-baseline.js +0 -52
  123. package/packages/core/controller-evidence.js +3 -4
  124. package/packages/core/dev-alpha-candidate-selection.js +2 -10
  125. package/packages/core/dev-delivery-warrant-cancellation.js +0 -1
  126. package/packages/core/dev-delivery-warrant-settlement.js +1 -5
  127. package/packages/core/dev-delivery-warrant.js +12 -52
  128. package/packages/core/diagnostics.js +3 -8
  129. package/packages/core/github-governance-authority.js +3 -1
  130. package/packages/core/kfd-adopter-category-driver.js +167 -0
  131. package/packages/core/kfd-adopter-manifest.js +47 -46
  132. package/packages/core/kfd-gate.js +15 -45
  133. package/packages/core/paper-agent-entry.js +7 -16
  134. package/packages/core/paper-fleet.js +2 -2
  135. package/packages/core/paper-repository.js +2 -3
  136. package/packages/core/paper-scaffold-content.js +2 -23
  137. package/packages/core/paper.js +11 -43
  138. package/packages/core/publication-reproducibility.js +4 -4
  139. package/packages/core/release-line-bootstrap.js +21 -8
  140. package/packages/core/release-passport-contract.js +5 -5
  141. package/packages/core/release-passport.js +20 -131
  142. package/packages/core/self-dogfood-version.js +48 -35
  143. package/packages/core/spawn-command.js +232 -8
  144. package/packages/core/v4-adopter-delivery-parity.js +219 -0
  145. package/packages/core/v4-canonical-contracts.js +284 -0
  146. package/packages/core/v4-delivery-warrant-fixture-runner.js +371 -0
  147. package/packages/core/v4-delivery-warrant-read-candidate.js +279 -0
  148. package/packages/core/v4-delivery-warrant-semantic-diff-gate.js +352 -0
  149. package/packages/core/v4-delivery-warrant-shadow-adapter.js +447 -0
  150. package/packages/core/v4-partial-mutation-recovery-qualification.js +395 -0
  151. package/packages/core/v4-platform-stage-checkpoints.js +471 -0
  152. package/packages/core/v4-provider-operation-journal.js +531 -0
  153. package/packages/core/v4-provider-readback-idempotency.js +394 -0
  154. package/packages/core/v4-release-activation-shadow.js +519 -0
  155. package/packages/core/v4-stable-publication-fence.js +357 -0
  156. package/packages/core/v4-stage-capsule-local-store.js +426 -0
  157. package/packages/core/v4-stage-capsule-qualification-campaign.js +512 -0
  158. package/packages/core/v4-stage-capsule-qualification.js +456 -0
  159. package/packages/core/v4-stage-capsule-resume-planner.js +397 -0
  160. package/packages/core/v4-stage-capsule-store.js +401 -0
  161. package/packages/core/v4-stage-capsule.js +319 -0
  162. package/scripts/assemble-self-publication-admission.mjs +1 -1
  163. package/scripts/audit-publication-control-plane.mjs +5 -5
  164. package/scripts/auditable-demo-bundle-verification.mjs +3 -2
  165. package/scripts/auditable-demo-platform.mjs +2 -2
  166. package/scripts/auditable-demo-renditions.mjs +1 -1
  167. package/scripts/auditable-demo.mjs +2 -2
  168. package/scripts/aws-macos-jit-controller-core.mjs +13 -346
  169. package/scripts/aws-macos-jit-controller-runtime.mjs +2 -210
  170. package/scripts/aws-macos-jit-controller.mjs +37 -275
  171. package/scripts/aws-macos-jit-core.mjs +3 -41
  172. package/scripts/aws-macos-jit.mjs +0 -12
  173. package/scripts/aws-windows-jit-campaign.mjs +2 -2
  174. package/scripts/aws-windows-jit-controller-core.mjs +1 -1
  175. package/scripts/aws-windows-jit-controller.mjs +3 -3
  176. package/scripts/build-contract-core.mjs +3 -8
  177. package/scripts/build-standalone-binary.mjs +3 -14
  178. package/scripts/buildchain-channel-router.mjs +4 -0
  179. package/scripts/buildchain-cli-help.mjs +7 -13
  180. package/scripts/buildchain-contract-lock.mjs +0 -6
  181. package/scripts/check-action-bundles.mjs +3 -4
  182. package/scripts/check-internal-architecture.mjs +7 -6
  183. package/scripts/check-inventory.mjs +30 -25
  184. package/scripts/check-v4-public-dogfood-contract.mjs +270 -0
  185. package/scripts/create-release-bundle.mjs +8 -4
  186. package/scripts/dev-alpha-candidate-patrol.mjs +1 -22
  187. package/scripts/dev-delivery-proof.mjs +2 -54
  188. package/scripts/dev-delivery-warrant.mjs +59 -77
  189. package/scripts/dev-pr-auto-merge.mjs +4 -30
  190. package/scripts/dev-pr-delivery-warrant.mjs +0 -55
  191. package/scripts/dispatch-artifact-signing-authority.mjs +7 -4
  192. package/scripts/generate-buildchain-kfd-witnesses.mjs +94 -88
  193. package/scripts/generate-channel-build-workflow.mjs +54 -24
  194. package/scripts/generate-channel-promotion-workflow.mjs +15 -6
  195. package/scripts/generate-site-bundle.mjs +5 -21
  196. package/scripts/git-fetch-process-tree.mjs +34 -1
  197. package/scripts/init-repo.mjs +64 -159
  198. package/scripts/inspect-artifact-signing-requests.mjs +0 -6
  199. package/scripts/locked-source-checkout.mjs +3 -4
  200. package/scripts/maintainability-metrics.mjs +8 -2
  201. package/scripts/npm-publish-dry-run.mjs +2 -2
  202. package/scripts/npm-publish-transaction.mjs +2 -2
  203. package/scripts/publication-commit-evidence.mjs +23 -69
  204. package/scripts/release-candidate-resolver.mjs +11 -17
  205. package/scripts/release-tail.mjs +3 -49
  206. package/scripts/resume-from-candidate-run.mjs +9 -123
  207. package/scripts/run-lifecycle-core.mjs +12 -13
  208. package/scripts/seal-artifact-signing-requests.mjs +17 -21
  209. package/scripts/site-capability-metadata.mjs +2 -7
  210. package/scripts/stable-candidate-qualification.mjs +10 -10
  211. package/scripts/v4-architecture.mjs +12 -2
  212. package/scripts/v4-bridge-bootstrap.mjs +141 -0
  213. package/scripts/v4-bridge-evidence.mjs +141 -0
  214. package/scripts/v4-host-adapter.mjs +182 -0
  215. package/scripts/v4-platform-stage-checkpoint-rehearsal.mjs +207 -0
  216. package/scripts/v4-stage-capsule-qualification.mjs +528 -0
  217. package/scripts/v4-stage-capsule-resume-rehearsal.mjs +57 -0
  218. package/scripts/v4-warrant-shadow-plan.mjs +601 -0
  219. package/scripts/verify-golden-path.mjs +5 -5
  220. package/scripts/web-surface-cloudfront-rewrite.mjs +15 -15
  221. package/scripts/web-surface-core.mjs +2 -8
  222. package/scripts/workflow-call-contract.mjs +5 -184
  223. package/contracts/fixtures/kfd-adopter-release-v1/kfd-4-perspective.json +0 -16
  224. package/contracts/fixtures/kfd-adopter-release-v1/kfd-4-replay.json +0 -57
  225. package/contracts/fixtures/next-development-transition-v1/anchored-manual-waiting.json +0 -47
  226. package/contracts/fixtures/next-development-transition-v1/semver-auto-planned.json +0 -47
  227. package/contracts/fixtures/next-development-transition-v1/version-model-cases.json +0 -40
  228. package/contracts/next-development-request-v1.schema.json +0 -66
  229. package/contracts/next-development-transition-v1.schema.json +0 -292
  230. package/contracts/publication-rehearsal-capsule-v1.schema.json +0 -173
  231. package/dist/site/schemas/publication-rehearsal-capsule-v1.schema.json +0 -269
  232. package/dist/site/schemas/release-tail-capabilities-v1.schema.json +0 -353
  233. package/dist/site/schemas/release-tail-provider-bindings-v1.schema.json +0 -94
  234. package/docs/next-development-transition.md +0 -119
  235. package/docs/publication-rehearsal.md +0 -94
  236. package/packages/core/buildchain-compatibility-proof.js +0 -631
  237. package/packages/core/dev-delivery-native-proof.js +0 -333
  238. package/packages/core/dev-delivery-warrant-shadow.js +0 -502
  239. package/packages/core/next-development-candidate-reservation.js +0 -186
  240. package/packages/core/next-development-controller.js +0 -726
  241. package/packages/core/next-development-projection.js +0 -288
  242. package/packages/core/next-development-transition.js +0 -738
  243. package/packages/core/publication-rehearsal-projection.js +0 -173
  244. package/packages/core/publication-rehearsal-runtime.js +0 -921
  245. package/scripts/aws-macos-jit-instance-rehydrate.mjs +0 -260
  246. package/scripts/aws-macos-jit-source-rebind.mjs +0 -724
  247. package/scripts/dev-delivery-native-run.mjs +0 -187
  248. package/scripts/dev-delivery-two-phase.mjs +0 -598
  249. package/scripts/generate-next-development-guidance.mjs +0 -49
  250. package/scripts/materialize-self-release-candidate-version.mjs +0 -137
  251. package/scripts/next-development-self-dogfood-harness.mjs +0 -409
  252. package/scripts/next-development-self-dogfood.mjs +0 -532
  253. package/scripts/next-development-transition.mjs +0 -47
  254. package/scripts/release-candidate-tail-reseal.mjs +0 -426
  255. package/templates/native-dev-delivery.yml +0 -82
@@ -0,0 +1,587 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "contract": "kungfu-buildchain-release-tail-contract-inventory",
4
+ "baseline": {
5
+ "branch": "dev/v3/v3.0",
6
+ "commit": "7c8956e8babb521d3e743d40108f115a59a40427",
7
+ "tree": "7e24ca6bafe98b571d94c3bcf07a9d38b31092c5",
8
+ "observedAt": "2026-08-07"
9
+ },
10
+ "reverseScan": {
11
+ "workflowInputs": [
12
+ ".github/workflows/release-candidate-promote.yml",
13
+ ".github/workflows/.release-candidate-promote.yml",
14
+ ".github/workflows/.publication-authority.yml"
15
+ ],
16
+ "actionInputs": ["actions/promote-buildchain-ref/action.yml"],
17
+ "runtimeSources": [
18
+ ".github/workflows/.release-candidate-promote.yml",
19
+ ".github/workflows/.publication-authority.yml",
20
+ "actions/promote-buildchain-ref/lib.js",
21
+ "actions/promote-buildchain-ref/internal/version-state-operations.js",
22
+ "packages/core/release-passport.js",
23
+ "packages/core/release-line-dry-run.js",
24
+ "scripts/release-line-dry-run.mjs"
25
+ ],
26
+ "workflowCommandNames": [
27
+ "consumer-gate-command",
28
+ "publication-commit-command",
29
+ "publication-consumer-qualification-command",
30
+ "publication-gate-command",
31
+ "publish-command",
32
+ "release-activation-command",
33
+ "release-passport-attachment-command",
34
+ "release-passport-evidence-command",
35
+ "release-passport-invariant-passport-command",
36
+ "release-passport-kfd-3-artifact-verify-command"
37
+ ],
38
+ "actionCommandNames": [
39
+ "publish-command",
40
+ "release-passport-attachment-command",
41
+ "release-passport-evidence-command",
42
+ "release-passport-invariant-passport-command",
43
+ "release-passport-kfd-3-artifact-verify-command",
44
+ "verification-command"
45
+ ],
46
+ "configAndCliAliases": [
47
+ "config:buildchain.toml#lifecycle.publish",
48
+ "cli:scripts/release-line-dry-run.mjs#--publish-command"
49
+ ],
50
+ "orphanPolicy": "Every command-bearing release-tail input, alias, default and execution site discovered in the declared production roots must have exactly one classification and migration disposition."
51
+ },
52
+ "canonicalTransaction": {
53
+ "id": "buildchain.release-tail/v1",
54
+ "owner": "Buildchain release transaction",
55
+ "singleWriter": true,
56
+ "states": [
57
+ "preparing",
58
+ "prepared",
59
+ "publishing",
60
+ "committing",
61
+ "activating",
62
+ "reading-back",
63
+ "settling",
64
+ "complete",
65
+ "blocked",
66
+ "repair-required",
67
+ "terminal-failure"
68
+ ],
69
+ "phases": [
70
+ {
71
+ "id": "prepare",
72
+ "consumes": ["declaration", "source-root", "candidate-root"],
73
+ "emits": ["effect-plan", "prepared-receipt"]
74
+ },
75
+ {
76
+ "id": "publish",
77
+ "consumes": ["artifact.publish effect-plan"],
78
+ "emits": ["provider-observation", "artifact-publication receipt"]
79
+ },
80
+ {
81
+ "id": "commit",
82
+ "consumes": ["signed-channel.commit effect-plan"],
83
+ "emits": ["provider-observation", "publication-commit receipt"]
84
+ },
85
+ {
86
+ "id": "activate",
87
+ "consumes": ["release.activate effect-plan"],
88
+ "emits": ["provider-observation", "activation receipt set"]
89
+ },
90
+ {
91
+ "id": "readback",
92
+ "consumes": ["all declared readback predicates"],
93
+ "emits": ["verified observations", "readback receipt"]
94
+ },
95
+ {
96
+ "id": "settle",
97
+ "consumes": ["all required receipt roots"],
98
+ "emits": ["released evidence", "terminal classification"]
99
+ }
100
+ ],
101
+ "operationIdentity": {
102
+ "schema": "kungfu.buildchain.release-tail.operation/v1",
103
+ "fields": [
104
+ "transactionRoot",
105
+ "capabilityId",
106
+ "subjectRoot",
107
+ "targetRoot",
108
+ "attemptKey"
109
+ ],
110
+ "derivation": "sha256(canonical-json(fields))"
111
+ },
112
+ "effectSchema": "kungfu.buildchain.release-tail.effect/v1",
113
+ "observationSchema": "kungfu.buildchain.release-tail.observation/v1",
114
+ "receiptSchema": "kungfu.buildchain.release-tail.receipt/v1",
115
+ "retryClasses": [
116
+ {
117
+ "id": "never",
118
+ "localAttempts": 0,
119
+ "exhausted": "terminal-failure"
120
+ },
121
+ {
122
+ "id": "readback",
123
+ "localAttempts": 2,
124
+ "exhausted": "repair-required"
125
+ },
126
+ {
127
+ "id": "provider-transient",
128
+ "localAttempts": 2,
129
+ "exhausted": "blocked"
130
+ }
131
+ ],
132
+ "terminalClasses": [
133
+ "complete",
134
+ "blocked",
135
+ "repair-required",
136
+ "terminal-failure"
137
+ ],
138
+ "adapterBoundary": {
139
+ "may": [
140
+ "translate a rooted effect into provider API calls",
141
+ "perform declared provider readback",
142
+ "return standardized observations"
143
+ ],
144
+ "mustNot": [
145
+ "choose transaction transitions",
146
+ "change capability or subject identity",
147
+ "synthesize terminal success",
148
+ "execute repository-supplied shell"
149
+ ]
150
+ }
151
+ },
152
+ "declarativeContract": {
153
+ "contract": "kungfu-buildchain-release-tail-capabilities",
154
+ "schemaVersion": 1,
155
+ "schemaPath": "contracts/release-tail-capabilities-v1.schema.json",
156
+ "fixturePaths": [
157
+ "contracts/fixtures/release-tail-capabilities-v1/kungfu-alpha.json"
158
+ ],
159
+ "requiredCapabilityIds": [
160
+ "artifact.publish",
161
+ "signed-channel.commit",
162
+ "release.activate",
163
+ "released-evidence.synthesize"
164
+ ],
165
+ "forbiddenKeys": ["command", "cmd", "script", "shell", "run"],
166
+ "requiredDimensions": [
167
+ "artifactRoles",
168
+ "destination",
169
+ "channelPolicy",
170
+ "activationPolicy",
171
+ "readbackPredicates",
172
+ "effect",
173
+ "observation",
174
+ "receipt",
175
+ "operationIdentity",
176
+ "idempotency",
177
+ "retry",
178
+ "evidenceRequirements"
179
+ ]
180
+ },
181
+ "providerPlane": {
182
+ "status": "preview-implemented",
183
+ "train": "train/v3/v3.0/declarative-release-provider-plane",
184
+ "bindingSchemaPath": "contracts/release-tail-provider-bindings-v1.schema.json",
185
+ "coreSources": [
186
+ "packages/core/release-tail-provider-plane.js",
187
+ "packages/core/release-tail-provider-adapters.js",
188
+ "packages/core/release-tail-compatibility.js"
189
+ ],
190
+ "entrySurfaces": [
191
+ "cli:release-tail",
192
+ "action:release-tail",
193
+ "workflow:release-tail"
194
+ ],
195
+ "executionRule": "All four fixed capabilities use the same durable transaction, rooted observation, receipt, and bounded local-retry implementation.",
196
+ "consumerCommandPolicy": "deny",
197
+ "productionCutover": false,
198
+ "selfDogfoodCutover": {
199
+ "status": "alpha-train",
200
+ "publicWorkflow": "kungfu-systems/buildchain/.github/workflows/release-candidate-promote.yml@train/v3/v3.0/consumer-equivalent-self-dogfood",
201
+ "providerCapability": "artifact.publish",
202
+ "stableCutover": false
203
+ }
204
+ },
205
+ "legacyExecutableSurfaces": [
206
+ {
207
+ "id": "publication-admission-commands",
208
+ "classification": "pre-tail-policy",
209
+ "owner": "Buildchain publication authority",
210
+ "publicNames": [
211
+ "publication-gate-command",
212
+ "publication-consumer-qualification-command"
213
+ ],
214
+ "aliases": [
215
+ {
216
+ "name": "consumer-gate-command",
217
+ "scope": ".publication-authority internal workflow",
218
+ "default": ""
219
+ }
220
+ ],
221
+ "default": "disabled",
222
+ "coordinates": [
223
+ "workflow:.github/workflows/release-candidate-promote.yml#publication-gate-command",
224
+ "workflow:.github/workflows/release-candidate-promote.yml#publication-consumer-qualification-command",
225
+ "workflow:.github/workflows/.release-candidate-promote.yml#publication-gate-command",
226
+ "workflow:.github/workflows/.release-candidate-promote.yml#publication-consumer-qualification-command",
227
+ "workflow:.github/workflows/.publication-authority.yml#consumer-gate-command"
228
+ ],
229
+ "executionSites": [
230
+ {
231
+ "path": ".github/workflows/.publication-authority.yml",
232
+ "marker": "bash -euo pipefail -c \"$BUILDCHAIN_CONSUMER_GATE_COMMAND\""
233
+ },
234
+ {
235
+ "path": ".github/workflows/.release-candidate-promote.yml",
236
+ "marker": "run: ${{ inputs.publication-consumer-qualification-command }}"
237
+ }
238
+ ],
239
+ "currentCallers": ["kungfu-alpha-promotion"],
240
+ "replacement": "declarative admission predicates evaluated by Buildchain core",
241
+ "disposition": "migrate-before-release-tail-command-removal"
242
+ },
243
+ {
244
+ "id": "artifact-publication-command",
245
+ "classification": "release-tail",
246
+ "owner": "Buildchain publish transaction",
247
+ "publicNames": ["publish-command"],
248
+ "aliases": [
249
+ {
250
+ "name": "lifecycle.publish",
251
+ "scope": "buildchain.toml",
252
+ "default": "used when publish-command is empty"
253
+ },
254
+ {
255
+ "name": "--publish-command",
256
+ "scope": "release-line dry-run CLI",
257
+ "default": "plan-only empty string"
258
+ }
259
+ ],
260
+ "default": "lifecycle.publish, otherwise disabled",
261
+ "coordinates": [
262
+ "workflow:.github/workflows/release-candidate-promote.yml#publish-command",
263
+ "workflow:.github/workflows/.release-candidate-promote.yml#publish-command",
264
+ "action:actions/promote-buildchain-ref/action.yml#publish-command",
265
+ "config:buildchain.toml#lifecycle.publish",
266
+ "cli:scripts/release-line-dry-run.mjs#--publish-command"
267
+ ],
268
+ "executionSites": [
269
+ {
270
+ "path": "actions/promote-buildchain-ref/lib.js",
271
+ "marker": "function runPublishCommand({ cwd, command, loadedConfig, env })"
272
+ }
273
+ ],
274
+ "currentCallers": [
275
+ "buildchain-paper-release",
276
+ "buildchain-paper-release-sealed",
277
+ "kungfu-alpha-promotion"
278
+ ],
279
+ "replacement": "artifact.publish",
280
+ "disposition": "compatibility-adapter-only"
281
+ },
282
+ {
283
+ "id": "release-passport-producer-commands",
284
+ "classification": "release-tail-evidence-preparation",
285
+ "owner": "Buildchain release trust plane",
286
+ "publicNames": [
287
+ "release-passport-kfd-3-artifact-verify-command",
288
+ "release-passport-invariant-passport-command",
289
+ "release-passport-attachment-command"
290
+ ],
291
+ "aliases": [
292
+ {
293
+ "name": "release-passport-evidence-command",
294
+ "scope": "promote-buildchain-ref Action only",
295
+ "default": "deprecated alias for release-passport-attachment-command"
296
+ }
297
+ ],
298
+ "default": "disabled",
299
+ "coordinates": [
300
+ "workflow:.github/workflows/release-candidate-promote.yml#release-passport-kfd-3-artifact-verify-command",
301
+ "workflow:.github/workflows/release-candidate-promote.yml#release-passport-invariant-passport-command",
302
+ "workflow:.github/workflows/release-candidate-promote.yml#release-passport-attachment-command",
303
+ "workflow:.github/workflows/.release-candidate-promote.yml#release-passport-kfd-3-artifact-verify-command",
304
+ "workflow:.github/workflows/.release-candidate-promote.yml#release-passport-invariant-passport-command",
305
+ "workflow:.github/workflows/.release-candidate-promote.yml#release-passport-attachment-command",
306
+ "action:actions/promote-buildchain-ref/action.yml#release-passport-kfd-3-artifact-verify-command",
307
+ "action:actions/promote-buildchain-ref/action.yml#release-passport-invariant-passport-command",
308
+ "action:actions/promote-buildchain-ref/action.yml#release-passport-attachment-command",
309
+ "action:actions/promote-buildchain-ref/action.yml#release-passport-evidence-command"
310
+ ],
311
+ "executionSites": [
312
+ {
313
+ "path": "packages/core/release-passport.js",
314
+ "marker": "function parseJsonCommandOutput({ command = \"\", cwd = process.cwd(), label = \"command\" } = {})"
315
+ },
316
+ {
317
+ "path": "actions/promote-buildchain-ref/lib.js",
318
+ "marker": "function generateReleaseEvidenceInputs({"
319
+ }
320
+ ],
321
+ "currentCallers": ["kungfu-alpha-promotion", "libnode-alpha-promotion"],
322
+ "replacement": "typed evidence requirements and Buildchain-owned projectors",
323
+ "disposition": "split-alias-before-removal"
324
+ },
325
+ {
326
+ "id": "publication-commit-command",
327
+ "classification": "release-tail",
328
+ "owner": "Buildchain release transaction",
329
+ "publicNames": ["publication-commit-command"],
330
+ "aliases": [],
331
+ "default": "disabled",
332
+ "coordinates": [
333
+ "workflow:.github/workflows/release-candidate-promote.yml#publication-commit-command",
334
+ "workflow:.github/workflows/.release-candidate-promote.yml#publication-commit-command"
335
+ ],
336
+ "executionSites": [
337
+ {
338
+ "path": ".github/workflows/.release-candidate-promote.yml",
339
+ "marker": "bash -euo pipefail -c \"${BUILDCHAIN_PUBLICATION_COMMIT_COMMAND}\""
340
+ }
341
+ ],
342
+ "currentCallers": ["kungfu-alpha-promotion"],
343
+ "replacement": "signed-channel.commit",
344
+ "disposition": "compatibility-adapter-only"
345
+ },
346
+ {
347
+ "id": "release-activation-command",
348
+ "classification": "release-tail",
349
+ "owner": "Buildchain release transaction",
350
+ "publicNames": ["release-activation-command"],
351
+ "aliases": [],
352
+ "default": "disabled",
353
+ "coordinates": [
354
+ "workflow:.github/workflows/release-candidate-promote.yml#release-activation-command",
355
+ "workflow:.github/workflows/.release-candidate-promote.yml#release-activation-command"
356
+ ],
357
+ "executionSites": [
358
+ {
359
+ "path": ".github/workflows/.release-candidate-promote.yml",
360
+ "marker": "bash -euo pipefail -c \"${BUILDCHAIN_RELEASE_ACTIVATION_COMMAND}\""
361
+ }
362
+ ],
363
+ "currentCallers": ["kungfu-alpha-promotion"],
364
+ "replacement": "release.activate",
365
+ "disposition": "compatibility-adapter-only"
366
+ },
367
+ {
368
+ "id": "released-evidence-command",
369
+ "classification": "release-tail",
370
+ "owner": "Buildchain release transaction",
371
+ "publicNames": ["release-passport-evidence-command"],
372
+ "aliases": [
373
+ {
374
+ "name": "release-passport-evidence-command",
375
+ "scope": "promote-buildchain-ref Action",
376
+ "default": "deprecated attachment-command alias with incompatible semantics"
377
+ }
378
+ ],
379
+ "default": "disabled",
380
+ "coordinates": [
381
+ "workflow:.github/workflows/release-candidate-promote.yml#release-passport-evidence-command",
382
+ "workflow:.github/workflows/.release-candidate-promote.yml#release-passport-evidence-command"
383
+ ],
384
+ "executionSites": [
385
+ {
386
+ "path": ".github/workflows/.release-candidate-promote.yml",
387
+ "marker": "bash -euo pipefail -c \"${{ inputs.release-passport-evidence-command }}\""
388
+ }
389
+ ],
390
+ "currentCallers": ["kungfu-alpha-promotion"],
391
+ "replacement": "released-evidence.synthesize",
392
+ "disposition": "reject-cross-layer-alias-and-migrate"
393
+ },
394
+ {
395
+ "id": "version-state-verification-command",
396
+ "classification": "adjacent-non-tail",
397
+ "owner": "Buildchain version-state plane",
398
+ "publicNames": ["verification-command"],
399
+ "aliases": [
400
+ {
401
+ "name": "lifecycle.verify or lifecycle.version-state",
402
+ "scope": "buildchain.toml",
403
+ "default": "used when verification-command is empty"
404
+ }
405
+ ],
406
+ "default": "configured lifecycle or disabled",
407
+ "coordinates": [
408
+ "action:actions/promote-buildchain-ref/action.yml#verification-command"
409
+ ],
410
+ "executionSites": [
411
+ {
412
+ "path": "actions/promote-buildchain-ref/internal/version-state-operations.js",
413
+ "marker": "runVersionVerification({"
414
+ }
415
+ ],
416
+ "currentCallers": [],
417
+ "replacement": "out of release-tail contract scope",
418
+ "disposition": "retain-separate-version-state-contract"
419
+ }
420
+ ],
421
+ "managedConsumerCallers": [
422
+ {
423
+ "id": "buildchain-self-bootstrap",
424
+ "repository": "kungfu-systems/buildchain",
425
+ "sourceCommit": "7c8956e8babb521d3e743d40108f115a59a40427",
426
+ "sourceTree": "7e24ca6bafe98b571d94c3bcf07a9d38b31092c5",
427
+ "workflow": ".github/workflows/buildchain-ref-promotion.yml",
428
+ "runtimeRef": "local exact checkout",
429
+ "executableSurfaceIds": []
430
+ },
431
+ {
432
+ "id": "buildchain-paper-release",
433
+ "repository": "kungfu-systems/buildchain",
434
+ "sourceCommit": "7c8956e8babb521d3e743d40108f115a59a40427",
435
+ "sourceTree": "7e24ca6bafe98b571d94c3bcf07a9d38b31092c5",
436
+ "workflow": ".github/workflows/paper-release.yml",
437
+ "runtimeRef": "local bundled Action",
438
+ "executableSurfaceIds": ["artifact-publication-command"]
439
+ },
440
+ {
441
+ "id": "buildchain-paper-release-sealed",
442
+ "repository": "kungfu-systems/buildchain",
443
+ "sourceCommit": "7c8956e8babb521d3e743d40108f115a59a40427",
444
+ "sourceTree": "7e24ca6bafe98b571d94c3bcf07a9d38b31092c5",
445
+ "workflow": ".github/workflows/paper-release-sealed.yml",
446
+ "runtimeRef": "local bundled Action",
447
+ "executableSurfaceIds": ["artifact-publication-command"]
448
+ },
449
+ {
450
+ "id": "kungfu-alpha-promotion",
451
+ "repository": "kungfu-systems/kungfu",
452
+ "sourceCommit": "445ec32d6bf53dd5ff502d685792406ad38dd4f5",
453
+ "sourceTree": "4963b2f9deb0245f7277cea7224ab0d062a0cc54",
454
+ "workflow": ".github/workflows/release-new-version.yml",
455
+ "runtimeRef": "train/v3/v3.0/resume-candidate-run",
456
+ "executableSurfaceIds": [
457
+ "publication-admission-commands",
458
+ "artifact-publication-command",
459
+ "release-passport-producer-commands",
460
+ "publication-commit-command",
461
+ "release-activation-command",
462
+ "released-evidence-command"
463
+ ]
464
+ },
465
+ {
466
+ "id": "libnode-alpha-promotion",
467
+ "repository": "kungfu-systems/libnode",
468
+ "sourceCommit": "4bef69b88a441f22024fa9f3d7bfd76a89963e8a",
469
+ "sourceTree": "6c4dec7fd70cbdcfbc9ada19e66271654eb393af",
470
+ "workflow": ".github/workflows/release-new-version.yml",
471
+ "runtimeRef": "v3-alpha",
472
+ "executableSurfaceIds": ["release-passport-producer-commands"]
473
+ },
474
+ {
475
+ "id": "kfd-alpha-promotion",
476
+ "repository": "kungfu-systems/kfd",
477
+ "sourceCommit": "e82fe11acecdbebfd0c42778c7a1bd6fdc54ab81",
478
+ "sourceTree": "fe0ad4f4b98889c7c246fe16958e118ff79b193b",
479
+ "workflow": ".github/workflows/buildchain-ref-promotion.yml",
480
+ "runtimeRef": "v3-alpha",
481
+ "executableSurfaceIds": []
482
+ },
483
+ {
484
+ "id": "paper-white-paper-promotion",
485
+ "repository": "kungfu-systems/paper-kungfu-product-white-paper",
486
+ "sourceCommit": "82dd748d6b0edf18d0074262cc8d8ac803e45c7e",
487
+ "sourceTree": "a918f8840608931fdf88d007e20bc4f70ab7eb54",
488
+ "workflow": ".github/workflows/buildchain-ref-promotion.yml",
489
+ "runtimeRef": "v3",
490
+ "executableSurfaceIds": []
491
+ }
492
+ ],
493
+ "excludedCallers": [
494
+ {
495
+ "repository": "kungfu-systems/agent-hub-demo",
496
+ "sourceCommit": "633111450867919d5063298308cdbfcbd77a8d2e",
497
+ "workflow": ".github/workflows/buildchain-ref-promotion.yml",
498
+ "runtimeRef": "v2",
499
+ "reason": "outside the Buildchain v3 contract inventory"
500
+ }
501
+ ],
502
+ "migration": {
503
+ "compatibilityWindow": {
504
+ "startsAt": "train/v3/v3.0/release-tail-contract",
505
+ "maximumDurationDays": 90,
506
+ "maximumMinorLines": 2,
507
+ "closesAt": "the earlier of 90 days after train publication or the first v3.2 stable release",
508
+ "permanentEscapeHatch": false
509
+ },
510
+ "publishedReleasePreservation": [
511
+ "Never rewrite a published tag, release asset, package coordinate, signed channel document, Passport, or receipt.",
512
+ "The compatibility reader may replay only exact retained declarations or exact enumerated legacy commands bound to their original source and transaction roots.",
513
+ "A migrated declaration creates a new transaction; it does not reinterpret an already settled release."
514
+ ],
515
+ "rejectionRules": [
516
+ {
517
+ "code": "release-tail-command-forbidden",
518
+ "condition": "a new or unregistered command-bearing release-tail input is discovered",
519
+ "terminal": true
520
+ },
521
+ {
522
+ "code": "release-tail-alias-collision",
523
+ "condition": "one public name maps to more than one semantic capability",
524
+ "terminal": true
525
+ },
526
+ {
527
+ "code": "release-tail-operation-id-missing",
528
+ "condition": "an effect lacks stable subject, target, capability and attempt identity",
529
+ "terminal": true
530
+ },
531
+ {
532
+ "code": "release-tail-readback-missing",
533
+ "condition": "a mutation has no declared readback predicate and receipt schema",
534
+ "terminal": true
535
+ },
536
+ {
537
+ "code": "release-tail-retry-unbounded",
538
+ "condition": "a declaration or adapter requests unbounded local retry",
539
+ "terminal": true
540
+ }
541
+ ],
542
+ "exceptionLedger": [
543
+ {
544
+ "id": "legacy-buildchain-paper-publish",
545
+ "owner": "Buildchain maintainers",
546
+ "surfaceIds": ["artifact-publication-command"],
547
+ "callers": [
548
+ "buildchain-paper-release",
549
+ "buildchain-paper-release-sealed"
550
+ ],
551
+ "expires": "compatibility-window-close",
552
+ "removalTest": "both paper workflows consume capability declarations with no command inputs"
553
+ },
554
+ {
555
+ "id": "legacy-kungfu-release-tail",
556
+ "owner": "Kungfu release maintainers",
557
+ "surfaceIds": [
558
+ "publication-admission-commands",
559
+ "artifact-publication-command",
560
+ "release-passport-producer-commands",
561
+ "publication-commit-command",
562
+ "release-activation-command",
563
+ "released-evidence-command"
564
+ ],
565
+ "callers": ["kungfu-alpha-promotion"],
566
+ "expires": "compatibility-window-close",
567
+ "removalTest": "Kungfu alpha declares all four capabilities and the legacy command inputs are absent"
568
+ },
569
+ {
570
+ "id": "legacy-libnode-passport-producer",
571
+ "owner": "Libnode release maintainers",
572
+ "surfaceIds": ["release-passport-producer-commands"],
573
+ "callers": ["libnode-alpha-promotion"],
574
+ "expires": "compatibility-window-close",
575
+ "removalTest": "Libnode artifact witness is selected by a typed evidence requirement"
576
+ }
577
+ ],
578
+ "cutoverOrder": [
579
+ "Buildchain paper release callers and self-bootstrap no-command regression",
580
+ "Kungfu alpha end-to-end release tail",
581
+ "Libnode evidence producer",
582
+ "KFD and white-paper no-command regression verification",
583
+ "remove the direct-Action evidence alias",
584
+ "reject every remaining arbitrary command input"
585
+ ]
586
+ }
587
+ }