@kungfu-tech/buildchain 4.0.2-alpha.8 → 4.0.2

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 (157) hide show
  1. package/AGENTS.md +10 -1
  2. package/CONTRIBUTING.md +24 -0
  3. package/README.md +2 -2
  4. package/actions/promote-buildchain-ref/README.md +1 -1
  5. package/actions/v4-release-candidate-promote/README.md +28 -0
  6. package/architecture/agent-change-map.md +64 -7
  7. package/architecture/ci-lane-change-budget.json +366 -0
  8. package/architecture/internal-capabilities.json +53 -8
  9. package/architecture/maintainability-debt.json +147 -93
  10. package/architecture/maintainability-policy.json +32 -28
  11. package/architecture/release-tail-contract-inventory.json +6 -6
  12. package/architecture/v4-architecture-constitution.md +23 -20
  13. package/architecture/v4-cross-platform-adopter-qualification.json +1 -1
  14. package/architecture/v4-delivery-authority-parity.json +2 -2
  15. package/architecture/v4-delivery-warrant-shadow-bootstrap-plan.json +1 -1
  16. package/architecture/v4-floating-consumer-policy.json +2 -2
  17. package/architecture/v4-next-development-parity.json +5 -5
  18. package/architecture/v4-partial-mutation-recovery-qualification.json +4 -1
  19. package/architecture/v4-platform-stage-checkpoints.json +1 -1
  20. package/architecture/v4-provider-operation-journal-contract.json +5 -2
  21. package/architecture/v4-publication-facade-patches.json +64 -0
  22. package/architecture/v4-release-activation-shadow-domain.json +5 -2
  23. package/architecture/v4-release-topology.json +74 -39
  24. package/architecture/v4-rust-wasm-production-authority.json +58 -0
  25. package/architecture/v4-stable-publication-fence.json +5 -2
  26. package/architecture/v4-stage-capsule-qualification.json +2 -2
  27. package/architecture/v4-tail-reseal-parity.json +8 -6
  28. package/architecture/v4-universal-workflow-bootstrap.json +171 -0
  29. package/architecture/v4-universal-workflow-fault-campaign.json +72 -0
  30. package/architecture/v4-universal-workflow-train-admission.json +40 -0
  31. package/architecture/workflow-taxonomy.json +1451 -0
  32. package/bin/buildchain.mjs +7 -7
  33. package/contracts/buildchain-v2-residuals-v1.json +57 -48
  34. package/contracts/dev-delivery-authority-v2.schema.json +16 -2
  35. package/contracts/fixtures/v4-tail-reseal-v1/valid.json +1 -1
  36. package/contracts/v4-canonical-contracts-v1.schema.json +1 -0
  37. package/dist/site/buildchain-contract.json +93 -48
  38. package/dist/site/buildchain-site.json +222 -69
  39. package/dist/site/capability-registry.json +4 -4
  40. package/dist/site/controller-registry.json +50 -13
  41. package/dist/site/kfd-claims.json +2585 -1000
  42. package/dist/site/kfd-upstream-aggregate.json +1 -1
  43. package/dist/site/manual-registry.json +13 -13
  44. package/dist/site/node-api-registry.json +120 -115
  45. package/dist/site/page-registry.json +204 -51
  46. package/dist/site/public-surface-audit.json +3205 -1219
  47. package/dist/site/publication-authority-registry.json +1124 -362
  48. package/dist/site/publication-registry.json +4 -4
  49. package/dist/site/schemas/dev-delivery-authority-v2.schema.json +16 -2
  50. package/dist/site/site-manifest.json +17 -17
  51. package/dist/site/workflow-registry.json +5061 -1659
  52. package/docs/MAP.md +1 -0
  53. package/docs/auditable-demo.md +1 -1
  54. package/docs/cli.md +21 -8
  55. package/docs/dev-delivery-warrant.md +1 -1
  56. package/docs/engineering-housekeeper.md +3 -3
  57. package/docs/kfd-support.md +26 -2
  58. package/docs/next-development-transition.md +2 -2
  59. package/docs/node-api-reference.md +190 -190
  60. package/docs/publication-authority.md +2 -2
  61. package/docs/release-candidate.md +3 -3
  62. package/docs/release-flow.md +67 -19
  63. package/docs/release-governance.md +8 -8
  64. package/docs/release-passport.md +27 -2
  65. package/docs/reusable-build-surface.md +16 -0
  66. package/docs/v4-adopter-delivery.md +2 -2
  67. package/docs/v4-production-release.md +71 -8
  68. package/docs/v4-rust-wasm-production-authority.md +58 -0
  69. package/docs/v4-stage-capsule.md +2 -2
  70. package/docs/v4-tail-reseal.md +1 -1
  71. package/docs/workflow-catalog.md +154 -0
  72. package/docs/workflow-path-migration.md +109 -0
  73. package/package.json +10 -6
  74. package/packages/core/artifact-verification-envelope.js +5 -5
  75. package/packages/core/buildchain-contract.js +1 -1
  76. package/packages/core/buildchain-kfd-claims.js +2 -2
  77. package/packages/core/buildchain-publication-authority.js +42 -26
  78. package/packages/core/buildchain-v4-domain.wasm +0 -0
  79. package/packages/core/ci-lane-change-budget.js +14 -1
  80. package/packages/core/controller-evidence.js +4 -1
  81. package/packages/core/dev-delivery-candidate-identity.js +40 -6
  82. package/packages/core/dev-delivery-warrant-state.js +3 -4
  83. package/packages/core/dev-delivery-warrant.js +12 -2
  84. package/packages/core/github-governance-authority.js +4 -4
  85. package/packages/core/kfd-adopter-manifest.js +46 -47
  86. package/packages/core/next-development-projection.js +2 -2
  87. package/packages/core/paper-agent-entry.js +30 -4
  88. package/packages/core/paper-fleet.js +1 -1
  89. package/packages/core/paper-runtime-channels.js +348 -0
  90. package/packages/core/paper-scaffold-content.js +10 -0
  91. package/packages/core/paper.js +37 -71
  92. package/packages/core/release-line-dry-run.js +1 -1
  93. package/packages/core/release-passport-contract.js +5 -5
  94. package/packages/core/release-passport.js +5 -4
  95. package/packages/core/release-tail-provider-plane.js +68 -1048
  96. package/packages/core/v4-canonical-contracts.js +10 -75
  97. package/packages/core/v4-domain-wasm-artifact.js +7 -0
  98. package/packages/core/v4-domain-wasm.js +216 -0
  99. package/packages/core/v4-floating-consumer-evidence.js +1 -1
  100. package/packages/core/v4-floating-consumer-policy.js +1 -1
  101. package/packages/core/v4-partial-mutation-recovery-qualification.js +9 -386
  102. package/packages/core/v4-product-publication.js +19 -349
  103. package/packages/core/v4-protected-publication-source.js +19 -21
  104. package/packages/core/v4-provider-operation-journal.js +18 -487
  105. package/packages/core/v4-provider-readback-idempotency.js +12 -97
  106. package/packages/core/v4-release-activation-shadow.js +13 -500
  107. package/packages/core/v4-release-invocation.js +28 -389
  108. package/packages/core/v4-stable-publication-fence.js +13 -342
  109. package/packages/core/v4-universal-workflow-bootstrap.js +586 -0
  110. package/scripts/binary-publication-evidence.mjs +135 -0
  111. package/scripts/build-contract-core.mjs +1 -14
  112. package/scripts/build-v4-domain-wasm.mjs +189 -0
  113. package/scripts/check-action-bundles.mjs +12 -2
  114. package/scripts/check-ci-lane-change-budget.mjs +4 -1
  115. package/scripts/check-core-mechanism-inventory.mjs +4 -3
  116. package/scripts/check-inventory.mjs +35 -44
  117. package/scripts/check-maintainability.mjs +16 -113
  118. package/scripts/check-v4-floating-consumer-policy-contract.mjs +2 -2
  119. package/scripts/check-v4-public-dogfood-contract.mjs +22 -9
  120. package/scripts/check-v4-release-topology.mjs +90 -33
  121. package/scripts/check-v4-runtime-semantic-closure.mjs +4 -1
  122. package/scripts/check-v4-universal-workflow-bootstrap.mjs +266 -0
  123. package/scripts/check-workflow-taxonomy.mjs +6 -0
  124. package/scripts/copy-v4-domain-wasm.mjs +14 -0
  125. package/scripts/dev-delivery-authority-command-adapters.mjs +1 -1
  126. package/scripts/dev-delivery-authority.mjs +8 -8
  127. package/scripts/dev-delivery-source-proof-reuse.mjs +2 -1
  128. package/scripts/dev-delivery-warrant-options.mjs +14 -9
  129. package/scripts/dev-delivery-warrant-store.mjs +73 -7
  130. package/scripts/dev-delivery-warrant-transition.mjs +109 -0
  131. package/scripts/dev-delivery-warrant.mjs +76 -99
  132. package/scripts/dev-pr-auto-merge.mjs +15 -15
  133. package/scripts/generate-channel-build-workflow.mjs +7 -2
  134. package/scripts/generate-channel-promotion-workflow.mjs +7 -5
  135. package/scripts/generate-site-bundle.mjs +11 -11
  136. package/scripts/generate-v4-universal-workflow-facades.mjs +458 -0
  137. package/scripts/generate-workflow-taxonomy.mjs +25 -0
  138. package/scripts/github-output.mjs +31 -0
  139. package/scripts/maintainability-metrics.mjs +16 -5
  140. package/scripts/maintainability-public-surface.mjs +115 -0
  141. package/scripts/next-development-review.mjs +307 -0
  142. package/scripts/paper-work-fleet-cli.mjs +2 -0
  143. package/scripts/release-asset-client.mjs +91 -0
  144. package/scripts/release-candidate-resolver.mjs +9 -9
  145. package/scripts/source-verification-evidence.mjs +344 -0
  146. package/scripts/stable-candidate-qualification.mjs +1 -1
  147. package/scripts/universal-facade-maintainability.mjs +82 -0
  148. package/scripts/v4-product-publication-intent.mjs +13 -6
  149. package/scripts/v4-publication-settlement.mjs +211 -0
  150. package/scripts/v4-universal-workflow-backflow.mjs +212 -0
  151. package/scripts/v4-universal-workflow-engine.mjs +618 -0
  152. package/scripts/v4-universal-workflow-self-dogfood.mjs +205 -0
  153. package/scripts/verify-version-state-delta.mjs +173 -0
  154. package/scripts/workflow-taxonomy.mjs +507 -0
  155. package/templates/native-dev-delivery.yml +4 -7
  156. package/templates/universal-buildchain-bootstrap-recovery.yml +282 -0
  157. package/templates/universal-buildchain-bootstrap.yml +28 -0
