@kungfu-tech/buildchain 4.0.1-alpha.4 → 4.0.1-alpha.41

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 (172) 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/internal-capabilities.json +117 -8
  5. package/architecture/maintainability-policy.json +43 -25
  6. package/architecture/release-tail-contract-inventory.json +5 -2
  7. package/architecture/v3-core-mechanism-inventory.json +89 -0
  8. package/architecture/v4-adopter-delivery-parity.json +32 -5
  9. package/architecture/v4-capability-state-machine-manifest.json +73 -0
  10. package/architecture/v4-compatibility-facts-parity.json +77 -0
  11. package/architecture/v4-floating-consumer-policy.json +6 -0
  12. package/architecture/v4-next-development-parity.json +192 -0
  13. package/architecture/v4-publication-rehearsal-parity.json +84 -0
  14. package/architecture/v4-release-train-parity.json +1 -0
  15. package/architecture/v4-tail-reseal-parity.json +150 -0
  16. package/bin/buildchain.mjs +23 -2
  17. package/bin/internal/adopter-delivery-cli.mjs +70 -0
  18. package/bin/internal/command-registry.mjs +3 -0
  19. package/bin/internal/compatibility-facts-cli.mjs +101 -0
  20. package/contracts/fixtures/next-development-transition-v1/anchored-manual-waiting.json +47 -0
  21. package/contracts/fixtures/next-development-transition-v1/semver-auto-planned.json +47 -0
  22. package/contracts/fixtures/next-development-transition-v1/version-model-cases.json +40 -0
  23. package/contracts/fixtures/v4-adopter-delivery-v1/archive-template.json +19 -0
  24. package/contracts/fixtures/v4-adopter-delivery-v1/bootstrap-positive.json +93 -0
  25. package/contracts/fixtures/v4-adopter-delivery-v1/gate-positive.json +29 -0
  26. package/contracts/fixtures/v4-adopter-delivery-v1/gate-unknown-selector.json +26 -0
  27. package/contracts/fixtures/v4-adopter-delivery-v1/offline-vectors.json +50 -0
  28. package/contracts/fixtures/v4-compatibility-facts-v1/shared.json +1129 -0
  29. package/contracts/fixtures/v4-floating-consumer-policy-v1/cases.json +7 -1
  30. package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/artifacts/product.bin +1 -0
  31. package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/config/buildchain.toml +5 -0
  32. package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/documents/release-activation.json +1 -0
  33. package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/documents/signed-channel.json +1 -0
  34. package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/evidence/qualification.json +1 -0
  35. package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/manifests/candidate.json +5 -0
  36. package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/manifests/release-passport.json +1 -0
  37. package/contracts/fixtures/v4-publication-rehearsal-v1/capsule.json +707 -0
  38. package/contracts/fixtures/v4-publication-rehearsal-v1/offline-vectors.json +27 -0
  39. package/contracts/fixtures/v4-tail-reseal-v1/valid.json +229 -0
  40. package/contracts/next-development-request-v1.schema.json +66 -0
  41. package/contracts/next-development-transition-v1.schema.json +292 -0
  42. package/contracts/v4-adopter-delivery-v1.schema.json +81 -0
  43. package/contracts/v4-compatibility-facts-v1.schema.json +230 -0
  44. package/contracts/v4-floating-consumer-policy-receipt-v1.schema.json +4 -2
  45. package/contracts/v4-publication-rehearsal-capsule-v1.schema.json +233 -0
  46. package/contracts/v4-tail-reseal-v1.schema.json +276 -0
  47. package/dist/site/agent-index.json +4 -0
  48. package/dist/site/artifact-schemas.json +8 -0
  49. package/dist/site/buildchain-contract.json +1393 -28
  50. package/dist/site/buildchain-site.json +477 -32
  51. package/dist/site/capability-registry.json +17 -14
  52. package/dist/site/cli-registry.json +159 -1
  53. package/dist/site/kfd-claims.json +455 -15
  54. package/dist/site/kfd-upstream-aggregate.json +1 -1
  55. package/dist/site/manual-registry.json +53 -7
  56. package/dist/site/node-api-registry.json +14008 -9602
  57. package/dist/site/page-registry.json +442 -21
  58. package/dist/site/public-surface-audit.json +440 -11
  59. package/dist/site/publication-authority-registry.json +44 -8
  60. package/dist/site/publication-registry.json +4 -4
  61. package/dist/site/release-provenance.json +22 -0
  62. package/dist/site/schemas/release-tail-capabilities-v1.schema.json +199 -0
  63. package/dist/site/schemas/v4-adopter-delivery-v1.schema.json +81 -0
  64. package/dist/site/schemas/v4-compatibility-facts-v1.schema.json +230 -0
  65. package/dist/site/schemas/v4-publication-rehearsal-capsule-v1.schema.json +233 -0
  66. package/dist/site/site-manifest.json +35 -11
  67. package/dist/site/workflow-registry.json +142 -8
  68. package/docs/MAP.md +7 -2
  69. package/docs/cli-reference.md +193 -0
  70. package/docs/cli.md +8 -0
  71. package/docs/dev-alpha-candidate-patrol.md +8 -0
  72. package/docs/dev-delivery-warrant.md +22 -1
  73. package/docs/next-development-transition.md +118 -0
  74. package/docs/node-api-reference.md +583 -288
  75. package/docs/release-candidate.md +7 -0
  76. package/docs/release-tail-provider-plane.md +30 -0
  77. package/docs/v4-adopter-delivery.md +133 -0
  78. package/docs/v4-compatibility-facts.md +91 -0
  79. package/docs/v4-publication-rehearsal.md +130 -0
  80. package/docs/v4-tail-reseal.md +73 -0
  81. package/docs/versioning.md +4 -3
  82. package/package.json +30 -6
  83. package/packages/core/adopter-delivery-passport.js +259 -0
  84. package/packages/core/adopter-delivery-vectors.js +158 -0
  85. package/packages/core/adopter-delivery-vectors.json +77 -0
  86. package/packages/core/buildchain-agent-manuals.js +3 -0
  87. package/packages/core/buildchain-compatibility-authority.js +336 -0
  88. package/packages/core/buildchain-compatibility-fact.js +394 -0
  89. package/packages/core/buildchain-compatibility-facts.json +217 -0
  90. package/packages/core/buildchain-compatibility-proof.js +566 -0
  91. package/packages/core/buildchain-config.js +84 -0
  92. package/packages/core/buildchain-contract.js +93 -141
  93. package/packages/core/buildchain-delivery-bootstrap.js +240 -0
  94. package/packages/core/buildchain-delivery-infrastructure.js +164 -0
  95. package/packages/core/buildchain-delivery-self-dogfood.js +395 -0
  96. package/packages/core/buildchain-publication-authority.js +1 -0
  97. package/packages/core/channel-candidate.js +8 -0
  98. package/packages/core/channel-promotion-baseline.js +55 -0
  99. package/packages/core/ci-lane-change-budget.js +247 -0
  100. package/packages/core/dev-alpha-candidate-selection.js +10 -2
  101. package/packages/core/dev-delivery-execution-transfer.js +21 -1
  102. package/packages/core/dev-delivery-native-proof.js +43 -27
  103. package/packages/core/dev-delivery-process-boundary.js +19 -6
  104. package/packages/core/dev-delivery-provider-heartbeat.js +18 -6
  105. package/packages/core/dev-delivery-warrant-settlement.js +234 -2
  106. package/packages/core/dev-delivery-warrant-state.js +46 -10
  107. package/packages/core/dev-delivery-warrant.js +16 -3
  108. package/packages/core/github-governance-authority.js +1 -0
  109. package/packages/core/index.js +5 -0
  110. package/packages/core/kungfu-temporal-fact.js +557 -0
  111. package/packages/core/legacy-kfd-adopter-driver.js +167 -0
  112. package/packages/core/next-development-candidate-reservation.js +186 -0
  113. package/packages/core/next-development-controller.js +728 -0
  114. package/packages/core/next-development-projection.js +287 -0
  115. package/packages/core/next-development-transition.js +738 -0
  116. package/packages/core/paper-agent-entry.js +11 -5
  117. package/packages/core/paper.js +16 -5
  118. package/packages/core/published-delivery-authority.js +266 -0
  119. package/packages/core/release-candidate-recovery.js +70 -15
  120. package/packages/core/release-candidate.js +2 -2
  121. package/packages/core/release-passport.js +36 -9
  122. package/packages/core/v4-adopter-delivery-parity.js +3 -3
  123. package/packages/core/v4-adopter-delivery.js +359 -0
  124. package/packages/core/v4-canonical-contracts.js +5 -0
  125. package/packages/core/v4-delivery-warrant-read-candidate.js +10 -3
  126. package/packages/core/v4-floating-consumer-evidence.js +18 -4
  127. package/packages/core/v4-floating-consumer-policy.js +143 -20
  128. package/packages/core/v4-floating-consumer-release-passport.js +35 -8
  129. package/packages/core/v4-publication-rehearsal-capsule.js +468 -0
  130. package/packages/core/v4-publication-rehearsal-provider-bindings.js +212 -0
  131. package/packages/core/v4-publication-rehearsal.js +481 -0
  132. package/packages/core/v4-tail-reseal-contract.js +26 -0
  133. package/packages/core/v4-tail-reseal-github.js +178 -0
  134. package/packages/core/v4-tail-reseal-receipt.js +225 -0
  135. package/packages/core/v4-tail-reseal.js +594 -0
  136. package/packages/core/workflow-yaml-contract.js +24 -2
  137. package/scripts/artifact-signing-controller-core.mjs +1 -1
  138. package/scripts/buildchain-cli-help.mjs +30 -0
  139. package/scripts/check-ci-lane-change-budget.mjs +100 -0
  140. package/scripts/check-inventory.mjs +14 -3
  141. package/scripts/check-project-cut-merge-queue-admission.mjs +87 -0
  142. package/scripts/check-v4-floating-consumer-policy-contract.mjs +23 -4
  143. package/scripts/dev-alpha-candidate-patrol.mjs +22 -1
  144. package/scripts/dev-delivery-source-proof-replay.mjs +153 -0
  145. package/scripts/dev-delivery-source-proof-reuse.mjs +13 -97
  146. package/scripts/dev-delivery-warrant-options.mjs +27 -11
  147. package/scripts/dev-delivery-warrant-store.mjs +10 -6
  148. package/scripts/dev-delivery-warrant.mjs +50 -6
  149. package/scripts/dev-pr-auto-merge.mjs +25 -11
  150. package/scripts/dev-pr-delivery-warrant.mjs +45 -0
  151. package/scripts/dev-pr-prequeue-guard.mjs +0 -18
  152. package/scripts/dev-qualification-patrol.mjs +9 -9
  153. package/scripts/dispatch-artifact-signing-authority.mjs +1 -1
  154. package/scripts/generate-channel-promotion-workflow.mjs +2 -2
  155. package/scripts/generate-next-development-guidance.mjs +49 -0
  156. package/scripts/generate-release-candidate-passport.mjs +152 -0
  157. package/scripts/generate-site-bundle.mjs +46 -3
  158. package/scripts/init-repo.mjs +22 -4
  159. package/scripts/next-development-self-dogfood-harness.mjs +460 -0
  160. package/scripts/next-development-self-dogfood.mjs +597 -0
  161. package/scripts/next-development-transition.mjs +47 -0
  162. package/scripts/project-cut-merge-queue-admission.mjs +394 -0
  163. package/scripts/promotion-channel-router.mjs +4 -4
  164. package/scripts/release-candidate-anchor-provenance.mjs +99 -0
  165. package/scripts/release-tail.mjs +51 -3
  166. package/scripts/resume-from-candidate-run.mjs +595 -65
  167. package/scripts/site-capability-metadata.mjs +29 -0
  168. package/scripts/stable-candidate-qualification.mjs +9 -10
  169. package/scripts/v4-consumer-policy.mjs +5 -5
  170. package/scripts/v4-publication-rehearsal-fixture.mjs +144 -0
  171. package/scripts/v4-tail-reseal-macos-rehearsal.mjs +134 -0
  172. package/scripts/v4-tail-reseal.mjs +416 -0
