@kungfu-tech/buildchain 4.0.1-alpha.6 → 4.0.1-alpha.8

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 (50) hide show
  1. package/architecture/ci-lane-change-budget.json +187 -0
  2. package/architecture/maintainability-policy.json +13 -13
  3. package/architecture/v4-floating-consumer-policy.json +6 -0
  4. package/contracts/fixtures/v4-tail-reseal-v1/valid.json +1 -1
  5. package/contracts/v4-floating-consumer-policy-receipt-v1.schema.json +4 -2
  6. package/dist/site/buildchain-contract.json +9 -9
  7. package/dist/site/buildchain-site.json +19 -9
  8. package/dist/site/capability-registry.json +2 -2
  9. package/dist/site/kfd-claims.json +31 -5
  10. package/dist/site/kfd-upstream-aggregate.json +1 -1
  11. package/dist/site/manual-registry.json +1 -1
  12. package/dist/site/node-api-registry.json +154 -73
  13. package/dist/site/page-registry.json +14 -4
  14. package/dist/site/public-surface-audit.json +14 -3
  15. package/dist/site/publication-authority-registry.json +23 -5
  16. package/dist/site/publication-registry.json +4 -4
  17. package/dist/site/release-provenance.json +1 -0
  18. package/dist/site/site-manifest.json +5 -5
  19. package/dist/site/workflow-registry.json +25 -4
  20. package/docs/dev-delivery-warrant.md +22 -1
  21. package/docs/node-api-reference.md +161 -148
  22. package/package.json +3 -2
  23. package/packages/core/buildchain-publication-authority.js +1 -0
  24. package/packages/core/ci-lane-change-budget.js +247 -0
  25. package/packages/core/dev-delivery-native-proof.js +43 -27
  26. package/packages/core/dev-delivery-warrant-state.js +31 -8
  27. package/packages/core/dev-delivery-warrant.js +8 -3
  28. package/packages/core/github-governance-authority.js +1 -0
  29. package/packages/core/index.js +5 -0
  30. package/packages/core/release-candidate-recovery.js +66 -11
  31. package/packages/core/release-candidate.js +2 -2
  32. package/packages/core/release-passport.js +10 -1
  33. package/packages/core/v4-delivery-warrant-read-candidate.js +10 -3
  34. package/packages/core/v4-floating-consumer-evidence.js +18 -4
  35. package/packages/core/v4-floating-consumer-policy.js +138 -35
  36. package/packages/core/v4-floating-consumer-release-passport.js +30 -3
  37. package/packages/core/workflow-yaml-contract.js +24 -2
  38. package/scripts/check-ci-lane-change-budget.mjs +100 -0
  39. package/scripts/check-inventory.mjs +2 -2
  40. package/scripts/check-v4-floating-consumer-policy-contract.mjs +23 -4
  41. package/scripts/dev-delivery-warrant-store.mjs +10 -6
  42. package/scripts/dev-delivery-warrant.mjs +5 -1
  43. package/scripts/dev-pr-delivery-warrant.mjs +1 -0
  44. package/scripts/dev-qualification-patrol.mjs +9 -9
  45. package/scripts/generate-channel-promotion-workflow.mjs +2 -2
  46. package/scripts/promotion-channel-router.mjs +4 -4
  47. package/scripts/release-candidate-anchor-provenance.mjs +99 -0
  48. package/scripts/resume-from-candidate-run.mjs +11 -14
  49. package/scripts/site-capability-metadata.mjs +1 -0
  50. package/scripts/v4-consumer-policy.mjs +4 -0
