@kungfu-tech/buildchain 4.0.1 → 4.0.2-alpha.10

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 (65) hide show
  1. package/architecture/agent-change-map.md +15 -6
  2. package/architecture/ci-lane-change-budget.json +76 -8
  3. package/architecture/internal-capabilities.json +9 -2
  4. package/architecture/maintainability-debt.json +66 -136
  5. package/architecture/maintainability-policy.json +17 -12
  6. package/architecture/release-tail-contract-inventory.json +4 -4
  7. package/architecture/v3-core-mechanism-inventory.json +3 -0
  8. package/architecture/v3-v4-live-capability-inventory.json +17 -17
  9. package/architecture/v4-delivery-warrant-shadow-fixtures.json +5 -5
  10. package/architecture/v4-release-invocation-fixtures.json +139 -0
  11. package/architecture/v4-release-topology.json +316 -0
  12. package/architecture/v4-runtime-semantic-closure.json +4 -1
  13. package/contracts/buildchain-v2-residuals-v1.json +0 -9
  14. package/contracts/fixtures/v4-tail-reseal-v1/valid.json +1 -1
  15. package/contracts/v4-release-invocation-v1.schema.json +134 -0
  16. package/dist/site/buildchain-contract.json +9 -9
  17. package/dist/site/buildchain-site.json +9 -9
  18. package/dist/site/kfd-claims.json +28 -7
  19. package/dist/site/kfd-upstream-aggregate.json +1 -1
  20. package/dist/site/manual-registry.json +1 -1
  21. package/dist/site/node-api-registry.json +92 -17
  22. package/dist/site/page-registry.json +4 -4
  23. package/dist/site/public-surface-audit.json +42 -10
  24. package/dist/site/publication-authority-registry.json +2 -3
  25. package/dist/site/publication-registry.json +4 -4
  26. package/dist/site/site-manifest.json +5 -5
  27. package/dist/site/workflow-registry.json +38 -11
  28. package/docs/dev-delivery-warrant.md +21 -0
  29. package/docs/node-api-reference.md +19 -16
  30. package/package.json +2 -2
  31. package/packages/core/dev-delivery-candidate-identity.js +45 -17
  32. package/packages/core/dev-delivery-execution-transfer.js +6 -7
  33. package/packages/core/dev-delivery-provider-heartbeat.js +22 -6
  34. package/packages/core/dev-delivery-warrant-legacy-recovery.js +248 -0
  35. package/packages/core/dev-delivery-warrant-native-compatibility.js +33 -0
  36. package/packages/core/dev-delivery-warrant-state.js +54 -54
  37. package/packages/core/dev-delivery-warrant.js +8 -0
  38. package/packages/core/dev-delivery-writer-protocol-transition.js +72 -0
  39. package/packages/core/release-tail-product-capabilities.js +29 -0
  40. package/packages/core/release-tail-provider-plane.js +2 -2
  41. package/packages/core/v4-canonical-contracts.js +14 -0
  42. package/packages/core/v4-floating-consumer-policy.js +4 -1
  43. package/packages/core/v4-product-publication.js +387 -0
  44. package/packages/core/v4-protected-publication-source.js +93 -0
  45. package/packages/core/v4-publication-qualification.js +1 -0
  46. package/packages/core/v4-release-invocation.js +425 -0
  47. package/scripts/audit-publication-control-plane.mjs +0 -1
  48. package/scripts/check-inventory.mjs +27 -59
  49. package/scripts/check-maintainability.mjs +13 -5
  50. package/scripts/check-v3-v4-capability-inventory.mjs +3 -61
  51. package/scripts/check-v4-floating-consumer-policy-contract.mjs +10 -20
  52. package/scripts/check-v4-release-topology.mjs +490 -0
  53. package/scripts/dev-delivery-warrant-options.mjs +15 -4
  54. package/scripts/dev-delivery-warrant.mjs +41 -7
  55. package/scripts/generate-channel-promotion-workflow.mjs +14 -55
  56. package/scripts/release-candidate-resolver.mjs +23 -24
  57. package/scripts/resume-from-candidate-run.mjs +16 -17
  58. package/scripts/v3-v4-capability-catalog.mjs +107 -0
  59. package/scripts/v4-declarative-promotion-admission.mjs +4 -1
  60. package/scripts/v4-product-publication-intent.mjs +114 -0
  61. package/scripts/v4-release-candidate-adapter.mjs +41 -0
  62. package/scripts/capture-package-release-propagation.mjs +0 -263
  63. package/scripts/publication-commit-evidence.mjs +0 -444
  64. package/scripts/publish-github-artifact-attestation-evidence.mjs +0 -201
  65. package/scripts/stage-github-artifact-attestation-inputs.mjs +0 -65
