@kungfu-tech/buildchain 4.0.1-alpha.2 → 4.0.1-alpha.21

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 (203) hide show
  1. package/actions/release-tail/README.md +8 -0
  2. package/architecture/ci-lane-change-budget.json +187 -0
  3. package/architecture/decisions/0002-next-development-transition.md +101 -0
  4. package/architecture/decisions/0003-two-phase-delivery-warrant.md +152 -0
  5. package/architecture/internal-capabilities.json +211 -8
  6. package/architecture/maintainability-policy.json +113 -28
  7. package/architecture/release-tail-contract-inventory.json +5 -2
  8. package/architecture/v3-core-mechanism-inventory.json +91 -0
  9. package/architecture/v4-adopter-delivery-parity.json +32 -5
  10. package/architecture/v4-capability-state-machine-manifest.json +73 -0
  11. package/architecture/v4-compatibility-facts-parity.json +77 -0
  12. package/architecture/v4-delivery-authority-parity.json +250 -0
  13. package/architecture/v4-delivery-warrant-shadow-fixtures.json +41 -9
  14. package/architecture/v4-floating-consumer-policy.json +6 -0
  15. package/architecture/v4-next-development-parity.json +192 -0
  16. package/architecture/v4-publication-rehearsal-parity.json +84 -0
  17. package/architecture/v4-release-train-parity.json +1 -0
  18. package/architecture/v4-tail-reseal-parity.json +150 -0
  19. package/bin/buildchain.mjs +32 -3
  20. package/bin/internal/adopter-delivery-cli.mjs +70 -0
  21. package/bin/internal/command-registry.mjs +3 -0
  22. package/bin/internal/compatibility-facts-cli.mjs +101 -0
  23. package/contracts/dev-delivery-authority-v2.schema.json +662 -0
  24. package/contracts/fixtures/next-development-transition-v1/anchored-manual-waiting.json +47 -0
  25. package/contracts/fixtures/next-development-transition-v1/semver-auto-planned.json +47 -0
  26. package/contracts/fixtures/next-development-transition-v1/version-model-cases.json +40 -0
  27. package/contracts/fixtures/v4-adopter-delivery-v1/archive-template.json +19 -0
  28. package/contracts/fixtures/v4-adopter-delivery-v1/bootstrap-positive.json +93 -0
  29. package/contracts/fixtures/v4-adopter-delivery-v1/gate-positive.json +29 -0
  30. package/contracts/fixtures/v4-adopter-delivery-v1/gate-unknown-selector.json +26 -0
  31. package/contracts/fixtures/v4-adopter-delivery-v1/offline-vectors.json +50 -0
  32. package/contracts/fixtures/v4-compatibility-facts-v1/shared.json +1129 -0
  33. package/contracts/fixtures/v4-floating-consumer-policy-v1/cases.json +7 -1
  34. package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/artifacts/product.bin +1 -0
  35. package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/config/buildchain.toml +5 -0
  36. package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/documents/release-activation.json +1 -0
  37. package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/documents/signed-channel.json +1 -0
  38. package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/evidence/qualification.json +1 -0
  39. package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/manifests/candidate.json +5 -0
  40. package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/manifests/release-passport.json +1 -0
  41. package/contracts/fixtures/v4-publication-rehearsal-v1/capsule.json +707 -0
  42. package/contracts/fixtures/v4-publication-rehearsal-v1/offline-vectors.json +27 -0
  43. package/contracts/fixtures/v4-tail-reseal-v1/valid.json +229 -0
  44. package/contracts/next-development-request-v1.schema.json +66 -0
  45. package/contracts/next-development-transition-v1.schema.json +292 -0
  46. package/contracts/v4-adopter-delivery-v1.schema.json +81 -0
  47. package/contracts/v4-compatibility-facts-v1.schema.json +230 -0
  48. package/contracts/v4-floating-consumer-policy-receipt-v1.schema.json +4 -2
  49. package/contracts/v4-publication-rehearsal-capsule-v1.schema.json +233 -0
  50. package/contracts/v4-tail-reseal-v1.schema.json +276 -0
  51. package/dist/site/agent-index.json +5 -0
  52. package/dist/site/artifact-schemas.json +10 -0
  53. package/dist/site/buildchain-contract.json +1475 -27
  54. package/dist/site/buildchain-site.json +627 -31
  55. package/dist/site/capability-registry.json +17 -14
  56. package/dist/site/cli-registry.json +205 -3
  57. package/dist/site/kfd-claims.json +490 -16
  58. package/dist/site/kfd-upstream-aggregate.json +1 -1
  59. package/dist/site/manual-registry.json +52 -6
  60. package/dist/site/node-api-registry.json +14736 -8851
  61. package/dist/site/page-registry.json +593 -21
  62. package/dist/site/public-surface-audit.json +837 -48
  63. package/dist/site/publication-authority-registry.json +44 -8
  64. package/dist/site/publication-registry.json +4 -4
  65. package/dist/site/release-provenance.json +24 -0
  66. package/dist/site/schemas/dev-delivery-authority-v2.schema.json +662 -0
  67. package/dist/site/schemas/release-tail-capabilities-v1.schema.json +199 -0
  68. package/dist/site/schemas/v4-adopter-delivery-v1.schema.json +81 -0
  69. package/dist/site/schemas/v4-compatibility-facts-v1.schema.json +230 -0
  70. package/dist/site/schemas/v4-publication-rehearsal-capsule-v1.schema.json +233 -0
  71. package/dist/site/site-manifest.json +34 -10
  72. package/dist/site/workflow-registry.json +160 -10
  73. package/docs/MAP.md +8 -2
  74. package/docs/cli-reference.md +404 -13
  75. package/docs/cli.md +8 -0
  76. package/docs/dev-alpha-candidate-patrol.md +8 -0
  77. package/docs/dev-delivery-qualification-landing-adr.md +251 -0
  78. package/docs/dev-delivery-warrant.md +351 -38
  79. package/docs/next-development-transition.md +118 -0
  80. package/docs/node-api-reference.md +646 -293
  81. package/docs/release-tail-provider-plane.md +30 -0
  82. package/docs/v4-adopter-delivery.md +133 -0
  83. package/docs/v4-compatibility-facts.md +91 -0
  84. package/docs/v4-publication-rehearsal.md +130 -0
  85. package/docs/v4-tail-reseal.md +73 -0
  86. package/docs/versioning.md +4 -3
  87. package/package.json +34 -6
  88. package/packages/core/adopter-delivery-passport.js +259 -0
  89. package/packages/core/adopter-delivery-vectors.js +158 -0
  90. package/packages/core/adopter-delivery-vectors.json +77 -0
  91. package/packages/core/buildchain-agent-manuals.js +3 -0
  92. package/packages/core/buildchain-compatibility-authority.js +336 -0
  93. package/packages/core/buildchain-compatibility-fact.js +394 -0
  94. package/packages/core/buildchain-compatibility-facts.json +217 -0
  95. package/packages/core/buildchain-compatibility-proof.js +566 -0
  96. package/packages/core/buildchain-config.js +84 -0
  97. package/packages/core/buildchain-contract.js +96 -143
  98. package/packages/core/buildchain-delivery-bootstrap.js +240 -0
  99. package/packages/core/buildchain-delivery-infrastructure.js +164 -0
  100. package/packages/core/buildchain-delivery-self-dogfood.js +395 -0
  101. package/packages/core/buildchain-publication-authority.js +1 -0
  102. package/packages/core/channel-candidate.js +8 -0
  103. package/packages/core/channel-promotion-baseline.js +55 -0
  104. package/packages/core/ci-lane-change-budget.js +247 -0
  105. package/packages/core/dev-alpha-candidate-selection.js +10 -2
  106. package/packages/core/dev-delivery-authority-candidate.js +270 -0
  107. package/packages/core/dev-delivery-authority-evidence.js +146 -0
  108. package/packages/core/dev-delivery-authority-landing.js +461 -0
  109. package/packages/core/dev-delivery-authority-observation.js +48 -0
  110. package/packages/core/dev-delivery-authority-qualification.js +591 -0
  111. package/packages/core/dev-delivery-authority-settlement.js +213 -0
  112. package/packages/core/dev-delivery-authority-state.js +583 -0
  113. package/packages/core/dev-delivery-candidate-identity.js +13 -0
  114. package/packages/core/dev-delivery-contract-surface.js +76 -0
  115. package/packages/core/dev-delivery-execution-failure.js +133 -0
  116. package/packages/core/dev-delivery-execution-transfer.js +592 -0
  117. package/packages/core/dev-delivery-landing-admission-core.js +119 -0
  118. package/packages/core/dev-delivery-landing-readback.js +598 -0
  119. package/packages/core/dev-delivery-landing-terminal-evidence.js +271 -0
  120. package/packages/core/dev-delivery-landing-testing-port.js +6 -0
  121. package/packages/core/dev-delivery-native-execution.js +110 -0
  122. package/packages/core/dev-delivery-native-proof.js +562 -0
  123. package/packages/core/dev-delivery-process-boundary.js +563 -0
  124. package/packages/core/dev-delivery-provider-attempt.js +127 -0
  125. package/packages/core/dev-delivery-provider-heartbeat.js +382 -0
  126. package/packages/core/dev-delivery-warrant-cancellation.js +1 -0
  127. package/packages/core/dev-delivery-warrant-qualification.js +145 -0
  128. package/packages/core/dev-delivery-warrant-settlement.js +237 -36
  129. package/packages/core/dev-delivery-warrant-state.js +587 -0
  130. package/packages/core/dev-delivery-warrant.js +328 -370
  131. package/packages/core/github-governance-authority.js +1 -0
  132. package/packages/core/index.js +5 -0
  133. package/packages/core/kungfu-temporal-fact.js +557 -0
  134. package/packages/core/legacy-kfd-adopter-driver.js +167 -0
  135. package/packages/core/next-development-candidate-reservation.js +186 -0
  136. package/packages/core/next-development-controller.js +728 -0
  137. package/packages/core/next-development-projection.js +287 -0
  138. package/packages/core/next-development-transition.js +738 -0
  139. package/packages/core/paper-agent-entry.js +11 -5
  140. package/packages/core/paper.js +16 -5
  141. package/packages/core/published-delivery-authority.js +266 -0
  142. package/packages/core/release-candidate-recovery.js +70 -15
  143. package/packages/core/release-candidate.js +2 -2
  144. package/packages/core/release-passport.js +36 -9
  145. package/packages/core/v4-adopter-delivery-parity.js +3 -3
  146. package/packages/core/v4-adopter-delivery.js +359 -0
  147. package/packages/core/v4-canonical-contracts.js +5 -0
  148. package/packages/core/v4-delivery-warrant-read-candidate.js +10 -3
  149. package/packages/core/v4-floating-consumer-evidence.js +18 -4
  150. package/packages/core/v4-floating-consumer-policy.js +143 -20
  151. package/packages/core/v4-floating-consumer-release-passport.js +32 -5
  152. package/packages/core/v4-publication-rehearsal-capsule.js +468 -0
  153. package/packages/core/v4-publication-rehearsal-provider-bindings.js +212 -0
  154. package/packages/core/v4-publication-rehearsal.js +481 -0
  155. package/packages/core/v4-tail-reseal-contract.js +26 -0
  156. package/packages/core/v4-tail-reseal-github.js +178 -0
  157. package/packages/core/v4-tail-reseal-receipt.js +225 -0
  158. package/packages/core/v4-tail-reseal.js +594 -0
  159. package/packages/core/workflow-yaml-contract.js +24 -2
  160. package/scripts/buildchain-cli-help.mjs +41 -2
  161. package/scripts/check-ci-lane-change-budget.mjs +100 -0
  162. package/scripts/check-inventory.mjs +14 -3
  163. package/scripts/check-v4-floating-consumer-policy-contract.mjs +23 -4
  164. package/scripts/dev-alpha-candidate-patrol.mjs +22 -1
  165. package/scripts/dev-delivery-authority-command-adapters.mjs +206 -0
  166. package/scripts/dev-delivery-authority-provider.mjs +28 -0
  167. package/scripts/dev-delivery-authority.mjs +490 -0
  168. package/scripts/dev-delivery-native-run.mjs +177 -0
  169. package/scripts/dev-delivery-process-boundary.mjs +260 -0
  170. package/scripts/dev-delivery-proof.mjs +67 -2
  171. package/scripts/dev-delivery-provider-heartbeat.mjs +215 -0
  172. package/scripts/dev-delivery-source-proof-replay.mjs +153 -0
  173. package/scripts/dev-delivery-source-proof-reuse.mjs +13 -97
  174. package/scripts/dev-delivery-two-phase-resume.mjs +345 -0
  175. package/scripts/dev-delivery-two-phase.mjs +573 -0
  176. package/scripts/dev-delivery-warrant-options.mjs +266 -0
  177. package/scripts/dev-delivery-warrant-store.mjs +231 -0
  178. package/scripts/dev-delivery-warrant.mjs +232 -194
  179. package/scripts/dev-pr-auto-merge.mjs +1 -1
  180. package/scripts/dev-pr-delivery-warrant.mjs +11 -0
  181. package/scripts/dev-qualification-patrol.mjs +9 -9
  182. package/scripts/dispatch-artifact-signing-authority.mjs +1 -1
  183. package/scripts/generate-channel-promotion-workflow.mjs +2 -2
  184. package/scripts/generate-next-development-guidance.mjs +49 -0
  185. package/scripts/generate-release-candidate-passport.mjs +152 -0
  186. package/scripts/generate-site-bundle.mjs +69 -4
  187. package/scripts/init-repo.mjs +22 -4
  188. package/scripts/next-development-self-dogfood-harness.mjs +460 -0
  189. package/scripts/next-development-self-dogfood.mjs +597 -0
  190. package/scripts/next-development-transition.mjs +47 -0
  191. package/scripts/npm-publish-transaction.mjs +2 -2
  192. package/scripts/promotion-channel-router.mjs +4 -4
  193. package/scripts/release-candidate-anchor-provenance.mjs +99 -0
  194. package/scripts/release-tail.mjs +51 -3
  195. package/scripts/release-train-self-dogfood.mjs +94 -92
  196. package/scripts/resume-from-candidate-run.mjs +557 -30
  197. package/scripts/site-capability-metadata.mjs +41 -0
  198. package/scripts/stable-candidate-qualification.mjs +9 -10
  199. package/scripts/v4-consumer-policy.mjs +5 -5
  200. package/scripts/v4-publication-rehearsal-fixture.mjs +144 -0
  201. package/scripts/v4-tail-reseal-macos-rehearsal.mjs +134 -0
  202. package/scripts/v4-tail-reseal.mjs +416 -0
  203. package/templates/native-dev-delivery.yml +143 -0