@@ -0,0 +1,187 @@
1
+ {
2
+ "schema": "buildchain.ci-lane-change-budget/v1",
3
+ "authorityClassification": "repository-policy-enforcement",
4
+ "baseline": {
5
+ "gitRevision": "7fdf0b560670df65929ab2ee833c3d6339372d8a",
6
+ "source": "protected dev/v4/v4.0 before CI lane change-budget enforcement",
7
+ "laneSetRoot": "sha256:5bed17dc265f424e5d528949231146c633be954b8c3c2535ba18aec6ac1465a4",
8
+ "lanes": [
9
+ ".github/workflows/.auditable-demo.yml#gate",
10
+ ".github/workflows/.auditable-demo.yml#render",
11
+ ".github/workflows/.binary-release-assets.yml#publication-authority",
12
+ ".github/workflows/.binary-release-assets.yml#publish",
13
+ ".github/workflows/.build.yml#anchored-release-preflight",
14
+ ".github/workflows/.build.yml#artifact-signing-control",
15
+ ".github/workflows/.build.yml#artifact-transfer",
16
+ ".github/workflows/.build.yml#build-linux-container",
17
+ ".github/workflows/.build.yml#build-native",
18
+ ".github/workflows/.build.yml#controller-plan",
19
+ ".github/workflows/.build.yml#controller-receipt",
20
+ ".github/workflows/.build.yml#credential-island-macos",
21
+ ".github/workflows/.build.yml#finalize-artifact-signing",
22
+ ".github/workflows/.build.yml#relay-artifacts",
23
+ ".github/workflows/.build.yml#resolve-contract",
24
+ ".github/workflows/.build.yml#resolve-source",
25
+ ".github/workflows/.build.yml#summarize",
26
+ ".github/workflows/.build.yml#trust-gate",
27
+ ".github/workflows/.bump-minor-version.yml#bump",
28
+ ".github/workflows/.declarative-auditable-demo.yml#capture",
29
+ ".github/workflows/.declarative-auditable-demo.yml#publish",
30
+ ".github/workflows/.declarative-auditable-demo.yml#qualify",
31
+ ".github/workflows/.gate-profile.yml#aggregate",
32
+ ".github/workflows/.gate-profile.yml#plan",
33
+ ".github/workflows/.gate-profile.yml#run-gates",
34
+ ".github/workflows/.publication-authority.yml#verify",
35
+ ".github/workflows/.release-candidate-promote.yml#controller-plan",
36
+ ".github/workflows/.release-candidate-promote.yml#controller-receipt",
37
+ ".github/workflows/.release-candidate-promote.yml#github-artifact-attestation",
38
+ ".github/workflows/.release-candidate-promote.yml#preflight",
39
+ ".github/workflows/.release-candidate-promote.yml#promote",
40
+ ".github/workflows/.release-candidate-promote.yml#publication-authority",
41
+ ".github/workflows/.release-candidate-promote.yml#publication-plan",
42
+ ".github/workflows/.release-candidate-promote.yml#publication-qualification",
43
+ ".github/workflows/.release-candidate-promote.yml#publish-github-artifact-attestation-evidence",
44
+ ".github/workflows/.release-candidate-promote.yml#qualification-plan",
45
+ ".github/workflows/.release-candidate-promote.yml#release-candidate-preflight",
46
+ ".github/workflows/.release-docker.yml#retired",
47
+ ".github/workflows/.release-elastic-beanstalk.yml#retired",
48
+ ".github/workflows/.release-new-version.yml#retired",
49
+ ".github/workflows/.release-verify.yml#build",
50
+ ".github/workflows/.release-verify.yml#build_local",
51
+ ".github/workflows/.release-verify.yml#prepare",
52
+ ".github/workflows/.release-verify.yml#verify",
53
+ ".github/workflows/.sam-release.yml#retired",
54
+ ".github/workflows/.sam-verify.yml#build",
55
+ ".github/workflows/.sam-verify.yml#prepare",
56
+ ".github/workflows/.sam-verify.yml#verify",
57
+ ".github/workflows/.sync-release-page.yml#sync-release-page",
58
+ ".github/workflows/.sync-remote-git.yml#sync",
59
+ ".github/workflows/.web-surface.yml#apply-input-gate",
60
+ ".github/workflows/.web-surface.yml#controller-plan",
61
+ ".github/workflows/.web-surface.yml#controller-receipt",
62
+ ".github/workflows/.web-surface.yml#external-publication-authority",
63
+ ".github/workflows/.web-surface.yml#open-production-release-pr",
64
+ ".github/workflows/.web-surface.yml#plan",
65
+ ".github/workflows/.web-surface.yml#preview-apply",
66
+ ".github/workflows/.web-surface.yml#preview-cleanup",
67
+ ".github/workflows/.web-surface.yml#production-apply",
68
+ ".github/workflows/.web-surface.yml#publication-authority",
69
+ ".github/workflows/.web-surface.yml#publication-decision",
70
+ ".github/workflows/.web-surface.yml#release-intent",
71
+ ".github/workflows/.web-surface.yml#runtime",
72
+ ".github/workflows/.web-surface.yml#staging-apply",
73
+ ".github/workflows/.wheel-release.yml#retired",
74
+ ".github/workflows/.wheel-verify.yml#build",
75
+ ".github/workflows/.wheel-verify.yml#prepare",
76
+ ".github/workflows/.wheel-verify.yml#verify",
77
+ ".github/workflows/artifact-signing-authority.yml#deliver",
78
+ ".github/workflows/artifact-signing-authority.yml#detached",
79
+ ".github/workflows/artifact-signing-authority.yml#intake",
80
+ ".github/workflows/artifact-signing-authority.yml#macos",
81
+ ".github/workflows/artifact-signing-authority.yml#windows",
82
+ ".github/workflows/auditable-demo-media-profile-qualification.yml#qualify",
83
+ ".github/workflows/auditable-demo.yml#dogfood",
84
+ ".github/workflows/auditable-demo.yml#exact-binary",
85
+ ".github/workflows/binary-distribution.yml#binary",
86
+ ".github/workflows/binary-distribution.yml#dispatch-publication",
87
+ ".github/workflows/binary-distribution.yml#passport",
88
+ ".github/workflows/binary-distribution.yml#preflight",
89
+ ".github/workflows/binary-release-assets.yml#publish",
90
+ ".github/workflows/binary-release-assets.yml#resolve",
91
+ ".github/workflows/build-surface-fixture.yml#buildchain-package-candidate",
92
+ ".github/workflows/build-surface-fixture.yml#libnode-shaped",
93
+ ".github/workflows/build.yml#alpha",
94
+ ".github/workflows/build.yml#controller-plan",
95
+ ".github/workflows/build.yml#controller-receipt",
96
+ ".github/workflows/build.yml#override",
97
+ ".github/workflows/build.yml#resolve-channel",
98
+ ".github/workflows/build.yml#stable",
99
+ ".github/workflows/build.yml#summarize",
100
+ ".github/workflows/buildchain-alpha-self-dogfood.yml#alpha-consumer",
101
+ ".github/workflows/buildchain-alpha-self-dogfood.yml#stable-consumer",
102
+ ".github/workflows/buildchain-alpha-self-dogfood.yml#verify-floating-refs",
103
+ ".github/workflows/buildchain-candidate-recovery-dogfood-failure.yml#deterministic-startup-router-failure",
104
+ ".github/workflows/buildchain-dev-delivery.yml#deliver",
105
+ ".github/workflows/buildchain-patrol-daily.yml#patrol",
106
+ ".github/workflows/buildchain-patrol-monthly.yml#patrol",
107
+ ".github/workflows/buildchain-patrol-weekly.yml#patrol",
108
+ ".github/workflows/buildchain-patrol.yml#patrol",
109
+ ".github/workflows/buildchain-ref-promotion-recovery.yml#consumer-admission",
110
+ ".github/workflows/buildchain-ref-promotion-recovery.yml#promote-alpha-recovery",
111
+ ".github/workflows/buildchain-ref-promotion.yml#promote-alpha",
112
+ ".github/workflows/buildchain-ref-promotion.yml#promote-stable",
113
+ ".github/workflows/buildchain-ref-promotion.yml#reject-invalid-candidate-recovery",
114
+ ".github/workflows/buildchain-ref-promotion.yml#reject-invalid-durable-recovery",
115
+ ".github/workflows/buildchain-ref-promotion.yml#reject-manual-apply",
116
+ ".github/workflows/buildchain-stable-candidate-patrol.yml#patrol",
117
+ ".github/workflows/buildchain-stable-candidate-qualification.yml#qualify",
118
+ ".github/workflows/candidate-lab.yml#lab",
119
+ ".github/workflows/check.yml#check",
120
+ ".github/workflows/dev-alpha-candidate-patrol.yml#observe",
121
+ ".github/workflows/dev-alpha-candidate-patrol.yml#settle",
122
+ ".github/workflows/dev-delivery-warrant-cancel.yml#cancel",
123
+ ".github/workflows/dev-delivery-warrant-close.yml#close",
124
+ ".github/workflows/dev-merge-queue-governance.yml#reconcile",
125
+ ".github/workflows/dev-pr-auto-merge.yml#admission",
126
+ ".github/workflows/dev-pr-auto-merge.yml#delivery-heartbeat",
127
+ ".github/workflows/dev-pr-auto-merge.yml#merge-dev-prs",
128
+ ".github/workflows/dev-pr-auto-merge.yml#native-execution",
129
+ ".github/workflows/dev-pr-auto-merge.yml#seal-native-execution",
130
+ ".github/workflows/dev-qualification-patrol.yml#mutate",
131
+ ".github/workflows/dev-qualification-patrol.yml#observe",
132
+ ".github/workflows/engineering-housekeeper-daily.yml#apply",
133
+ ".github/workflows/engineering-housekeeper-daily.yml#invalid-apply-gate",
134
+ ".github/workflows/engineering-housekeeper-daily.yml#report",
135
+ ".github/workflows/engineering-housekeeper-monthly.yml#apply",
136
+ ".github/workflows/engineering-housekeeper-monthly.yml#invalid-apply-gate",
137
+ ".github/workflows/engineering-housekeeper-monthly.yml#report",
138
+ ".github/workflows/engineering-housekeeper-weekly.yml#apply",
139
+ ".github/workflows/engineering-housekeeper-weekly.yml#invalid-apply-gate",
140
+ ".github/workflows/engineering-housekeeper-weekly.yml#report",
141
+ ".github/workflows/engineering-housekeeper.yml#delete-branches",
142
+ ".github/workflows/engineering-housekeeper.yml#label-pull-requests",
143
+ ".github/workflows/engineering-housekeeper.yml#plan",
144
+ ".github/workflows/github-artifact-attestation.yml#attest",
145
+ ".github/workflows/github-governance-audit.yml#audit",
146
+ ".github/workflows/npm-publish.yml#dry-run",
147
+ ".github/workflows/paper-release-sealed.yml#publication-authority",
148
+ ".github/workflows/paper-release-sealed.yml#publication-candidate",
149
+ ".github/workflows/paper-release-sealed.yml#publish",
150
+ ".github/workflows/paper-release.yml#paper-release",
151
+ ".github/workflows/paper-release.yml#publication-authority",
152
+ ".github/workflows/patrol-daily.yml#patrol",
153
+ ".github/workflows/patrol-monthly.yml#patrol",
154
+ ".github/workflows/patrol-observed-evidence.yml#publish",
155
+ ".github/workflows/patrol-weekly.yml#patrol",
156
+ ".github/workflows/publication-artifact.yml#publication",
157
+ ".github/workflows/release-candidate-promote.yml#alpha",
158
+ ".github/workflows/release-candidate-promote.yml#consumer-admission",
159
+ ".github/workflows/release-candidate-promote.yml#resolve-promotion",
160
+ ".github/workflows/release-candidate-promote.yml#stable",
161
+ ".github/workflows/release-governance-reconcile.yml#reconcile",
162
+ ".github/workflows/release-line-bootstrap.yml#bootstrap",
163
+ ".github/workflows/release-new-version.yml#buildchain-self-release",
164
+ ".github/workflows/release-propagation.yml#propagate",
165
+ ".github/workflows/release-tail.yml#release-tail",
166
+ ".github/workflows/release-verify.yml#try",
167
+ ".github/workflows/release-verify.yml#verify",
168
+ ".github/workflows/schedule-purge-artifacts.yml#delete-artifacts",
169
+ ".github/workflows/self-hosted-runner-smoke.yml#smoke",
170
+ ".github/workflows/stable-candidate-patrol.yml#patrol",
171
+ ".github/workflows/v4-adopter-delivery-dogfood.yml#dogfood",
172
+ ".github/workflows/v4-adopter-delivery.yml#conformance",
173
+ ".github/workflows/v4-adopter-delivery.yml#consumer-admission",
174
+ ".github/workflows/v4-public-consumer-dogfood.yml#dogfood",
175
+ ".github/workflows/v4-publication-rehearsal-dogfood.yml#rehearsal",
176
+ ".github/workflows/v4-stage-capsule-canary.yml#consumer-admission",
177
+ ".github/workflows/v4-stage-capsule-canary.yml#qualify",
178
+ ".github/workflows/v4-stage-capsule-canary.yml#reconcile",
179
+ ".github/workflows/v4-tail-reseal.yml#plan",
180
+ ".github/workflows/v4-tail-reseal.yml#platforms",
181
+ ".github/workflows/v4-tail-reseal.yml#seal",
182
+ ".github/workflows/verify.yml#check",
183
+ ".github/workflows/verify.yml#stage-capsule-checkpoints"
184
+ ]
185
+ },
186
+ "declarations": []
187
+ }
@@ -4,14 +4,14 @@
4
4
  "baseline": "architecture/maintainability-baseline.json",