@@ -1572,6 +1572,27 @@
1572
1572
  "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
1573
1573
  "nonDuplicationRationale": "Existing workflow identity retained for caller compatibility and repository orchestration."
1574
1574
  },
1575
+ {
1576
+ "id": "buildchain-ref-promotion-recovery",
1577
+ "path": ".github/workflows/buildchain-ref-promotion-recovery.yml",
1578
+ "reusable": false,
1579
+ "inputs": [],
1580
+ "inputCount": 0,
1581
+ "secrets": [],
1582
+ "secretCount": 0,
1583
+ "outputs": [],
1584
+ "outputCount": 0,
1585
+ "surface": "repository-workflow",
1586
+ "capabilityGroup": "api-cli-reference",
1587
+ "status": "active",
1588
+ "owner": "buildchain-workflows",
1589
+ "maturity": "active",
1590
+ "introducedVersion": "pre-3.0.2-alpha.4",
1591
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
1592
+ "deprecationReplacement": "",
1593
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
1594
+ "nonDuplicationRationale": "Existing workflow identity retained for caller compatibility and repository orchestration."
1595
+ },
1575
1596
  {
1576
1597
  "id": "buildchain-ref-promotion",
1577
1598
  "path": ".github/workflows/buildchain-ref-promotion.yml",
@@ -2006,7 +2027,7 @@
2006
2027
  "status": "preview",
2007
2028
  "owner": "buildchain-workflows",
2008
2029
  "maturity": "preview",
2009
- "introducedVersion": "4.0.1-alpha.4",
2030
+ "introducedVersion": "4.0.1-alpha.41",
2010
2031
  "compatibilityPromise": "preserved-through-the-v3-major-line",
2011
2032
  "deprecationReplacement": "",
2012
2033
  "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
@@ -2027,7 +2048,7 @@
2027
2048
  "status": "preview",
2028
2049
  "owner": "buildchain-workflows",
2029
2050
  "maturity": "preview",
2030
- "introducedVersion": "4.0.1-alpha.4",
2051
+ "introducedVersion": "4.0.1-alpha.41",
2031
2052
  "compatibilityPromise": "preserved-through-the-v3-major-line",
2032
2053
  "deprecationReplacement": "",
2033
2054
  "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
@@ -2048,7 +2069,7 @@
2048
2069
  "status": "preview",
2049
2070
  "owner": "buildchain-workflows",
2050
2071
  "maturity": "preview",
2051
- "introducedVersion": "4.0.1-alpha.4",
2072
+ "introducedVersion": "4.0.1-alpha.41",
2052
2073
  "compatibilityPromise": "preserved-through-the-v3-major-line",
2053
2074
  "deprecationReplacement": "",
2054
2075
  "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
@@ -2098,7 +2119,7 @@
2098
2119
  "status": "preview",
2099
2120
  "owner": "buildchain-workflows",
2100
2121
  "maturity": "preview",
2101
- "introducedVersion": "4.0.1-alpha.4",
2122
+ "introducedVersion": "4.0.1-alpha.41",
2102
2123
  "compatibilityPromise": "preserved-through-the-v3-major-line",
2103
2124
  "deprecationReplacement": "",
2104
2125
  "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
@@ -2842,22 +2863,28 @@
2842
2863
  "reusable": true,
2843
2864
  "inputs": [
2844
2865
  "buildchain-ref",
2866
+ "candidate-root",
2845
2867
  "declaration-path",
2846
2868
  "execute",
2847
2869
  "provider-bindings-path",
2870
+ "rehearsal-authority-path",
2871
+ "rehearsal-capsule-path",
2872
+ "rehearsal-evidence-path",
2873
+ "rehearsal-mode",
2848
2874
  "state-path"
2849
2875
  ],
2850
- "inputCount": 5,
2876
+ "inputCount": 10,
2851
2877
  "secrets": [
2852
2878
  "http-token"
2853
2879
  ],
2854
2880
  "secretCount": 1,
2855
2881
  "outputs": [
2882
+ "rehearsal-evidence-root",
2856
2883
  "state-root",
2857
2884
  "transaction-root",
2858
2885
  "transaction-state"
2859
2886
  ],
2860
- "outputCount": 3,
2887
+ "outputCount": 4,
2861
2888
  "surface": "release-tail-provider-plane",
2862
2889
  "capabilityGroup": "release-passport-trust",
2863
2890
  "status": "active",
@@ -2980,6 +3007,54 @@
2980
3007
  "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
2981
3008
  "nonDuplicationRationale": "Existing workflow identity retained for caller compatibility and repository orchestration."
2982
3009
  },
