@kungfu-tech/buildchain 4.0.1-alpha.5 → 4.0.1-alpha.55

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 (159) hide show
  1. package/README.md +9 -6
  2. package/actions/release-tail/README.md +8 -0
  3. package/actions/v4-release-candidate-promote/README.md +3 -0
  4. package/architecture/agent-change-map.md +1015 -0
  5. package/architecture/ci-lane-change-budget.json +256 -0
  6. package/architecture/decisions/0004-v4-declarative-release-tail.md +47 -0
  7. package/architecture/internal-capabilities.json +220 -15
  8. package/architecture/maintainability-debt.json +3229 -0
  9. package/architecture/maintainability-policy.json +489 -132
  10. package/architecture/release-tail-contract-inventory.json +5 -2
  11. package/architecture/v3-core-mechanism-inventory.json +4 -3
  12. package/architecture/v3-v4-capability-closure.md +59 -0
  13. package/architecture/v3-v4-live-capability-inventory.json +102404 -0
  14. package/architecture/v4-adopter-delivery-parity.json +32 -5
  15. package/architecture/v4-cross-platform-adopter-qualification.json +52 -0
  16. package/architecture/v4-delivery-warrant-shadow-fixtures.json +3 -3
  17. package/architecture/v4-floating-consumer-policy.json +6 -0
  18. package/architecture/v4-publication-rehearsal-parity.json +84 -0
  19. package/architecture/v4-runtime-semantic-closure.json +710 -0
  20. package/bin/buildchain.mjs +7 -1
  21. package/bin/internal/adopter-delivery-cli.mjs +70 -0
  22. package/bin/internal/command-registry.mjs +1 -0
  23. package/bin/internal/trust-release-release-handlers.mjs +5 -0
  24. package/contracts/fixtures/v4-adopter-delivery-v1/archive-template.json +19 -0
  25. package/contracts/fixtures/v4-adopter-delivery-v1/bootstrap-positive.json +93 -0
  26. package/contracts/fixtures/v4-adopter-delivery-v1/gate-positive.json +29 -0
  27. package/contracts/fixtures/v4-adopter-delivery-v1/gate-unknown-selector.json +26 -0
  28. package/contracts/fixtures/v4-adopter-delivery-v1/offline-vectors.json +50 -0
  29. package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/artifacts/product.bin +1 -0
  30. package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/config/buildchain.toml +5 -0
  31. package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/documents/release-activation.json +1 -0
  32. package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/documents/signed-channel.json +1 -0
  33. package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/evidence/qualification.json +1 -0
  34. package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/manifests/candidate.json +5 -0
  35. package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/manifests/release-passport.json +1 -0
  36. package/contracts/fixtures/v4-publication-rehearsal-v1/capsule.json +707 -0
  37. package/contracts/fixtures/v4-publication-rehearsal-v1/offline-vectors.json +27 -0
  38. package/contracts/fixtures/v4-tail-reseal-v1/valid.json +1 -1
  39. package/contracts/v4-adopter-delivery-v1.schema.json +81 -0
  40. package/contracts/v4-floating-consumer-policy-receipt-v1.schema.json +4 -2
  41. package/contracts/v4-publication-qualification-v1.schema.json +51 -0
  42. package/contracts/v4-publication-rehearsal-capsule-v1.schema.json +233 -0
  43. package/dist/site/agent-index.json +4 -0
  44. package/dist/site/artifact-schemas.json +8 -0
  45. package/dist/site/buildchain-contract.json +125 -34
  46. package/dist/site/buildchain-site.json +308 -33
  47. package/dist/site/capability-registry.json +13 -12
  48. package/dist/site/cli-registry.json +57 -2
  49. package/dist/site/controller-registry.json +41 -5
  50. package/dist/site/kfd-claims.json +438 -24
  51. package/dist/site/kfd-upstream-aggregate.json +1 -1
  52. package/dist/site/manual-registry.json +22 -7
  53. package/dist/site/node-api-registry.json +12843 -9314
  54. package/dist/site/page-registry.json +288 -21
  55. package/dist/site/public-surface-audit.json +281 -21
  56. package/dist/site/publication-authority-registry.json +66 -8
  57. package/dist/site/publication-registry.json +4 -4
  58. package/dist/site/release-provenance.json +20 -0
  59. package/dist/site/schemas/release-tail-capabilities-v1.schema.json +199 -0
  60. package/dist/site/schemas/v4-adopter-delivery-v1.schema.json +81 -0
  61. package/dist/site/schemas/v4-publication-qualification-v1.schema.json +51 -0
  62. package/dist/site/schemas/v4-publication-rehearsal-capsule-v1.schema.json +233 -0
  63. package/dist/site/site-manifest.json +19 -11
  64. package/dist/site/workflow-registry.json +195 -17
  65. package/docs/MAP.md +4 -2
  66. package/docs/cli-reference.md +70 -2
  67. package/docs/cli.md +8 -0
  68. package/docs/dev-delivery-warrant.md +34 -10
  69. package/docs/node-api-reference.md +524 -279
  70. package/docs/publish-transaction.md +11 -4
  71. package/docs/release-candidate.md +7 -0
  72. package/docs/release-tail-provider-plane.md +30 -0
  73. package/docs/v4-adopter-delivery.md +152 -0
  74. package/docs/v4-declarative-release-tail-migration.md +43 -0
  75. package/docs/v4-publication-rehearsal.md +130 -0
  76. package/package.json +24 -4
  77. package/packages/core/adopter-delivery-passport.js +295 -0
  78. package/packages/core/adopter-delivery-vectors.js +158 -0
  79. package/packages/core/adopter-delivery-vectors.json +77 -0
  80. package/packages/core/buildchain-agent-manuals.js +1 -0
  81. package/packages/core/buildchain-config.js +84 -0
  82. package/packages/core/buildchain-contract.js +31 -1
  83. package/packages/core/buildchain-delivery-bootstrap.js +240 -0
  84. package/packages/core/buildchain-delivery-infrastructure.js +164 -0
  85. package/packages/core/buildchain-delivery-self-dogfood.js +395 -0
  86. package/packages/core/buildchain-publication-authority.js +2 -0
  87. package/packages/core/ci-lane-change-budget.js +247 -0
  88. package/packages/core/dev-delivery-native-proof.js +43 -27
  89. package/packages/core/dev-delivery-warrant-settlement.js +239 -3
  90. package/packages/core/dev-delivery-warrant-state.js +46 -10
  91. package/packages/core/dev-delivery-warrant.js +29 -7
  92. package/packages/core/github-governance-authority.js +5 -4
  93. package/packages/core/index.js +6 -0
  94. package/packages/core/legacy-kfd-adopter-driver.js +167 -0
  95. package/packages/core/paper-scaffold-content.js +401 -0
  96. package/packages/core/paper.js +12 -378
  97. package/packages/core/publication-control-plane-audit.js +135 -111
  98. package/packages/core/publication-rehearsal-projection.js +104 -0
  99. package/packages/core/publication-rehearsal-runtime.js +190 -0
  100. package/packages/core/published-delivery-authority.js +266 -0
  101. package/packages/core/release-candidate-recovery.js +71 -15
  102. package/packages/core/release-candidate.js +2 -2
  103. package/packages/core/release-passport.js +95 -170
  104. package/packages/core/v4-adopter-delivery-parity.js +3 -3
  105. package/packages/core/v4-adopter-delivery.js +359 -0
  106. package/packages/core/v4-cross-platform-adopter-qualification.js +343 -0
  107. package/packages/core/v4-delivery-warrant-read-candidate.js +10 -3
  108. package/packages/core/v4-floating-consumer-evidence.js +18 -4
  109. package/packages/core/v4-floating-consumer-policy.js +139 -35
  110. package/packages/core/v4-floating-consumer-release-passport.js +154 -8
  111. package/packages/core/v4-publication-qualification.js +222 -0
  112. package/packages/core/v4-publication-rehearsal-capsule.js +468 -0
  113. package/packages/core/v4-publication-rehearsal-provider-bindings.js +212 -0
  114. package/packages/core/v4-publication-rehearsal.js +481 -0
  115. package/packages/core/workflow-yaml-contract.js +24 -2
  116. package/scripts/artifact-signing-controller-core.mjs +1 -1
  117. package/scripts/audit-publication-control-plane.mjs +17 -17
  118. package/scripts/buildchain-cli-help.mjs +13 -0
  119. package/scripts/check-ci-lane-change-budget.mjs +100 -0
  120. package/scripts/check-internal-architecture.mjs +23 -3
  121. package/scripts/check-inventory.mjs +24 -6
  122. package/scripts/check-maintainability.mjs +145 -4
  123. package/scripts/check-project-cut-merge-queue-admission.mjs +87 -0
  124. package/scripts/check-v3-v4-capability-inventory.mjs +574 -0
  125. package/scripts/check-v4-floating-consumer-policy-contract.mjs +30 -4
  126. package/scripts/check-v4-runtime-semantic-closure.mjs +266 -0
  127. package/scripts/dev-delivery-source-proof-replay.mjs +153 -0
  128. package/scripts/dev-delivery-source-proof-reuse.mjs +13 -97
  129. package/scripts/dev-delivery-warrant-options.mjs +27 -11
  130. package/scripts/dev-delivery-warrant-store.mjs +10 -6
  131. package/scripts/dev-delivery-warrant.mjs +50 -6
  132. package/scripts/dev-pr-auto-merge.mjs +25 -11
  133. package/scripts/dev-pr-delivery-warrant.mjs +45 -0
  134. package/scripts/dev-pr-prequeue-guard.mjs +0 -18
  135. package/scripts/dev-qualification-patrol.mjs +9 -9
  136. package/scripts/dispatch-artifact-signing-authority.mjs +1 -1
  137. package/scripts/generate-agent-change-map.mjs +118 -0
  138. package/scripts/generate-channel-promotion-workflow.mjs +2 -2
  139. package/scripts/generate-release-candidate-passport.mjs +177 -0
  140. package/scripts/generate-site-bundle.mjs +36 -0
  141. package/scripts/maintainability-domain-metrics.mjs +237 -0
  142. package/scripts/maintainability-governance.mjs +473 -0
  143. package/scripts/maintainability-metrics.mjs +28 -6
  144. package/scripts/project-cut-merge-queue-admission.mjs +394 -0
  145. package/scripts/promotion-channel-router.mjs +4 -4
  146. package/scripts/promotion-routing-evidence.mjs +35 -6
  147. package/scripts/release-candidate-anchor-provenance.mjs +99 -0
  148. package/scripts/release-candidate-resolver.mjs +44 -0
  149. package/scripts/release-line-policy.mjs +25 -15
  150. package/scripts/release-tail.mjs +68 -3
  151. package/scripts/resume-from-candidate-run.mjs +595 -65
  152. package/scripts/run-lifecycle-core.mjs +341 -376
  153. package/scripts/site-capability-metadata.mjs +21 -0
  154. package/scripts/stable-candidate-qualification.mjs +9 -10
  155. package/scripts/v3-v4-capability-catalog.mjs +439 -0
  156. package/scripts/v4-consumer-policy.mjs +4 -0
  157. package/scripts/v4-cross-platform-adopter-qualification.mjs +228 -0
  158. package/scripts/v4-declarative-promotion-admission.mjs +42 -0
  159. package/scripts/v4-publication-rehearsal-fixture.mjs +144 -0