@@ -69,6 +69,11 @@
69
69
  "root": "packages/core",
70
70
  "pattern": "^release-activation-transaction\\.js$"
71
71
  },
72
+ {
73
+ "mechanismId": "next-development-controller",
74
+ "root": "packages/core",
75
+ "pattern": "^next-development-(?:transition|controller|candidate-reservation)\\.js$"
76
+ },
72
77
  {
73
78
  "mechanismId": "publication-authority",
74
79
  "root": "packages/core",
@@ -130,6 +135,90 @@
130
135
  "orphanPolicy": "Every state-bearing mechanism must own source, tests, public surfaces, durable-store disposition, recovery, and v4 migration disposition; missing or ambiguous ownership fails validation."
131
136
  },
132
137
  "mechanisms": [
138
+ {
139
+ "id": "next-development-controller",
140
+ "owner": "Buildchain protected development version plane",
141
+ "writers": [
142
+ "completed Alpha terminal-success schedulers",
143
+ "packages/core/next-development-controller.js"
144
+ ],
145
+ "schemas": [
146
+ "kungfu-buildchain-next-development-transition/v1",
147
+ "kungfu-buildchain-next-development-controller/v1"
148
+ ],
149
+ "stores": [
150
+ "atomic child store keyed by repository and completed-Alpha root",
151
+ "compare-and-swap rooted controller checkpoints"
152
+ ],
153
+ "states": [
154
+ "planned",
155
+ "waiting-anchor",
156
+ "materialized",
157
+ "pr-pending",
158
+ "merged",
159
+ "verified"
160
+ ],
161
+ "events": [
162
+ "schedule",
163
+ "bind-reviewed-anchor",
164
+ "materialize-current-dev",
165
+ "open-protected-version-pr",
166
+ "record-merge",
167
+ "verify-protected-dev-readback"
168
+ ],
169
+ "transitions": [
170
+ "one completed Alpha creates or reuses one deterministic durable child",
171
+ "stale Dev material is superseded before protected delivery",
172
+ "merged reaches verified only after exact source and derived root readback"
173
+ ],
174
+ "recovery": [
175
+ "fresh runners load the durable child and resume the last rooted checkpoint",
176
+ "idempotent materialization operation keys reuse effects after lost responses"
177
+ ],
178
+ "effects": [
179
+ "declared source and derived version material",
180
+ "protected Dev version pull request"
181
+ ],
182
+ "retry": [
183
+ "Dev movement supersedes only the stale materialization attempt",
184
+ "readback mismatch remains merged and retries observation without rebuilding"
185
+ ],
186
+ "invalidation": [
187
+ "completed Alpha identity drift",
188
+ "undeclared changed path",
189
+ "durable compare-and-swap conflict",
190
+ "protected Dev version or root disagreement"
191
+ ],
192
+ "providerReadback": [
193
+ "latest protected Dev SHA",
194
+ "protected version PR status",
195
+ "protected Dev ancestry, target version, source roots, and derived roots"
196
+ ],
197
+ "publicSurfaces": [
198
+ "cli:next-development",
199
+ "export:./next-development-transition",
200
+ "export:./next-development-controller",
201
+ "export:./next-development-projection"
202
+ ],
203
+ "compatibilityCallers": [
204
+ "v4 completed-Alpha schedulers through the atomic store and executor interfaces"
205
+ ],
206
+ "sourcePaths": [
207
+ "packages/core/next-development-transition.js",
208
+ "packages/core/next-development-controller.js",
209
+ "packages/core/next-development-candidate-reservation.js"
210
+ ],
211
+ "testPaths": [
212
+ "tests/next-development-transition.test.mjs",
213
+ "tests/next-development-controller.test.mjs",
214
+ "tests/dev-alpha-candidate-patrol.test.mjs",
215
+ "tests/next-development-self-dogfood.test.mjs"
216
+ ],
217
+ "migrationDisposition": "v4-authoritative-with-public-consumer-lifecycle-proof",
218
+ "unresolved": [
219
+ "provider-specific durable-store retention and workflow wake policy remain caller-owned integration choices"
220
+ ]
221
+ },
133
222
  {
134
223
  "id": "dev-delivery-warrant",
135
224
  "owner": "Buildchain Dev delivery control plane",
@@ -204,7 +293,9 @@
204
293
  "sourcePaths": [
205
294
  "packages/core/dev-delivery-proof.js",
206
295
  "packages/core/dev-delivery-warrant-cancellation.js",
296
+ "packages/core/dev-delivery-warrant-qualification.js",
207
297
  "packages/core/dev-delivery-warrant-settlement.js",
298
+ "packages/core/dev-delivery-warrant-state.js",
208
299
  "packages/core/dev-delivery-warrant.js",
209
300
  "packages/core/release-blocker-priority.js",
210
301
  "scripts/dev-delivery-proof.mjs",
@@ -3,14 +3,16 @@
3
3
  "contract": "kungfu-buildchain-v4-adopter-delivery-parity-plan",
4
4
  "sourceAuthority": {
5
5
  "branch": "dev/v3/v3.0",
6
- "commit": "c3f58d76391c1c6ceddfc900a68e91c7ab82a575",
7
- "vectorSuiteRoot": "sha256:cf329805d928a9883cbafbdfdf21ef66c6a0889ed8dfe14356b4e0d25d6738f9",
8
- "kfdPackage": "@kungfu-tech/kfd@1.0.0-alpha.62"
6
+ "commit": "6b96bdad8d9f8ccf9275f27d9370a226a9c78465",
7
+ "vectorSuiteRoot": "sha256:c978707556406ffda4ef4192032332c01c2da1cebb6ad8c4f0edfc65d5cef0c7",
8
+ "kfdPackage": "@kungfu-tech/kfd@1.0.0-alpha.65"
9
9
  },
10
10
  "target": {
11
11
  "branch": "dev/v4/v4.0",
12
- "baseline": "3079091f770ce9fdca950e106259e34e5171f763",
12
+ "initialBaseline": "e5611377efc03178f8687d99968cfdfa3ce2825b",
13
+ "baseline": "e0342713c7447960c13bd73377282b2e93f4853d",
13
14
  "mode": "effect-disabled",
15
+ "surface": "public-protocol-neutral-adopter-delivery",
14
16
  "productionWriterAuthority": false
15
17
  },
16
18
  "vectors": [
@@ -37,11 +39,36 @@
37
39
  {
38
40
  "id": "fault-driver-throw",
39
41
  "mode": "gate-core-parity"
42
+ },
43
+ {
44
+ "id": "positive-n-minus-one-bootstrap",
45
+ "mode": "public-bootstrap-lineage"
46
+ },
47
+ {
48
+ "id": "positive-published-archive",
49
+ "mode": "public-archive-authority"
50
+ },
51
+ {
52
+ "id": "negative-archive-identity",
53
+ "mode": "public-archive-authority"
54
+ },
55
+ {
56
+ "id": "negative-bootstrap-lineage",
57
+ "mode": "public-bootstrap-lineage"
58
+ },
59
+ {
60
+ "id": "negative-protocol-version",
61
+ "mode": "public-driver-selection"
62
+ },
63
+ {
64
+ "id": "tamper-readback",
65
+ "mode": "public-exact-readback"
40
66
  }
41
67
  ],
42
68
  "nonClaims": [
43
69
  "The Rust projection has no provider, credential, release, signing or production-writer authority.",
44
70
  "KFD semantics are evaluated only by exact published KFD bytes before the effect-disabled carrier projection.",
45
- "Release Passport evidence substitution remains on the protected v3 boundary and is not reimplemented as a v4 writer."
71
+ "Release Passport evidence substitution remains on the protected v3 boundary and is not reimplemented as a v4 writer.",
72
+ "The public CLI, Node API, schema, configuration and reusable workflow retain provider, signing, publication and release authority as explicit non-claims."
46
73
  ]
47
74
  }
@@ -83,6 +83,18 @@
83
83
  }
84
84
  },