5
5
  "enforcementRevision": "5308189b09bcb5a1314195412f2807a40d678838",
6
6
  "repositoryBudgets": {
7
- "baselineRevision": "c70e6ac28431888b24fefc218246cc69f8dde85a",
8
- "maxHandMaintainedSourceFiles": 422,
9
- "maxHandMaintainedSourceLines": 158836,
10
- "maxWorkflowFiles": 75,
11
- "maxWorkflowLines": 25983,
12
- "latestTransition": "Floating Alpha bootstrap routes only automatic Alpha self-promotion through the protected Alpha private shell while the old floating shell cannot carry its own repair; stable promotion remains on the public v4 wrapper.",
13
- "latestTransitionRationale": "One credentialless resolver reuses the published promotion identity authority to bind the floating router and runtime, protected Alpha shell, and exact Alpha lock digest before that shell independently reproduces the external consumer-policy certification. The bounded route adds no manual publication, tag, ref, npm, stable, or public-consumer authority and is removed after the protected workflow promotion advances v4-alpha. These exact 422-file, 158836-source-line, 75-workflow-file and 25983-workflow-line ceilings add no unreviewed headroom or function-budget widening.",
14
- "rationale": "Bounded modules separate candidate, evidence, native proof and execution, canonical failure verification, closed-set execution transfer, process-boundary verification, Warrant state and qualification, authority state, qualification, Landing acquisition, verified-attempt admission, Landing settlement and fence validation, provider attempt and heartbeat readback, sealed terminal evidence, hosted heartbeat, resume, store, options, command-specific adapters, and CLI orchestration responsibilities. The protected delivery workflow gives candidate and seal jobs no provider write credential, recursively rejects transfer drift, scopes every transfer artifact to the exact provider run attempt, chains every durable heartbeat state and receipt root on a distinct hosted runner domain, and permits qualification or exact failure settlement only after the finalizer verifies live jobs and the latest durable authority state. Public Landing admission and heartbeat always perform non-injectable fresh exact-attempt provider readback, tolerate only a not-yet-materialized seal job while retaining exact native and duplicate-job rejection, and heartbeat-loss coordination never invokes GitHub's run-scoped cancellation API where a successor rerun could race. The hosted process boundary anchors trust in the kernel-resolved versioned Runner.Worker path while accepting an equivalent argv-zero spelling with the same basename; its public boundary marker is allowed only at the one exact non-secret value, so a forged value under the same credential-like name still fails closed. The credentialless transfer seal validates the rooted native reuse decision against the Warrant-bound source, closure, dependency, toolchain, environment and command inputs; qualifiedBase stays in the proof and decision where it is rooted and later independently rechecked, rather than being assumed on the Warrant schema. V2 mutation cannot initialize a second empty authority beside a legacy ref: migration reads and roots the canonical live v1 ref, rechecks it, applies the explicit configured v2 policy, and atomically replaces its bytes through one expected-old non-force update, so old v1 controllers fail closed while the prior commit remains immutable history. Candidate ancestry classifies the GitHub artifact runtime token as credential authority. Every Landing settlement, including an unexpired fence, requires product-owned terminal readback. Terminal cleanup reads the immutable historical attempt, derives workflow and hosted Landing job identity from live run data, reads the exact protected ref head and compares containment against that immutable SHA, and seals merged only when the admitted merge-group head is contained by that protected base; a later different-head merge settles the old attempt as dequeued. Terminal normalization preserves transfer, finalizer boundary, native and seal job, admitted provider attempt, protected-base head, containment result, and terminal readback coordinates. The public reusable workflow truthfully retains its single-flight v1 authority without advertising v2 migration, while bounded v2 remains a separate opt-in CLI, Node API, and schema contract; the tracked self-caller stays on public v4-alpha with matching stable and alpha locks, and transient train selection is dispatch-only. Next-development parity adds one versioned transition authority, one durable controller, one bounded reservation adapter, and pure public-contract recovery evidence while retaining the existing thin floating-channel callers byte-for-byte. The floating-consumer gate reuses the existing contract-world evaluator so SHA drift passes only under the selected lock's compatibility policy, breaking surface drift still fails closed, and external certification reconstructs the receipt from the observed workflow SHA rather than the lock's historical evidence SHA. Tail reseal adds no Stage Capsule effect or general rebuild authority: it verifies the exact retained four-platform bytes, admits one known macOS tail failure through live provider readback, fences signing and finalization to explicit credentials and Warrant identity, and requires standard candidate Passport plus provider and protected readback. Compatibility Facts parity isolates canonical encoding, temporal verification, lifecycle validation, fixture projection, public authority projection, and CLI adaptation into bounded modules; legacy digest and proof arrays are derived only from exact current Fact lineage. Publication Rehearsal adds no production release authority: the content-addressed capsule contract binds source, candidate, manifest, config, canonical data-only provider bindings, provider policy, observations and core version separately from filesystem, runtime and rehearsal-only provider authority; simulate, replay and explicitly authorized provider rehearsal all reuse the release-tail planner, while same-commit local dogfood resolves the new reusable contract and exact current runtime before external callers remain on floating v4-alpha. Cross-runtime candidate recovery preserves original runtime and provider roots and creates resume lineage only after exact public ref, tag, ancestry, npm version and integrity readback. Adopter Delivery restores the reviewed public v3 gate, drivers, Passport binding, N-1 bootstrap and exact archive loader through one public v4 surface while keeping provider and release authority explicit non-claims. Floating Alpha bootstrap uses only the existing exact resolver and protected Alpha private shell to move an otherwise stale floating shell, retains public v4 stable promotion, and removes itself after protected readback. These exact 422-file, 158836-source-line, 75-workflow-file and 25983-workflow-line ceilings cannot grow implicitly."
7
+ "baselineRevision": "858dbe00b6206a8f356b4a12d2659bee7a72e71b",
8
+ "maxHandMaintainedSourceFiles": 427,
9
+ "maxHandMaintainedSourceLines": 159839,
10
+ "maxWorkflowFiles": 76,
11
+ "maxWorkflowLines": 26309,
12
+ "latestTransition": "Promotion certifies a floating v4 release candidate with the exact runtime sealed into its Passport instead of the independently selected workflow shell.",
13
+ "latestTransitionRationale": "The certifier now defaults to the checked-out candidate runtime and keeps the existing separate candidate-policy checkout only when the Passport runtime differs. This closes the same-runtime bootstrap mismatch without relaxing receipt, policy, scanner, caller, source, dual-lock, or runtime-root checks. The six source lines are one contract marker plus canonical formatting of already merged assertions; workflow size does not grow. These exact 427-file, 159839-source-line, 76-workflow-file and 26309-workflow-line ceilings add no unrelated headroom and grant no publication authority.",
14
+ "rationale": "Bounded modules separate candidate, evidence, native proof and execution, canonical failure verification, closed-set execution transfer, process-boundary verification, Warrant state and qualification, authority state, qualification, Landing acquisition, verified-attempt admission, Landing settlement and fence validation, provider attempt and heartbeat readback, sealed terminal evidence, hosted heartbeat, resume, store, options, command-specific adapters, and CLI orchestration responsibilities. The protected delivery workflow gives candidate and seal jobs no provider write credential, recursively rejects transfer drift, scopes every transfer artifact to the exact provider run attempt, chains every durable heartbeat state and receipt root on a distinct hosted runner domain, and permits qualification or exact failure settlement only after the finalizer verifies live jobs and the latest durable authority state. Public Landing admission and heartbeat always perform non-injectable fresh exact-attempt provider readback, tolerate only a not-yet-materialized seal job while retaining exact native and duplicate-job rejection, and heartbeat-loss coordination never invokes GitHub's run-scoped cancellation API where a successor rerun could race. The hosted process boundary anchors trust in the kernel-resolved versioned Runner.Worker path while accepting an equivalent argv-zero spelling with the same basename; its public boundary marker is allowed only at the one exact non-secret value, so a forged value under the same credential-like name still fails closed. The credentialless transfer seal validates the rooted native reuse decision against the Warrant-bound source, closure, dependency, toolchain, environment and command inputs; qualifiedBase stays in the proof and decision where it is rooted and later independently rechecked, rather than being assumed on the Warrant schema. V2 mutation cannot initialize a second empty authority beside a legacy ref: migration reads and roots the canonical live v1 ref, rechecks it, applies the explicit configured v2 policy, and atomically replaces its bytes through one expected-old non-force update, so old v1 controllers fail closed while the prior commit remains immutable history. Candidate ancestry classifies the GitHub artifact runtime token as credential authority. Every Landing settlement, including an unexpired fence, requires product-owned terminal readback. Terminal cleanup reads the immutable historical attempt, derives workflow and hosted Landing job identity from live run data, reads the exact protected ref head and compares containment against that immutable SHA, and seals merged only when the admitted merge-group head is contained by that protected base; a later different-head merge settles the old attempt as dequeued. Terminal normalization preserves transfer, finalizer boundary, native and seal job, admitted provider attempt, protected-base head, containment result, and terminal readback coordinates. The public reusable workflow truthfully retains its single-flight v1 authority without advertising v2 migration, while bounded v2 remains a separate opt-in CLI, Node API, and schema contract; the tracked self-caller stays on public v4-alpha with matching stable and alpha locks, and transient train selection is dispatch-only. Next-development parity adds one versioned transition authority, one durable controller, one bounded reservation adapter, and pure public-contract recovery evidence while retaining the existing thin floating-channel callers byte-for-byte. The floating-consumer gate reuses the existing contract-world evaluator so SHA drift passes only under the selected lock's compatibility policy, breaking surface drift still fails closed, and external certification reconstructs the receipt from the observed workflow SHA rather than the lock's historical evidence SHA. Tail reseal adds no Stage Capsule effect or general rebuild authority: it verifies the exact retained four-platform bytes, admits one known macOS tail failure through live provider readback, fences signing and finalization to explicit credentials and Warrant identity, and requires standard candidate Passport plus provider and protected readback. Compatibility Facts parity isolates canonical encoding, temporal verification, lifecycle validation, fixture projection, public authority projection, and CLI adaptation into bounded modules; legacy digest and proof arrays are derived only from exact current Fact lineage. Publication Rehearsal adds no production release authority: the content-addressed capsule contract binds source, candidate, manifest, config, canonical data-only provider bindings, provider policy, observations and core version separately from filesystem, runtime and rehearsal-only provider authority; simulate, replay and explicitly authorized provider rehearsal all reuse the release-tail planner, while same-commit local dogfood resolves the new reusable contract and exact current runtime before external callers remain on floating v4-alpha. Cross-runtime candidate recovery preserves original runtime and provider roots and creates resume lineage only after exact public ref, tag, ancestry, npm version and integrity readback. Adopter Delivery restores the reviewed public v3 gate, drivers, Passport binding, N-1 bootstrap and exact archive loader through one public v4 surface while keeping provider and release authority explicit non-claims. Floating Alpha bootstrap uses only the existing exact resolver and protected Alpha private shell to move an otherwise stale floating shell, retains public v4 stable promotion, and removes itself after protected readback. CI lane change-budget enforcement adds a bounded parser, evaluator, guard, and tests without creating another merge authority."
15
15
  },