@@ -1,16 +1,39 @@
1
1
  {
2
- "schemaVersion": 1,
2
+ "schemaVersion": 2,
3
3
  "contract": "kungfu-buildchain-maintainability-policy",
4
4
  "baseline": "architecture/maintainability-baseline.json",
5
5
  "enforcementRevision": "5308189b09bcb5a1314195412f2807a40d678838",
6
+ "debtBudget": {
7
+ "metric": "calibrated-full-dimensional-excess-v1",
8
+ "baselineProtectedHead": "2381db294325a367b6d2bfe7ee72c246f8469a51",
9
+ "baselineMeasuredExcess": 74773,
10
+ "baselineTotalExcess": 66712,
11
+ "maxTotalExcess": 59953,
12
+ "targetExclusive": 60000,
13
+ "rationale": "Preserve the accepted 66,712 governance ledger at the exact protected Wave 4 cut while charging every subsequent source, Rust, test, and workflow line, function, job, step, and decision excess one-for-one. The fixed calibration offset cannot hide new debt because both the measured ledger and calibrated total are recomputed from the complete exact debt map."
14
+ },
15
+ "exceptionBudget": {
16
+ "maxTotal": 94,
17
+ "maxByCollection": {
18
+ "approvedExistingDebtTransitions": 19,
19
+ "approvedNewFileTransitions": 21,
20
+ "approvedExtractedDebt": 20,
21
+ "approvedPublicSurfaceTransitions": 19,
22
+ "approvedTestDebtTransitions": 9,
23
+ "approvedWorkflowDebtTransitions": 6
24
+ },
25
+ "rationale": "Wave 4 freezes both the aggregate exception inventory and every exception class at the exact protected baseline; reductions may ratchet these ceilings downward, but entries cannot be moved between classes to create hidden headroom."
26
+ },
6
27
  "repositoryBudgets": {
7
- "baselineRevision": "c70e6ac28431888b24fefc218246cc69f8dde85a",
8
- "maxHandMaintainedSourceFiles": 408,
9
- "maxHandMaintainedSourceLines": 154384,
10
- "maxWorkflowFiles": 72,
11
- "maxWorkflowLines": 25634,
12
- "latestTransition": "Compatibility Facts parity adds a closed public schema, split Rust and TypeScript KFR2 cores, append-only lifecycle verification, shared fail-closed fixtures, CLI and Node projections, Release Passport lineage evidence, and generated site facts.",
13
- "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. These exact 408-file, 154384-source-line, 72-workflow-file and 25634-workflow-line ceilings cannot grow implicitly."
28
+ "baselineRevision": "858dbe00b6206a8f356b4a12d2659bee7a72e71b",
29
+ "maxHandMaintainedSourceFiles": 443,
30
+ "maxHandMaintainedSourceLines": 164457,
31
+ "maxWorkflowFiles": 77,
32
+ "maxWorkflowLines": 26791,
33
+ "latestTransition": "Compatibility Facts verification is split into bounded validation stages.",
34
+ "latestTransitionRationale": "Bundle indexing and reference validation, query planning, relation-state checks, authority-proof selection, and path orchestration now have explicit private boundaries. load_bundle complexity falls from 38 to 12 and verify_path_inner falls from 216 lines and complexity 68 to 23 lines and complexity 7; every resulting function is within the default Rust budgets, verifier.rs falls from 553 to 551 lines, and no public receipt, fault, serialization, or authority contract changes.",
35
+ "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.",
36
+ "governance": "legacy-debt-sunset-2026q4"
14
37
  },
15
38
  "sourceBudgets": {
16
39
  "newFileLines": 600,
@@ -19,169 +42,217 @@
19
42
  "existingDebtPolicy": "no-widening"
20
43
  },
21
44
  "approvedNewFileTransitions": {
45
+ "actions/promote-buildchain-ref/internal/promotion-operations.js": {
46
+ "maxLines": 1320,
47
+ "rationale": "The exact ref-mutation and reconciliation factories move intact behind one injected internal boundary. Consolidating the one-consumer existing-version-state helper keeps repository file and source-line totals flat while the public facade falls by 1317 lines.",
48
+ "governance": "stage3-promotion-facade-reduction"
49
+ },
22
50
  "packages/core/next-development-transition.js": {
23
51
  "maxLines": 738,
24
- "rationale": "The single versioned authority keeps completed-Alpha identity, legal successor models, role-separated adapter bounds, materialization roots, compare-and-swap transitions and deterministic replay validation together. Anchored and manual initial state persists as waiting-anchor after reviewed input and exposes rooted anchor binding plus controller materialization recording; this exact reviewed ceiling cannot grow implicitly."
52
+ "rationale": "The single versioned authority keeps completed-Alpha identity, legal successor models, role-separated adapter bounds, materialization roots, compare-and-swap transitions and deterministic replay validation together. Anchored and manual initial state persists as waiting-anchor after reviewed input and exposes rooted anchor binding plus controller materialization recording; this exact reviewed ceiling cannot grow implicitly.",
53
+ "governance": "legacy-debt-sunset-2026q4"
25
54
  },
26
55
  "packages/core/next-development-controller.js": {
27
56
  "maxLines": 728,
28
- "rationale": "The durable controller keeps atomic child identity, rooted checkpoints, idempotent materialization operations, latest protected Dev revalidation, PR settlement and exact source and derived root readback in one provider-neutral authority. It exposes no Alpha publication effect and resumes only through injected atomic store and executor boundaries; this exact reviewed ceiling cannot grow implicitly."
57
+ "rationale": "The durable controller keeps atomic child identity, rooted checkpoints, idempotent materialization operations, latest protected Dev revalidation, PR settlement and exact source and derived root readback in one provider-neutral authority. It exposes no Alpha publication effect and resumes only through injected atomic store and executor boundaries; this exact reviewed ceiling cannot grow implicitly.",
58
+ "governance": "legacy-debt-sunset-2026q4"
29
59
  },
30
60
  "actions/promote-buildchain-ref/internal/promote-alpha-channel.js": {
31
61
  "maxLines": 599,
32
- "rationale": "The extracted Alpha promotion stage replaces the former non-fast-forward skip with the existing exact-current-Dev regeneration contract, protected PR fallback, and fail-closed workspace binding; this exact reviewed ceiling cannot grow implicitly."
62
+ "rationale": "The extracted Alpha promotion stage replaces the former non-fast-forward skip with the existing exact-current-Dev regeneration contract, protected PR fallback, and fail-closed workspace binding; this exact reviewed ceiling cannot grow implicitly.",
63
+ "governance": "legacy-debt-sunset-2026q4"
33
64
  },
34
65
  "scripts/dev-delivery-source-proof-reuse.mjs": {
35
66
  "maxLines": 631,
36
- "rationale": "The bounded source-proof driver seals one exact PR qualification and verifies either the reviewed two-parent merge or GitHub's exact linear replay by base ancestry, commit count and every intermediate tree. Unknown, nonlinear, extra-commit or tree-drift compositions still fail closed to the full lifecycle, and this exact file ceiling cannot grow implicitly."
67
+ "rationale": "The bounded source-proof driver seals one exact PR qualification and delegates merge-group graph verification to the isolated exact-patch replay module. Unknown, nonlinear, extra-commit, patch-drift or base-divergent compositions still fail closed to the full lifecycle, and this exact file ceiling cannot grow implicitly.",
68
+ "governance": "legacy-debt-sunset-2026q4"
37
69
  },
38
70
  "scripts/dev-pr-prequeue-guard.mjs": {
39
71
  "maxLines": 399,
40
- "rationale": "The bounded guard keeps latest-base delta attribution, rooted source-proof reuse classification, synthetic merge composition readback, stable pre-enqueue failures, and the final base, head, queue, and Warrant compare-and-swap outside the legacy Dev PR controller; it cannot mutate the frozen source head or authorize landing by itself, and this exact file ceiling cannot grow implicitly."
72
+ "rationale": "The bounded guard keeps latest-base delta attribution, rooted source-proof reuse classification, synthetic merge composition readback, stable pre-enqueue failures, and the final base, head, queue, and Warrant compare-and-swap outside the legacy Dev PR controller; it cannot mutate the frozen source head or authorize landing by itself, and this exact file ceiling cannot grow implicitly.",
73
+ "governance": "legacy-debt-sunset-2026q4"
41
74
  },
42
75
  "scripts/dev-delivery-authority.mjs": {
43
76
  "maxLines": 635,
44
- "rationale": "The explicit authority CLI keeps plan-only and execute transitions, provider-attempt coordinates, expected-old durable state writes, terminal provider readback, and machine-readable output in one compatibility entrypoint while the state-machine implementations remain extracted; this exact file ceiling cannot grow implicitly."
77
+ "rationale": "The explicit authority CLI keeps plan-only and execute transitions, provider-attempt coordinates, expected-old durable state writes, terminal provider readback, and machine-readable output in one compatibility entrypoint while the state-machine implementations remain extracted; this exact file ceiling cannot grow implicitly.",
78
+ "governance": "legacy-debt-sunset-2026q4"
45
79
  },
46
80
  "scripts/v4-architecture.mjs": {
47
81
  "maxLines": 610,
48
- "rationale": "The v4 architecture validator adds only the bounded production-authority, fallback, rollback, writer-runtime, and legacy-retirement checks required for the final release cutover. This exact reviewed ceiling cannot grow implicitly."
82
+ "rationale": "The v4 architecture validator adds only the bounded production-authority, fallback, rollback, writer-runtime, and legacy-retirement checks required for the final release cutover. This exact reviewed ceiling cannot grow implicitly.",
83
+ "governance": "legacy-debt-sunset-2026q4"
49
84
  },
50
85
  "scripts/v4-warrant-shadow-plan.mjs": {
51
86
  "maxLines": 601,
52
- "rationale": "The historical v3 comparison plan now separately verifies that the live manifest is v4-authoritative and legacy-retired, preventing comparison evidence from being mistaken for production authority. This exact reviewed ceiling cannot grow implicitly."
87
+ "rationale": "The historical v3 comparison plan now separately verifies that the live manifest is v4-authoritative and legacy-retired, preventing comparison evidence from being mistaken for production authority. This exact reviewed ceiling cannot grow implicitly.",
88
+ "governance": "legacy-debt-sunset-2026q4"
53
89
  },
54
90
  "packages/core/buildchain-channel-identity.js": {
55
91
  "maxLines": 119,
56
- "rationale": "The single major-independent classifier and triad evaluator keep shell, runtime, and contract-lock lane identity in one bounded fail-closed authority shared by stable and alpha consumers. This exact reviewed ceiling cannot grow implicitly."
92
+ "rationale": "The single major-independent classifier and triad evaluator keep shell, runtime, and contract-lock lane identity in one bounded fail-closed authority shared by stable and alpha consumers. This exact reviewed ceiling cannot grow implicitly.",
93
+ "governance": "legacy-debt-sunset-2026q4"
57
94
  },
58
95
  "packages/core/dev-delivery-warrant.js": {
59
96
  "maxLines": 605,
60
- "rationale": "The v4 parity port preserves the reviewed v3 release-blocker claim handoff, root-preserving candidate refresh, deterministic queued ranking and receipt propagation while retaining all prior fencing, lease and terminal semantics; this exact reviewed ceiling cannot grow implicitly."
97
+ "rationale": "The v4 parity port preserves the reviewed v3 release-blocker claim handoff, root-preserving candidate refresh, deterministic queued ranking and receipt propagation while retaining all prior fencing, lease and terminal semantics; this exact reviewed ceiling cannot grow implicitly.",
98
+ "governance": "legacy-debt-sunset-2026q4"
61
99
  },
62
100
  "packages/core/dev-delivery-authority-landing.js": {
63
101
  "maxLines": 615,
64
- "rationale": "The bounded Landing authority module keeps exclusive acquisition, fenced heartbeat, exact merge-group provider-attempt admission, independent expired-provider readback, terminal settlement, and deterministic wake transitions in one audited state-machine seam; this exact file ceiling cannot grow implicitly."
102
+ "rationale": "The bounded Landing authority module keeps exclusive acquisition, fenced heartbeat, exact merge-group provider-attempt admission, independent expired-provider readback, terminal settlement, and deterministic wake transitions in one audited state-machine seam; this exact file ceiling cannot grow implicitly.",
103
+ "governance": "legacy-debt-sunset-2026q4"
65
104
  },
66
105
  "packages/core/dev-delivery-landing-admission-core.js": {
67
106
  "maxLines": 119,
68
- "rationale": "The internal transition persists only a provider attempt already derived by the public live GitHub readback boundary, keeping caller-supplied evidence outside the package export graph while preserving deterministic duplicate admission; this exact file ceiling cannot grow implicitly."
107
+ "rationale": "The internal transition persists only a provider attempt already derived by the public live GitHub readback boundary, keeping caller-supplied evidence outside the package export graph while preserving deterministic duplicate admission; this exact file ceiling cannot grow implicitly.",
108
+ "governance": "legacy-debt-sunset-2026q4"
69
109
  },
70
110
  "packages/core/release-blocker-priority.js": {
71
111
  "maxLines": 193,
72
- "rationale": "The v4 parity adapter preserves the reviewed v3 exact dual-landing priority claim, repair-contract parsing and unrelated-work rejection outside the durable Warrant state machine; this exact reviewed ceiling cannot grow implicitly."
112
+ "rationale": "The v4 parity adapter preserves the reviewed v3 exact dual-landing priority claim, repair-contract parsing and unrelated-work rejection outside the durable Warrant state machine; this exact reviewed ceiling cannot grow implicitly.",
113
+ "governance": "legacy-debt-sunset-2026q4"
73
114
  },
74
115
  "packages/core/kfd-adopter-manifest.js": {
75
116
  "maxLines": 390,
76
- "rationale": "The package-only adapter keeps published KFD verification, Buildchain-specific evidence constraints, decision and gate roots, and the one-way legacy projection in one bounded public authority seam. This exact reviewed ceiling cannot grow implicitly."
117
+ "rationale": "The package-only adapter keeps published KFD verification, Buildchain-specific evidence constraints, decision and gate roots, and the one-way legacy projection in one bounded public authority seam. This exact reviewed ceiling cannot grow implicitly.",
118
+ "governance": "legacy-debt-sunset-2026q4"
77
119
  },
78
120
  "packages/core/release-train.js": {
79
121
  "maxLines": 740,
80
- "rationale": "The v4 Release Train parity contract preserves the reviewed v3 rooted successor-repair lifecycle, compare-and-swap, frozen origin provenance, exact cut and Dev patch identity, independent candidate-build eligibility, publication gating and deterministic validation; this exact reviewed ceiling cannot grow implicitly."
122
+ "rationale": "The v4 Release Train parity contract preserves the reviewed v3 rooted successor-repair lifecycle, compare-and-swap, frozen origin provenance, exact cut and Dev patch identity, independent candidate-build eligibility, publication gating and deterministic validation; this exact reviewed ceiling cannot grow implicitly.",
123
+ "governance": "legacy-debt-sunset-2026q4"
81
124
  },
82
125
  "packages/core/engineering-housekeeper-github.js": {
83
126
  "maxLines": 707,
84
- "rationale": "The bounded GitHub engine keeps complete pagination, repository-wide protected-mainline discovery, one batched closed-PR inventory, exact association-only target selection, and fixed eight-way ancestry concurrency. Unassociated heads are retained without fallback comparisons; exact source and target revalidation, stale-PR labeling, provider receipts, and replay behavior remain in one public provider surface. This exact reviewed ceiling cannot grow implicitly."
127
+ "rationale": "The bounded GitHub engine keeps complete pagination, repository-wide protected-mainline discovery, one batched closed-PR inventory, exact association-only target selection, and fixed eight-way ancestry concurrency. Unassociated heads are retained without fallback comparisons; exact source and target revalidation, stale-PR labeling, provider receipts, and replay behavior remain in one public provider surface. This exact reviewed ceiling cannot grow implicitly.",
128
+ "governance": "legacy-debt-sunset-2026q4"
85
129
  },
86
130
  "packages/core/release-tail-provider-plane.js": {
87
131
  "maxLines": 1228,
88
132
  "maxFunctionLines": 255,
89
133
  "maxFunctionComplexity": 33,
90
- "rationale": "The one versioned transaction authority keeps strict declaration normalization, deterministic effect planning, atomic checkpoints, rooted observations and receipts, and bounded recovery in one independently tested audit surface; this exact preview ceiling cannot grow implicitly."
134
+ "rationale": "The one versioned transaction authority keeps strict declaration normalization, deterministic effect planning, atomic checkpoints, rooted observations and receipts, and bounded recovery in one independently tested audit surface; this exact preview ceiling cannot grow implicitly.",
135
+ "governance": "legacy-debt-sunset-2026q4"
91
136
  },
92
137
  "packages/core/v4-runtime-ref-resume-authority.js": {
93
138
  "maxLines": 625,
94
- "rationale": "The reviewed v4 authority keeps exact-runtime authorization, source and lock binding, fresh-attempt Stage Capsule reuse, floating-ref movement, final readback, and Passport lineage verification in one bounded public module; persistence scanning is separately owned and this exact ceiling cannot grow implicitly."
139
+ "rationale": "The reviewed v4 authority keeps exact-runtime authorization, source and lock binding, fresh-attempt Stage Capsule reuse, floating-ref movement, final readback, and Passport lineage verification in one bounded public module; persistence scanning is separately owned and this exact ceiling cannot grow implicitly.",
140
+ "governance": "legacy-debt-sunset-2026q4"
95
141
  },
96
142
  "packages/core/v4-runtime-selector-persistence.js": {
97
143
  "maxLines": 228,
98
- "rationale": "The isolated source scanner rejects persisted exact, train, authority, variable, secret, and environment selector authority while inventorying OIDC, IAM, and external authority metadata without reading credentials; this exact ceiling cannot grow implicitly."
144
+ "rationale": "The isolated source scanner rejects persisted exact, train, authority, variable, secret, and environment selector authority while inventorying OIDC, IAM, and external authority metadata without reading credentials; this exact ceiling cannot grow implicitly.",
145
+ "governance": "legacy-debt-sunset-2026q4"
146
+ },
147
+ "scripts/resume-from-candidate-run.mjs": {
148
+ "maxLines": 1125,
149
+ "rationale": "The candidate recovery adapter retains the existing artifact normalization and immutable recovery receipt boundary while adding fresh authorized cross-runtime Stage Capsule resume material, post-publication ref, tag, ancestry, and npm readback, and rooted Release Passport lineage. Its main orchestration remains below the default function length and complexity limits, and this exact file ceiling cannot grow implicitly.",
150
+ "governance": "legacy-debt-sunset-2026q4"
99
151
  }
100
152
  },
101
153
  "approvedExistingDebtTransitions": {
102
154
  "packages/core/index.js": {
103
- "maxLines": 699,
104
- "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."
155
+ "maxLines": 705,
156
+ "rationale": "The public facade exposes both the bounded CI lane change-budget and v4 publication qualification contracts beside the existing v4 governance APIs without adding provider effects, a second implementation, or merge authority; this exact post-integration ceiling cannot grow implicitly.",
157
+ "governance": "legacy-debt-sunset-2026q4"
105
158
  },
106
159
  "actions/promote-buildchain-ref/index.js": {
107
- "maxFunctionLines": 276,
108
- "rationale": "The existing action entrypoint forwards one optional rooted v4 runtime-resume evidence document into the already audited durable Passport operation; this one-line terminal widening is exact and cannot grow implicitly."
160
+ "maxFunctionLines": 280,
161
+ "rationale": "The existing action entrypoint forwards the optional rooted v4 runtime-resume material and its trusted post-publication finalizer into the audited durable Passport operation. The exact readable four-line input widening cannot grow implicitly.",
162
+ "governance": "legacy-debt-sunset-2026q4"
109
163
  },
110
164
  "actions/promote-buildchain-ref/lib.js": {
111
- "maxLines": 6952,
112
- "rationale": "Named responsibility factories preserve both the audited legacy promotion implementation and the sealed-publication and family-evidence behavior already present at the enforcement revision, while the terminal orchestration budget drops from 3066 lines to at most 600. This exact post-integration ceiling cannot grow implicitly."
165
+ "maxLines": 3471,
166
+ "rationale": "The stable facade injects exact ref-mutation and reconciliation dependencies into one internal module while retaining its exported factory, option defaults, operation order, public contracts and authority boundaries. The exact file ceiling falls from 4788 to 3471 and cannot grow implicitly.",
167
+ "governance": "stage3-promotion-facade-reduction"
113
168
  },
114
169
  "bin/buildchain.mjs": {
115
170
  "maxLines": 1946,
116
- "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."
171
+ "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.",
172
+ "governance": "legacy-debt-sunset-2026q4"
117
173
  },
118
174
  "packages/core/release-passport.js": {
119
- "maxLines": 2958,
175
+ "maxLines": 2987,
120
176
  "maxFunctionLines": 304,
121
- "rationale": "Responsibility-owned validators preserve issue ordering, byte-stable reports, upstream release evidence, consumer-policy certification, and the new rooted runtime A+B resume lineage. The optional attachment is normalized and independently reverified before inclusion; these exact post-integration ceilings cannot grow implicitly."
177
+ "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. The historical adopter source selector is a two-line re-export of the bounded adopter-delivery implementation rather than duplicate Passport logic; these exact post-integration ceilings cannot grow implicitly.",
178
+ "governance": "legacy-debt-sunset-2026q4"
122
179
  },
123
180
  "packages/core/buildchain-contract.js": {
124
181
  "maxLines": 1096,
125
182
  "maxFunctionLines": 681,
126
183
  "maxFunctionComplexity": 30,
127
- "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."
184
+ "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.",
185
+ "governance": "legacy-debt-sunset-2026q4"
128
186
  },
129
187
  "packages/core/github-governance-authority.js": {
130
- "maxLines": 1368,
131
- "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."
188
+ "maxLines": 1369,
189
+ "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.",
190
+ "governance": "legacy-debt-sunset-2026q4"
132
191
  },
133
192
  "packages/core/buildchain-config.js": {
134
- "maxLines": 1806,
135
- "rationale": "Artifact signing configuration admits only the Buildchain-owned JIT profile with exact safe archive-relative target paths while rejecting credentials, entitlement files, wildcard paths, incompatible artifact kinds, and incomplete declarations; this exact wiring ceiling cannot grow implicitly."
193
+ "maxLines": 1885,
194
+ "rationale": "Artifact signing configuration admits only the Buildchain-owned JIT profile with exact safe archive-relative target paths while rejecting credentials, entitlement files, wildcard paths, incompatible artifact kinds, and incomplete declarations. Publication rehearsal remains effect-disabled. Adopter delivery adds only a closed public contract, exact selectors and repository-relative input, readback, bootstrap, archive and result paths; this exact wiring ceiling cannot grow implicitly.",
195
+ "governance": "legacy-debt-sunset-2026q4"
136
196
  },
137
197
  "scripts/check-internal-architecture.mjs": {
138
198
  "maxFunctionComplexity": 37,
139
- "rationale": "Ownership coverage and zero-cycle enforcement were added to the pre-existing architecture traversal; this exact guard complexity ceiling cannot grow implicitly."
140
- },
141
- "scripts/check-maintainability.mjs": {
142
- "maxFunctionComplexity": 29,
143
- "rationale": "The new-file budget evaluator recognizes only explicit path-scoped transitions with exact ceilings and mandatory rationales; the default budget and every existing no-widening check remain unchanged."
199
+ "rationale": "Ownership coverage and zero-cycle enforcement were added to the pre-existing architecture traversal; this exact guard complexity ceiling cannot grow implicitly.",
200
+ "governance": "legacy-debt-sunset-2026q4"
144
201
  },
145
202
  "scripts/check-inventory.mjs": {
146
- "maxLines": 1497,
147
- "rationale": "Inventory retains the complete recovery and publication authority set and additionally requires both bounded next-development self-dogfood command and harness files beside the contract, controller, schemas, fixtures, adapter, generated guidance and public documentation; this exact post-integration ceiling cannot grow implicitly."
203
+ "maxLines": 1515,
204
+ "rationale": "Inventory retains the complete recovery and publication authority set and additionally locks the bounded protected-Alpha private-shell bootstrap, declarative built-in tail, and absence of a new public recovery input; this exact post-integration ceiling cannot grow implicitly.",
205
+ "governance": "legacy-debt-sunset-2026q4"
148
206
  },
149
207
  "scripts/generate-channel-promotion-workflow.mjs": {
150
208
  "maxFunctionLines": 290,
151
- "rationale": "The generated promotion router keeps the exact candidate recovery interface and the latest bounded shell-routing implementation in one deterministic generator. It now derives the advanced contract gate's expected lane and major from the selected route without exposing them as caller-controlled public inputs. This exact combined train ceiling cannot grow implicitly."
209
+ "rationale": "The generated promotion router keeps the exact candidate recovery interface and the latest bounded shell-routing implementation in one deterministic generator. It now derives the advanced contract gate's expected lane and major from the selected route without exposing them as caller-controlled public inputs. This exact combined train ceiling cannot grow implicitly.",
210
+ "governance": "legacy-debt-sunset-2026q4"
152
211
  },
153
212
  "scripts/release-candidate-resolver.mjs": {
154
- "maxLines": 810,
155
- "maxFunctionLines": 306,
213
+ "maxLines": 854,
214
+ "maxFunctionLines": 309,
156
215
  "maxFunctionComplexity": 63,
157
- "rationale": "The shared candidate resolver selects the original Passport runtime, seals exact payloads under the existing publication bundle contract, streams GitHub archives to disk, and verifies size and sha256 with bounded-memory reads; the exact ceiling cannot grow implicitly."
216
+ "rationale": "The shared candidate resolver retains bounded archive streaming, payload size and sha256 validation while additionally locating and validating the candidate-bound Stage Capsule aggregate and publication qualification receipt before exposing their exact paths. The validation is extracted from the main orchestration and does not execute consumer code; these exact ceilings cannot grow implicitly.",
217
+ "governance": "legacy-debt-sunset-2026q4"
158
218
  },
159
219
  "scripts/auditable-demo.mjs": {
160
220
  "maxLines": 1330,
161
- "rationale": "The existing Gate validator admits an explicit bounded long-form duration class while preserving the standard 60-second default and exact capture-to-scene binding; this exact post-integration ceiling cannot grow implicitly."
221
+ "rationale": "The existing Gate validator admits an explicit bounded long-form duration class while preserving the standard 60-second default and exact capture-to-scene binding; this exact post-integration ceiling cannot grow implicitly.",
222
+ "governance": "legacy-debt-sunset-2026q4"
162
223
  },
163
224
  "scripts/dev-alpha-candidate-patrol.mjs": {
164
225
  "maxLines": 1197,
165
- "rationale": "The existing single-flight exact-source Alpha controller delegates next-development reservation validation to the bounded core reader, carries the rooted result into selection, and retains the no-publication boundary; this exact ceiling cannot grow implicitly."
226
+ "rationale": "The existing single-flight exact-source Alpha controller delegates next-development reservation validation to the bounded core reader, carries the rooted result into selection, and retains the no-publication boundary; this exact ceiling cannot grow implicitly.",
227
+ "governance": "legacy-debt-sunset-2026q4"
166
228
  },
167
229
  "scripts/build-contract-core.mjs": {
168
230
  "maxLines": 1229,
169
- "rationale": "Runner matrix resolution now binds one explicit GitHub-hosted identity and exact hosted versus relay projections so artifact transport cannot cross regions unnecessarily; this exact post-integration ceiling cannot grow implicitly."
231
+ "rationale": "Runner matrix resolution now binds one explicit GitHub-hosted identity and exact hosted versus relay projections so artifact transport cannot cross regions unnecessarily; this exact post-integration ceiling cannot grow implicitly.",
232
+ "governance": "legacy-debt-sunset-2026q4"
170
233
  },
171
234
  "scripts/generate-site-bundle.mjs": {
172
235
  "maxLines": 1502,
173
- "rationale": "Lifecycle metadata and CLI registry parity are generated centrally across the latest upstream public surface while the largest generator function remains at or below its prior size and complexity ceilings."
236
+ "rationale": "Lifecycle metadata and CLI registry parity are generated centrally across the latest upstream public surface while the largest generator function remains at or below its prior size and complexity ceilings.",
237
+ "governance": "legacy-debt-sunset-2026q4"
174
238
  },
175
239
  "scripts/run-lifecycle-core.mjs": {
176
240
  "maxLines": 886,
177
241
  "maxFunctionLines": 472,
178
242
  "maxFunctionComplexity": 74,
179
- "rationale": "The runtime action now enforces the audited compiler-cache activity gate immediately after a successful build, so consumers receive fail-closed verification before their reusable workflow shell advances; exact existing function complexity does not increase."
243
+ "rationale": "The runtime action now enforces the audited compiler-cache activity gate immediately after a successful build, so consumers receive fail-closed verification before their reusable workflow shell advances; exact existing function complexity does not increase.",
244
+ "governance": "legacy-debt-sunset-2026q4"
180
245
  },
181
246
  "scripts/dev-pr-auto-merge.mjs": {
182
247
  "maxLines": 1224,
183
248
  "maxFunctionComplexity": 53,
184
- "rationale": "The existing Dev PR controller now supports one targeted exact-head Agent admission path with typed receipts and PR-visible diagnostics while preserving independent approval, required-check, same-repository, readiness, and merge-queue gates; this exact post-integration ceiling cannot grow implicitly."
249
+ "rationale": "The existing Dev PR controller now supports one targeted exact-head Agent admission path with typed receipts and PR-visible diagnostics while preserving independent approval, required-check, same-repository, readiness, and merge-queue gates; this exact post-integration ceiling cannot grow implicitly.",
250
+ "governance": "legacy-debt-sunset-2026q4"
251
+ },
252
+ "scripts/check-maintainability.mjs": {
253
+ "maxFunctionComplexity": 29,
254
+ "rationale": "The new-file budget evaluator recognizes only explicit path-scoped transitions with exact ceilings and mandatory rationales; the default budget and every existing no-widening check remain unchanged.",
255
+ "governance": "legacy-debt-sunset-2026q4"
185
256
  }
186
257
  },
187
258
  "approvedPublicSurfaceTransitions": {
@@ -221,7 +292,8 @@
221
292
  "source-proof-root"
222
293
  ]
223
294
  },