@@ -7,8 +7,8 @@
7
7
  },
8
8
  "totalExcessLedger": {
9
9
  "metric": "calibrated-full-dimensional-excess-v1",
10
- "measuredExcess": 64348,
11
- "current": 56287
10
+ "measuredExcess": 64729,
11
+ "current": 56668
12
12
  },
13
13
  "defaults": {
14
14
  "owner": "Buildchain architecture maintainers",
@@ -826,35 +826,35 @@
826
826
  "baseline": {
827
827
  "lines": 2878,
828
828
  "functions": {
829
- "collectPaperStatus@1117": {
829
+ "collectPaperStatus@1124": {
830
830
  "lines": 190,
831
831
  "complexity": 47
832
832
  },
833
- "validatePaperProvisioningAuthority@1308": {
833
+ "validatePaperProvisioningAuthority@1315": {
834
834
  "complexity": 45
835
835
  }
836
836
  }
837
837
  },
838
838
  "current": {
839
- "lines": 2512,
839
+ "lines": 2478,
840
840
  "functions": {
841
- "collectPaperStatus@1117": {
841
+ "collectPaperStatus@1124": {
842
842
  "lines": 190,
843
843
  "complexity": 47
844
844
  },
845
- "validatePaperProvisioningAuthority@1308": {
846
- "complexity": 45
845
+ "validatePaperProvisioningAuthority@1315": {
846
+ "complexity": 36
847
847
  }
848
848
  }
849
849
  },
850
850
  "target": {
851
851
  "lines": 600,
852
852
  "functions": {
853
- "collectPaperStatus@1117": {
853
+ "collectPaperStatus@1124": {
854
854
  "lines": 180,
855
855
  "complexity": 25
856
856
  },
857
- "validatePaperProvisioningAuthority@1308": {
857
+ "validatePaperProvisioningAuthority@1315": {
858
858
  "complexity": 25
859
859
  }
860
860
  }
@@ -1034,13 +1034,13 @@
1034
1034
  "validateKfd2ReleaseTrustPassportAudit@1786": {
1035
1035
  "complexity": 65
1036
1036
  },
1037
- "validateReleaseEvidenceAttachments@2105": {
1037
+ "validateReleaseEvidenceAttachments@2106": {
1038
1038
  "complexity": 26
1039
1039
  }
1040
1040
  }
1041
1041
  },
1042
1042
  "current": {
1043
- "lines": 2883,
1043
+ "lines": 2884,
1044
1044
  "functions": {
1045
1045
  "mergeAuthoritativePassportBase@407": {
1046
1046
  "complexity": 29
@@ -1059,7 +1059,7 @@
1059
1059
  "validateKfd2ReleaseTrustPassportAudit@1786": {
1060
1060
  "complexity": 65
1061
1061
  },
1062
- "validateReleaseEvidenceAttachments@2105": {
1062
+ "validateReleaseEvidenceAttachments@2106": {
1063
1063
  "complexity": 26
1064
1064
  }
1065
1065
  }
@@ -1084,63 +1084,7 @@
1084
1084
  "validateKfd2ReleaseTrustPassportAudit@1786": {
1085
1085
  "complexity": 25
1086
1086
  },
1087
- "validateReleaseEvidenceAttachments@2105": {
1088
- "complexity": 25
1089
- }
1090
- }
1091
- }
1092
- },
1093
- "packages/core/release-tail-provider-plane.js": {
1094
- "baseline": {
1095
- "lines": 1228,
1096
- "functions": {
1097
- "normalizeCapability@235": {
1098
- "lines": 255
1099
- },
1100
- "validateReleaseTailEffectPlan@602": {
1101
- "complexity": 30
1102
- },
1103
- "validateReleaseTailTransaction@744": {
1104
- "complexity": 33
1105
- },
1106
- "executeReleaseTailTransaction@1016": {
1107
- "lines": 190,
1108
- "complexity": 27
1109
- }
1110
- }
1111
- },
1112
- "current": {
1113
- "lines": 1228,
1114
- "functions": {
1115
- "normalizeCapability@235": {
1116
- "lines": 255
1117
- },
1118
- "validateReleaseTailEffectPlan@602": {
1119
- "complexity": 30
1120
- },
1121
- "validateReleaseTailTransaction@744": {
1122
- "complexity": 33
1123
- },
1124
- "executeReleaseTailTransaction@1016": {
1125
- "lines": 190,
1126
- "complexity": 27
1127
- }
1128
- }
1129
- },
1130
- "target": {
1131
- "lines": 600,
1132
- "functions": {
1133
- "normalizeCapability@235": {
1134
- "lines": 180
1135
- },
1136
- "validateReleaseTailEffectPlan@602": {
1137
- "complexity": 25
1138
- },
1139
- "validateReleaseTailTransaction@744": {
1140
- "complexity": 25
1141
- },
1142
- "executeReleaseTailTransaction@1016": {
1143
- "lines": 180,
1087
+ "validateReleaseEvidenceAttachments@2106": {
1144
1088
  "complexity": 25
1145
1089
  }
1146
1090
  }
@@ -1259,7 +1203,7 @@
1259
1203
  "lines": 1229
1260
1204
  },
1261
1205
  "current": {
1262
- "lines": 1229
1206
+ "lines": 1216
1263
1207
  },
1264
1208
  "target": {
1265
1209
  "lines": 600
@@ -1270,7 +1214,7 @@
1270
1214
  "lines": 1515
1271
1215
  },
1272
1216
  "current": {
1273
- "lines": 1483
1217
+ "lines": 1474
1274
1218
  },
1275
1219
  "target": {
1276
1220
  "lines": 600
@@ -1279,21 +1223,21 @@
1279
1223
  "scripts/check-maintainability.mjs": {
1280
1224
  "baseline": {
1281
1225
  "functions": {
1282
- "evaluateMaintainability@361": {
1226
+ "evaluateMaintainability@253": {
1283
1227
  "complexity": 29
1284
1228
  }
1285
1229
  }
1286
1230
  },
1287
1231
  "current": {
1288
1232
  "functions": {
1289
- "evaluateMaintainability@361": {
1233
+ "evaluateMaintainability@253": {
1290
1234
  "complexity": 29
1291
1235
  }
1292
1236
  }
1293
1237
  },
1294
1238
  "target": {
1295
1239
  "functions": {
1296
- "evaluateMaintainability@361": {
1240
+ "evaluateMaintainability@253": {
1297
1241
  "complexity": 25
1298
1242
  }
1299
1243
  }
@@ -1425,7 +1369,7 @@
1425
1369
  "evaluatePullRequest@204": {
1426
1370
  "complexity": 31
1427
1371
  },
1428
- "runDevPrAdmission@764": {
1372
+ "runDevPrAdmission@767": {
1429
1373
  "complexity": 32
1430
1374
  },
1431
1375
  "runDevPrAutoMerge@909": {
@@ -1440,7 +1384,7 @@
1440
1384
  "evaluatePullRequest@204": {
1441
1385
  "complexity": 31
1442
1386
  },
1443
- "runDevPrAdmission@764": {
1387
+ "runDevPrAdmission@767": {
1444
1388
  "complexity": 32
1445
1389
  },
1446
1390
  "runDevPrAutoMerge@909": {
@@ -1455,7 +1399,7 @@
1455
1399
  "evaluatePullRequest@204": {
1456
1400
  "complexity": 25
1457
1401
  },
1458
- "runDevPrAdmission@764": {
1402
+ "runDevPrAdmission@767": {
1459
1403
  "complexity": 25
1460
1404
  },
1461
1405
  "runDevPrAutoMerge@909": {
@@ -1491,21 +1435,21 @@
1491
1435
  "scripts/generate-channel-promotion-workflow.mjs": {
1492
1436
  "baseline": {
1493
1437
  "functions": {
1494
- "generateChannelPromotionWorkflow@278": {
1438
+ "generateChannelPromotionWorkflow@280": {
1495
1439
  "lines": 282
1496
1440
  }
1497
1441
  }
1498
1442
  },
1499
1443
  "current": {
1500
1444
  "functions": {
1501
- "generateChannelPromotionWorkflow@278": {
1445
+ "generateChannelPromotionWorkflow@280": {
1502
1446
  "lines": 240
1503
1447
  }
1504
1448
  }
1505
1449
  },
1506
1450
  "target": {
1507
1451
  "functions": {
1508
- "generateChannelPromotionWorkflow@278": {
1452
+ "generateChannelPromotionWorkflow@280": {
1509
1453
  "lines": 180
1510
1454
  }
1511
1455
  }
@@ -1515,7 +1459,7 @@
1515
1459
  "baseline": {
1516
1460
  "lines": 1410,
1517
1461
  "functions": {
1518
- "buildSiteBundle@719": {
1462
+ "buildSiteBundle@720": {
1519
1463
  "lines": 637
1520
1464
  }
1521
1465
  }
@@ -1523,15 +1467,15 @@
1523
1467
  "current": {
1524
1468
  "lines": 1410,
1525
1469
  "functions": {
1526
- "buildSiteBundle@719": {
1527
- "lines": 637
1470
+ "buildSiteBundle@720": {
1471
+ "lines": 636
1528
1472
  }
1529
1473
  }
1530
1474
  },
1531
1475
  "target": {
1532
1476
  "lines": 600,
1533
1477
  "functions": {
1534
- "buildSiteBundle@719": {
1478
+ "buildSiteBundle@720": {
1535
1479
  "lines": 180
1536
1480
  }
1537
1481
  }
@@ -1804,6 +1748,17 @@
1804
1748
  }
1805
1749
  }
1806
1750
  },
1751
+ "scripts/v4-universal-workflow-engine.mjs": {
1752
+ "baseline": {
1753
+ "lines": 620
1754
+ },
1755
+ "current": {
1756
+ "lines": 618
1757
+ },
1758
+ "target": {
1759
+ "lines": 600
1760
+ }
1761
+ },
1807
1762
  "scripts/v4-architecture.mjs": {
1808
1763
  "baseline": {
1809
1764
  "lines": 610
@@ -2047,6 +2002,93 @@
2047
2002
  }
2048
2003
  }
2049
2004
  },
2005
+ "crates/buildchain-v4-contracts/src/product_publication.rs": {
2006
+ "baseline": {
2007
+ "functions": {
2008
+ "select_product_publication_intent@156": {
2009
+ "complexity": 38
2010
+ }
2011
+ }
2012
+ },
2013
+ "current": {
2014
+ "functions": {
2015
+ "select_product_publication_intent@156": {
2016
+ "complexity": 31
2017
+ }
2018
+ }
2019
+ },
2020
+ "target": {
2021
+ "functions": {
2022
+ "select_product_publication_intent@156": {
2023
+ "complexity": 30
2024
+ }
2025
+ }
2026
+ }
2027
+ },
2028
+ "crates/buildchain-v4-contracts/src/release_tail.rs": {
2029
+ "baseline": {
2030
+ "lines": 1399,
2031
+ "functions": {
2032
+ "normalize_capability@228": {
2033
+ "lines": 245,
2034
+ "complexity": 51
2035
+ },
2036
+ "advance_release_tail_execution@1205": {
2037
+ "lines": 193
2038
+ }
2039
+ }
2040
+ },
2041
+ "current": {
2042
+ "lines": 1397,
2043
+ "functions": {
2044
+ "normalize_capability@228": {
2045
+ "lines": 245,
2046
+ "complexity": 51
2047
+ },
2048
+ "advance_release_tail_execution@1205": {
2049
+ "lines": 193
2050
+ }
2051
+ }
2052
+ },
2053
+ "target": {
2054
+ "lines": 600,
2055
+ "functions": {
2056
+ "normalize_capability@228": {
2057
+ "lines": 140,
2058
+ "complexity": 30
2059
+ },
2060
+ "advance_release_tail_execution@1205": {
2061
+ "lines": 140
2062
+ }
2063
+ }
2064
+ }
2065
+ },
2066
+ "crates/buildchain-v4-contracts/src/wasm.rs": {
2067
+ "baseline": {
2068
+ "functions": {
2069
+ "dispatch@61": {
2070
+ "lines": 214,
2071
+ "complexity": 64
2072
+ }
2073
+ }
2074
+ },
2075
+ "current": {
2076
+ "functions": {
2077
+ "dispatch@61": {
2078
+ "lines": 207,
2079
+ "complexity": 64
2080
+ }
2081
+ }
2082
+ },
2083
+ "target": {
2084
+ "functions": {
2085
+ "dispatch@61": {
2086
+ "lines": 140,
2087
+ "complexity": 30
2088
+ }
2089
+ }
2090
+ }
2091
+ },
2050
2092
  "crates/buildchain-v4-contracts/src/provider_operation_journal.rs": {
2051
2093
  "baseline": {
2052
2094
  "functions": {
@@ -2205,7 +2247,7 @@
2205
2247
  }
2206
2248
  },
2207
2249
  "current": {
2208
- "lines": 2727,
2250
+ "lines": 2738,
2209
2251
  "functions": {
2210
2252
  "<anonymous@1559>@1559": {
2211
2253
  "lines": 206
@@ -2373,7 +2415,7 @@
2373
2415
  "lines": 626
2374
2416
  },
2375
2417
  "current": {
2376
- "lines": 626
2418
+ "lines": 624
2377
2419
  },
2378
2420
  "target": {
2379
2421
  "lines": 600
@@ -2480,7 +2522,7 @@
2480
2522
  "lines": 1202
2481
2523
  },
2482
2524
  "current": {
2483
- "lines": 1202
2525
+ "lines": 1201
2484
2526
  },
2485
2527
  "target": {
2486
2528
  "lines": 600
@@ -2937,7 +2979,7 @@
2937
2979
  "lines": 2736
2938
2980
  },
2939
2981
  "current": {
2940
- "lines": 1147
2982
+ "lines": 1217
2941
2983
  },
2942
2984
  "target": {
2943
2985
  "lines": 600
@@ -3083,12 +3125,20 @@
3083
3125
  }
3084
3126
  },
3085
3127
  "hotspots": [
3128
+ ".github/workflows/.build.yml",
3129
+ ".github/workflows/.publication-authority.yml",
3130
+ ".github/workflows/bootstrap.yml",
3131
+ "scripts/check-v4-universal-workflow-bootstrap.mjs",
3132
+ "scripts/v4-universal-workflow-engine.mjs",
3133
+ "tests/v4-universal-workflow-bootstrap.test.mjs",
3086
3134
  "tests/v3-v4-capability-inventory.test.mjs",
3087
3135
  "tests/v4-floating-consumer-policy-contract.test.mjs",
3088
3136
  "tests/v4-publication-qualification.test.mjs",
3089
3137
  ".github/workflows/v4-adopter-delivery.yml",
3090
3138
  ".github/workflows/buildchain-ref-promotion.yml",
3139
+ ".github/workflows/dev-pr-auto-merge.yml",
3091
3140
  "tests/release-candidate-recovery.test.mjs",
3141
+ "tests/buildchain-ref-promotion-recovery-entry.test.mjs",
3092
3142
  ".github/workflows/.release-candidate-promote.yml",
3093
3143
  "tests/build-surface-promotion.test.mjs",
3094
3144
  ".github/workflows/buildchain-ref-promotion-recovery.yml",
@@ -3100,6 +3150,8 @@
3100
3150
  "actions/promote-buildchain-ref/lib.js",
3101
3151
  "actions/v4-release-candidate-promote/index.js",
3102
3152
  "actions/v4-release-candidate-promote/product-provider.js",
3153
+ "actions/v4-release-candidate-promote/product-provider-github-adapters.js",
3154
+ "tests/v4-release-candidate-promote.test.mjs",
3103
3155
  "scripts/check-inventory.mjs",
3104
3156
  "tests/promote-buildchain-ref.test.mjs",
3105
3157
  "tests/promotion-channel-router.test.mjs",
@@ -3117,7 +3169,9 @@
3117
3169
  "tests/promote-buildchain-ref-governance.test.mjs",
3118
3170
  "scripts/buildchain-cli-help.mjs",
3119
3171
  "scripts/check-maintainability.mjs",
3120
- "tests/maintainability.test.mjs"
3172
+ "tests/maintainability.test.mjs",
3173
+ "scripts/generate-v4-universal-workflow-facades.mjs",
3174
+ "scripts/check-v4-release-topology.mjs"
3121
3175
  ],
3122
3176
  "burnDownSlices": [
3123
3177
  {
@@ -3139,21 +3193,21 @@
3139
3193
  "path": ".github/workflows/.release-candidate-promote.yml",
3140
3194
  "metric": "lines",
3141
3195
  "baseline": 2736,
3142
- "current": 1147
3196
+ "current": 1217
3143
3197
  },
3144
3198
  {
3145
3199
  "domain": "sources",
3146
3200
  "path": "packages/core/release-passport.js",
3147
3201
  "metric": "lines",
3148
3202
  "baseline": 2987,
3149
- "current": 2883
3203
+ "current": 2884
3150
3204
  },
3151
3205
  {
3152
3206
  "domain": "sources",
3153
3207
  "path": "packages/core/paper.js",
3154
3208
  "metric": "lines",
3155
3209
  "baseline": 2878,
3156
- "current": 2512
3210
+ "current": 2478
3157
3211
  }
3158
3212
  ]
3159
3213
  }
@@ -13,10 +13,10 @@
13
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
14
  },
15
15
  "exceptionBudget": {
16
- "maxTotal": 94,
16
+ "maxTotal": 95,
17
17
  "maxByCollection": {
18
18
  "approvedExistingDebtTransitions": 19,
19
- "approvedNewFileTransitions": 21,
19
+ "approvedNewFileTransitions": 22,
20
20
  "approvedExtractedDebt": 20,
21
21
  "approvedPublicSurfaceTransitions": 19,
22
22
  "approvedTestDebtTransitions": 9,
@@ -25,13 +25,13 @@
25
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
26
  },
27
27
  "repositoryBudgets": {
28
- "baselineRevision": "858dbe00b6206a8f356b4a12d2659bee7a72e71b",
29
- "maxHandMaintainedSourceFiles": 454,
30
- "maxHandMaintainedSourceLines": 167749,
31
- "maxWorkflowFiles": 77,
28
+ "baselineRevision": "9569f69c2cb609372b8a3d65ce5dec8fb7b34a84",
29
+ "maxHandMaintainedSourceFiles": 485,
30
+ "maxHandMaintainedSourceLines": 173250,
31
+ "maxWorkflowFiles": 80,
32
32
  "maxWorkflowLines": 26791,
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.",
33
+ "latestTransition": "Align generated Paper v4 Check permissions and installed-package next-development guidance.",
34
+ "latestTransitionRationale": "Add a bounded Paper-only guidance projection within existing owned modules, preserving source-repository guidance and surrounding consumer prose. Generated Verify callers grant only the actual public v4 callee read permissions. Update the exact source inventory; no new module, public API, write permission, debt allowance or dependency cycle. Regression tests compare real caller/callee permissions and resolve packaged script and upstream ADR paths.",
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
  },
@@ -127,11 +127,9 @@
127
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
128
  "governance": "legacy-debt-sunset-2026q4"
129
129
  },
130
- "packages/core/release-tail-provider-plane.js": {
131
- "maxLines": 1228,
132
- "maxFunctionLines": 255,
133
- "maxFunctionComplexity": 33,
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.",
130
+ "crates/buildchain-v4-contracts/src/release_tail.rs": {
131
+ "maxLines": 1397,
132
+ "rationale": "The single provider-neutral Rust release-tail authority replaces the retired 1,228-line JavaScript state machine and keeps strict declaration normalization, deterministic effect planning, rooted observations and receipts, and bounded retry/readback transitions behind the checked WASM ABI. Node retains only provider effects; this exact Rust ceiling cannot grow implicitly.",
135
133
  "governance": "legacy-debt-sunset-2026q4"
136
134
  },
137
135
  "packages/core/v4-runtime-ref-resume-authority.js": {
@@ -144,6 +142,11 @@
144
142
  "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
143
  "governance": "legacy-debt-sunset-2026q4"
146
144
  },
145
+ "scripts/v4-universal-workflow-engine.mjs": {
146
+ "maxLines": 620,
147
+ "rationale": "The exact candidate engine adds only a fail-closed OIDC preflight and a fixed npm 11.13.0 trusted-publishing shim under the already admitted ephemeral runtime path. This lets a reviewed Train candidate execute through an older floating Alpha Bootstrap shell without broadening capability, permission, provider, or mutation authority; this exact live-repair ceiling cannot grow implicitly.",
148
+ "governance": "legacy-debt-sunset-2026q4"
149
+ },
147
150
  "scripts/resume-from-candidate-run.mjs": {
148
151
  "maxLines": 1125,
149
152
  "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.",
@@ -1649,25 +1652,26 @@
1649
1652
  "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.",
1650
1653
  "governance": "legacy-debt-sunset-2026q4"
1651
1654
  },
1652
- "packages/core/release-tail-provider-plane.js#normalizeCapability": {
1653
- "maxLines": 255,
1654
- "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.",
1655
+ "crates/buildchain-v4-contracts/src/product_publication.rs#select_product_publication_intent": {
1656
+ "maxComplexity": 38,
1657
+ "rationale": "The Rust publication selector jointly validates the closed channel, source, artifact, semantic-version, recovery, and observed-version coordinates before rooting one immutable intent. This exact complexity replaces the prior JavaScript decision tree and cannot grow implicitly.",
1655
1658
  "governance": "legacy-debt-sunset-2026q4"
1656
1659
  },
1657
- "packages/core/release-tail-provider-plane.js#validateReleaseTailEffectPlan": {
1658
- "maxComplexity": 30,
1659
- "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.",
1660
+ "crates/buildchain-v4-contracts/src/release_tail.rs#normalize_capability": {
1661
+ "maxLines": 245,
1662
+ "maxComplexity": 51,
1663
+ "rationale": "The Rust normalizer keeps the closed capability registry, exact fields, regex tag binding, operation identity, idempotency, retry, and evidence validation in one fail-closed audit surface. It replaces the retired JavaScript normalizer and this exact ceiling cannot grow implicitly.",
1660
1664
  "governance": "legacy-debt-sunset-2026q4"
1661
1665
  },
1662
- "packages/core/release-tail-provider-plane.js#validateReleaseTailTransaction": {
1663
- "maxComplexity": 33,
1664
- "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.",
1666
+ "crates/buildchain-v4-contracts/src/release_tail.rs#advance_release_tail_execution": {
1667
+ "maxLines": 193,
1668
+ "rationale": "The Rust transition dispatcher owns the bounded readback-before-mutation, apply, reconciliation, retry exhaustion, terminal fault, and next-operation decisions. It performs no provider effect and this exact line ceiling cannot grow implicitly.",
1665
1669
  "governance": "legacy-debt-sunset-2026q4"
1666
1670
  },
1667
- "packages/core/release-tail-provider-plane.js#executeReleaseTailTransaction": {
1668
- "maxLines": 190,
1669
- "maxComplexity": 27,
1670
- "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.",
1671
+ "crates/buildchain-v4-contracts/src/wasm.rs#dispatch": {
1672
+ "maxLines": 214,
1673
+ "maxComplexity": 64,
1674
+ "rationale": "The closed WASM ABI dispatcher maps a fixed operation vocabulary onto existing Rust domain functions and typed faults without adding provider, IO, credential, or fallback authority. This exact routing-only ceiling cannot grow implicitly.",
1671
1675
  "governance": "legacy-debt-sunset-2026q4"
1672
1676
  },
1673
1677
  "actions/promote-buildchain-ref/internal/promotion-operations.js#updateBranch": {
@@ -1851,8 +1855,8 @@
1851
1855
  "governance": "stage1-test-split-net-reduction"
1852
1856
  },
1853
1857
  "tests/dev-delivery-warrant-command.test.mjs": {
1854
- "maxLines": 626,
1855
- "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.",
1858
+ "maxLines": 624,
1859
+ "rationale": "Exact command-store assertions cover raw GitHub media reads and JSON-envelope fallback for persisted Dev Delivery state. The test surface has reduced to an exact 624-line ceiling and cannot grow implicitly.",
1856
1860
  "governance": "legacy-debt-sunset-2026q4"
1857
1861
  },
1858
1862
  "tests/build-surface-reusable-build.test.mjs": {
@@ -427,7 +427,7 @@
427
427
  "repository": "kungfu-systems/buildchain",
428
428
  "sourceCommit": "7c8956e8babb521d3e743d40108f115a59a40427",
429
429
  "sourceTree": "7e24ca6bafe98b571d94c3bcf07a9d38b31092c5",
430
- "workflow": ".github/workflows/buildchain-ref-promotion.yml",
430
+ "workflow": ".github/workflows/self-release-promote.yml",
431
431
  "runtimeRef": "local exact checkout",
432
432
  "executableSurfaceIds": []
433
433
  },
@@ -454,7 +454,7 @@
454
454
  "repository": "kungfu-systems/kungfu",
455
455
  "sourceCommit": "445ec32d6bf53dd5ff502d685792406ad38dd4f5",
456
456
  "sourceTree": "4963b2f9deb0245f7277cea7224ab0d062a0cc54",
457
- "workflow": ".github/workflows/release-new-version.yml",
457
+ "workflow": ".github/workflows/self-release-new-version-compat.yml",
458
458
  "runtimeRef": "train/v3/v3.0/resume-candidate-run",
459
459
  "executableSurfaceIds": [
460
460
  "publication-admission-commands",
@@ -470,7 +470,7 @@
470
470
  "repository": "kungfu-systems/libnode",
471
471
  "sourceCommit": "4bef69b88a441f22024fa9f3d7bfd76a89963e8a",
472
472
  "sourceTree": "6c4dec7fd70cbdcfbc9ada19e66271654eb393af",
473
- "workflow": ".github/workflows/release-new-version.yml",
473
+ "workflow": ".github/workflows/self-release-new-version-compat.yml",
474
474
  "runtimeRef": "v3-alpha",
475
475
  "executableSurfaceIds": ["release-passport-producer-commands"]
476
476
  },
@@ -479,7 +479,7 @@
479
479
  "repository": "kungfu-systems/kfd",
480
480
  "sourceCommit": "e82fe11acecdbebfd0c42778c7a1bd6fdc54ab81",
481
481
  "sourceTree": "fe0ad4f4b98889c7c246fe16958e118ff79b193b",
482
- "workflow": ".github/workflows/buildchain-ref-promotion.yml",
482
+ "workflow": ".github/workflows/self-release-promote.yml",
483
483
  "runtimeRef": "v3-alpha",
484
484
  "executableSurfaceIds": []
485
485
  },
@@ -488,7 +488,7 @@
488
488
  "repository": "kungfu-systems/paper-kungfu-product-white-paper",
489
489
  "sourceCommit": "82dd748d6b0edf18d0074262cc8d8ac803e45c7e",
490
490
  "sourceTree": "a918f8840608931fdf88d007e20bc4f70ab7eb54",
491
- "workflow": ".github/workflows/buildchain-ref-promotion.yml",
491
+ "workflow": ".github/workflows/self-release-promote.yml",
492
492
  "runtimeRef": "v3",
493
493
  "executableSurfaceIds": []
494
494
  }
@@ -497,7 +497,7 @@
497
497
  {
498
498
  "repository": "kungfu-systems/agent-hub-demo",
499
499
  "sourceCommit": "633111450867919d5063298308cdbfcbd77a8d2e",
500
- "workflow": ".github/workflows/buildchain-ref-promotion.yml",
500
+ "workflow": ".github/workflows/self-release-promote.yml",
501
501
  "runtimeRef": "v2",
502
502
  "reason": "outside the Buildchain v3 contract inventory"
503
503
  }