16
16
  "sourceBudgets": {
17
17
  "newFileLines": 600,
@@ -105,8 +105,8 @@
105
105
  },
106
106
  "approvedExistingDebtTransitions": {
107
107
  "packages/core/index.js": {
108
- "maxLines": 699,
109
- "rationale": "The public facade forwards the reviewed runtime-resume authority beside the existing declarative release-tail and v4 governance APIs without adding a second implementation or execution path; this exact post-integration ceiling cannot grow implicitly."
108
+ "maxLines": 704,
109
+ "rationale": "The public facade exposes the bounded CI lane change-budget contract beside the existing v4 governance APIs without adding a second implementation or merge authority; this exact post-integration ceiling cannot grow implicitly."
110
110
  },
111
111
  "actions/promote-buildchain-ref/index.js": {
112
112
  "maxFunctionLines": 280,
@@ -121,7 +121,7 @@
121
121
  "rationale": "The runtime entrypoint now binds every compatibility command and alias, including the upstream paper command, through the tested command registry; this exact post-integration wiring ceiling cannot grow implicitly."
122
122
  },
123
123
  "packages/core/release-passport.js": {
124
- "maxLines": 2976,
124
+ "maxLines": 2985,
125
125
  "maxFunctionLines": 304,
126
126
  "rationale": "Responsibility-owned validators preserve issue ordering, byte-stable reports, upstream release evidence, consumer-policy certification, and rooted runtime A+B resume lineage. Tree-equivalent promotion keeps the original built source identity while the optional attachment is normalized and independently reverified before inclusion; these exact post-integration ceilings cannot grow implicitly."
127
127
  },
@@ -132,8 +132,8 @@
132
132
  "rationale": "The existing v4 contract evaluator invokes the shared shell-runtime-lock binding before every compatibility or early-success path while preserving the prior contract-world, Release Train, and drift behavior. Its public projection now includes the bounded dev-delivery workflow surface and declares the optional expected lane inputs consumed by the unchanged evaluator. This exact public-contract wiring ceiling cannot grow implicitly."
133
133
  },