224
- "rationale": "Add an opt-in merge-group fast path that accepts only an unexpired artifact from a successful same-workflow pull-request run and recomputes exact source, base, patch, runtime, plan, policy, closure, dependency, required-context, controller-receipt, and two-parent merge-group bindings. Existing callers remain on the full lifecycle by default, while any missing evidence, API failure, mismatch, grouped composition, or malformed proof also runs the full lifecycle."
295
+ "rationale": "Add an opt-in merge-group fast path that accepts only an unexpired artifact from a successful same-workflow pull-request run and recomputes exact source, base, patch, runtime, plan, policy, closure, dependency, required-context, controller-receipt, and two-parent merge-group bindings. Existing callers remain on the full lifecycle by default, while any missing evidence, API failure, mismatch, grouped composition, or malformed proof also runs the full lifecycle.",
296
+ "governance": "legacy-debt-sunset-2026q4"
225
297
  },
226
298
  "action:promote-buildchain-ref": {
227
299
  "fromRevision": "5308189b09bcb5a1314195412f2807a40d678838",
@@ -243,6 +315,7 @@
243
315
  "github-release-artifact-paths",
244
316
  "github-release-notes",
245
317
  "github-release-title",
318
+ "plan-before-target-advance",
246
319
  "promote-only-release-candidate",
247
320
  "publication-capability-json",
248
321
  "publication-gate-aggregate-json",
@@ -276,6 +349,7 @@
276
349
  "release-candidate-version",
277
350
  "release-material-sha",
278
351
  "release-passport",
352
+ "release-passport-adopter-delivery-json",
279
353
  "release-passport-attachment-command",
280
354
  "release-passport-build-summary-path",
281
355
  "release-passport-buildchain-self-kfd",
@@ -290,6 +364,7 @@
290
364
  "release-passport-kfd-3-artifact-verify-command",
291
365
  "release-passport-kfd-3-artifact-witness-jsons",
292
366
  "release-passport-kfd-3-prebuild-witness-jsons",
367
+ "release-passport-kfd-adopter-manifest-gate-json",
293
368
  "release-passport-kfd-adopter-manifest-json",
294
369
  "release-passport-kfd-product-gate-jsons",
295
370
  "release-passport-kfd-support-matrix-json",
@@ -299,6 +374,7 @@
299
374
  "release-passport-promotion-routing-json",
300
375
  "release-passport-v4-consumer-policy-certification-json",
301
376
  "release-passport-v4-consumer-policy-certification-root",
377
+ "release-passport-v4-runtime-resume-evidence-command",
302
378
  "release-passport-v4-runtime-resume-evidence-json",
303
379
  "release-tail-state-path",
304
380
  "require-governance",
@@ -316,7 +392,8 @@
316
392
  "secrets": [],
317
393
  "outputs": []
318
394
  },