@@ -7,8 +7,8 @@
7
7
  },
8
8
  "totalExcessLedger": {
9
9
  "metric": "calibrated-full-dimensional-excess-v1",
10
- "measuredExcess": 67962,
11
- "current": 59901
10
+ "measuredExcess": 64348,
11
+ "current": 56287
12
12
  },
13
13
  "defaults": {
14
14
  "owner": "Buildchain architecture maintainers",
@@ -92,21 +92,21 @@
92
92
  "actions/promote-buildchain-ref/internal/durable-transaction-operations.js": {
93
93
  "baseline": {
94
94
  "functions": {
95
- "createDurableTransactionOperations@11": {
95
+ "createDurableTransactionOperations@80": {
96
96
  "lines": 378
97
97
  }
98
98
  }
99
99
  },
100
100
  "current": {
101
101
  "functions": {
102
- "createDurableTransactionOperations@11": {
102
+ "createDurableTransactionOperations@80": {
103
103
  "lines": 378
104
104
  }
105
105
  }
106
106
  },
107
107
  "target": {
108
108
  "functions": {
109
- "createDurableTransactionOperations@11": {
109
+ "createDurableTransactionOperations@80": {
110
110
  "lines": 180
111
111
  }
112
112
  }
@@ -379,21 +379,21 @@
379
379
  "packages/core/dev-delivery-execution-transfer.js": {
380
380
  "baseline": {
381
381
  "functions": {
382
- "verifyNativeExecutionTransfer@469": {
382
+ "verifyNativeExecutionTransfer@468": {
383
383
  "complexity": 36
384
384
  }
385
385
  }
386
386
  },
387
387
  "current": {
388
388
  "functions": {
389
- "verifyNativeExecutionTransfer@469": {
389
+ "verifyNativeExecutionTransfer@468": {
390
390
  "complexity": 36
391
391
  }
392
392
  }
393
393
  },
394
394
  "target": {
395
395
  "functions": {
396
- "verifyNativeExecutionTransfer@469": {
396
+ "verifyNativeExecutionTransfer@468": {
397
397
  "complexity": 25
398
398
  }
399
399
  }
@@ -1220,7 +1220,7 @@
1220
1220
  "scripts/audit-publication-control-plane.mjs": {
1221
1221
  "baseline": {
1222
1222
  "functions": {
1223
- "main@200": {
1223
+ "main@199": {
1224
1224
  "lines": 322,
1225
1225
  "complexity": 92
1226
1226
  }
@@ -1228,7 +1228,7 @@
1228
1228
  },
1229
1229
  "current": {
1230
1230
  "functions": {
1231
- "main@200": {
1231
+ "main@199": {
1232
1232
  "lines": 322,
1233
1233
  "complexity": 92
1234
1234
  }
@@ -1236,7 +1236,7 @@
1236
1236
  },
1237
1237
  "target": {
1238
1238
  "functions": {
1239
- "main@200": {
1239
+ "main@199": {
1240
1240
  "lines": 180,
1241
1241
  "complexity": 25
1242
1242
  }
@@ -1270,7 +1270,7 @@
1270
1270
  "lines": 1515
1271
1271
  },
1272
1272
  "current": {
1273
- "lines": 1515
1273
+ "lines": 1483
1274
1274
  },
1275
1275
  "target": {
1276
1276
  "lines": 600
@@ -1279,21 +1279,21 @@
1279
1279
  "scripts/check-maintainability.mjs": {
1280
1280
  "baseline": {
1281
1281
  "functions": {
1282
- "evaluateMaintainability@353": {
1282
+ "evaluateMaintainability@361": {
1283
1283
  "complexity": 29
1284
1284
  }
1285
1285
  }
1286
1286
  },
1287
1287
  "current": {
1288
1288
  "functions": {
1289
- "evaluateMaintainability@353": {
1289
+ "evaluateMaintainability@361": {
1290
1290
  "complexity": 29
1291
1291
  }
1292
1292
  }
1293
1293
  },
1294
1294
  "target": {
1295
1295
  "functions": {
1296
- "evaluateMaintainability@353": {
1296
+ "evaluateMaintainability@361": {
1297
1297
  "complexity": 25
1298
1298
  }
1299
1299
  }
@@ -1398,21 +1398,21 @@
1398
1398
  "scripts/dev-delivery-warrant-options.mjs": {
1399
1399
  "baseline": {
1400
1400
  "functions": {
1401
- "devDeliveryCliOptions@36": {
1401
+ "devDeliveryCliOptions@61": {
1402
1402
  "lines": 247
1403
1403
  }
1404
1404
  }
1405
1405
  },
1406
1406
  "current": {
1407
1407
  "functions": {
1408
- "devDeliveryCliOptions@36": {
1409
- "lines": 247
1408
+ "devDeliveryCliOptions@61": {
1409
+ "lines": 233
1410
1410
  }
1411
1411
  }
1412
1412
  },
1413
1413
  "target": {
1414
1414
  "functions": {
1415
- "devDeliveryCliOptions@36": {
1415
+ "devDeliveryCliOptions@61": {
1416
1416
  "lines": 180
1417
1417
  }
1418
1418
  }
@@ -1491,21 +1491,21 @@
1491
1491
  "scripts/generate-channel-promotion-workflow.mjs": {
1492
1492
  "baseline": {
1493
1493
  "functions": {
1494
- "generateChannelPromotionWorkflow@277": {
1494
+ "generateChannelPromotionWorkflow@278": {
1495
1495
  "lines": 282
1496
1496
  }
1497
1497
  }
1498
1498
  },
1499
1499
  "current": {
1500
1500
  "functions": {
1501
- "generateChannelPromotionWorkflow@277": {
1502
- "lines": 282
1501
+ "generateChannelPromotionWorkflow@278": {
1502
+ "lines": 240
1503
1503
  }
1504
1504
  }
1505
1505
  },
1506
1506
  "target": {
1507
1507
  "functions": {
1508
- "generateChannelPromotionWorkflow@277": {
1508
+ "generateChannelPromotionWorkflow@278": {
1509
1509
  "lines": 180
1510
1510
  }
1511
1511
  }
@@ -1664,38 +1664,6 @@
1664
1664
  }
1665
1665
  }
1666
1666
  },
1667
- "scripts/publication-commit-evidence.mjs": {
1668
- "baseline": {
1669
- "functions": {
1670
- "validateInstallerBundle@85": {
1671
- "complexity": 42
1672
- },
1673
- "verifyInstallerBundleReadback@307": {
1674
- "complexity": 30
1675
- }
1676
- }
1677
- },
1678
- "current": {
1679
- "functions": {
1680
- "validateInstallerBundle@85": {
1681
- "complexity": 42
1682
- },
1683
- "verifyInstallerBundleReadback@307": {
1684
- "complexity": 30
1685
- }
1686
- }
1687
- },
1688
- "target": {
1689
- "functions": {
1690
- "validateInstallerBundle@85": {
1691
- "complexity": 25
1692
- },
1693
- "verifyInstallerBundleReadback@307": {
1694
- "complexity": 25
1695
- }
1696
- }
1697
- }
1698
- },
1699
1667
  "scripts/reconcile-github-governance.mjs": {
1700
1668
  "baseline": {
1701
1669
  "lines": 689
@@ -1715,19 +1683,19 @@
1715
1683
  "lines": 309,
1716
1684
  "complexity": 62
1717
1685
  },
1718
- "resolveReleaseCandidateArtifactsCli@785": {
1686
+ "resolveReleaseCandidateArtifactsCli@784": {
1719
1687
  "complexity": 29
1720
1688
  }
1721
1689
  }
1722
1690
  },
1723
1691
  "current": {
1724
- "lines": 854,
1692
+ "lines": 853,
1725
1693
  "functions": {
1726
1694
  "resolveReleaseCandidateArtifacts@475": {
1727
- "lines": 309,
1728
- "complexity": 62
1695
+ "lines": 308,
1696
+ "complexity": 61
1729
1697
  },
1730
- "resolveReleaseCandidateArtifactsCli@785": {
1698
+ "resolveReleaseCandidateArtifactsCli@784": {
1731
1699
  "complexity": 29
1732
1700
  }
1733
1701
  }
@@ -1739,7 +1707,7 @@
1739
1707
  "lines": 180,
1740
1708
  "complexity": 25
1741
1709
  },
1742
- "resolveReleaseCandidateArtifactsCli@785": {
1710
+ "resolveReleaseCandidateArtifactsCli@784": {
1743
1711
  "complexity": 25
1744
1712
  }
1745
1713
  }
@@ -1773,7 +1741,7 @@
1773
1741
  "lines": 1125
1774
1742
  },
1775
1743
  "current": {
1776
- "lines": 1125
1744
+ "lines": 1124
1777
1745
  },
1778
1746
  "target": {
1779
1747
  "lines": 600
@@ -2231,15 +2199,15 @@
2231
2199
  "baseline": {
2232
2200
  "lines": 3181,
2233
2201
  "functions": {
2234
- "<anonymous@2013>@2013": {
2202
+ "<anonymous@1559>@1559": {
2235
2203
  "lines": 206
2236
2204
  }
2237
2205
  }
2238
2206
  },
2239
2207
  "current": {
2240
- "lines": 3178,
2208
+ "lines": 2727,
2241
2209
  "functions": {
2242
- "<anonymous@2013>@2013": {
2210
+ "<anonymous@1559>@1559": {
2243
2211
  "lines": 206
2244
2212
  }
2245
2213
  }
@@ -2247,7 +2215,7 @@
2247
2215
  "target": {
2248
2216
  "lines": 600,
2249
2217
  "functions": {
2250
- "<anonymous@2013>@2013": {
2218
+ "<anonymous@1559>@1559": {
2251
2219
  "lines": 180
2252
2220
  }
2253
2221
  }
@@ -2260,36 +2228,30 @@
2260
2228
  "<anonymous@170>@170": {
2261
2229
  "lines": 195
2262
2230
  },
2263
- "<anonymous@553>@553": {
2231
+ "<anonymous@544>@544": {
2264
2232
  "lines": 183
2265
2233
  },
2266
- "<anonymous@737>@737": {
2267
- "lines": 506
2268
- },
2269
- "<anonymous@2153>@2153": {
2234
+ "<anonymous@1678>@1678": {
2270
2235
  "lines": 249
2271
2236
  },
2272
- "<anonymous@3337>@3337": {
2237
+ "<anonymous@2684>@2684": {
2273
2238
  "lines": 188
2274
2239
  }
2275
2240
  }
2276
2241
  },
2277
2242
  "current": {
2278
- "lines": 3680,
2243
+ "lines": 3027,
2279
2244
  "functions": {
2280
2245
  "<anonymous@170>@170": {
2281
- "lines": 195
2246
+ "lines": 186
2282
2247
  },
2283
- "<anonymous@553>@553": {
2248
+ "<anonymous@544>@544": {
2284
2249
  "lines": 183
2285
2250
  },
2286
- "<anonymous@737>@737": {
2287
- "lines": 506
2288
- },
2289
- "<anonymous@2153>@2153": {
2251
+ "<anonymous@1678>@1678": {
2290
2252
  "lines": 249
2291
2253
  },
2292
- "<anonymous@3337>@3337": {
2254
+ "<anonymous@2684>@2684": {
2293
2255
  "lines": 188
2294
2256
  }
2295
2257
  }
@@ -2300,16 +2262,13 @@
2300
2262
  "<anonymous@170>@170": {
2301
2263
  "lines": 180
2302
2264
  },
2303
- "<anonymous@553>@553": {
2304
- "lines": 180
2305
- },
2306
- "<anonymous@737>@737": {
2265
+ "<anonymous@544>@544": {
2307
2266
  "lines": 180
2308
2267
  },
2309
- "<anonymous@2153>@2153": {
2268
+ "<anonymous@1678>@1678": {
2310
2269
  "lines": 180
2311
2270
  },
2312
- "<anonymous@3337>@3337": {
2271
+ "<anonymous@2684>@2684": {
2313
2272
  "lines": 180
2314
2273
  }
2315
2274
  }
@@ -2403,7 +2362,7 @@
2403
2362
  "lines": 806
2404
2363
  },
2405
2364
  "current": {
2406
- "lines": 806
2365
+ "lines": 805
2407
2366
  },
2408
2367
  "target": {
2409
2368
  "lines": 600
@@ -2452,7 +2411,7 @@
2452
2411
  }
2453
2412
  },
2454
2413
  "current": {
2455
- "lines": 1179,
2414
+ "lines": 1178,
2456
2415
  "functions": {
2457
2416
  "<anonymous@817>@817": {
2458
2417
  "lines": 205
@@ -2655,7 +2614,7 @@
2655
2614
  "lines": 1217
2656
2615
  },
2657
2616
  "current": {
2658
- "lines": 1208
2617
+ "lines": 1132
2659
2618
  },
2660
2619
  "target": {
2661
2620
  "lines": 600
@@ -2688,7 +2647,7 @@
2688
2647
  "lines": 1355
2689
2648
  },
2690
2649
  "current": {
2691
- "lines": 1355
2650
+ "lines": 1270
2692
2651
  },
2693
2652
  "target": {
2694
2653
  "lines": 600
@@ -2723,29 +2682,6 @@
2723
2682
  }
2724
2683
  }
2725
2684
  },
2726
- "tests/v4-floating-consumer-policy-contract.test.mjs": {
2727
- "baseline": {
2728
- "functions": {
2729
- "<anonymous@76>@76": {
2730
- "lines": 292
2731
- }
2732
- }
2733
- },
2734
- "current": {
2735
- "functions": {
2736
- "<anonymous@76>@76": {
2737
- "lines": 292
2738
- }
2739
- }
2740
- },
2741
- "target": {
2742
- "functions": {
2743
- "<anonymous@76>@76": {
2744
- "lines": 180
2745
- }
2746
- }
2747
- }
2748
- },
2749
2685
  "tests/v4-floating-consumer-policy.test.mjs": {
2750
2686
  "baseline": {
2751
2687
  "lines": 714
@@ -2986,7 +2922,7 @@
2986
2922
  "decisions": 27
2987
2923
  },
2988
2924
  "current": {
2989
- "lines": 1007,
2925
+ "lines": 1006,
2990
2926
  "maxStepsPerJob": 30,
2991
2927
  "decisions": 27
2992
2928
  },
@@ -2998,25 +2934,13 @@
2998
2934
  },
2999
2935
  ".github/workflows/.release-candidate-promote.yml": {
3000
2936
  "baseline": {
3001
- "lines": 2736,
3002
- "jobs": 13,
3003
- "steps": 99,
3004
- "maxStepsPerJob": 47,
3005
- "decisions": 75
2937
+ "lines": 2736
3006
2938
  },
3007
2939
  "current": {
3008
- "lines": 2677,
3009
- "jobs": 13,
3010
- "steps": 99,
3011
- "maxStepsPerJob": 47,
3012
- "decisions": 75
2940
+ "lines": 1147
3013
2941
  },
3014
2942
  "target": {
3015
- "lines": 600,
3016
- "jobs": 8,
3017
- "steps": 50,
3018
- "maxStepsPerJob": 20,
3019
- "decisions": 25
2943
+ "lines": 600
3020
2944
  }
3021
2945
  },
3022
2946
  ".github/workflows/.release-verify.yml": {
@@ -3084,7 +3008,7 @@
3084
3008
  "decisions": 28
3085
3009
  },
3086
3010
  "current": {
3087
- "lines": 1529,
3011
+ "lines": 1528,
3088
3012
  "decisions": 28
3089
3013
  },
3090
3014
  "target": {
@@ -3136,7 +3060,7 @@
3136
3060
  "lines": 1218
3137
3061
  },
3138
3062
  "current": {
3139
- "lines": 1218
3063
+ "lines": 1095
3140
3064
  },
3141
3065
  "target": {
3142
3066
  "lines": 600
@@ -3161,6 +3085,7 @@
3161
3085
  "hotspots": [
3162
3086
  "tests/v3-v4-capability-inventory.test.mjs",
3163
3087
  "tests/v4-floating-consumer-policy-contract.test.mjs",
3088
+ "tests/v4-publication-qualification.test.mjs",
3164
3089
  ".github/workflows/v4-adopter-delivery.yml",
3165
3090
  ".github/workflows/buildchain-ref-promotion.yml",
3166
3091
  "tests/release-candidate-recovery.test.mjs",
@@ -3173,21 +3098,26 @@
3173
3098
  "scripts/check-v3-v4-capability-inventory.mjs",
3174
3099
  ".github/workflows/release-candidate-promote.yml",
3175
3100
  "actions/promote-buildchain-ref/lib.js",
3101
+ "actions/v4-release-candidate-promote/index.js",
3102
+ "actions/v4-release-candidate-promote/product-provider.js",
3176
3103
  "scripts/check-inventory.mjs",
3177
3104
  "tests/promote-buildchain-ref.test.mjs",
3178
3105
  "tests/promotion-channel-router.test.mjs",
3106
+ "tests/v4-release-topology.test.mjs",
3179
3107
  "scripts/site-capability-metadata.mjs",
3180
3108
  "tests/v4-floating-consumer-policy.test.mjs",
3109
+ "tests/v4-declarative-promotion-mode.test.mjs",
3181
3110
  "scripts/buildchain-cli-help.mjs",
3182
3111
  "scripts/check-v4-floating-consumer-policy-contract.mjs",
3183
3112
  "tests/dev-delivery-warrant.test.mjs",
3113
+ "packages/core/dev-delivery-warrant-state.js",
3184
3114
  "actions/promote-buildchain-ref/internal/version-state.js",
3185
- "packages/core/v4-floating-consumer-policy.js",
3186
3115
  "packages/core/v4-floating-consumer-release-passport.js",
3187
3116
  "packages/core/release-passport.js",
3188
3117
  "tests/promote-buildchain-ref-governance.test.mjs",
3189
- "tests/v4-declarative-promotion-mode.test.mjs",
3190
- "scripts/buildchain-cli-help.mjs"
3118
+ "scripts/buildchain-cli-help.mjs",
3119
+ "scripts/check-maintainability.mjs",
3120
+ "tests/maintainability.test.mjs"
3191
3121
  ],
3192
3122
  "burnDownSlices": [
3193
3123
  {
@@ -3202,14 +3132,14 @@
3202
3132
  "path": "tests/build-surface.test.mjs",
3203
3133
  "metric": "lines",
3204
3134
  "baseline": 4639,
3205
- "current": 3680
3135
+ "current": 3027
3206
3136
  },
3207
3137
  {
3208
3138
  "domain": "workflows",
3209
3139
  "path": ".github/workflows/.release-candidate-promote.yml",
3210
3140
  "metric": "lines",
3211
3141
  "baseline": 2736,
3212
- "current": 2677
3142
+ "current": 1147
3213
3143
  },
3214
3144
  {
3215
3145
  "domain": "sources",
@@ -26,12 +26,12 @@
26
26
  },
27
27
  "repositoryBudgets": {
28
28
  "baselineRevision": "858dbe00b6206a8f356b4a12d2659bee7a72e71b",
29
- "maxHandMaintainedSourceFiles": 443,
30
- "maxHandMaintainedSourceLines": 164457,
29
+ "maxHandMaintainedSourceFiles": 454,
30
+ "maxHandMaintainedSourceLines": 167749,
31
31
  "maxWorkflowFiles": 77,
32
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.",
33
+ "latestTransition": "The v4 train owns one rooted product-publication plan and a closed provider effect/readback boundary before any credentialed APPLY mutation.",
34
+ "latestTransitionRationale": "The bounded growth replaces the v4 action's transitive call into the legacy promotion engine with a pure QUALIFY-time publication intent, one canonical plan, split GitHub and npm provider adapters, and exact replay from provider readback. Unsupported historical publication modes fail before mutation, an existing npm version with conflicting integrity terminates without republishing, protected-ref recovery resumes from live refs without repeating npm publication, and any declared recovery transaction identity must match its rooted recovery receipt before provider mutation. The latest protected development recovery adapters are absorbed without restoring a legacy engine edge: target and sealed-input compatibility stays on the pre-admission adapter boundary, the privileged closure remains independently enumerable, and each provider source stays below the default file and function budgets. The repository ceilings bind the exact combined development and topology-convergence source inventory rather than hiding growth in a debt or exception transition.",
35
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
36
  "governance": "legacy-debt-sunset-2026q4"
37
37
  },
@@ -210,10 +210,10 @@
210
210
  "governance": "legacy-debt-sunset-2026q4"
211
211
  },
212
212
  "scripts/release-candidate-resolver.mjs": {
213
- "maxLines": 854,
214
- "maxFunctionLines": 309,
215
- "maxFunctionComplexity": 63,
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.",
213
+ "maxLines": 853,
214
+ "maxFunctionLines": 308,
215
+ "maxFunctionComplexity": 61,
216
+ "rationale": "The shared candidate resolver retains bounded archive streaming, payload size and sha256 validation while locating and validating candidate-bound Stage Capsule and publication qualification evidence. Exact publication version selection now prefers the sealed npm bundle without widening the orchestration function, and these lower exact ceilings cannot grow implicitly.",
217
217
  "governance": "legacy-debt-sunset-2026q4"
218
218
  },
219
219
  "scripts/auditable-demo.mjs": {
@@ -1204,7 +1204,6 @@
1204
1204
  "reusable": true,
1205
1205
  "inputs": [
1206
1206
  "admission-json",
1207
- "authority-job-id",
1208
1207
  "authority-workflow-path",
1209
1208
  "auto-admission",
1210
1209
  "auto-admission-kind",
@@ -1254,7 +1253,7 @@
1254
1253
  "gate-aggregate-json"
1255
1254
  ]
1256
1255
  },
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.",
1256
+ "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.",
1258
1257
  "governance": "legacy-debt-sunset-2026q4"
1259
1258
  },
1260
1259
  "workflow:.release-candidate-promote": {
@@ -1421,12 +1420,15 @@
1421
1420
  "release-candidate-artifact",
1422
1421
  "release-candidate-recovery-receipt-artifact",
1423
1422
  "release-candidate-recovery-root",
1423
+ "release-invocation-root",
1424
1424
  "release-propagation-work-artifact",
1425
+ "release-receipt-root",
1425
1426
  "release-tail-declaration-root",
1426
1427
  "release-tail-receipt-roots-json",
1427
1428
  "release-tail-state-root",
1428
1429
  "release-tail-transaction-root",
1429
- "release-tail-transaction-state"
1430
+ "release-tail-transaction-state",
1431
+ "release-transaction-root"
1430
1432
  ]
1431
1433
  },
1432
1434
  "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.",
@@ -1593,12 +1595,15 @@
1593
1595
  "release-candidate-artifact",
1594
1596
  "release-candidate-recovery-receipt-artifact",
1595
1597
  "release-candidate-recovery-root",
1598
+ "release-invocation-root",
1596
1599
  "release-propagation-work-artifact",
1600
+ "release-receipt-root",
1597
1601
  "release-tail-declaration-root",
1598
1602
  "release-tail-receipt-roots-json",
1599
1603
  "release-tail-state-root",
1600
1604
  "release-tail-transaction-root",
1601
- "release-tail-transaction-state"
1605
+ "release-tail-transaction-state",
1606
+ "release-transaction-root"
1602
1607
  ]
1603
1608
  },
1604
1609
  "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.",
@@ -234,7 +234,7 @@
234
234
  },
235
235
  {
236
236
  "path": ".github/workflows/.release-candidate-promote.yml",
237
- "marker": "run: ${{ inputs.publication-consumer-qualification-command }}"
237
+ "marker": "name: Translate and admit legacy-compatible inputs"
238
238
  }
239
239
  ],
240
240
  "currentCallers": ["kungfu-alpha-promotion"],
@@ -339,7 +339,7 @@
339
339
  "executionSites": [
340
340
  {
341
341
  "path": ".github/workflows/.release-candidate-promote.yml",
342
- "marker": "bash -euo pipefail -c \"${BUILDCHAIN_PUBLICATION_COMMIT_COMMAND}\""
342
+ "marker": "name: Translate and admit legacy-compatible inputs"
343
343
  }
344
344
  ],
345
345
  "currentCallers": ["kungfu-alpha-promotion"],
@@ -360,7 +360,7 @@
360
360
  "executionSites": [
361
361
  {
362
362
  "path": ".github/workflows/.release-candidate-promote.yml",
363
- "marker": "bash -euo pipefail -c \"${BUILDCHAIN_RELEASE_ACTIVATION_COMMAND}\""
363
+ "marker": "name: Translate and admit legacy-compatible inputs"
364
364
  }
365
365
  ],
366
366
  "currentCallers": ["kungfu-alpha-promotion"],
@@ -387,7 +387,7 @@
387
387
  "executionSites": [
388
388
  {
389
389
  "path": ".github/workflows/.release-candidate-promote.yml",
390
- "marker": "bash -euo pipefail -c \"${{ inputs.release-passport-evidence-command }}\""
390
+ "marker": "name: Translate and admit legacy-compatible inputs"
391
391
  }
392
392
  ],
393
393
  "currentCallers": ["kungfu-alpha-promotion"],
@@ -293,6 +293,8 @@
293
293
  "sourcePaths": [
294
294
  "packages/core/dev-delivery-proof.js",
295
295
  "packages/core/dev-delivery-warrant-cancellation.js",
296
+ "packages/core/dev-delivery-warrant-legacy-recovery.js",
297
+ "packages/core/dev-delivery-warrant-native-compatibility.js",
296
298
  "packages/core/dev-delivery-warrant-qualification.js",
297
299
  "packages/core/dev-delivery-warrant-settlement.js",
298
300
  "packages/core/dev-delivery-warrant-state.js",
@@ -306,6 +308,7 @@
306
308
  "testPaths": [
307
309
  "tests/dev-delivery-warrant.test.mjs",
308
310
  "tests/dev-delivery-warrant-command.test.mjs",
311
+ "tests/dev-delivery-warrant-legacy-recovery.test.mjs",
309
312
  "tests/release-blocker-priority.test.mjs"
310
313
  ],
311
314
  "migrationDisposition": "rebuild-in-rust-with-compatibility-projection",