134
134
  "packages/core/github-governance-authority.js": {
135
- "maxLines": 1368,
136
- "rationale": "The publication authority now declares the alpha/v4/v4.0 and release/v4/v4.0 protected channels required for the v4 public train. This exact two-line channel transition cannot grow implicitly."
135
+ "maxLines": 1369,
136
+ "rationale": "The publication authority declares the alpha/v4/v4.0 and release/v4/v4.0 protected channels and the dispatch-only Alpha recovery workflow as protected authority. This exact reviewed ceiling cannot grow implicitly."
137
137
  },
138
138
  "packages/core/buildchain-config.js": {
139
139
  "maxLines": 1885,
@@ -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,
@@ -22,7 +22,7 @@
22
22
  "ref": "v4-alpha",
23
23
  "sha": "dddddddddddddddddddddddddddddddddddddddd",
24
24
  "contractRoot": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
25
- "consumerPolicyReceiptRoot": "sha256:2c4a55af9d551eb5116894f2b28e38542fa9d45c904147c374784c8eabc70275"
25
+ "consumerPolicyReceiptRoot": "sha256:83e75f961e61f5a6ed3648898836076afa5561a0b25bfc07ff6d3f2d4b7405d6"
26
26
  },
27
27
  "warrant": {
28
28
  "candidateId": "candidate-alpha-2",
@@ -47,8 +47,10 @@
47
47
  },