319
- "rationale": "The promote action preserves the independently rooted v4 consumer-policy certification and now accepts one optional verified runtime-resume evidence document for final Release Passport construction; v3 behavior remains unchanged."
395
+ "rationale": "The promote action preserves the independently rooted v4 consumer-policy certification and accepts one optional verified runtime-resume evidence document plus one trusted post-publication finalizer command. The command runs only inside the existing durable Passport finalization boundary after provider effects and public readback; v3 behavior remains unchanged.",
396
+ "governance": "legacy-debt-sunset-2026q4"
320
397
  },
321
398
  "cli:architecture": {
322
399
  "fromRevision": "5308189b09bcb5a1314195412f2807a40d678838",
@@ -324,7 +401,8 @@
324
401
  "id": "architecture",
325
402
  "usage": "buildchain architecture validate [--cwd <dir>] [--json]"
326
403
  },
327
- "rationale": "Add a read-only generated list/show/validate surface plus exact Git N-1 qualification; the manifest remains the single authority and the commands do not migrate or write production state."
404
+ "rationale": "Add a read-only generated list/show/validate surface plus exact Git N-1 qualification; the manifest remains the single authority and the commands do not migrate or write production state.",
405
+ "governance": "legacy-debt-sunset-2026q4"
328
406
  },
329
407
  "cli:kfd-support": {
330
408
  "fromRevision": "5308189b09bcb5a1314195412f2807a40d678838",
@@ -332,7 +410,8 @@
332
410
  "id": "kfd-support",
333
411
  "usage": "buildchain kfd support project --manifest-json <file-or-json> --manifest-gate-json <file-or-json>"
334
412
  },
