@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
@@ -25,19 +25,24 @@
25
25
  "id": "submit-101",
26
26
  "operation": "submit",
27
27
  "pullRequestNumber": 101,
28
+ "overrides": { "deliveryClass": "non-native-fast" },
28
29
  "now": "2026-08-07T00:00:01Z"
29
30
  },
30
31
  {
31
32
  "id": "submit-102",
32
33
  "operation": "submit",
33
34
  "pullRequestNumber": 102,
34
- "overrides": { "priority": "expedited" },
35
+ "overrides": {
36
+ "deliveryClass": "non-native-fast",
37
+ "priority": "expedited"
38
+ },
35
39
  "now": "2026-08-07T00:00:02Z"
36
40
  },
37
41
  {
38
42
  "id": "duplicate-101",
39
43
  "operation": "submit",
40
44
  "pullRequestNumber": 101,
45
+ "overrides": { "deliveryClass": "non-native-fast" },
41
46
  "now": "2026-08-07T00:00:03Z"
42
47
  },
43
48
  {
@@ -61,7 +66,7 @@
61
66
  "now": "2026-08-07T00:02:00Z"
62
67
  }
63
68
  ],
64
- "expectedLegacyProjectionRoot": "sha256:e01018e4797e98813454328aba2c0a04932885fcd6da7d216697c7961bc26f56"
69
+ "expectedLegacyProjectionRoot": "sha256:da58eec588414e16781ffad1b92d3733b207b43e2c7846f6b659c71b150d964d"
65
70
  },
66
71
  {
67
72
  "id": "lease-expiry-and-stale-fence",
@@ -76,36 +81,60 @@
76
81
  "id": "submit",
77
82
  "operation": "submit",
78
83
  "pullRequestNumber": 120,
84
+ "overrides": {
85
+ "environmentRoot": "sha256:9999999999999999999999999999999999999999999999999999999999999999",
86
+ "nativeCommandContract": {
87
+ "schema": "kungfu.buildchain.native-command-contract/v1",
88
+ "runner": "bash-lc",
89
+ "command": "node --test tests/v4-warrant-shadow-plan.test.mjs",
90
+ "commandRoot": "sha256:4d9a03536802c46fe254f247b7236925aec49d789e5e9ac7b2dceac08d7cefab"
91
+ }
92
+ },
79
93
  "now": "2026-08-07T01:00:01Z"
80
94
  },
95
+ {
96
+ "id": "submit-successor",
97
+ "operation": "submit",
98
+ "pullRequestNumber": 121,
99
+ "overrides": { "deliveryClass": "non-native-fast" },
100
+ "now": "2026-08-07T01:00:02Z"
101
+ },
81
102
  {
82
103
  "id": "select-old",
83
104
  "operation": "select",
84
105
  "saveWarrant": "old",
85
106
  "leaseSeconds": 60,
86
- "now": "2026-08-07T01:00:02Z"
107
+ "now": "2026-08-07T01:00:03Z"
87
108
  },
88
109
  {
89
110
  "id": "recover",
90
111
  "operation": "recover-expired",
91
112
  "now": "2026-08-07T01:02:00Z"
92
113
  },
114
+ {
115
+ "id": "close-expired",
116
+ "operation": "close",
117
+ "useWarrant": "old",
118
+ "outcome": "terminal-failure",
119
+ "reason": "fenced native worker stop proved",
120
+ "now": "2026-08-07T01:02:01Z"
121
+ },
93
122
  {
94
123
  "id": "select-new",
95
124
  "operation": "select",
96
125
  "saveWarrant": "new",
97
126
  "leaseSeconds": 60,
98
- "now": "2026-08-07T01:02:01Z"
127
+ "now": "2026-08-07T01:02:02Z"
99
128
  },
100
129
  {
101
130
  "id": "reject-old",
102
131
  "operation": "heartbeat",
103
132
  "useWarrant": "old",
104
133
  "expectError": "stale-fencing-token",
105
- "now": "2026-08-07T01:02:02Z"
134
+ "now": "2026-08-07T01:02:03Z"
106
135
  }
107
136
  ],