3010
+ {
3011
+ "id": "v4-adopter-delivery-dogfood",
3012
+ "path": ".github/workflows/v4-adopter-delivery-dogfood.yml",
3013
+ "reusable": false,
3014
+ "inputs": [],
3015
+ "inputCount": 0,
3016
+ "secrets": [],
3017
+ "secretCount": 0,
3018
+ "outputs": [],
3019
+ "outputCount": 0,
3020
+ "surface": "repository-workflow",
3021
+ "capabilityGroup": "api-cli-reference",
3022
+ "status": "active",
3023
+ "owner": "buildchain-workflows",
3024
+ "maturity": "active",
3025
+ "introducedVersion": "pre-3.0.2-alpha.4",
3026
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
3027
+ "deprecationReplacement": "",
3028
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
3029
+ "nonDuplicationRationale": "Existing workflow identity retained for caller compatibility and repository orchestration."
3030
+ },
3031
+ {
3032
+ "id": "v4-adopter-delivery",
3033
+ "path": ".github/workflows/v4-adopter-delivery.yml",
3034
+ "reusable": true,
3035
+ "inputs": [
3036
+ "archive-path",
3037
+ "bootstrap-path",
3038
+ "consumer",
3039
+ "input-path",
3040
+ "node-version"
3041
+ ],
3042
+ "inputCount": 5,
3043
+ "secrets": [],
3044
+ "secretCount": 0,
3045
+ "outputs": [],
3046
+ "outputCount": 0,
3047
+ "surface": "repository-workflow",
3048
+ "capabilityGroup": "api-cli-reference",
3049
+ "status": "active",
3050
+ "owner": "buildchain-workflows",
3051
+ "maturity": "active",
3052
+ "introducedVersion": "pre-3.0.2-alpha.4",
3053
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
3054
+ "deprecationReplacement": "",
3055
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
3056
+ "nonDuplicationRationale": "Existing workflow identity retained for caller compatibility and repository orchestration."
3057
+ },
2983
3058
  {
2984
3059
  "id": "v4-public-consumer-dogfood",
2985
3060
  "path": ".github/workflows/v4-public-consumer-dogfood.yml",
@@ -3001,6 +3076,27 @@
3001
3076
  "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
3002
3077
  "nonDuplicationRationale": "Existing workflow identity retained for caller compatibility and repository orchestration."
3003
3078
  },