335
- "rationale": "Replace the product-owned support-matrix declaration authority with a read-only compatibility projection derived from one exact standard adopter manifest and its passing gate; verification now requires the same authority closure and cannot widen adopter claims."
413
+ "rationale": "Replace the product-owned support-matrix declaration authority with a read-only compatibility projection derived from one exact standard adopter manifest and its passing gate; verification now requires the same authority closure and cannot widen adopter claims.",
414
+ "governance": "legacy-debt-sunset-2026q4"
336
415
  },
337
416
  "cli:dev": {
338
417
  "fromRevision": "5308189b09bcb5a1314195412f2807a40d678838",
@@ -340,7 +419,8 @@
340
419
  "id": "dev",
341
420
  "usage": "buildchain dev pr-admit --repository <owner/repo> --branch <dev/vN/vN.M>"
342
421
  },
343
- "rationale": "The existing Dev command family adds one targeted exact-head admission entry that emits a typed receipt and PR-visible diagnostic status while preserving the merge-queue command and keeping approval and merge authority external."
422
+ "rationale": "The existing Dev command family adds one targeted exact-head admission entry that emits a typed receipt and PR-visible diagnostic status while preserving the merge-queue command and keeping approval and merge authority external.",
423
+ "governance": "legacy-debt-sunset-2026q4"
344
424
  },
345
425
  "action:run-lifecycle": {
346
426
  "fromRevision": "5308189b09bcb5a1314195412f2807a40d678838",
@@ -374,7 +454,8 @@
374
454
  "secrets": [],
375
455
  "outputs": []
376
456
  },
377
- "rationale": "The action accepts one optional consumer-produced substage evidence file, independently verifies its exact source and platform roots, and embeds it in diagnostics without changing behavior for existing callers."
457
+ "rationale": "The action accepts one optional consumer-produced substage evidence file, independently verifies its exact source and platform roots, and embeds it in diagnostics without changing behavior for existing callers.",
458
+ "governance": "legacy-debt-sunset-2026q4"
378
459
  },
379
460
  "workflow:dev-alpha-candidate-patrol": {
380
461
  "fromRevision": "5308189b09bcb5a1314195412f2807a40d678838",
@@ -420,7 +501,89 @@
420
501
  "train-root"
421
502
  ]
422
503
  },
423
- "rationale": "Expose the frozen Release Cut, generation, candidate tree, exact runtime, Dev-drift observation and fail-closed hold roots for v4 Build inputs while preserving the existing no-publication and protected-settlement boundary."
504
+ "rationale": "Expose the frozen Release Cut, generation, candidate tree, exact runtime, Dev-drift observation and fail-closed hold roots for v4 Build inputs while preserving the existing no-publication and protected-settlement boundary.",
505
+ "governance": "legacy-debt-sunset-2026q4"
506
+ },
507
+ "workflow:.web-surface": {
508
+ "fromRevision": "5308189b09bcb5a1314195412f2807a40d678838",
509
+ "contract": {
510
+ "id": ".web-surface",
511
+ "path": ".github/workflows/.web-surface.yml",
512
+ "reusable": true,
513
+ "inputs": [
514
+ "artifact-path",
515
+ "aws-region",
516
+ "build-command",
517
+ "buildchain-contract-compatibility-policy",
518
+ "buildchain-contract-drift-issue-mode",
519
+ "buildchain-contract-expected-channel",
520
+ "buildchain-contract-expected-major",
521
+ "buildchain-contract-lock-path",
522
+ "buildchain-ref",
523
+ "buildchain-repository",
524
+ "fail-on-release-pr-error",
525
+ "github-governance-receipt-json",
526
+ "node-version",
527
+ "preview-apply",
528
+ "preview-aws-role-arn",
529
+ "preview-cleanup-apply",
530
+ "preview-comment",
531
+ "preview-environment",
532
+ "production-apply",
533
+ "production-approved",
534
+ "production-aws-role-arn",
535
+ "production-environment",
536
+ "production-release-app-client-id",
537
+ "production-release-app-id",
538
+ "production-release-branch-channel",
539
+ "production-release-head-prefix",
540
+ "production-release-label",
541
+ "production-release-on-main",
542
+ "production-release-pr-mode",
543
+ "production-release-pr-token",
544
+ "production-source-sha",
545
+ "publication-admission-json",
546
+ "publication-control-plane-audit-json",
547
+ "publication-expected-json",
548
+ "publication-gate-aggregate-json",
549
+ "publication-runner-provenance-json",
550
+ "publication-used-nonces-json",
551
+ "release-feedback-actor-privacy",
552
+ "staging-apply",
553
+ "staging-aws-role-arn",
554
+ "staging-environment",
555
+ "verify-command",
556
+ "working-directory"
557
+ ],
558
+ "secrets": ["production-release-app-private-key"],
559
+ "outputs": [
560
+ "buildchain-runtime-class",
561
+ "buildchain-runtime-override",
562
+ "buildchain-runtime-ref",
563
+ "buildchain-runtime-sha",
564
+ "controller-plan-artifact",
565
+ "controller-plan-digest",
566
+ "controller-plan-json",
567
+ "controller-receipt-artifact",
568
+ "controller-receipt-digest",
569
+ "controller-receipt-json",
570
+ "controller-receipt-status",
571
+ "preview-apply-result-json",
572
+ "preview-cleanup-result-json",
573
+ "production-apply-result-json",
574
+ "production-release-pr-url",
575
+ "release-pr-status",
576
+ "staging-apply-result-json",
577
+ "web-surface-alias",
578
+ "web-surface-channel",
579
+ "web-surface-cleanup-plan-json",
580
+ "web-surface-manifest-json",
581
+ "web-surface-url",
582
+ "web-surface-urls-json"
583
+ ]
584
+ },
585
+ "rationale": "The reusable web-surface workflow exposes only the historical contract-channel aliases needed to bind the same v4 contract lock. Conflicting legacy and current identities fail before build or deployment, and no preview, staging, production, credential, or release authority changes.",
586
+ "governance": "legacy-debt-sunset-2026q4"
424
587
  },
425
588
  "workflow:dev-pr-auto-merge": {
426
589
  "fromRevision": "5308189b09bcb5a1314195412f2807a40d678838",
@@ -437,6 +600,7 @@
437
600
  "buildchain-ref",
438
601
  "buildchain-repository",
439
602
  "closure-root",
603
+ "defer-landing",
440
604
  "delivery-class",
441
605
  "delivery-priority",
442
606
  "delivery-warrant-mode",
@@ -496,7 +660,8 @@
496
660
  "warrant-state-root"
497
661
  ]
498
662
  },
499
- "rationale": "Add required-mode two-phase native qualification under one provisional fence, exact environment and heartbeat receipt binding, deterministic proof reuse, qualified-Warrant readback, and bounded successor handoff. The execution-transfer and provider-finalizer boundary outputs expose the exact content root and live distinct-job runner readback without exposing credential bytes. The additive legacy-active-owner binding carries exact phase-less state, fence, and generation without requiring a native command contract. Existing off and shadow modes remain explicit, and GitHub merge_group plus the exact Project Cut remain final landing authority."
663
+ "rationale": "Add required-mode two-phase native qualification under one provisional fence, exact environment and heartbeat receipt binding, deterministic proof reuse, qualified-Warrant readback, and bounded successor handoff. The execution-transfer and provider-finalizer boundary outputs expose the exact content root and live distinct-job runner readback without exposing credential bytes. The additive legacy-active-owner binding carries exact phase-less state, fence, and generation without requiring a native command contract. Existing off and shadow modes remain explicit, and GitHub merge_group plus the exact Project Cut remain final landing authority.",
664
+ "governance": "legacy-debt-sunset-2026q4"
500
665
  },
501
666
  "workflow:stable-candidate-patrol": {
502
667
  "fromRevision": "5308189b09bcb5a1314195412f2807a40d678838",
@@ -532,7 +697,8 @@
532
697
  "stable-version"
533
698
  ]
534
699
  },
535
- "rationale": "Let protected stable callers select the repository-supported GitHub auto-merge method while preserving the existing opt-in and exact-source gates."
700
+ "rationale": "Let protected stable callers select the repository-supported GitHub auto-merge method while preserving the existing opt-in and exact-source gates.",
701
+ "governance": "legacy-debt-sunset-2026q4"
536
702
  },
537
703
  "cli:release-propagation": {
538
704
  "fromRevision": "5308189b09bcb5a1314195412f2807a40d678838",
@@ -540,7 +706,8 @@
540
706
  "id": "release-propagation",
541
707
  "usage": "buildchain release-propagation <plan|write-lock|work|entry|pickup> ..."
542
708
  },
543
- "rationale": "The existing release-propagation command adds one policy-reporting Site upstream entry and exact non-force Work branch executor while preserving plan, lock, pickup, and Work Control compatibility."
709
+ "rationale": "The existing release-propagation command adds one policy-reporting Site upstream entry and exact non-force Work branch executor while preserving plan, lock, pickup, and Work Control compatibility.",
710
+ "governance": "legacy-debt-sunset-2026q4"
544
711
  },
545
712
  "workflow:publication-artifact": {
546
713
  "fromRevision": "5308189b09bcb5a1314195412f2807a40d678838",
@@ -593,7 +760,8 @@
593
760
  "runtime-sha"
594
761
  ]
595
762
  },
596
- "rationale": "The publication workflow adds consumer-owned stable and alpha lock inputs so its earliest semantic v4 admission gate can bind the persisted floating selector before controller or package execution; its outputs and v3 behavior remain unchanged."
763
+ "rationale": "The publication workflow adds consumer-owned stable and alpha lock inputs so its earliest semantic v4 admission gate can bind the persisted floating selector before controller or package execution; its outputs and v3 behavior remain unchanged.",
764
+ "governance": "legacy-debt-sunset-2026q4"
597
765
  },
598
766
  "workflow:.build": {
599
767
  "fromRevision": "5308189b09bcb5a1314195412f2807a40d678838",
@@ -624,6 +792,8 @@
624
792
  "build-command",
625
793
  "buildchain-contract-compatibility-policy",
626
794
  "buildchain-contract-drift-issue-mode",
795
+ "buildchain-contract-expected-channel",
796
+ "buildchain-contract-expected-major",
627
797
  "buildchain-contract-lock-path",
628
798
  "buildchain-expected-channel",
629
799
  "buildchain-expected-major",
@@ -753,7 +923,8 @@
753
923
  "v4-consumer-policy-receipt-root"
754
924
  ]
755
925
  },
756
- "rationale": "The reusable build surface carries one internal visible-workflow coordinate into the earliest semantic v4 consumer admission gate and emits the source/runtime/dual-lock-bound receipt; build, install, and release authority remain downstream of that gate."
926
+ "rationale": "The reusable build surface carries one internal visible-workflow coordinate into the earliest semantic v4 consumer admission gate and emits the source/runtime/dual-lock-bound receipt; build, install, and release authority remain downstream of that gate.",
927
+ "governance": "legacy-debt-sunset-2026q4"
757
928
  },
758
929
  "workflow:build": {
759
930
  "fromRevision": "5308189b09bcb5a1314195412f2807a40d678838",
@@ -786,6 +957,8 @@
786
957
  "buildchain-channel",
787
958
  "buildchain-contract-compatibility-policy",
788
959
  "buildchain-contract-drift-issue-mode",
960
+ "buildchain-contract-expected-channel",
961
+ "buildchain-contract-expected-major",
789
962
  "buildchain-contract-lock-path",
790
963
  "buildchain-expected-channel",
791
964
  "buildchain-expected-major",
@@ -919,9 +1092,9 @@
919
1092
  "v4-consumer-policy-receipt-root"
920
1093
  ]