108
- "expectedLegacyProjectionRoot": "sha256:3c39ba66a2329a22f3834c4212bda001b6d5c527dcb9fa8a1b3ca88a199a7d16"
137
+ "expectedLegacyProjectionRoot": "sha256:24cf52c9108393b268cb40943f540c0e9a000a782e59251e3a9b6d5a63c1eb06"
109
138
  },
110
139
  {
111
140
  "id": "settlement-idempotence",
@@ -129,6 +158,7 @@
129
158
  "id": "submit",
130
159
  "operation": "submit",
131
160
  "pullRequestNumber": 150,
161
+ "overrides": { "deliveryClass": "non-native-fast" },
132
162
  "now": "2026-08-07T02:00:02Z"
133
163
  },
134
164
  {
@@ -153,7 +183,7 @@
153
183
  "now": "2026-08-07T02:02:00Z"
154
184
  }
155
185
  ],
156
- "expectedLegacyProjectionRoot": "sha256:b67669b2093105f3b4539ca5e4ba3d366bd7005a8781b5352377ae724d310d26"
186
+ "expectedLegacyProjectionRoot": "sha256:60fead53ff605fcd81934e6d752ea5f2b4951c57addcec1c1df87fb6dec9b7ba"
157
187
  },
158
188
  {
159
189
  "id": "queued-cancellation-idempotence",
@@ -168,6 +198,7 @@
168
198
  "id": "submit",
169
199
  "operation": "submit",
170
200
  "pullRequestNumber": 151,
201
+ "overrides": { "deliveryClass": "non-native-fast" },
171
202
  "now": "2026-08-07T03:00:01Z"
172
203
  },
173
204
  {
@@ -187,7 +218,7 @@
187
218
  "now": "2026-08-07T03:00:03Z"
188
219
  }
189
220
  ],
190
- "expectedLegacyProjectionRoot": "sha256:128104385600c72af175a3ff6a58a4266ca7dcd59a5019adbd87ca7fd9bc65c9"
221
+ "expectedLegacyProjectionRoot": "sha256:7000f721d975b379c0f321d935ab70e38589229a691517a3c41d2b1330fd3796"
191
222
  },
192
223
  {
193
224
  "id": "cas-response-loss-provider-conflict",
@@ -202,6 +233,7 @@
202
233
  "id": "submit",
203
234
  "operation": "submit",
204
235
  "pullRequestNumber": 160,
236
+ "overrides": { "deliveryClass": "non-native-fast" },
205
237
  "now": "2026-08-07T04:00:01Z"
206
238
  },
207
239
  {
@@ -221,7 +253,7 @@
221
253
  },
222
254
  { "id": "provider-stop", "operation": "provider-conflict" }
223
255
  ],
224
- "expectedLegacyProjectionRoot": "sha256:e5082eab6504bab8ee382d43429594d0bbe1ee0353f78eb21b0ead03a4740887"
256
+ "expectedLegacyProjectionRoot": "sha256:c616a8278ace8ece6933987cf9559ca53d4e2fba0e937664c2770464800cff04"
225
257
  }
226
258
  ]
227
259
  }
@@ -36,6 +36,12 @@
36
36
  },