3079
+ {
3080
+ "id": "v4-publication-rehearsal-dogfood",
3081
+ "path": ".github/workflows/v4-publication-rehearsal-dogfood.yml",
3082
+ "reusable": false,
3083
+ "inputs": [],
3084
+ "inputCount": 0,
3085
+ "secrets": [],
3086
+ "secretCount": 0,
3087
+ "outputs": [],
3088
+ "outputCount": 0,
3089
+ "surface": "repository-workflow",
3090
+ "capabilityGroup": "api-cli-reference",
3091
+ "status": "active",
3092
+ "owner": "buildchain-workflows",
3093
+ "maturity": "active",
3094
+ "introducedVersion": "pre-3.0.2-alpha.4",
3095
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
3096
+ "deprecationReplacement": "",
3097
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
3098
+ "nonDuplicationRationale": "Existing workflow identity retained for caller compatibility and repository orchestration."
3099
+ },
3004
3100
  {
3005
3101
  "id": "v4-stage-capsule-canary",
3006
3102
  "path": ".github/workflows/v4-stage-capsule-canary.yml",
@@ -3029,6 +3125,38 @@
3029
3125
  "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
3030
3126
  "nonDuplicationRationale": "Existing workflow identity retained for caller compatibility and repository orchestration."
3031
3127
  },
3128
+ {
3129
+ "id": "v4-tail-reseal",
3130
+ "path": ".github/workflows/v4-tail-reseal.yml",
3131
+ "reusable": true,
3132
+ "inputs": [
3133
+ "artifact-retention-days",
3134
+ "consumer-policy-receipt-json",
3135
+ "macos-finalization-command",
3136
+ "request-json"
3137
+ ],
3138
+ "inputCount": 4,
3139
+ "secrets": [
3140
+ "BUILDCHAIN_EVIDENCE_READ_TOKEN",
3141
+ "BUILDCHAIN_SIGNING_TOKEN"
3142
+ ],
3143
+ "secretCount": 2,
3144
+ "outputs": [
3145
+ "release-candidate-passport-json",
3146
+ "tail-reseal-receipt-root"
3147
+ ],
3148
+ "outputCount": 2,
3149
+ "surface": "repository-workflow",
3150
+ "capabilityGroup": "api-cli-reference",
3151
+ "status": "active",
3152
+ "owner": "buildchain-workflows",
3153
+ "maturity": "active",
3154
+ "introducedVersion": "pre-3.0.2-alpha.4",
3155
+ "compatibilityPromise": "preserved-through-the-v3-major-line",
3156
+ "deprecationReplacement": "",
3157
+ "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
3158
+ "nonDuplicationRationale": "Existing workflow identity retained for caller compatibility and repository orchestration."
3159
+ },
3032
3160
  {
3033
3161
  "id": "verify",
3034
3162
  "path": ".github/workflows/verify.yml",
@@ -3193,6 +3321,7 @@
3193
3321
  "release-passport-promotion-routing-json",
3194
3322
  "release-passport-v4-consumer-policy-certification-json",
3195
3323
  "release-passport-v4-consumer-policy-certification-root",
3324
+ "release-passport-v4-runtime-resume-evidence-command",
3196
3325
  "release-passport-v4-runtime-resume-evidence-json",
3197
3326
  "release-tail-state-path",
3198
3327
  "require-governance",
@@ -3207,7 +3336,7 @@
3207
3336
  "transaction-state-path",
3208
3337
  "verification-command"
3209
3338
  ],
3210
- "inputCount": 83,
3339
+ "inputCount": 84,
3211
3340
  "capabilityGroup": "release-passport-trust",
3212
3341
  "status": "active",
3213
3342
  "owner": "buildchain-actions",
@@ -3222,14 +3351,19 @@
3222
3351
  "id": "release-tail",
3223
3352
  "path": "actions/release-tail/action.yml",
3224
3353
  "inputs": [
3354
+ "candidate-root",
3225
3355
  "declaration",
3226
3356
  "execute",
3227
3357
  "github-token",
3228
3358
  "http-token",
3229
3359
  "provider-bindings",
3360
+ "rehearsal-authority",
3361
+ "rehearsal-capsule",
3362
+ "rehearsal-evidence-path",
3363
+ "rehearsal-mode",
3230
3364
  "state-path"
3231
3365
  ],
3232
- "inputCount": 6,
3366
+ "inputCount": 11,
3233
3367
  "capabilityGroup": "release-passport-trust",
3234
3368
  "status": "active",
3235
3369
  "owner": "buildchain-actions",
package/docs/MAP.md CHANGED
@@ -59,14 +59,14 @@ workflow, action, and Node API export also carries a `capabilityGroup`,
59
59
  | Capability group | Primary facts | Primary manuals |
60
60
  | --- | --- | --- |
61
61
  | Getting Started | `capability-registry.json`, `product-mechanism.json` | [`getting-started.md`](getting-started.md), [`install.md`](install.md), [`product-mechanism.md`](product-mechanism.md), [`cli.md`](cli.md) |