48
48
  "sourcePath": { "type": "string" },
49
49
  "sourceLine": { "type": "integer", "minimum": 0 },
50
- "visibleSelector": { "enum": ["", "v4", "v4-alpha"] },
51
- "selectorClass": { "enum": ["", "floating", "rejected"] },
50
+ "visibleSelector": { "enum": ["", "v4", "v4-alpha", "alpha/v4/v4.0"] },
51
+ "selectorClass": {
52
+ "enum": ["", "floating", "protected-bootstrap", "rejected"]
53
+ },
52
54
  "channel": { "enum": ["", "stable", "alpha"] },
53
55
  "resolvedWorkflowSha": {
54
56
  "type": "string",
@@ -4,7 +4,7 @@
4
4
  "product": {
5
5
  "name": "Buildchain",
6
6
  "package": "@kungfu-tech/buildchain",
7
- "version": "4.0.1-alpha.6",
7
+ "version": "4.0.1-alpha.8",
8
8
  "repository": "https://github.com/kungfu-systems/buildchain"
9
9
  },
10
10
  "majorLine": "v4",
@@ -1646,7 +1646,7 @@
1646
1646
  "resume-from-candidate-run is fail-closed and uses a fresh caller event instead of rerunning a frozen startup graph"
1647
1647
  ],