921
1094
  },
922
- "rationale": "The generated channel router forwards the visible-workflow coordinate and semantic v4 policy receipt while retaining floating v4 or v4-alpha selectors, dual consumer locks, and trusted nonpersistent runtime override routing."
1095
+ "rationale": "The generated channel router forwards the visible-workflow coordinate and semantic v4 policy receipt while retaining floating v4 or v4-alpha selectors, dual consumer locks, and trusted nonpersistent runtime override routing.",
1096
+ "governance": "legacy-debt-sunset-2026q4"
923
1097
  },
924
-
925
1098
  "workflow:paper-release-sealed": {
926
1099
  "fromRevision": "5308189b09bcb5a1314195412f2807a40d678838",
927
1100
  "contract": {
@@ -973,7 +1146,8 @@
973
1146
  "upstream-release-json"
974
1147
  ]
975
1148
  },
976
- "rationale": "The sealed Paper release adds one exact upstream release envelope output after npm integrity, gitHead, tag target, Passport, and publication artifacts agree; all prior inputs, secrets, outputs, and behavior remain intact."
1149
+ "rationale": "The sealed Paper release adds one exact upstream release envelope output after npm integrity, gitHead, tag target, Passport, and publication artifacts agree; all prior inputs, secrets, outputs, and behavior remain intact.",
1150
+ "governance": "legacy-debt-sunset-2026q4"
977
1151
  },
978
1152
  "workflow:release-propagation": {
979
1153
  "fromRevision": "5308189b09bcb5a1314195412f2807a40d678838",
@@ -1019,7 +1193,8 @@
1019
1193
  "propagation-work-root"
1020
1194
  ]
1021
1195
  },
1022
- "rationale": "The agent-native extension adds one optional typed Work Control context input and exact work-state outputs while preserving every existing input, secret, output, path, and reusable-workflow behavior. The complete successor contract is pinned here so later drift remains fail-closed."
1196
+ "rationale": "The agent-native extension adds one optional typed Work Control context input and exact work-state outputs while preserving every existing input, secret, output, path, and reusable-workflow behavior. The complete successor contract is pinned here so later drift remains fail-closed.",
1197
+ "governance": "legacy-debt-sunset-2026q4"
1023
1198
  },
1024
1199
  "workflow:.publication-authority": {
1025
1200
  "fromRevision": "5308189b09bcb5a1314195412f2807a40d678838",
@@ -1029,6 +1204,7 @@
1029
1204
  "reusable": true,
1030
1205
  "inputs": [
1031
1206
  "admission-json",
1207
+ "authority-job-id",
1032
1208
  "authority-workflow-path",
1033
1209
  "auto-admission",
1034
1210
  "auto-admission-kind",
@@ -1078,7 +1254,8 @@
1078
1254
  "gate-aggregate-json"
1079
1255
  ]
1080
1256
  },
1081
- "rationale": "The sealed read-only authority preserves the dedicated auditor App while adding an isolated governance-read token mapped from the existing caller credential only at the authority boundary. It independently checks out the immutable publication subject and controller, verifies both SHAs and the subject tree, and binds controller repository, SHA, and command digest into the qualifying aggregate without granting new provider write permission."
1257
+ "rationale": "The sealed read-only authority preserves the dedicated auditor App while adding an isolated governance-read token mapped from the existing caller credential only at the authority boundary. It independently checks out the immutable publication subject and controller, verifies both SHAs and the subject tree, and binds controller repository, SHA, command digest, and the optional exact audited authority job into the qualifying aggregate without granting new provider write permission.",
1258
+ "governance": "legacy-debt-sunset-2026q4"
1082
1259
  },
1083
1260
  "workflow:.release-candidate-promote": {
1084
1261
  "fromRevision": "5308189b09bcb5a1314195412f2807a40d678838",
@@ -1127,6 +1304,7 @@
1127
1304
  "promotion-shell-ref",
1128
1305
  "promotion-shell-sha",
1129
1306
  "promotion-target-ref",
1307
+ "provider-failure-after-capability",
1130
1308
  "publication-admission-json",
1131
1309
  "publication-authority-workflow-path",
1132
1310
  "publication-auto-admission",
@@ -1168,6 +1346,7 @@
1168
1346
  "release-candidate-workflow-file",
1169
1347
  "release-candidate-workflow-name",
1170
1348
  "release-passport",
1349
+ "release-passport-adopter-delivery-json",
1171
1350
  "release-passport-attachment-command",
1172
1351
  "release-passport-buildchain-self-kfd",
1173
1352
  "release-passport-evidence-command",
@@ -1181,6 +1360,7 @@
1181
1360
  "release-passport-kfd-3-artifact-verify-command",
1182
1361
  "release-passport-kfd-3-artifact-witness-jsons",
1183
1362
  "release-passport-kfd-3-prebuild-witness-jsons",
1363
+ "release-passport-kfd-adopter-manifest-gate-json",
1184
1364
  "release-passport-kfd-adopter-manifest-json",
1185
1365
  "release-passport-kfd-product-gate-jsons",
1186
1366
  "release-passport-kfd-support-matrix-json",
@@ -1249,7 +1429,8 @@
1249
1429
  "release-tail-transaction-state"
1250
1430
  ]
1251
1431
  },
1252
- "rationale": "The advanced promotion workflow preserves exact contract-lock and channel bindings while adding a trusted transient runtime authorization plus expected root and an optional final Passport resume attachment. Candidate, target tree, policy, scanner, dual-lock, provider and fresh-attempt lineage remain independently bound, and incomplete or mismatched evidence fails closed before heavy work."
1432
+ "rationale": "The advanced workflow preserves exact contract-lock, channel, trusted transient runtime, candidate, target tree, policy, scanner, provider and fresh-attempt bindings while adding an isolated v4-only declarative provider lane and optional dogfood failure checkpoint. V4 admits only sealed candidate, Stage Capsule and qualification evidence; legacy command inputs fail closed before planning and the provider resumes only incomplete capabilities.",
1433
+ "governance": "legacy-debt-sunset-2026q4"
1253
1434
  },
1254
1435
  "workflow:release-candidate-promote": {
1255
1436
  "fromRevision": "5308189b09bcb5a1314195412f2807a40d678838",
@@ -1284,6 +1465,7 @@
1284
1465
  "github-release-payload-patterns",
1285
1466
  "github-release-title",
1286
1467
  "package-manager",
1468
+ "provider-failure-after-capability",
1287
1469
  "publication-admission-json",
1288
1470
  "publication-auto-admission",
1289
1471
  "publication-auto-no-gate",
@@ -1324,6 +1506,7 @@
1324
1506
  "release-candidate-workflow-file",
1325
1507
  "release-candidate-workflow-name",
1326
1508
  "release-passport",
1509
+ "release-passport-adopter-delivery-json",
1327
1510
  "release-passport-attachment-command",
1328
1511
  "release-passport-buildchain-self-kfd",
1329
1512
  "release-passport-evidence-command",
@@ -1337,6 +1520,7 @@
1337
1520
  "release-passport-kfd-3-artifact-verify-command",
1338
1521
  "release-passport-kfd-3-artifact-witness-jsons",
1339
1522
  "release-passport-kfd-3-prebuild-witness-jsons",
1523
+ "release-passport-kfd-adopter-manifest-gate-json",
1340
1524
  "release-passport-kfd-adopter-manifest-json",
1341
1525
  "release-passport-kfd-product-gate-jsons",
1342
1526
  "release-passport-kfd-support-matrix-json",
@@ -1417,120 +1601,125 @@
1417
1601
  "release-tail-transaction-state"
1418
1602
  ]
1419
1603
  },
1420
- "rationale": "The generated v4 promotion router preserves the opt-in declarative release-tail contract and exact contract-lock routing while forwarding one optional verified runtime-resume attachment through both existing channel jobs without changing default legacy publication behavior."
1604
+ "rationale": "The generated v4 promotion router preserves the opt-in declarative release-tail contract, exact contract-lock routing, and optional verified runtime-resume attachment while forwarding one optional dogfood provider checkpoint into the v4-only declarative lane. Existing v3 callers retain the same defaults, public inputs and legacy implementation, while v4 rejects command-shaped tail authority before planning.",
1605
+ "governance": "legacy-debt-sunset-2026q4"
1421
1606
  }
1422
1607
  },