62
- | Release Passport and Trust | `release-model.json`, `artifact-schemas.json`, `publication-authority-registry.json`, `kfd-claims.json` | [`release-passport.md`](release-passport.md), [`github-artifact-attestation.md`](github-artifact-attestation.md), [`publication-authority.md`](publication-authority.md), [`release-candidate.md`](release-candidate.md), [`release-train.md`](release-train.md), [`publish-transaction.md`](publish-transaction.md), [`release-tail-contract.md`](release-tail-contract.md), [`binary-distribution.md`](binary-distribution.md) |
62
+ | Release Passport and Trust | `release-model.json`, `artifact-schemas.json`, `publication-authority-registry.json`, `kfd-claims.json` | [`release-passport.md`](release-passport.md), [`github-artifact-attestation.md`](github-artifact-attestation.md), [`publication-authority.md`](publication-authority.md), [`release-candidate.md`](release-candidate.md), [`release-train.md`](release-train.md), [`publish-transaction.md`](publish-transaction.md), [`release-tail-contract.md`](release-tail-contract.md), [`v4-publication-rehearsal.md`](v4-publication-rehearsal.md), [`binary-distribution.md`](binary-distribution.md) |
63
63
  | Reusable Build and Lifecycle | `workflow-registry.json`, `controller-registry.json`, `release-model.json` | [`reusable-build-surface.md`](reusable-build-surface.md), [`controller-evidence.md`](controller-evidence.md), [`shifu-gate-profiles.md`](shifu-gate-profiles.md), [`lifecycle-protocol.md`](lifecycle-protocol.md) |
64
64
  | KFD Trust and Surface Closure | `kfd-claims.json`, `public-surface-audit.json`, `cli-registry.json`, `node-api-registry.json` | [`kfd-support.md`](kfd-support.md), [`release-passport.md`](release-passport.md) |
65
65
  | Site Bundle, Web Surfaces, and Propagation | `buildchain-site.json`, `site-manifest.json`, `page-registry.json`, `release-model.json` | [`site-bundle-contract.md`](site-bundle-contract.md), [`web-surface-deployments.md`](web-surface-deployments.md), [`release-propagation.md`](release-propagation.md) |
66
66
  | Publication Artifacts | `publication-registry.json`, `workflow-registry.json`, `node-api-registry.json`, `manual-registry.json`, `kungfu-buildchain-publication-artifact-registry` | [`publication-artifacts.md`](publication-artifacts.md), [`reusable-build-surface.md`](reusable-build-surface.md) |
67
67
  | Distribution Indexes and Badges | `badge-endpoint-registry.json`, `node-api-registry.json`, `manual-registry.json` | [`readme-badges.md`](readme-badges.md), [`homebrew.md`](homebrew.md) |
68
68
  | Build Facts, Observability, and Diagnostics | `cli-registry.json`, `node-api-registry.json`, lifecycle artifacts | [`build-facts.md`](build-facts.md), [`toolkit-observability.md`](toolkit-observability.md), [`consumer-issue-reporting.md`](consumer-issue-reporting.md) |
69
- | Governance, Versioning, and Runtime Drift | `buildchain-contract.json`, `workflow-registry.json`, `release-model.json` | [`github-governance-authority.md`](github-governance-authority.md), [`release-governance.md`](release-governance.md), [`release-flow.md`](release-flow.md), [`versioning.md`](versioning.md), [`runtime-train-validation.md`](runtime-train-validation.md), [`cli.md`](cli.md) |
69
+ | Governance, Versioning, and Runtime Drift | `buildchain-contract.json`, `workflow-registry.json`, `release-model.json`, `schemas/v4-compatibility-facts-v1.schema.json` | [`v4-compatibility-facts.md`](v4-compatibility-facts.md), [`github-governance-authority.md`](github-governance-authority.md), [`release-governance.md`](release-governance.md), [`release-flow.md`](release-flow.md), [`next-development-transition.md`](next-development-transition.md), [`versioning.md`](versioning.md), [`runtime-train-validation.md`](runtime-train-validation.md), [`cli.md`](cli.md) |
70
70
  | CLI and Node API Reference | `cli-registry.json`, `node-api-registry.json`, `workflow-registry.json`, `manual-registry.json` | [`cli-reference.md`](cli-reference.md), [`node-api-reference.md`](node-api-reference.md), [`cli.md`](cli.md), [`../packages/core/README.md`](../packages/core/README.md) |
71
71
 
72
72
  | Capability | Machine-readable entry | Manual entry |