1648
1648
  "breakingDigest": "sha256:9db8dd07152855d03ff30f9c571438593c689d3e8139fa45431d000f548242f5",
1649
- "auditDigest": "sha256:0e0d6a1a89bf8f8312562fe943ae4b8b312b63eb98772b8d7b9ee7428bfc0060",
1649
+ "auditDigest": "sha256:fc62e34e4fde50da0bf5bf2f9e0b455a8ff1ccea62f7348d1a132567e2c829e1",
1650
1650
  "compatibleBreakingDigests": [
1651
1651
  "sha256:aa30f22e3af0a89841310bdbdc900844dd95a66974db173fa140a71bbd7e82c0"
1652
1652
  ],
@@ -2012,7 +2012,7 @@
2012
2012
  "release-state SHA is recorded as a durable audit entrance"
2013
2013
  ],
2014
2014
  "breakingDigest": "sha256:b627e1b2ece9b6049517a942c5139e342e6077cdd3d8962d61cef8481b1f70ad",
2015
- "auditDigest": "sha256:cecdf98c16ecab89baf4089dbd3e0ddf690eb5d8bdb706f42f4a20a50d9c4afc"
2015
+ "auditDigest": "sha256:7b433d34f87651d8fb187d06b83113e93cbc0243a0f93ce33f375a4737f144f6"
2016
2016
  },