85
85
  "capabilities": [
86
+ {
87
+ "id": "next-development-controller",
88
+ "owner": "Buildchain protected development version plane",
89
+ "sourceInventoryId": "next-development-controller",
90
+ "surfaces": [
91
+ "cli:next-development",
92
+ "export:./next-development-transition",
93
+ "export:./next-development-controller",
94
+ "export:./next-development-projection"
95
+ ],
96
+ "migrationPhase": "legacy-retired"
97
+ },
86
98
  {
87
99
  "id": "dev-delivery-warrant",
88
100
  "owner": "Buildchain Dev delivery control plane",
@@ -198,6 +210,67 @@
198
210
  }
199
211
  ],
200
212
  "stateMachines": [
213
+ {
214
+ "id": "next-development-controller",
215
+ "capabilityId": "next-development-controller",
216
+ "owner": "Buildchain protected development version plane",
217
+ "writer": {
218
+ "runtime": "typescript-v4",
219
+ "authoritative": true,
220
+ "secondWriterBudget": 0
221
+ },
222
+ "schemas": [
223
+ "kungfu-buildchain-next-development-transition/v1",
224
+ "kungfu-buildchain-next-development-controller/v1"
225
+ ],
226
+ "store": "atomic child store with compare-and-swap rooted checkpoints",
227
+ "states": [
228
+ "planned",
229
+ "waiting-anchor",
230
+ "materialized",
231
+ "pr-pending",
232
+ "merged",
233
+ "verified"
234
+ ],
235
+ "events": [
236
+ "schedule",
237
+ "bind-reviewed-anchor",
238
+ "materialize-current-dev",
239
+ "open-protected-version-pr",
240
+ "record-merge",
241
+ "verify-protected-dev-readback"
242
+ ],
243
+ "invariants": [
244
+ "completed Alpha remains terminal and immutable",
245
+ "one deterministic child exists per completed-Alpha root",
246
+ "verified requires exact protected Dev version and root readback"
247
+ ],
248
+ "effects": [
249
+ "write declared version source and derived material",
250
+ "request one protected Dev version pull request"
251
+ ],
252
+ "adapters": [
253
+ "atomic durable child store",
254
+ "version-state materialization adapter",
255
+ "protected Dev pull-request and readback adapter"
256
+ ],
257
+ "tests": [
258
+ "tests/next-development-transition.test.mjs",
259
+ "tests/next-development-controller.test.mjs",
260
+ "tests/next-development-self-dogfood.test.mjs",
261
+ "tests/dev-alpha-candidate-patrol.test.mjs"
262
+ ],
263
+ "recovery": [
264
+ "fresh runners resume the last rooted checkpoint and reuse idempotent materialization operations",
265
+ "moved protected Dev supersedes only stale preparation and readback mismatch retries observation"
266
+ ],
267
+ "migrationPhase": "legacy-retired",
268
+ "budgets": {
269
+ "undeclaredStates": 0,
270
+ "undeclaredEvents": 0,
271
+ "unboundedRetries": 0
272
+ }
273
+ },
201
274
  {
202
275
  "id": "dev-delivery-warrant",
203
276
  "capabilityId": "dev-delivery-warrant",
@@ -0,0 +1,77 @@
1
+ {
2
+ "schema": "buildchain.v4.compatibility-facts-parity/v1",
3
+ "source": {
4
+ "branch": "dev/v3/v3.0",
5
+ "commit": "6b96bdad8d9f8ccf9275f27d9370a226a9c78465",
6
+ "factRegistry": "packages/core/buildchain-compatibility-facts.json"
7
+ },
8
+ "target": {
9
+ "branch": "dev/v4/v4.0",
10
+ "commit": "60e61d0a17bdf41262454a3499aae430248036fc",
11
+ "schema": "contracts/v4-compatibility-facts-v1.schema.json"
12
+ },
13
+ "rootProtocol": "kungfu.fact-root.canonical/v2",
14
+ "matrixRoot": "sha256:be099fcb4ecc5ec0bf24e86853246d12210b2f6d082e928ce90a40b00345f262",
15
+ "matrix": [
16
+ {
17
+ "invariant": "immutable-directional-relation",
18
+ "v3": "source-to-target Fact",
19
+ "v4": "source-to-target Fact",
20
+ "parity": "exact"
21
+ },
22
+ {
23
+ "invariant": "operation-scope",
24
+ "v3": "accept-contract-lock",
25
+ "v4": "accept-contract-lock",
26
+ "parity": "exact"
27
+ },
28
+ {
29
+ "invariant": "time-awareness",
30
+ "v3": "validFromCutRoot plus Cut ancestry",
31
+ "v4": "validFromCutRoot plus Cut ancestry",
32
+ "parity": "exact"
33
+ },
34
+ {
35
+ "invariant": "append-only-current-truth",
36
+ "v3": "supersede and revoke records",
37
+ "v4": "supersede and revoke records",
38
+ "parity": "exact"
39
+ },
40
+ {
41
+ "invariant": "explicit-path",
42
+ "v3": "direct default and explicit bounded composition",
43
+ "v4": "direct default and explicit bounded composition",
44
+ "parity": "exact"
45
+ },
46
+ {
47
+ "invariant": "negative-receipts",
48
+ "v3": "rooted accepted or rejected path receipt",
49
+ "v4": "byte-identical Rust and TypeScript receipt",
50
+ "parity": "safety-equivalent"
51
+ },
52
+ {
53
+ "invariant": "legacy-digest-projection",
54
+ "v3": "compatibleBreakingDigests derived from proofs and Facts",
55
+ "v4": "exact-target current Facts derive digest arrays",
56
+ "parity": "safety-equivalent"
57
+ },
58
+ {
59
+ "invariant": "legacy-proof-projection",
60
+ "v3": "v1 proof roots retained",
61
+ "v4": "v1 proof roots retained as non-authoritative lineage",
62
+ "parity": "exact"
63
+ },
64
+ {
65
+ "invariant": "release-passport",
66
+ "v3": "Fact lineage available to verification receipt",
67
+ "v4": "Fact, Cut, proof and path roots attach as non-release-authority evidence",
68
+ "parity": "safety-equivalent"
69
+ },
70
+ {
71
+ "invariant": "unknown-state",
72
+ "v3": "fail closed",
73
+ "v4": "missing ambiguous expired revoked wrong-direction wrong-Cut disconnected and corrupt fail closed",
74
+ "parity": "exact"
75
+ }
76
+ ]
77
+ }
@@ -0,0 +1,250 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "contract": "kungfu-buildchain-v4-delivery-authority-parity",
4
+ "sourceAuthority": {
5
+ "decision": "architecture/decisions/0003-two-phase-delivery-warrant.md",
6
+ "reference": "docs/dev-delivery-warrant.md",
7
+ "contract": "kungfu-buildchain-dev-delivery-warrant-queue",
8
+ "schemaVersion": 1
9
+ },
10
+ "target": {
11
+ "branch": "dev/v4/v4.0",
12
+ "singleFlightContract": "kungfu-buildchain-dev-delivery-warrant-queue",
13
+ "boundedAuthorityContract": "kungfu-buildchain-dev-delivery-authority",
14
+ "boundedAuthoritySchemaVersion": 2
15
+ },
16
+ "allowedDispositions": [
17
+ "implemented",
18
+ "superseded-equivalent",
19
+ "missing-before-closeout"
20
+ ],
21
+ "invariants": [
22
+ {
23
+ "id": "DA-01",
24
+ "claim": "Native delivery receives provisional authority before expensive execution and cannot use that phase as merge admission.",
25
+ "disposition": "implemented",
26
+ "implementationEvidence": [
27
+ "packages/core/dev-delivery-warrant.js",
28
+ "scripts/dev-delivery-two-phase.mjs"
29
+ ],
30
+ "verificationEvidence": [
31
+ "tests/dev-delivery-two-phase.test.mjs",
32
+ "tests/dev-delivery-two-phase-run.test.mjs"
33
+ ],
34
+ "behavioralProof": "tests/v4-delivery-authority-parity.test.mjs#DA-01"
35
+ },
36
+ {
37
+ "id": "DA-02",
38
+ "claim": "The provisional Warrant heartbeats one exact token and generation, and stale or expired owners cannot renew or qualify.",
39
+ "disposition": "implemented",
40
+ "implementationEvidence": [
41
+ "packages/core/dev-delivery-warrant.js",
42
+ "scripts/dev-delivery-native-run.mjs"
43
+ ],
44
+ "verificationEvidence": [
45
+ "tests/dev-delivery-two-phase.test.mjs",
46
+ "tests/dev-delivery-native-run.test.mjs"
47
+ ],
48
+ "behavioralProof": "tests/v4-delivery-authority-parity.test.mjs#DA-02"
49
+ },
50
+ {
51
+ "id": "DA-03",
52
+ "claim": "Native proof binds semantic source, exact source head, qualified base, affected closure, dependency and toolchain roots, environment, heartbeat receipt, and shard evidence; PR-controlled native code and its complete readable process ancestry receive no controller or provider write credentials, the recursively enumerated transfer is an exact regular-file-only closed set staged separately from candidate evidence, an independent hosted heartbeat runner chains durable state and receipt roots through native and seal completion, and only a live-readback-proven distinct GitHub-hosted finalizer job and runner may verify the latest state, revalidate bytes, recompute canonical failure evidence, qualify, or settle the exact bound failure.",
53
+ "disposition": "implemented",
54
+ "implementationEvidence": [
55
+ "packages/core/dev-delivery-native-proof.js",
56
+ "packages/core/dev-delivery-execution-failure.js",
57
+ "packages/core/dev-delivery-execution-transfer.js",
58
+ "packages/core/dev-delivery-process-boundary.js",
59
+ "packages/core/dev-delivery-provider-heartbeat.js",
60
+ "scripts/dev-delivery-native-run.mjs",
61
+ "scripts/dev-delivery-process-boundary.mjs",
62
+ "scripts/dev-delivery-provider-heartbeat.mjs",
63
+ ".github/workflows/dev-pr-auto-merge.yml"
64
+ ],
65
+ "verificationEvidence": [
66
+ "tests/dev-delivery-two-phase.test.mjs",
67
+ "tests/dev-delivery-native-run.test.mjs",
68
+ "tests/dev-delivery-process-boundary.test.mjs",
69
+ "tests/dev-delivery-process-boundary-negative.test.mjs",
70
+ "tests/dev-delivery-provider-heartbeat.test.mjs",
71
+ "tests/build-surface.test.mjs"
72
+ ],
73
+ "behavioralProof": "tests/v4-delivery-authority-parity.test.mjs#DA-03"
74
+ },
75
+ {
76
+ "id": "DA-04",
77
+ "claim": "Interruption resumes only from a live qualified fence or a proof whose complete attributed base delta remains disjoint; ambiguity or overlap revalidates.",
78
+ "disposition": "implemented",
79
+ "implementationEvidence": [
80
+ "packages/core/dev-delivery-native-proof.js",
81
+ "scripts/dev-delivery-two-phase-resume.mjs"
82
+ ],
83
+ "verificationEvidence": [
84
+ "tests/dev-delivery-two-phase.test.mjs",
85
+ "tests/dev-delivery-two-phase-run.test.mjs"
86
+ ],
87
+ "behavioralProof": "tests/v4-delivery-authority-parity.test.mjs#DA-04"
88
+ },
89
+ {
90
+ "id": "DA-05",
91
+ "claim": "Native success upgrades the same fence atomically to qualified authority and records exact proof and reuse roots without minting a second token.",
92
+ "disposition": "implemented",
93
+ "implementationEvidence": [
94
+ "packages/core/dev-delivery-native-proof.js",
95
+ "packages/core/dev-delivery-warrant.js"
96
+ ],
97
+ "verificationEvidence": ["tests/dev-delivery-two-phase.test.mjs"],
98
+ "behavioralProof": "tests/v4-delivery-authority-parity.test.mjs#DA-05"
99
+ },
100
+ {
101
+ "id": "DA-06",
102
+ "claim": "Expiry does not imply worker termination; an expired provisional holder remains exclusive until exact fenced terminal settlement, and duplicate settlement is idempotent.",
103
+ "disposition": "implemented",
104
+ "implementationEvidence": [
105
+ "packages/core/dev-delivery-warrant.js",
106
+ "packages/core/dev-delivery-warrant-settlement.js"
107
+ ],
108
+ "verificationEvidence": [
109
+ "tests/dev-delivery-warrant.test.mjs",
110
+ "tests/dev-delivery-two-phase.test.mjs"
111
+ ],
112
+ "behavioralProof": "tests/v4-delivery-authority-parity.test.mjs#DA-06"
113
+ },
114
+ {
115
+ "id": "DA-07",
116
+ "claim": "GitHub merge_group and the protected Project Cut remain final integration authority; a Warrant alone never mutates branch protection or proves landing.",
117
+ "disposition": "implemented",
118
+ "implementationEvidence": [
119
+ "packages/core/dev-delivery-proof.js",
120
+ "scripts/dev-pr-delivery-warrant.mjs",
121
+ ".github/workflows/dev-pr-auto-merge.yml"
122
+ ],
123
+ "verificationEvidence": [
124
+ "tests/dev-delivery-warrant.test.mjs",
125
+ "tests/dev-pr-auto-merge.test.mjs"
126
+ ],
127
+ "behavioralProof": "tests/v4-delivery-authority-parity.test.mjs#DA-07"
128
+ },
129
+ {
130
+ "id": "DA-08",
131
+ "claim": "Bounded mode issues no more than the configured Qualification Leases and only across disjoint rooted safety domains; unknown or overlapping domains serialize.",
132
+ "disposition": "implemented",
133
+ "implementationEvidence": [
134
+ "packages/core/dev-delivery-authority-qualification.js",
135
+ "packages/core/dev-delivery-authority-state.js"
136
+ ],
137
+ "verificationEvidence": ["tests/dev-delivery-authority.test.mjs"],
138
+ "behavioralProof": "tests/v4-delivery-authority-parity.test.mjs#DA-08"
139
+ },
140
+ {
141
+ "id": "DA-09",
142
+ "claim": "Qualification authority cannot admit merge_group; a new Landing requires complete verified-native qualification, its public admission API derives provider identity only from live GitHub readback, and exactly one exclusive Landing Warrant binds the candidate, source head, token, generation, state root, protected base, merge-group head, and verified provider attempt.",
143
+ "disposition": "implemented",
144
+ "implementationEvidence": [
145
+ "packages/core/dev-delivery-authority-landing.js",
146
+ "packages/core/dev-delivery-landing-admission-core.js",
147
+ "packages/core/dev-delivery-authority-qualification.js",
148
+ "contracts/dev-delivery-authority-v2.schema.json"
149
+ ],
150
+ "verificationEvidence": ["tests/dev-delivery-authority.test.mjs"],
151
+ "behavioralProof": "tests/v4-delivery-authority-parity.test.mjs#DA-09"
152
+ },
153
+ {
154
+ "id": "DA-10",
155
+ "claim": "Landing is fair under bounded overtaking, including strict FIFO at zero, and never exposes more than one landing writer under contention.",
156
+ "disposition": "implemented",
157
+ "implementationEvidence": [
158
+ "packages/core/dev-delivery-authority-qualification.js",
159
+ "packages/core/dev-delivery-authority-landing.js"
160
+ ],
161
+ "verificationEvidence": ["tests/dev-delivery-authority.test.mjs"],
162
+ "behavioralProof": "tests/v4-delivery-authority-parity.test.mjs#DA-10"
163
+ },
164
+ {
165
+ "id": "DA-11",
166
+ "claim": "Every Landing admission derives the provider attempt through non-injectable live GitHub readback, and every admitted heartbeat carries that exact persisted attempt and renews only through the public GitHub workflow run-attempt and job readback; qualification expiry releases only qualification capacity, while every Landing Warrant remains exclusive until an independent terminal verifier reads the immutable historical attempt endpoint and returns fresh rooted evidence bound to state, fence, generation, candidate, admitted source head, provider run, provider job, and protected-base containment without depending on a mutable run projection, referenced-workflow inference, or the synchronized current PR head; runtime sealing enforces the published repository, protected-base, numeric identity, completed-state, run-conclusion, job-conclusion, pull-request-state, merged-flag, containment, and outcome schema, and every resulting settlement is deterministic and idempotent.",
167
+ "disposition": "implemented",
168
+ "implementationEvidence": [
169
+ "packages/core/dev-delivery-authority-qualification.js",
170
+ "packages/core/dev-delivery-authority-landing.js",
171
+ "packages/core/dev-delivery-landing-admission-core.js",
172
+ "packages/core/dev-delivery-landing-readback.js"
173
+ ],
174
+ "verificationEvidence": ["tests/dev-delivery-authority.test.mjs"],
175
+ "behavioralProof": "tests/v4-delivery-authority-parity.test.mjs#DA-11"
176
+ },
177
+ {
178
+ "id": "DA-12",
179
+ "claim": "Expected-old state roots and non-force Git ref advancement serialize admission and prevent partial or competing writes from becoming two durable authorities.",
180
+ "disposition": "implemented",
181
+ "implementationEvidence": [
182
+ "scripts/dev-delivery-authority.mjs",
183
+ "scripts/dev-delivery-warrant.mjs"
184
+ ],
185
+ "verificationEvidence": [
186
+ "tests/dev-delivery-authority.test.mjs",
187
+ "tests/dev-delivery-warrant-command.test.mjs"
188
+ ],
189
+ "behavioralProof": "tests/v4-delivery-authority-parity.test.mjs#DA-12"
190
+ },
191
+ {
192
+ "id": "DA-13",
193
+ "claim": "One-shot v1 migration preserves the rooted legacy state and exact active fence while representing phase-less and qualified v1 compatibility honestly; compatibility-only evidence cannot acquire v2 native proof authority or mint a new Landing Warrant.",
194
+ "disposition": "implemented",
195
+ "implementationEvidence": [
196
+ "packages/core/dev-delivery-authority-state.js",
197
+ "scripts/dev-delivery-authority.mjs"
198
+ ],
199
+ "verificationEvidence": ["tests/dev-delivery-authority.test.mjs"],
200
+ "behavioralProof": "tests/v4-delivery-authority-parity.test.mjs#DA-13"
201
+ },
202
+ {
203
+ "id": "DA-14",
204
+ "claim": "Historical v1 queue bytes and native proofs remain readable, phase-less active-owner handoff uses exact legacy-safe bindings without a native command contract, and unbound or compatibility-only legacy proof cannot acquire new exact reuse or Landing authority.",
205
+ "disposition": "implemented",
206
+ "implementationEvidence": [
207
+ "packages/core/dev-delivery-warrant.js",
208
+ "packages/core/dev-delivery-native-proof.js",
209
+ ".github/workflows/dev-pr-auto-merge.yml"
210
+ ],
211
+ "verificationEvidence": [
212
+ "tests/dev-delivery-authority.test.mjs",
213
+ "tests/dev-delivery-two-phase.test.mjs"
214
+ ],
215
+ "behavioralProof": "tests/v4-delivery-authority-parity.test.mjs#DA-14"
216
+ },
217
+ {
218
+ "id": "DA-15",
219
+ "claim": "The supported CLI, Node exports including independent Landing terminal readback, schema, documentation, generated references, and byte-exact generated site schema expose bounded v2 authority consistently, while the native template and Buildchain public v4-alpha caller truthfully remain single-flight v1 and do not advertise v2 Landing execution; matching stable and alpha contract locks preserve that explicit boundary.",
220
+ "disposition": "implemented",
221
+ "implementationEvidence": [
222
+ "bin/buildchain.mjs",
223
+ "package.json",
224
+ "packages/core/dev-delivery-landing-readback.js",
225
+ "packages/core/dev-delivery-contract-surface.js",
226
+ "contracts/dev-delivery-authority-v2.schema.json",
227
+ "docs/dev-delivery-warrant.md",
228
+ "docs/dev-delivery-qualification-landing-adr.md",
229
+ "templates/native-dev-delivery.yml",
230
+ ".github/workflows/buildchain-dev-delivery.yml",
231
+ ".buildchain/contract-lock.json",
232
+ ".buildchain/alpha-contract-lock.json"
233
+ ],
234
+ "verificationEvidence": [
235
+ "tests/dev-delivery-authority.test.mjs",
236
+ "tests/dev-pr-auto-merge.test.mjs",
237
+ "tests/build-surface.test.mjs"
238
+ ],
239
+ "behavioralProof": "tests/v4-delivery-authority-parity.test.mjs#DA-15"
240
+ },
241
+ {
242
+ "id": "DA-16",
243
+ "claim": "Independent review, protected merge into dev/v4/v4.0, and exact post-merge readback are required external closeout evidence and are not established by local tests.",
244
+ "disposition": "missing-before-closeout",
245
+ "implementationEvidence": [],
246
+ "verificationEvidence": []
247
+ }
248
+ ],
249
+ "matrixRoot": "sha256:5be5abf70b982374f32a1400d4ec7c830017a0473d03165e831a506c94c8b881"
250
+ }