1423
1608
  "approvedExtractedDebt": {
1424
- "packages/core/dev-delivery-authority-candidate.js#normalizeDevDeliveryAuthorityCandidate": {
1425
- "maxLines": 150,
1426
- "maxComplexity": 26,
1427
- "rationale": "The extracted candidate normalizer keeps exact identity, source, proof, Warrant, lease, native-command, priority, and terminal-state validation in one fail-closed audit surface; this exact bounded complexity cannot grow implicitly."
1428
- },
1429
1609
  "packages/core/dev-delivery-native-proof.js#validateActiveDevDeliveryWarrant": {
1430
- "maxLines": 95,
1431
1610
  "maxComplexity": 29,
1432
- "rationale": "The extracted active-Warrant validator preserves exact repository, branch, candidate, source, environment, fence, generation, lease, command, and qualification invariants in one auditable proof boundary; this exact bounded complexity cannot grow implicitly."
1611
+ "rationale": "The extracted active-Warrant validator preserves exact repository, branch, candidate, source, environment, fence, generation, lease, command, and qualification invariants in one auditable proof boundary; this exact bounded complexity cannot grow implicitly.",
1612
+ "governance": "legacy-debt-sunset-2026q4"
1433
1613
  },
1434
1614
  "packages/core/dev-delivery-execution-transfer.js#verifyNativeExecutionTransfer": {
1435
1615
  "maxComplexity": 36,
1436
- "rationale": "The transfer verifier keeps the closed success and failure manifests, normalized job and Warrant bindings, byte digests, proof declarations, and failed-settlement fence in one exact artifact boundary; this reviewed complexity ceiling cannot grow implicitly."
1616
+ "rationale": "The transfer verifier keeps the closed success and failure manifests, normalized job and Warrant bindings, byte digests, proof declarations, and failed-settlement fence in one exact artifact boundary; this reviewed complexity ceiling cannot grow implicitly.",
1617
+ "governance": "legacy-debt-sunset-2026q4"
1437
1618
  },
1438
1619
  "packages/core/dev-delivery-process-boundary.js#createProviderFinalizerBoundary": {
1439
1620
  "maxLines": 191,
1440
1621
  "maxComplexity": 33,
1441
- "rationale": "The provider boundary verifier keeps distinct job and runner identity, hosted labels, strict timestamps, live PR and protected-ref readback, and the rooted finalizer receipt in one fail-closed audit surface; this reviewed complexity ceiling cannot grow implicitly."
1442
- },
1443
- "scripts/dev-delivery-authority.mjs#runDevDeliveryAuthorityCommand": {
1444
- "maxLines": 151,
1445
- "maxComplexity": 26,
1446
- "rationale": "The authority command dispatcher keeps each explicit plan or execute mutation, exact expected-old state write, schema-safe output, and provider terminal-readback verifier injection in one audited command boundary; this exact complexity cannot grow implicitly."
1622
+ "rationale": "The provider boundary verifier keeps distinct job and runner identity, hosted labels, strict timestamps, live PR and protected-ref readback, and the rooted finalizer receipt in one fail-closed audit surface; this reviewed complexity ceiling cannot grow implicitly.",
1623
+ "governance": "legacy-debt-sunset-2026q4"
1447
1624
  },
1448
1625
  "scripts/dev-delivery-authority.mjs#devDeliveryAuthorityCliOptions": {
1449
- "maxLines": 220,
1450
- "maxComplexity": 11,
1451
- "rationale": "The authority CLI parser keeps the complete explicit flag-to-environment compatibility mapping, including exact provider run and job coordinates for independent expired-Landing readback, in one declarative function while execution remains separately owned; this exact extracted mapping ceiling cannot grow implicitly."
1626
+ "maxLines": 207,
1627
+ "rationale": "The authority CLI parser keeps the complete explicit flag-to-environment compatibility mapping, including exact provider run and job coordinates for independent expired-Landing readback, in one declarative function while execution remains separately owned; this exact extracted mapping ceiling cannot grow implicitly.",
1628
+ "governance": "legacy-debt-sunset-2026q4"
1452
1629
  },
1453
1630
  "scripts/dev-delivery-two-phase.mjs#runTwoPhaseDelivery": {
1454
- "maxLines": 204,
1631
+ "maxLines": 200,
1455
1632
  "maxComplexity": 35,
1456
- "rationale": "The two-phase coordinator keeps provisional selection, credentialless native-only execution, post-exit credentialed proof reuse and qualification, heartbeat, landing handoff, and fail-closed cleanup under one fenced transaction; this exact bounded orchestration ceiling cannot grow implicitly."
1633
+ "rationale": "The two-phase coordinator keeps provisional selection, credentialless native-only execution, post-exit credentialed proof reuse and qualification, heartbeat, landing handoff, and fail-closed cleanup under one fenced transaction; this exact bounded orchestration ceiling cannot grow implicitly.",
1634
+ "governance": "legacy-debt-sunset-2026q4"
1457
1635
  },
1458
1636
  "scripts/dev-delivery-warrant-options.mjs#devDeliveryCliOptions": {
1459
- "maxLines": 257,
1460
- "maxComplexity": 11,
1461
- "rationale": "The extracted compatibility parser preserves the complete Warrant flag and environment mapping byte-for-byte while storage and command execution remain separately owned; this exact mapping ceiling cannot grow implicitly."
1637
+ "maxLines": 247,
1638
+ "rationale": "The extracted compatibility parser preserves the complete Warrant flag and environment mapping byte-for-byte while storage and command execution remain separately owned; this exact mapping ceiling cannot grow implicitly.",
1639
+ "governance": "legacy-debt-sunset-2026q4"
1462
1640
  },
1463
1641
  "scripts/v4-warrant-shadow-plan.mjs#validatePlan": {
1464
1642
  "maxLines": 182,
1465
1643
  "maxComplexity": 26,
1466
- "rationale": "The validator adds one conjunctive terminal assertion that separates retained v3 comparison evidence from the live v4 writer and retired migration phase. This exact reviewed ceiling cannot grow implicitly."
1644
+ "rationale": "The validator adds one conjunctive terminal assertion that separates retained v3 comparison evidence from the live v4 writer and retired migration phase. This exact reviewed ceiling cannot grow implicitly.",
1645
+ "governance": "legacy-debt-sunset-2026q4"
1467
1646
  },
1468
1647
  "packages/core/release-tail-provider-plane.js#normalizeCapability": {
1469
1648
  "maxLines": 255,
1470
- "maxComplexity": 25,
1471
- "rationale": "The frozen capability normalizer keeps the four closed-world provider declarations, identity constraints and capability-specific target validation in one audited authority; this reviewed v3 implementation is forward-ported byte-for-byte and cannot grow implicitly."
1649
+ "rationale": "The frozen capability normalizer keeps the four closed-world provider declarations, identity constraints and capability-specific target validation in one audited authority; this reviewed v3 implementation is forward-ported byte-for-byte and cannot grow implicitly.",
1650
+ "governance": "legacy-debt-sunset-2026q4"
1472
1651
  },
1473
1652
  "packages/core/release-tail-provider-plane.js#validateReleaseTailEffectPlan": {
1474
- "maxLines": 180,
1475
1653
  "maxComplexity": 30,
1476
- "rationale": "The rooted effect-plan validator preserves the reviewed v3 ordering, declaration binding and post-compilation tamper checks in one fail-closed function; this exact complexity ceiling cannot grow implicitly."
1654
+ "rationale": "The rooted effect-plan validator preserves the reviewed v3 ordering, declaration binding and post-compilation tamper checks in one fail-closed function; this exact complexity ceiling cannot grow implicitly.",
1655
+ "governance": "legacy-debt-sunset-2026q4"
1477
1656
  },
1478
1657
  "packages/core/release-tail-provider-plane.js#validateReleaseTailTransaction": {
1479
- "maxLines": 180,
1480
1658
  "maxComplexity": 33,
1481
- "rationale": "The transaction validator preserves the reviewed v3 state, observation, receipt, failure and checkpoint invariants in one audit surface; this exact complexity ceiling cannot grow implicitly."
1659
+ "rationale": "The transaction validator preserves the reviewed v3 state, observation, receipt, failure and checkpoint invariants in one audit surface; this exact complexity ceiling cannot grow implicitly.",
1660
+ "governance": "legacy-debt-sunset-2026q4"
1482
1661
  },
1483
1662
  "packages/core/release-tail-provider-plane.js#executeReleaseTailTransaction": {
1484
1663
  "maxLines": 190,
1485
1664
  "maxComplexity": 27,
1486
- "rationale": "The single transaction executor preserves bounded retry, pre-effect and post-effect readback, atomic checkpoints and provider non-authority from the reviewed v3 implementation; these exact ceilings cannot grow implicitly."
1665
+ "rationale": "The single transaction executor preserves bounded retry, pre-effect and post-effect readback, atomic checkpoints and provider non-authority from the reviewed v3 implementation; these exact ceilings cannot grow implicitly.",
1666
+ "governance": "legacy-debt-sunset-2026q4"
1487
1667
  },
1488
- "actions/promote-buildchain-ref/lib.js#createRefMutationOperations": {
1489
- "maxLines": 627,
1490
- "maxComplexity": 1,
1491
- "rationale": "Transplanted legacy ref and provider mutation operations; independently tested and prevented from growing beyond this exact extraction point."
1668
+ "actions/promote-buildchain-ref/internal/promotion-operations.js#updateBranch": {
1669
+ "maxLines": 378,
1670
+ "maxComplexity": 34,
1671
+ "rationale": "The nested protected-ref update transaction retains exact readback, status-check, merge, PR fallback and non-fast-forward behavior under the extracted factory; these inherited ceilings cannot grow.",
1672
+ "governance": "stage3-promotion-facade-reduction"
1492
1673
  },
1493
- "actions/promote-buildchain-ref/lib.js#createReconciliationOperations": {
1494
- "maxLines": 672,
1495
- "maxComplexity": 1,
1496
- "rationale": "Transplanted legacy reconciliation operations; isolated from orchestration and prevented from growing beyond this exact extraction point."
1674
+ "actions/promote-buildchain-ref/internal/promotion-operations.js#assertReleasePrOrVersionStateParent": {
1675
+ "maxLines": 335,
1676
+ "maxComplexity": 42,
1677
+ "rationale": "The nested release-lineage verifier retains exact PR, recovery, tree-equivalence and allowed-path ordering under the extracted factory; these inherited ceilings cannot grow.",
1678
+ "governance": "stage3-promotion-facade-reduction"
1497
1679
  },
1498
1680
  "actions/promote-buildchain-ref/internal/version-state-operations.js#createVersionStateOperations": {
1499
- "maxLines": 440,
1500
- "maxComplexity": 1,
1501
- "rationale": "Transplanted legacy version-state operations now live in an independently owned module; explicit dependency injection adds seams while this exact inherited ceiling cannot grow."
1681
+ "maxLines": 415,
1682
+ "rationale": "Transplanted legacy version-state operations now live in an independently owned module; explicit dependency injection adds seams while this exact inherited ceiling cannot grow.",
1683
+ "governance": "legacy-debt-sunset-2026q4"
1502
1684
  },
1503
1685
  "actions/promote-buildchain-ref/internal/version-state-operations.js#createVersionStateCommit": {
1504
- "maxLines": 313,
1505
- "maxComplexity": 29,
1506
- "rationale": "The existing version-state commit transaction remains nested under its extracted operation factory and is independently regression-tested; this exact inherited ceiling cannot grow."
1686
+ "maxLines": 286,
1687
+ "maxComplexity": 27,
1688
+ "rationale": "The existing version-state commit transaction remains nested under its extracted operation factory and is independently regression-tested; this exact inherited ceiling cannot grow.",
1689
+ "governance": "legacy-debt-sunset-2026q4"
1507
1690
  },
1508
1691
  "actions/promote-buildchain-ref/internal/durable-transaction-operations.js#createDurableTransactionOperations": {
1509
- "maxLines": 376,
1510
- "maxComplexity": 1,
1511
- "rationale": "Transplanted legacy durable transaction and Passport operations now live in an independently owned module; one semantic durable-material seam lets already-proven contained finalization restore immutable publication facts without accepting a transient rebuilt candidate or inconsistent per-field overrides, and this exact inherited ceiling cannot grow."
1692
+ "maxLines": 378,
1693
+ "rationale": "Transplanted legacy durable transaction and Passport operations remain in one independently owned module. The exact two-line readable widening forwards rooted runtime-resume material and its post-publication finalizer without accepting a transient rebuilt candidate or inconsistent per-field overrides; this ceiling cannot grow implicitly.",
1694
+ "governance": "legacy-debt-sunset-2026q4"
1512
1695
  },
1513
1696
  "packages/core/paper-npm-bootstrap.js#executePaperNpmBootstrap": {
1514
1697
  "maxLines": 490,
1515
1698
  "maxComplexity": 58,
1516
- "rationale": "The existing externally guarded npm bootstrap transaction moved intact into an independently owned Paper module with an explicit runtime seam; this exact inherited debt ceiling cannot grow."
1699
+ "rationale": "The existing externally guarded npm bootstrap transaction moved intact into an independently owned Paper module with an explicit runtime seam; this exact inherited debt ceiling cannot grow.",
1700
+ "governance": "legacy-debt-sunset-2026q4"
1517
1701
  },
1518
1702
  "packages/core/release-passport.js#validateReleaseEvidenceAttachments": {
1519
- "maxLines": 74,
1520
1703
  "maxComplexity": 26,
1521
- "rationale": "Upstream release-evidence attachment validation was moved intact into a named validator during integration; its exact complexity ceiling cannot grow."
1704
+ "rationale": "Upstream release-evidence attachment validation was moved intact into a named validator during integration; its exact complexity ceiling cannot grow.",
1705
+ "governance": "legacy-debt-sunset-2026q4"
1522
1706
  },
1523
1707
  "scripts/dev-pr-auto-merge.mjs#runDevPrAdmission": {
1524
- "maxLines": 180,
1525
- "maxComplexity": 36,
1526
- "rationale": "The targeted admission transaction keeps exact PR and head revalidation, explicit readiness mutation, independent approval and check observation, queue status, and typed receipt emission in one auditable function; this exact complexity ceiling cannot grow."
1708
+ "maxComplexity": 32,
1709
+ "rationale": "The targeted admission transaction keeps exact PR and head revalidation, explicit readiness mutation, independent approval and check observation, queue status, and typed receipt emission in one auditable function; this exact complexity ceiling cannot grow.",
1710
+ "governance": "legacy-debt-sunset-2026q4"
1711
+ },
1712
+ "scripts/maintainability-domain-metrics.mjs#rustTokens": {
1713
+ "maxComplexity": 29,
1714
+ "rationale": "The dependency-free Rust lexer keeps nested comments, raw and byte strings, literals, identifiers, and operators in one auditable scanner so complexity budgets cannot be bypassed by source syntax; this exact transition cannot grow implicitly.",
1715
+ "governance": "legacy-debt-sunset-2026q4"
1527
1716
  }
1528
1717
  },
1529
1718
  "selectedFunctionBudgets": {
1530
1719
  "promoteBuildchainRefs": {
1531
1720
  "file": "actions/promote-buildchain-ref/lib.js",
1532
- "lines": 600,
1533
- "complexity": 50
1721
+ "lines": 3,
1722
+ "complexity": 1
1534
1723
  },
1535
1724
  "createReleaseCheckReport": {
1536
1725
  "file": "packages/core/release-passport.js",
@@ -1591,5 +1780,173 @@
1591
1780
  "requireImplementationTestContractMapping": true,
1592
1781
  "dependencyCycles": 0,
1593
1782
  "forbiddenDirectionChanges": 0
1783
+ },
1784
+ "extendedCoverageRevision": "9b4500a78609d2b9e79f66bc8e8d738b4d63ccb9",
1785
+ "rustBudgets": {
1786
+ "newFileLines": 600,
1787
+ "newFunctionLines": 140,
1788
+ "newFunctionComplexity": 30,
1789
+ "existingDebtPolicy": "no-widening"
1790
+ },
1791
+ "testBudgets": {
1792
+ "newFileLines": 600,
1793
+ "newFunctionLines": 180,
1794
+ "newFunctionComplexity": 25,
1795
+ "existingDebtPolicy": "no-widening"
1796
+ },
1797
+ "workflowBudgets": {
1798
+ "maxLines": 600,
1799
+ "maxJobs": 8,
1800
+ "maxSteps": 50,
1801
+ "maxStepsPerJob": 20,
1802
+ "maxDecisions": 25,
1803
+ "existingDebtPolicy": "no-widening"
1804
+ },
1805
+ "exceptionGovernanceProfiles": {
1806
+ "legacy-debt-sunset-2026q4": {
1807
+ "mode": "expiry",
1808
+ "expiresOn": "2026-12-31",
1809
+ "owner": "Buildchain architecture maintainers",
1810
+ "followUp": "Replace every legacy ceiling with the default budget or a lower net-debt target before this profile expires."
1811
+ },
1812
+ "stage1-test-split-net-reduction": {
1813
+ "mode": "net-debt-reduction",
1814
+ "metrics": {
1815
+ "maxFunctionLines": {
1816
+ "baseline": 872,
1817
+ "target": 506
1818
+ }
1819
+ }
1820
+ },
1821
+ "stage2-workflow-yaml-reduction": {
1822
+ "mode": "net-debt-reduction",
1823
+ "metrics": {
1824
+ "maxLines": {
1825
+ "baseline": 3370,
1826
+ "target": 3341
1827
+ }
1828
+ }
1829
+ },
1830
+ "stage3-promotion-facade-reduction": {
1831
+ "mode": "net-debt-reduction",
1832
+ "metrics": {
1833
+ "maxLines": {
1834
+ "baseline": 4788,
1835
+ "target": 3471
1836
+ }
1837
+ }
1838
+ }
1839
+ },
1840
+ "approvedTestDebtTransitions": {
1841
+ "tests/build-surface.test.mjs": {
1842
+ "maxLines": 3680,
1843
+ "maxFunctionLines": 506,
1844
+ "maxFunctionComplexity": 13,
1845
+ "rationale": "The reusable-build contract moved into three source, signing/cache, and artifact/summary scenario files, while shared repository and occurrence fixtures remove duplication. The maintained build-surface family falls from 4549 to 4543 lines and the largest remaining function falls from 872 to 506 lines without dropping assertions.",
1846
+ "governance": "stage1-test-split-net-reduction"
1847
+ },
1848
+ "tests/dev-delivery-warrant-command.test.mjs": {
1849
+ "maxLines": 626,
1850
+ "rationale": "Twelve exact workflow assertions bind the newly public successor-wake output and fail closed unless the terminal controller dispatches only a successful non-null rooted wake. The existing command-store and provider fixtures remain unchanged, and this exact 626-line ceiling cannot grow implicitly.",
1851
+ "governance": "legacy-debt-sunset-2026q4"
1852
+ },
1853
+ "tests/build-surface-reusable-build.test.mjs": {
1854
+ "maxFunctionLines": 342,
1855
+ "maxFunctionComplexity": 16,
1856
+ "rationale": "Extracted tests/build-surface-reusable-build.test.mjs is a bounded scenario surface behind shared fixtures; its exact function ceiling is locked while the combined targeted test and fixture family falls from 9560 to 9475 maintained lines.",
1857
+ "governance": "stage1-test-split-net-reduction"
1858
+ },
1859
+ "tests/build-surface-reusable-build-signing.test.mjs": {
1860
+ "maxFunctionLines": 266,
1861
+ "maxFunctionComplexity": 16,
1862
+ "rationale": "Extracted tests/build-surface-reusable-build-signing.test.mjs is a bounded scenario surface behind shared fixtures; its exact function ceiling is locked while the combined targeted test and fixture family falls from 9560 to 9475 maintained lines.",
1863
+ "governance": "stage1-test-split-net-reduction"
1864
+ },
1865
+ "tests/build-surface-reusable-build-artifacts.test.mjs": {
1866
+ "maxFunctionLines": 232,
1867
+ "maxFunctionComplexity": 14,
1868
+ "rationale": "Extracted tests/build-surface-reusable-build-artifacts.test.mjs is a bounded scenario surface behind shared fixtures; its exact function ceiling is locked while the combined targeted test and fixture family falls from 9560 to 9475 maintained lines.",
1869
+ "governance": "stage1-test-split-net-reduction"
1870
+ },
1871
+ "tests/promote-buildchain-ref-durable-recovery.test.mjs": {
1872
+ "maxFunctionLines": 219,
1873
+ "maxFunctionComplexity": 2,
1874
+ "rationale": "Extracted tests/promote-buildchain-ref-durable-recovery.test.mjs is a bounded scenario surface behind shared fixtures; its exact function ceiling is locked while the combined targeted test and fixture family falls from 9560 to 9475 maintained lines.",
1875
+ "governance": "stage1-test-split-net-reduction"
1876
+ },
1877
+ "tests/promote-buildchain-ref-major-promotion.test.mjs": {
1878
+ "maxFunctionLines": 228,
1879
+ "maxFunctionComplexity": 2,
1880
+ "rationale": "Extracted tests/promote-buildchain-ref-major-promotion.test.mjs is a bounded scenario surface behind shared fixtures; its exact function ceiling is locked while the combined targeted test and fixture family falls from 9560 to 9475 maintained lines.",
1881
+ "governance": "stage1-test-split-net-reduction"
1882
+ },
1883
+ "tests/promote-buildchain-ref-recovery-alpha-finalization.test.mjs": {
1884
+ "maxFunctionLines": 262,
1885
+ "maxFunctionComplexity": 2,
1886
+ "rationale": "Extracted tests/promote-buildchain-ref-recovery-alpha-finalization.test.mjs is a bounded scenario surface behind shared fixtures; its exact function ceiling is locked while the combined targeted test and fixture family falls from 9560 to 9475 maintained lines.",
1887
+ "governance": "stage1-test-split-net-reduction"
1888
+ },
1889
+ "tests/promote-buildchain-ref-recovery-release-reconciliation.test.mjs": {
1890
+ "maxFunctionLines": 244,
1891
+ "maxFunctionComplexity": 6,
1892
+ "rationale": "Extracted tests/promote-buildchain-ref-recovery-release-reconciliation.test.mjs is a bounded scenario surface behind shared fixtures; its exact function ceiling is locked while the combined targeted test and fixture family falls from 9560 to 9475 maintained lines.",
1893
+ "governance": "stage1-test-split-net-reduction"
1894
+ }
1895
+ },
1896
+ "approvedWorkflowDebtTransitions": {
1897
+ ".github/workflows/.build.yml": {
1898
+ "maxLines": 3341,
1899
+ "maxJobs": 14,
1900
+ "maxSteps": 194,
1901
+ "maxStepsPerJob": 44,
1902
+ "maxDecisions": 113,
1903
+ "rationale": "Pure release-candidate channel and summary-name computation runs in the exact checked-out Buildchain runtime script. Jobs, steps, decisions, permissions, credentials, outputs, uploads, publication authority and failure behavior are unchanged; YAML lines fall from 3370 to 3341 and cannot grow implicitly.",
1904
+ "governance": "stage2-workflow-yaml-reduction"
1905
+ },
1906
+ ".github/workflows/.release-candidate-promote.yml": {
1907
+ "maxLines": 2707,
1908
+ "maxJobs": 13,
1909
+ "maxSteps": 99,
1910
+ "maxStepsPerJob": 47,
1911
+ "maxDecisions": 75,
1912
+ "rationale": "The advanced promotion workflow retains its v4-only declarative provider lane and historical adopter inputs. The qualification-plan Node heredoc uses the Ubuntu runner's existing Bash default instead of redeclaring the same shell, while consumer execution, sealed-handoff restoration, receipt sealing, jobs, permissions, credentials, outputs, and mutation boundaries remain unchanged; the exact workflow falls to 2707 lines.",
1913
+ "governance": "legacy-debt-sunset-2026q4"
1914
+ },
1915
+ ".github/workflows/.web-surface.yml": {
1916
+ "maxLines": 2020,
1917
+ "maxJobs": 14,
1918
+ "maxSteps": 112,
1919
+ "maxStepsPerJob": 18,
1920
+ "maxDecisions": 35,
1921
+ "rationale": "The web-surface workflow declares only the two historical contract-channel aliases used by its existing v4 contract lock. Conflicts fail before build or deployment, and these exact ceilings contain no unrelated headroom.",
1922
+ "governance": "legacy-debt-sunset-2026q4"
1923
+ },
1924
+ ".github/workflows/dev-pr-auto-merge.yml": {
1925
+ "maxLines": 1529,
1926
+ "maxJobs": 5,
1927
+ "maxSteps": 47,
1928
+ "maxStepsPerJob": 14,
1929
+ "maxDecisions": 28,
1930
+ "rationale": "The Dev delivery workflow restores the historical defer-landing input as a qualification-only mode. It retains exact Warrant qualification while suppressing merge authority, and these exact ceilings contain no unrelated headroom.",
1931
+ "governance": "legacy-debt-sunset-2026q4"
1932
+ },
1933
+ ".github/workflows/build.yml": {
1934
+ "maxLines": 1218,
1935
+ "maxJobs": 7,
1936
+ "maxSteps": 16,
1937
+ "maxStepsPerJob": 6,
1938
+ "maxDecisions": 7,
1939
+ "rationale": "The generated channel router forwards the two historical contract-channel aliases into the reusable build workflow without adding a second normalization or build authority. These exact generated ceilings cannot grow implicitly.",
1940
+ "governance": "legacy-debt-sunset-2026q4"
1941
+ },
1942
+ ".github/workflows/release-candidate-promote.yml": {
1943
+ "maxLines": 1218,
1944
+ "maxJobs": 4,
1945
+ "maxSteps": 16,
1946
+ "maxStepsPerJob": 10,
1947
+ "maxDecisions": 5,
1948
+ "rationale": "The generated public wrapper forwards the two historical adopter inputs only into the bounded v4 migration rejection while retaining its declarative provider routing. These exact generated ceilings cannot grow implicitly.",
1949
+ "governance": "legacy-debt-sunset-2026q4"
1950
+ }
1594
1951
  }
1595
1952
  }