37
37
  "runtimeEscapeBoundary": {
38
38
  "persistedSelectorOverride": false,
39
+ "protectedAlphaRecoveryBootstrap": {
40
+ "selector": "alpha/v4/v4.0",
41
+ "sourcePath": ".github/workflows/buildchain-ref-promotion-recovery.yml",
42
+ "workflow": ".github/workflows/.release-candidate-promote.yml",
43
+ "repository": "kungfu-systems/buildchain"
44
+ },
39
45
  "trustedNonPersistentInput": true,
40
46
  "requiresSeparateAuthority": true,
41
47
  "requiresReadback": true,
@@ -0,0 +1,192 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "contract": "kungfu-buildchain-v4-next-development-parity",
4
+ "sourceAuthority": {
5
+ "branch": "dev/v3/v3.0",
6
+ "capturedCommit": "6b96bdad8d9f8ccf9275f27d9370a226a9c78465",
7
+ "transitionCommit": "d165c2f733859dd2e46a2d1fdb25b242e2fc2567",
8
+ "controllerCommit": "63f494d4b92c0bd01ffb454c6fce23d0692148fb",
9
+ "selfDogfoodCommit": "518bb4cb4706db1854e5a5b39bf7198f2aaa1d1d"
10
+ },
11
+ "target": {
12
+ "branch": "dev/v4/v4.0",
13
+ "implementationBaseline": "36ad1dc03a9d2785aca938a7a369e4b96707fa32",
14
+ "publicConsumerCaller": ".github/workflows/v4-public-consumer-dogfood.yml",
15
+ "publicConsumerReusable": "kungfu-systems/buildchain/.github/workflows/v4-stage-capsule-canary.yml@v4-alpha"
16
+ },
17
+ "earlierContinuityDelta": {
18
+ "assignment": "2026-08-11-buildchain-next-development-version-continuity",
19
+ "disposition": "no-current-reusable-implementation-evidence",
20
+ "requiredDelta": "implement and re-prove the exact v3 semantics against the live protected v4 head"
21
+ },
22
+ "allowedDispositions": [
23
+ "implemented",
24
+ "superseded-equivalent",
25
+ "missing-before-closeout"
26
+ ],
27
+ "invariants": [
28
+ {
29
+ "id": "ND-01",
30
+ "claim": "The exact v3 planner, controller, projection and recovery authorities are mapped to current v4 files rather than inferred from the earlier continuity family.",
31
+ "disposition": "implemented",
32
+ "implementationEvidence": [
33
+ "architecture/decisions/0002-next-development-transition.md",
34
+ "packages/core/next-development-transition.js",
35
+ "packages/core/next-development-controller.js",
36
+ "packages/core/next-development-projection.js"
37
+ ],
38
+ "verificationEvidence": ["tests/v4-next-development-parity.test.mjs"]
39
+ },
40
+ {
41
+ "id": "ND-02",
42
+ "claim": "Semver automatic planning deterministically advances only the Alpha sequence on the same patch and rejects operator-selected targets.",
43
+ "disposition": "implemented",
44
+ "implementationEvidence": [
45
+ "packages/core/next-development-transition.js",
46
+ "contracts/next-development-transition-v1.schema.json"
47
+ ],
48
+ "verificationEvidence": [
49
+ "tests/next-development-transition.test.mjs",
50
+ "contracts/fixtures/next-development-transition-v1/semver-auto-planned.json"
51
+ ]
52
+ },
53
+ {
54
+ "id": "ND-03",
55
+ "claim": "Anchored manual planning remains waiting until reviewed target and exact read-only manifest digest authority are both supplied.",
56
+ "disposition": "implemented",
57
+ "implementationEvidence": [
58
+ "packages/core/next-development-transition.js",
59
+ "scripts/next-development-transition.mjs"
60
+ ],
61
+ "verificationEvidence": [
62
+ "tests/next-development-transition.test.mjs",
63
+ "tests/next-development-controller.test.mjs",
64
+ "contracts/fixtures/next-development-transition-v1/anchored-manual-waiting.json"
65
+ ]
66
+ },
67
+ {
68
+ "id": "ND-04",
69
+ "claim": "Atomic create-if-absent and compare-and-swap checkpoints create one child per completed Alpha and recover idempotent materialization after runner loss.",
70
+ "disposition": "implemented",
71
+ "implementationEvidence": [
72
+ "packages/core/next-development-controller.js"
73
+ ],
74
+ "verificationEvidence": [
75
+ "tests/next-development-controller.test.mjs",
76
+ "tests/next-development-self-dogfood.test.mjs"
77
+ ]
78
+ },
79
+ {
80
+ "id": "ND-05",
81
+ "claim": "Protected Dev movement supersedes only stale preparation, retries from current readback and preserves completed Alpha identity without rebuilding it.",
82
+ "disposition": "implemented",
83
+ "implementationEvidence": [
84
+ "packages/core/next-development-controller.js",
85
+ "actions/promote-buildchain-ref/internal/promote-alpha-channel.js",
86
+ "actions/promote-buildchain-ref/lib.js"
87
+ ],
88
+ "verificationEvidence": [
89
+ "tests/next-development-controller.test.mjs",
90
+ "tests/promote-buildchain-ref-governance.test.mjs"
91
+ ]
92
+ },
93
+ {
94
+ "id": "ND-06",
95
+ "claim": "A protected version pull request and exact source, derived, ancestry and target-version readback are mandatory before verified state.",
96
+ "disposition": "implemented",
97
+ "implementationEvidence": [
98
+ "packages/core/next-development-controller.js"
99
+ ],
100
+ "verificationEvidence": [
101
+ "tests/next-development-controller.test.mjs",
102
+ "tests/next-development-self-dogfood.test.mjs"
103
+ ]
104
+ },
105
+ {
106
+ "id": "ND-07",
107
+ "claim": "Completed candidates and Alpha publication remain immutable and terminal; next-development exposes no tag, release, package, candidate or ref-update effect.",
108
+ "disposition": "implemented",
109
+ "implementationEvidence": [
110
+ "packages/core/next-development-transition.js",
111
+ "packages/core/next-development-controller.js"
112
+ ],
113
+ "verificationEvidence": [
114
+ "tests/next-development-transition.test.mjs",
115
+ "tests/next-development-self-dogfood.test.mjs"
116
+ ]
117
+ },
118
+ {
119
+ "id": "ND-08",
120
+ "claim": "Candidate Patrol ignores pure version preparation and requires current exact blob reservation readback before later product candidate settlement.",
121
+ "disposition": "implemented",
122
+ "implementationEvidence": [
123
+ "packages/core/next-development-candidate-reservation.js",
124
+ "packages/core/channel-promotion-baseline.js",
125
+ "scripts/dev-alpha-candidate-patrol.mjs"
126
+ ],
127
+ "verificationEvidence": ["tests/dev-alpha-candidate-patrol.test.mjs"]
128
+ },
129
+ {
130
+ "id": "ND-09",
131
+ "claim": "The public CLI, Node exports, schemas, init and Paper templates, generated Agent guidance and manual all project one contract source.",
132
+ "disposition": "implemented",
133
+ "implementationEvidence": [
134
+ "bin/buildchain.mjs",
135
+ "bin/internal/command-registry.mjs",
136
+ "scripts/next-development-transition.mjs",
137
+ "package.json",
138
+ "contracts/next-development-request-v1.schema.json",
139
+ "contracts/next-development-transition-v1.schema.json",
140
+ "scripts/init-repo.mjs",
141
+ "packages/core/paper.js",
142
+ "packages/core/paper-agent-entry.js",
143
+ "packages/core/next-development-projection.js"
144
+ ],
145
+ "verificationEvidence": [
146
+ "tests/next-development-transition.test.mjs",
147
+ "tests/v4-next-development-parity.test.mjs"
148
+ ]
149
+ },
150
+ {
151
+ "id": "ND-10",
152
+ "claim": "V4 recovery proof runs as pure tests through the standard lifecycle.verify reached by the exact thin public consumer caller, while existing hosted dual-channel evidence keeps public v4-alpha and v4 routes.",
153
+ "disposition": "implemented",
154
+ "implementationEvidence": [
155
+ ".github/workflows/v4-public-consumer-dogfood.yml",
156
+ ".github/workflows/buildchain-alpha-self-dogfood.yml",
157
+ ".buildchain/buildchain.toml",
158
+ "scripts/next-development-self-dogfood.mjs",
159
+ "scripts/next-development-self-dogfood-harness.mjs"
160
+ ],
161
+ "verificationEvidence": [
162
+ "tests/next-development-self-dogfood.test.mjs",
163
+ "tests/v4-public-dogfood-contract.test.mjs"
164
+ ]
165
+ },
166
+ {
167
+ "id": "ND-11",
168
+ "claim": "Architecture inventory, capability metadata, generated references and site facts expose the current v4 next-development contract without stale generated output.",
169
+ "disposition": "implemented",
170
+ "implementationEvidence": [
171
+ "architecture/v3-core-mechanism-inventory.json",
172
+ "architecture/v4-capability-state-machine-manifest.json",
173
+ "scripts/check-inventory.mjs",
174
+ "scripts/site-capability-metadata.mjs",
175
+ "scripts/generate-site-bundle.mjs"
176
+ ],
177
+ "verificationEvidence": [
178
+ "tests/core-mechanism-inventory.test.mjs",
179
+ "tests/v4-architecture.test.mjs",
180
+ "tests/v4-next-development-parity.test.mjs"
181
+ ]
182
+ },
183
+ {
184
+ "id": "ND-12",
185
+ "claim": "Independent review, protected merge into dev/v4/v4.0 and exact post-merge containment and readback are required external closeout evidence and cannot be inferred from local green tests.",
186
+ "disposition": "missing-before-closeout",
187
+ "implementationEvidence": [],
188
+ "verificationEvidence": []
189
+ }
190
+ ],
191
+ "matrixRoot": "sha256:0f0d69dd338cad33dc61870675cbedb8664e019e403f73a1ddcf8471d69df405"
192
+ }
@@ -0,0 +1,84 @@
1
+ {
2
+ "schema": "buildchain.v4.publication-rehearsal-parity/v1",
3
+ "source": {
4
+ "branch": "dev/v3/v3.0",
5
+ "commit": "6b96bdad8d9f8ccf9275f27d9370a226a9c78465",
6
+ "runtime": "packages/core/publication-rehearsal-runtime.js"
7
+ },
8
+ "target": {
9
+ "branch": "dev/v4/v4.0",
10
+ "commit": "bc12cd0ff18a7e1d918777ea093c169349952d34",
11
+ "capsuleContract": "packages/core/v4-publication-rehearsal-capsule.js",
12
+ "runtime": "packages/core/v4-publication-rehearsal.js",
13
+ "providerBindings": "packages/core/v4-publication-rehearsal-provider-bindings.js"
14
+ },
15
+ "sharedProductionCore": {
16
+ "planner": "compileReleaseTailDeclaration",
17
+ "initializer": "createReleaseTailTransaction",
18
+ "executor": "executeReleaseTailTransaction",
19
+ "version": "buildchain.release-tail/v1"
20
+ },
21
+ "stageCapsuleBoundary": {
22
+ "contract": "buildchain-v4-stage-capsule/v1",
23
+ "purpose": "pure platform-stage build checkpoint reuse",
24
+ "publicationEffects": false,
25
+ "publicationAuthority": false
26
+ },
27
+ "matrix": [
28
+ {
29
+ "invariant": "capsule-purpose",
30
+ "v3": "publication rehearsal",
31
+ "v4": "publication rehearsal distinct from Stage Capsule",
32
+ "parity": "safety-strengthened"
33
+ },
34
+ {
35
+ "invariant": "content-addressed-inputs",
36
+ "v3": "capsule, declaration, transaction, files, data-only provider bindings, policy and observations",
37
+ "v4": "capsule, source, candidate, manifest, config, provider bindings, provider policy, expected observations and core version",
38
+ "parity": "safety-strengthened"
39
+ },
40
+ {
41
+ "invariant": "provider-request-binding",
42
+ "v3": "provider binding payload is capsule-rooted and every input path is in files",
43
+ "v4": "providerBindingsRoot covers canonical bindings and every request byte is inventory-rooted before adapters",
44
+ "parity": "exact"
45
+ },
46
+ {
47
+ "invariant": "shared-release-tail-core",
48
+ "v3": "shared planner and executor",
49
+ "v4": "same production planner, initializer and executor",
50
+ "parity": "exact"
51
+ },
52
+ {
53
+ "invariant": "effect-default",
54
+ "v3": "simulate and replay local defaults",
55
+ "v4": "provider policy is rooted and effect-disabled by default",
56
+ "parity": "safety-strengthened"
57
+ },
58
+ {
59
+ "invariant": "authorized-provider-rehearsal",
60
+ "v3": "provider observations are recorded without authority",
61
+ "v4": "exact capsule-bound rehearsal-only authority plus request and readback transcript",
62
+ "parity": "safety-strengthened"
63
+ },
64
+ {
65
+ "invariant": "release-authority",
66
+ "v3": "externalPublicationClaimed false",
67
+ "v4": "productionAuthority false and releasePassport null",
68
+ "parity": "exact"
69
+ },
70
+ {
71
+ "invariant": "tamper-response",
72
+ "v3": "capsule and file mismatch fail closed",
73
+ "v4": "every named identity root and core version mismatch fails closed",
74
+ "parity": "safety-strengthened"
75
+ },
76
+ {
77
+ "invariant": "portability",
78
+ "v3": "platform-independent local capsule root",
79
+ "v4": "byte-identical offline linux, macos and windows vector",
80
+ "parity": "exact"
81
+ }
82
+ ],
83
+ "matrixRoot": "sha256:521694ce2cc1d5b383eaa6b84f1b6926ef8ce8f33085e02507e611e9f9b6e784"
84
+ }
@@ -26,6 +26,7 @@
26
26
  {
27
27
  "path": "tests/dev-alpha-candidate-patrol.test.mjs",
28
28
  "count": 37,
29
+ "targetAdditionalCount": 4,
29
30
  "result": "exact"
30
31
  },