2017
2017
  {
2018
2018
  "contractVersion": 1,
@@ -2061,7 +2061,7 @@
2061
2061
  "prose-only public claims downgrade the release trust passport audit"
2062
2062
  ],
2063
2063
  "breakingDigest": "sha256:f0b636eb925ddbf45ff1a8872454ab7b4dd98857cac12bb75217830130e62a16",
2064
- "auditDigest": "sha256:cecdf98c16ecab89baf4089dbd3e0ddf690eb5d8bdb706f42f4a20a50d9c4afc"
2064
+ "auditDigest": "sha256:7b433d34f87651d8fb187d06b83113e93cbc0243a0f93ce33f375a4737f144f6"
2065
2065
  },
2066
2066
  {
2067
2067
  "contractVersion": 1,
@@ -2211,7 +2211,7 @@
2211
2211
  "manual entries carry source file digests so downstream sites and agents can detect stale hand-written documentation"
2212
2212
  ],
2213
2213
  "breakingDigest": "sha256:7d0d2819e3a3e72989d9c57b5efe9d0bc0a79bc0f2c82a0c7b9d6c5a211a91f2",
2214
- "auditDigest": "sha256:2aeb9ec26ef27957d7c4fcebc5ff18729aa60df68a24a43205ceac190d327547"
2214
+ "auditDigest": "sha256:9ac244b89ab685df5c1d43ebcb9195c9133261b77d2ce948e3d4083e8651f086"
2215
2215
  },
2216
2216
  {
2217
2217
  "contractVersion": 1,
@@ -2233,7 +2233,7 @@
2233
2233
  "agents can discover supported Node APIs without importing internal file paths"
2234
2234
  ],
2235
2235
  "breakingDigest": "sha256:48f925608d3e2131d90936b07dc2a30341204cae3e6e785c0f77d61ad755c945",
2236
- "auditDigest": "sha256:c71d41614a96fa54f73c678ef9b5cec0a650239a76dfc58cf51fe597d7254226"
2236
+ "auditDigest": "sha256:14c116689f571b197fad4632683335bc13718abd17276f3da0ffbf1e85a74483"
2237
2237
  },
2238
2238
  {
2239
2239
  "contractVersion": 1,
@@ -2348,7 +2348,7 @@
2348
2348
  "missing receipts are non-qualifying and must not be represented as a successful controller run"
2349
2349
  ],
2350
2350
  "breakingDigest": "sha256:d4bd0f2a1921bfed71a4d9104d45934555bde74a5c189f93ad79f37074c02b87",
2351
- "auditDigest": "sha256:10de885b75d3d3d952bbff10bd987d1f14cdb3278fcff33f4143b005e4b0b47a"
2351
+ "auditDigest": "sha256:754b9b628d1906785c3882a5ec62c7f8a9f83140ce3741fecc40f3baa91bd0a2"
2352
2352
  },
2353
2353
  {
2354
2354
  "contractVersion": 1,
@@ -5082,7 +5082,7 @@
5082
5082
  "missing receipts are non-qualifying and must not be represented as a successful controller run"
5083
5083
  ],
5084
5084
  "breakingDigest": "sha256:015d8de793adbd4c539416be7d7512e18cc92097e629b0203fa06d2c183e98bd",
5085
- "auditDigest": "sha256:0e0d6a1a89bf8f8312562fe943ae4b8b312b63eb98772b8d7b9ee7428bfc0060"
5085
+ "auditDigest": "sha256:fc62e34e4fde50da0bf5bf2f9e0b455a8ff1ccea62f7348d1a132567e2c829e1"
5086
5086
  },
5087
5087
  {
5088
5088
  "contractVersion": 1,
@@ -5308,5 +5308,5 @@
5308
5308
  "compatibilityFactCutRoot": "sha256:f61b975d4a96c921cc4bd37fb3ed9a0596b47004fe34dc7219979d697e3707f9",
5309
5309
  "compatibilityProofRegistryRoot": "sha256:b7194b811e4d3af2df4390bc4d1731e16a86215bd64ee18cb630dd5492f4fb63",
5310
5310
  "compatibilityDigest": "sha256:5de1c69386510b74b17eb70141b8bdd07063d62c504f91db5e84b67c6d4b64a2",
5311
- "contractDigest": "sha256:b73626a04adc4def7a59b098eeef3022dfe75411c449045777e2d0f1fee698f4"
5311
+ "contractDigest": "sha256:5174492f4e44f42e3e5b6869eb8a6226542ebb772b3928494efafc168b4fa5f5"
5312
5312
  }