@@ -80,6 +80,7 @@ workflow, action, and Node API export also carries a `capabilityGroup`,
80
80
  | KFD-1 / KFD-2 / KFD-3 first-class CLI and Node API | `.buildchain/kfd/kfd-3/surfaces.json`, `dist/site/kfd-claims.json`, `buildchain.release.json`, KFD schemas from `@kungfu-tech/kfd` | [`kfd-support.md`](kfd-support.md), [`cli.md`](cli.md#commands) |
81
81
  | Declarative KFD Agent Hub adapter conformance and Passport evidence | `.buildchain/kfd/agent-hub.json`, `.buildchain/artifacts/kfd-agent-hub/evidence.json`, `buildchain.release.json#kfdAgentHub` | [`kfd-agent-hub.md`](kfd-agent-hub.md) |
82
82
  | Floating `@v3` drift detection and compatibility issues | `dist/site/buildchain-contract.json` | [`reusable-build-surface.md`](reusable-build-surface.md#floating-ref-contract-lock) |
83
+ | Directional, Cut-bound v4 contract compatibility and legacy digest projections | `dist/site/buildchain-contract.json`, `dist/site/schemas/v4-compatibility-facts-v1.schema.json` | [`v4-compatibility-facts.md`](v4-compatibility-facts.md) |
83
84
  | npm publish transactions, evidence, dist-tags, and recovery | `dist/site/release-model.json`, `dist/site/artifact-schemas.json` | [`publish-transaction.md`](publish-transaction.md) |
84
85
  | Git/source/version/module/product build facts | `dist/site/node-api-registry.json`, `dist/site/cli-registry.json`, `kungfu-buildchain-module-build-facts`, `kungfu-buildchain-product-build-facts` | [`build-facts.md`](build-facts.md) |
85
86
  | GitHub Release passport/evidence publication | `dist/site/release-model.json`, `dist/site/artifact-schemas.json` | [`release-governance.md`](release-governance.md), [`release-candidate.md`](release-candidate.md) |
@@ -113,7 +114,9 @@ replace them.
113
114
  | How will Delivery Warrant move from the v3 writer through shadow, v4 read, single-writer cutover, and legacy removal? | [`../architecture/v4-delivery-warrant-shadow-bootstrap-plan.md`](../architecture/v4-delivery-warrant-shadow-bootstrap-plan.md) | why/verify | preview |
114
115
  | What exact canonical bytes, roots, clocks, event, receipt, and typed-fault contracts do Rust and JavaScript share in v4? | [`v4-canonical-contracts.md`](v4-canonical-contracts.md) | use/verify | preview |
115
116
  | How is one per-platform v4 build stage identified, retained, observed, and reused without provider identity or a second writer? | [`v4-stage-capsule.md`](v4-stage-capsule.md) | use/verify | preview |
117
+ | How does an adopter run protocol-neutral driver conformance, N-1 bootstrap, and published archive readback through v4? | [`v4-adopter-delivery.md`](v4-adopter-delivery.md) | use/verify | preview |
116
118
  | How does a late platform failure deterministically reuse qualified Stage Capsules and rebuild only invalid or missing dependencies? | [`v4-stage-capsule.md`](v4-stage-capsule.md#deterministic-resume-planning) | use/verify | preview |
119
+ | How does a late macOS signing failure reuse an exact retained v4 Alpha candidate and rerun only the fenced release tail? | [`v4-tail-reseal.md`](v4-tail-reseal.md) | use/verify | preview |
117
120
  | How do Rust and JavaScript read the same retained Delivery Warrant traces and emit one semantic projection? | [`v4-canonical-contracts.md`](v4-canonical-contracts.md#shared-delivery-warrant-fixture-runner) | use/verify | preview |
118
121
  | How does an explicit caller try the qualified v4 read projection and roll back without moving v3 writer authority? | [`v4-delivery-warrant-read-candidate.md`](v4-delivery-warrant-read-candidate.md) | use/verify | preview |
119
122
  | How do protected dev branches and scheduled ready-PR merging work? | [`release-governance.md`](release-governance.md#protected-dev-branches) | use | stable |
@@ -125,11 +128,13 @@ replace them.
125
128
  | How do I report or safely apply branch and pull-request engineering hygiene? | [`engineering-housekeeper.md`](engineering-housekeeper.md) | use/verify | preview |
126
129
  | How does Buildchain decide patch, minor, and major release lines? | [`versioning.md`](versioning.md) | why | stable |
127
130
  | What exact branch/tag state machine runs on alpha, release, and major gate? | [`release-flow.md`](release-flow.md) | verify | stable |
131
+ | How does a completed Alpha remain successful while the following development version is prepared? | [`next-development-transition.md`](next-development-transition.md), [`../architecture/decisions/0002-next-development-transition.md`](../architecture/decisions/0002-next-development-transition.md) | verify/use | preview |
128
132
  | What did Buildchain migrate or retire from old action repositories? | [`migration-inventory.md`](migration-inventory.md) | verify | stable |
129
133
  | What is the active action and workflow source of truth? | [`ownership.md`](ownership.md) | verify | stable |
130
134
  | How do I declare version files and custom lifecycle commands? | [`lifecycle-protocol.md`](lifecycle-protocol.md) | use | stable |
131
135
  | How does publish evidence, recovery, and finalization work? | [`publish-transaction.md`](publish-transaction.md) | verify | stable |
132
136
  | How are consumer-owned release-tail commands inventoried and replaced by declarative capabilities? | [`release-tail-contract.md`](release-tail-contract.md) | verify | draft |
137
+ | How do I simulate, replay, or explicitly authorize a provider-facing publication rehearsal without creating release authority? | [`v4-publication-rehearsal.md`](v4-publication-rehearsal.md) | use/verify | preview |
133
138
  | How do I collect and verify module/product build facts from Git source, version files, and outputs? | [`build-facts.md`](build-facts.md) + [`cli.md`](cli.md) | use/verify | stable |
134
139
  | How do I publish or verify release passport artifacts? | [`release-passport.md`](release-passport.md) | use | stable |
135
140
  | How do I keylessly attest Linux release artifacts with GitHub and bind them to a Release Passport? | [`github-artifact-attestation.md`](github-artifact-attestation.md) | verify/use | preview |
@@ -22,6 +22,63 @@ ai_provenance:
22
22
 
23
23
  Every listed help command is intercepted before dispatch, exits zero, and performs no command side effects.
24
24
 
25
+ ## `adopter-delivery`
26
+
27
+ ### `buildchain adopter-delivery`
28
+
29
+ - Help: `buildchain adopter-delivery --help`
30
+ - Canonical id: `adopter-delivery`
31
+ - Options: none declared
32
+ - Syntax:
33
+
34
+ ```text
35
+ buildchain adopter-delivery
36
+ ```
37
+
38
+ ### `buildchain adopter-delivery archive`
39
+
40
+ - Help: `buildchain adopter-delivery archive --help`
41
+ - Canonical id: `adopter-delivery`
42
+ - Options: `--input`, `--output`
43
+ - Syntax:
44
+
45
+ ```text
46
+ buildchain adopter-delivery archive --input <json-or-path> [--output <path>]
47
+ ```
48
+
49
+ ### `buildchain adopter-delivery bootstrap`
50
+
51
+ - Help: `buildchain adopter-delivery bootstrap --help`
52
+ - Canonical id: `adopter-delivery`
53
+ - Options: `--input`, `--output`
54
+ - Syntax:
55
+
56
+ ```text
57
+ buildchain adopter-delivery bootstrap --input <json-or-path> [--output <path>]
58
+ ```
59
+
60
+ ### `buildchain adopter-delivery run`
61
+
62
+ - Help: `buildchain adopter-delivery run --help`
63
+ - Canonical id: `adopter-delivery`
64
+ - Options: `--input`, `--output`
65
+ - Syntax:
66
+
67
+ ```text
68
+ buildchain adopter-delivery run --input <json-or-path> [--output <path>]
69
+ ```
70
+
71
+ ### `buildchain adopter-delivery verify`
72
+
73
+ - Help: `buildchain adopter-delivery verify --help`
74
+ - Canonical id: `adopter-delivery`
75
+ - Options: `--input`, `--output`, `--readback`
76
+ - Syntax:
77
+
78
+ ```text
79
+ buildchain adopter-delivery verify --input <json-or-path> --readback <json-or-path> [--output <path>]
80
+ ```
81
+
25
82
  ## `architecture`
26
83
 
27
84
  ### `buildchain architecture`
@@ -728,6 +785,50 @@ buildchain facts
728
785
  buildchain facts aggregate [--cwd <dir>] [--product <id>] [--module-fact <file>]... [--artifact <path>]... [--output <file>] [--json]
729
786
  ```
730
787
 
788
+ ### `buildchain facts compatibility project`
789
+
790
+ - Help: `buildchain facts compatibility project --help`
791
+ - Canonical id: `build-facts`
792
+ - Options: `--cwd`, `--json`, `--output`, `--registry`
793
+ - Syntax:
794
+
795
+ ```text
796
+ buildchain facts compatibility project [--cwd <dir>] [--registry <json-or-path>] [--output <file>] [--json]
797
+ ```
798
+
799
+ ### `buildchain facts compatibility query`
800
+
801
+ - Help: `buildchain facts compatibility query --help`
802
+ - Canonical id: `build-facts`
803
+ - Options: `--cwd`, `--json`, `--query`, `--registry`
804
+ - Syntax:
805
+
806
+ ```text
807
+ buildchain facts compatibility query --query <json-or-path> [--registry <json-or-path>] [--cwd <dir>] [--json]
808
+ ```
809
+
810
+ ### `buildchain facts compatibility query-template`
811
+
812
+ - Help: `buildchain facts compatibility query-template --help`
813
+ - Canonical id: `build-facts`
814
+ - Options: `--cwd`, `--fact-root`, `--json`, `--query-id`, `--registry`
815
+ - Syntax:
816
+
817
+ ```text
818
+ buildchain facts compatibility query-template --fact-root <sha256:...> [--query-id <id>] [--registry <json-or-path>] [--cwd <dir>] [--json]
819
+ ```
820
+
821
+ ### `buildchain facts compatibility verify`
822
+
823
+ - Help: `buildchain facts compatibility verify --help`
824
+ - Canonical id: `build-facts`
825
+ - Options: `--cwd`, `--json`, `--registry`
826
+ - Syntax:
827
+
828
+ ```text
829
+ buildchain facts compatibility verify [--cwd <dir>] [--registry <json-or-path>] [--json]
830
+ ```
831
+
731
832
  ### `buildchain facts module`
732
833
 
733
834
  - Help: `buildchain facts module --help`
@@ -1586,6 +1687,30 @@ buildchain log <info|warn|error> --event <name> [--phase <phase>] [--component <
1586
1687
  buildchain mark --event <name> [--phase <phase>] [--component <name>] [--attribute key=value]... [--path <jsonl>] [--json]
1587
1688
  ```
1588
1689
 
1690
+ ## `next-development`
1691
+
1692
+ ### `buildchain next-development`
1693
+
1694
+ - Help: `buildchain next-development --help`
1695
+ - Canonical id: `next-development`
1696
+ - Options: none declared
1697
+ - Syntax:
1698
+
1699
+ ```text
1700
+ buildchain next-development
1701
+ ```
1702
+
1703
+ ### `buildchain next-development materialize`
1704
+
1705
+ - Help: `buildchain next-development materialize --help`
1706
+ - Canonical id: `next-development`
1707
+ - Options: `--cwd`, `--input`, `--json`, `--output`, `--write`
1708
+ - Syntax:
1709
+
1710
+ ```text
1711
+ buildchain next-development materialize --input <request.json> [--cwd <dir>] [--write] [--output <path>] [--json]
1712
+ ```
1713
+
1589
1714
  ## `npm`
1590
1715
 
1591
1716
  ### `buildchain npm`
@@ -2178,6 +2303,17 @@ buildchain release-tail init --declaration <json-or-path> [--state <path>]
2178
2303
  buildchain release-tail plan --declaration <json-or-path> [--output <path>]
2179
2304
  ```
2180
2305
 
2306
+ ### `buildchain release-tail rehearse`
2307
+
2308
+ - Help: `buildchain release-tail rehearse --help`
2309
+ - Canonical id: `release-tail`
2310
+ - Options: `--candidate-root`, `--capsule`, `--evidence`, `--mode`, `--state`
2311
+ - Syntax:
2312
+
2313
+ ```text
2314
+ buildchain release-tail rehearse --capsule <absolute-path> --candidate-root <absolute-path> --mode <simulate|replay> --state <absolute-path> --evidence <absolute-path>
2315
+ ```
2316
+
2181
2317
  ### `buildchain release-tail status`
2182
2318
 
2183
2319
  - Help: `buildchain release-tail status --help`
@@ -2237,6 +2373,63 @@ buildchain sample process-tree [--interval-ms <n>] [--label <name>] [--output <j
2237
2373
  buildchain span --event <name> [--phase <phase>] [--component <name>] [--path <jsonl>] -- <command> [args...]
2238
2374
  ```
2239
2375
 
2376
+ ## `tail-reseal`
2377
+
2378
+ ### `buildchain tail-reseal`
2379
+
2380
+ - Help: `buildchain tail-reseal --help`
2381
+ - Canonical id: `tail-reseal`
2382
+ - Options: none declared
2383
+ - Syntax:
2384
+
2385
+ ```text
2386
+ buildchain tail-reseal
2387
+ ```
2388
+
2389
+ ### `buildchain tail-reseal admit`
2390
+
2391
+ - Help: `buildchain tail-reseal admit --help`
2392
+ - Canonical id: `tail-reseal`
2393
+ - Options: `--output`, `--request`
2394
+ - Syntax:
2395
+
2396
+ ```text
2397
+ buildchain tail-reseal admit --request <request.json> [--output <admission.json>]
2398
+ ```
2399
+
2400
+ ### `buildchain tail-reseal plan`
2401
+
2402
+ - Help: `buildchain tail-reseal plan --help`
2403
+ - Canonical id: `tail-reseal`
2404
+ - Options: `--output`, `--request`
2405
+ - Syntax:
2406
+
2407
+ ```text
2408
+ buildchain tail-reseal plan --request <request.json> [--output <plan.json>]
2409
+ ```
2410
+
2411
+ ### `buildchain tail-reseal seal`
2412
+
2413
+ - Help: `buildchain tail-reseal seal --help`
2414
+ - Canonical id: `tail-reseal`
2415
+ - Options: `--output`, `--passport`, `--plan`, `--protected-readback-root`, `--readbacks`, `--request`
2416
+ - Syntax:
2417
+
2418
+ ```text
2419
+ buildchain tail-reseal seal --request <request.json> --plan <plan.json> --readbacks <dir> --passport <passport.json> --protected-readback-root <sha256:...> [--output <receipt.json>]
2420
+ ```
2421
+
2422
+ ### `buildchain tail-reseal verify-platform`
2423
+
2424
+ - Help: `buildchain tail-reseal verify-platform --help`
2425
+ - Canonical id: `tail-reseal`
2426
+ - Options: `--artifact-root`, `--mode`, `--output`, `--platform`, `--provider-readback-root`, `--request`
2427
+ - Syntax:
2428
+
2429
+ ```text
2430
+ buildchain tail-reseal verify-platform --request <request.json> --platform <id> [--artifact-root <dir>] [--mode retained|resealed] [--provider-readback-root <sha256:...>] [--output <readback.json>]
2431
+ ```
2432
+
2240
2433
  ## `transaction`
2241
2434
 
2242
2435
  ### `buildchain transaction`
package/docs/cli.md CHANGED
@@ -1033,6 +1033,14 @@ The command validates `package.json`, infers the exact release tag
1033
1033
  `npm publish --dry-run --access public --tag <alpha|latest>` unless
1034
1034
  `--skip-npm-publish-dry-run` is passed. It never performs a real publish.
1035
1035
 
1036
+ ## V4 Adopter Delivery
1037
+
1038
+ `buildchain adopter-delivery` exposes the public v4 driver gate, exact
1039
+ readback, N-1 bootstrap lineage, and published archive loader. `run` emits a
1040
+ rooted non-authoritative readback, `verify` recomputes it, `bootstrap` binds the
1041
+ exact v3 authority and v4 base, and `archive` verifies public npm archive bytes
1042
+ and package identity. See [`v4-adopter-delivery.md`](v4-adopter-delivery.md).
1043
+
1036
1044
  ## npm Publish Gate
1037
1045
 
1038
1046
  Buildchain's own npm package is published from
@@ -59,6 +59,14 @@ controller then compares the selected SHA to the exact Alpha head before it can
59
59
  be eligible, so a bounded scan cannot turn a commit outside the promotion
60
60
  ancestry into a candidate.
61
61
 
62
+ Generated next-development version preparation is not a product candidate. The
63
+ observer skips both the signed `chore(release): prepare ...` commit and its
64
+ two-parent integration commit. When later product work becomes qualified, the
65
+ nearest preparation becomes a reservation: Patrol reads every path changed by
66
+ that preparation at both exact SHAs and requires identical Git blob identities.
67
+ A missing or stale reserved path blocks selection before the Release Cut and
68
+ therefore before any heavy candidate build.
69
+
62
70
  The decision is `kungfu-buildchain-channel-candidate-decision/v1`. It records the
63
71
  source and target branches and SHAs, comparison distance, workflow paths, run
64
72
  identities and attempts, completion times, URLs, policy, and a canonical decision
@@ -8,7 +8,7 @@ confidence: high
8
8
  sensitivity: public
9
9
  evidence_grade: A
10
10
  review_state: self-reviewed
11
- last_reviewed: 2026-08-13
11
+ last_reviewed: 2026-08-17
12
12
  ai_provenance:
13
13
  model_family: GPT-5
14
14
  product: Codex
@@ -75,6 +75,27 @@ The queue does not infer an emergency: callers must choose it explicitly under
75
75
  their reviewed policy. Delivery classes are `non-native-fast`,
76
76
  `native-proof-required`, `cross-platform`, and `release`.
77
77
 
78
+ ## CI lane change budget
79
+
80
+ `architecture/ci-lane-change-budget.json` pins the exact protected-Dev cut
81
+ that predates lane-budget enforcement. `scripts/check-ci-lane-change-budget.mjs`
82
+ compares the current workflow job set with that cut on every repository check.
83
+ Legacy jobs remain readable without invented metadata, while every newly added
84
+ job fails closed until its exact `<workflow>#<job>` lane declares:
85
+
86
+ - merge or non-merge authority class;
87
+ - trigger class;
88
+ - concurrency scope and `cancel-in-progress` behavior;
89
+ - expected runner-minutes per run;
90
+ - cancellation/settlement behavior; and
91
+ - merge-critical SLO impact, expected contribution, metric, and rationale.
92
+
93
+ The guard is repository policy only. It does not become another required
94
+ GitHub status, acquire merge-queue authority, or relax Delivery Warrant,
95
+ exact-head, approval, required-check, and protected-ref enforcement. A removed
96
+ lane must also remove its declaration, so stale budget records cannot conceal
97
+ workflow drift.
98
+
78
99
  A release-blocker candidate may additionally carry a rooted priority claim
79
100
  created from a settled Release Train dual landing. The claim binds the exact
80
101
  Assignment, Initiative, repair, prior and successor cuts, candidate generation,