31
32
  {
@@ -0,0 +1,150 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "contract": "kungfu-buildchain-v4-tail-reseal-parity",
4
+ "sourceAuthority": {
5
+ "branch": "dev/v3/v3.0",
6
+ "capturedCommit": "6b96bdad8d9f8ccf9275f27d9370a226a9c78465",
7
+ "implementation": "scripts/release-candidate-tail-reseal.mjs",
8
+ "workflow": ".github/workflows/.build.yml",
9
+ "tests": "tests/release-candidate-tail-reseal.test.mjs"
10
+ },
11
+ "target": {
12
+ "branch": "dev/v4/v4.0",
13
+ "publicReusableWorkflow": "kungfu-systems/buildchain/.github/workflows/v4-tail-reseal.yml@v4-alpha",
14
+ "requestSchema": "contracts/v4-tail-reseal-v1.schema.json",
15
+ "planner": "packages/core/v4-tail-reseal.js",
16
+ "admission": "packages/core/v4-tail-reseal-github.js",
17
+ "receipt": "packages/core/v4-tail-reseal-receipt.js",
18
+ "cli": "buildchain tail-reseal"
19
+ },
20
+ "authority": {
21
+ "productionAuthority": "v4",
22
+ "stageCapsuleEffectAuthority": "none",
23
+ "signingAuthority": "explicit-live-release-tail",
24
+ "credentialAuthority": "lease-bound-secret-island",
25
+ "runtimePersistence": "floating-only",
26
+ "v3BehaviorChange": false
27
+ },
28
+ "allowedDispositions": [
29
+ "implemented",
30
+ "superseded-equivalent",
31
+ "missing-before-closeout"
32
+ ],
33
+ "invariants": [
34
+ {
35
+ "id": "TR-01",
36
+ "claim": "The exact captured v3 retained-candidate script, workflow and tests are rooted as parity authority.",
37
+ "disposition": "implemented",
38
+ "implementationEvidence": ["architecture/v4-tail-reseal-parity.json"],
39
+ "verificationEvidence": ["tests/v4-tail-reseal-parity.test.mjs"]
40
+ },
41
+ {
42
+ "id": "TR-02",
43
+ "claim": "One exact failed run binds four byte-addressed platform payloads, manifests, archives and Stage Capsules.",
44
+ "disposition": "implemented",
45
+ "implementationEvidence": [
46
+ "contracts/v4-tail-reseal-v1.schema.json",
47
+ "packages/core/v4-tail-reseal-github.js"
48
+ ],
49
+ "verificationEvidence": [
50
+ "contracts/fixtures/v4-tail-reseal-v1/valid.json",
51
+ "tests/v4-tail-reseal.test.mjs"
52
+ ]
53
+ },
54
+ {
55
+ "id": "TR-03",
56
+ "claim": "A fresh runner downloads retained archives and verifies every manifest and payload byte before any tail effect.",
57
+ "disposition": "implemented",
58
+ "implementationEvidence": [
59
+ "scripts/v4-tail-reseal.mjs",
60
+ ".github/workflows/v4-tail-reseal.yml"
61
+ ],
62
+ "verificationEvidence": ["tests/v4-tail-reseal.test.mjs"]
63
+ },
64
+ {
65
+ "id": "TR-04",
66
+ "claim": "Install, build, verify, package and platform-matrix remain explicitly skipped under effect-free Stage Capsule reuse.",
67
+ "disposition": "implemented",
68
+ "implementationEvidence": ["packages/core/v4-tail-reseal.js"],
69
+ "verificationEvidence": ["tests/v4-tail-reseal.test.mjs"]
70
+ },
71
+ {
72
+ "id": "TR-05",
73
+ "claim": "Only macOS signing-finalization may change bytes; every other platform stays byte-identical and provider-effect-free.",
74
+ "disposition": "implemented",
75
+ "implementationEvidence": [
76
+ "packages/core/v4-tail-reseal-receipt.js",
77
+ "scripts/v4-tail-reseal.mjs"
78
+ ],
79
+ "verificationEvidence": ["tests/v4-tail-reseal.test.mjs"]
80
+ },
81
+ {
82
+ "id": "TR-06",
83
+ "claim": "The macOS effect is fenced by exact Warrant lineage, credential authority, release-tail transaction and idempotency key.",
84
+ "disposition": "implemented",
85
+ "implementationEvidence": [
86
+ "packages/core/v4-tail-reseal.js",
87
+ ".github/workflows/v4-tail-reseal.yml"
88
+ ],
89
+ "verificationEvidence": ["tests/v4-tail-reseal.test.mjs"]
90
+ },
91
+ {
92
+ "id": "TR-07",
93
+ "claim": "Source, platform, archive, manifest, signer, Warrant, credential, retention and prior-failure drift fails closed.",
94
+ "disposition": "implemented",
95
+ "implementationEvidence": [
96
+ "packages/core/v4-tail-reseal.js",
97
+ "packages/core/v4-tail-reseal-github.js"
98
+ ],
99
+ "verificationEvidence": ["tests/v4-tail-reseal.test.mjs"]
100
+ },
101
+ {
102
+ "id": "TR-08",
103
+ "claim": "Expired retention or credential leases invalidate reuse and require a normal candidate rebuild.",
104
+ "disposition": "implemented",
105
+ "implementationEvidence": ["packages/core/v4-tail-reseal.js"],
106
+ "verificationEvidence": ["tests/v4-tail-reseal.test.mjs"]
107
+ },
108
+ {
109
+ "id": "TR-09",
110
+ "claim": "Successful reseal emits the ordinary v4 Release Candidate Passport with its original floating-consumer policy receipt.",
111
+ "disposition": "implemented",
112
+ "implementationEvidence": [
113
+ "packages/core/v4-tail-reseal-receipt.js",
114
+ ".github/workflows/v4-tail-reseal.yml"
115
+ ],
116
+ "verificationEvidence": ["tests/v4-tail-reseal.test.mjs"]
117
+ },
118
+ {
119
+ "id": "TR-10",
120
+ "claim": "The reusable workflow resolves job.workflow_sha as runtime evidence and exposes no persisted SHA, variable indirection or private self-dogfood path.",
121
+ "disposition": "implemented",
122
+ "implementationEvidence": [".github/workflows/v4-tail-reseal.yml"],
123
+ "verificationEvidence": ["tests/v4-tail-reseal-parity.test.mjs"]
124
+ },
125
+ {
126
+ "id": "TR-11",
127
+ "claim": "Node API, CLI, schema, deterministic fixture, generated references and macOS bounded qualification project one contract.",
128
+ "disposition": "implemented",
129
+ "implementationEvidence": [
130
+ "package.json",
131
+ "bin/buildchain.mjs",
132
+ "scripts/v4-tail-reseal.mjs",
133
+ "docs/v4-tail-reseal.md"
134
+ ],
135
+ "verificationEvidence": [
136
+ "tests/command-registry.test.mjs",
137
+ "tests/v4-tail-reseal.test.mjs",
138
+ "tests/v4-tail-reseal-parity.test.mjs"
139
+ ]
140
+ },
141
+ {
142
+ "id": "TR-12",
143
+ "claim": "Independent review, protected merge and exact post-merge public readback remain external closeout evidence.",
144
+ "disposition": "missing-before-closeout",
145
+ "implementationEvidence": [],
146
+ "verificationEvidence": []
147
+ }
148
+ ],
149
+ "matrixRoot": "sha256:126ec51c12a9dedeb9b9e187202781e3895856af1927b399ba3902f3940750ad"
150
+ }