@kungfu-tech/buildchain 4.0.2-alpha.2 → 4.0.2-alpha.21
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.
- package/architecture/agent-change-map.md +52 -1
- package/architecture/ci-lane-change-budget.json +349 -0
- package/architecture/internal-capabilities.json +44 -1
- package/architecture/maintainability-debt.json +53 -33
- package/architecture/maintainability-policy.json +20 -15
- package/architecture/v3-core-mechanism-inventory.json +1 -0
- package/architecture/v4-delivery-warrant-shadow-fixtures.json +5 -5
- package/architecture/v4-release-invocation-fixtures.json +20 -0
- package/architecture/v4-release-topology.json +160 -84
- package/architecture/v4-runtime-semantic-closure.json +4 -1
- package/architecture/v4-universal-workflow-bootstrap.json +171 -0
- package/architecture/v4-universal-workflow-fault-campaign.json +72 -0
- package/architecture/v4-universal-workflow-train-admission.json +40 -0
- package/contracts/buildchain-v2-residuals-v1.json +0 -54
- package/contracts/v4-release-invocation-v1.schema.json +50 -2
- package/dist/site/buildchain-contract.json +87 -42
- package/dist/site/buildchain-site.json +15 -10
- package/dist/site/capability-registry.json +1 -1
- package/dist/site/controller-registry.json +46 -10
- package/dist/site/kfd-claims.json +174 -196
- package/dist/site/kfd-upstream-aggregate.json +1 -1
- package/dist/site/manual-registry.json +2 -2
- package/dist/site/node-api-registry.json +95 -20
- package/dist/site/page-registry.json +9 -4
- package/dist/site/public-surface-audit.json +178 -198
- package/dist/site/publication-authority-registry.json +67 -57
- package/dist/site/publication-registry.json +4 -4
- package/dist/site/site-manifest.json +6 -6
- package/dist/site/workflow-registry.json +209 -259
- package/docs/node-api-reference.md +25 -22
- package/docs/reusable-build-surface.md +16 -0
- package/package.json +2 -2
- package/packages/core/buildchain-publication-authority.js +3 -2
- package/packages/core/ci-lane-change-budget.js +14 -1
- package/packages/core/dev-delivery-candidate-identity.js +18 -0
- package/packages/core/dev-delivery-execution-transfer.js +6 -7
- package/packages/core/dev-delivery-warrant-legacy-recovery.js +4 -2
- package/packages/core/dev-delivery-warrant-native-compatibility.js +33 -0
- package/packages/core/dev-delivery-warrant-state.js +42 -26
- package/packages/core/dev-delivery-warrant.js +8 -0
- package/packages/core/dev-delivery-writer-protocol-transition.js +72 -0
- package/packages/core/release-tail-product-capabilities.js +29 -0
- package/packages/core/release-tail-provider-plane.js +3 -3
- package/packages/core/v4-canonical-contracts.js +6 -0
- package/packages/core/v4-product-publication.js +387 -0
- package/packages/core/v4-protected-publication-source.js +93 -0
- package/packages/core/v4-publication-qualification.js +1 -0
- package/packages/core/v4-release-invocation.js +72 -3
- package/packages/core/v4-universal-workflow-bootstrap.js +586 -0
- package/scripts/check-inventory.mjs +13 -22
- package/scripts/check-maintainability.mjs +16 -113
- package/scripts/check-v4-release-topology.mjs +296 -40
- package/scripts/check-v4-universal-workflow-bootstrap.mjs +270 -0
- package/scripts/dev-delivery-warrant-store.mjs +73 -7
- package/scripts/dev-delivery-warrant-transition.mjs +109 -0
- package/scripts/dev-delivery-warrant.mjs +84 -100
- package/scripts/dev-pr-auto-merge.mjs +15 -15
- package/scripts/generate-channel-build-workflow.mjs +5 -1
- package/scripts/generate-channel-promotion-workflow.mjs +5 -3
- package/scripts/generate-v4-universal-workflow-facades.mjs +415 -0
- package/scripts/maintainability-public-surface.mjs +115 -0
- package/scripts/release-candidate-resolver.mjs +23 -24
- package/scripts/resume-from-candidate-run.mjs +16 -17
- package/scripts/universal-facade-maintainability.mjs +82 -0
- package/scripts/v4-product-publication-intent.mjs +114 -0
- package/scripts/v4-release-candidate-adapter.mjs +41 -0
- package/scripts/v4-universal-workflow-backflow.mjs +212 -0
- package/scripts/v4-universal-workflow-engine.mjs +617 -0
- package/scripts/v4-universal-workflow-self-dogfood.mjs +205 -0
- package/templates/universal-buildchain-bootstrap-recovery.yml +282 -0
- 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":
|
|
11
|
-
"current":
|
|
10
|
+
"measuredExcess": 64432,
|
|
11
|
+
"current": 56371
|
|
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@
|
|
95
|
+
"createDurableTransactionOperations@80": {
|
|
96
96
|
"lines": 378
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
99
|
},
|
|
100
100
|
"current": {
|
|
101
101
|
"functions": {
|
|
102
|
-
"createDurableTransactionOperations@
|
|
102
|
+
"createDurableTransactionOperations@80": {
|
|
103
103
|
"lines": 378
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
106
|
},
|
|
107
107
|
"target": {
|
|
108
108
|
"functions": {
|
|
109
|
-
"createDurableTransactionOperations@
|
|
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@
|
|
382
|
+
"verifyNativeExecutionTransfer@468": {
|
|
383
383
|
"complexity": 36
|
|
384
384
|
}
|
|
385
385
|
}
|
|
386
386
|
},
|
|
387
387
|
"current": {
|
|
388
388
|
"functions": {
|
|
389
|
-
"verifyNativeExecutionTransfer@
|
|
389
|
+
"verifyNativeExecutionTransfer@468": {
|
|
390
390
|
"complexity": 36
|
|
391
391
|
}
|
|
392
392
|
}
|
|
393
393
|
},
|
|
394
394
|
"target": {
|
|
395
395
|
"functions": {
|
|
396
|
-
"verifyNativeExecutionTransfer@
|
|
396
|
+
"verifyNativeExecutionTransfer@468": {
|
|
397
397
|
"complexity": 25
|
|
398
398
|
}
|
|
399
399
|
}
|
|
@@ -1123,7 +1123,7 @@
|
|
|
1123
1123
|
},
|
|
1124
1124
|
"executeReleaseTailTransaction@1016": {
|
|
1125
1125
|
"lines": 190,
|
|
1126
|
-
"complexity":
|
|
1126
|
+
"complexity": 26
|
|
1127
1127
|
}
|
|
1128
1128
|
}
|
|
1129
1129
|
},
|
|
@@ -1270,7 +1270,7 @@
|
|
|
1270
1270
|
"lines": 1515
|
|
1271
1271
|
},
|
|
1272
1272
|
"current": {
|
|
1273
|
-
"lines":
|
|
1273
|
+
"lines": 1474
|
|
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@
|
|
1282
|
+
"evaluateMaintainability@253": {
|
|
1283
1283
|
"complexity": 29
|
|
1284
1284
|
}
|
|
1285
1285
|
}
|
|
1286
1286
|
},
|
|
1287
1287
|
"current": {
|
|
1288
1288
|
"functions": {
|
|
1289
|
-
"evaluateMaintainability@
|
|
1289
|
+
"evaluateMaintainability@253": {
|
|
1290
1290
|
"complexity": 29
|
|
1291
1291
|
}
|
|
1292
1292
|
}
|
|
1293
1293
|
},
|
|
1294
1294
|
"target": {
|
|
1295
1295
|
"functions": {
|
|
1296
|
-
"evaluateMaintainability@
|
|
1296
|
+
"evaluateMaintainability@253": {
|
|
1297
1297
|
"complexity": 25
|
|
1298
1298
|
}
|
|
1299
1299
|
}
|
|
@@ -1425,7 +1425,7 @@
|
|
|
1425
1425
|
"evaluatePullRequest@204": {
|
|
1426
1426
|
"complexity": 31
|
|
1427
1427
|
},
|
|
1428
|
-
"runDevPrAdmission@
|
|
1428
|
+
"runDevPrAdmission@767": {
|
|
1429
1429
|
"complexity": 32
|
|
1430
1430
|
},
|
|
1431
1431
|
"runDevPrAutoMerge@909": {
|
|
@@ -1440,7 +1440,7 @@
|
|
|
1440
1440
|
"evaluatePullRequest@204": {
|
|
1441
1441
|
"complexity": 31
|
|
1442
1442
|
},
|
|
1443
|
-
"runDevPrAdmission@
|
|
1443
|
+
"runDevPrAdmission@767": {
|
|
1444
1444
|
"complexity": 32
|
|
1445
1445
|
},
|
|
1446
1446
|
"runDevPrAutoMerge@909": {
|
|
@@ -1455,7 +1455,7 @@
|
|
|
1455
1455
|
"evaluatePullRequest@204": {
|
|
1456
1456
|
"complexity": 25
|
|
1457
1457
|
},
|
|
1458
|
-
"runDevPrAdmission@
|
|
1458
|
+
"runDevPrAdmission@767": {
|
|
1459
1459
|
"complexity": 25
|
|
1460
1460
|
},
|
|
1461
1461
|
"runDevPrAutoMerge@909": {
|
|
@@ -1491,21 +1491,21 @@
|
|
|
1491
1491
|
"scripts/generate-channel-promotion-workflow.mjs": {
|
|
1492
1492
|
"baseline": {
|
|
1493
1493
|
"functions": {
|
|
1494
|
-
"generateChannelPromotionWorkflow@
|
|
1494
|
+
"generateChannelPromotionWorkflow@279": {
|
|
1495
1495
|
"lines": 282
|
|
1496
1496
|
}
|
|
1497
1497
|
}
|
|
1498
1498
|
},
|
|
1499
1499
|
"current": {
|
|
1500
1500
|
"functions": {
|
|
1501
|
-
"generateChannelPromotionWorkflow@
|
|
1501
|
+
"generateChannelPromotionWorkflow@279": {
|
|
1502
1502
|
"lines": 240
|
|
1503
1503
|
}
|
|
1504
1504
|
}
|
|
1505
1505
|
},
|
|
1506
1506
|
"target": {
|
|
1507
1507
|
"functions": {
|
|
1508
|
-
"generateChannelPromotionWorkflow@
|
|
1508
|
+
"generateChannelPromotionWorkflow@279": {
|
|
1509
1509
|
"lines": 180
|
|
1510
1510
|
}
|
|
1511
1511
|
}
|
|
@@ -1683,19 +1683,19 @@
|
|
|
1683
1683
|
"lines": 309,
|
|
1684
1684
|
"complexity": 62
|
|
1685
1685
|
},
|
|
1686
|
-
"resolveReleaseCandidateArtifactsCli@
|
|
1686
|
+
"resolveReleaseCandidateArtifactsCli@784": {
|
|
1687
1687
|
"complexity": 29
|
|
1688
1688
|
}
|
|
1689
1689
|
}
|
|
1690
1690
|
},
|
|
1691
1691
|
"current": {
|
|
1692
|
-
"lines":
|
|
1692
|
+
"lines": 853,
|
|
1693
1693
|
"functions": {
|
|
1694
1694
|
"resolveReleaseCandidateArtifacts@475": {
|
|
1695
|
-
"lines":
|
|
1696
|
-
"complexity":
|
|
1695
|
+
"lines": 308,
|
|
1696
|
+
"complexity": 61
|
|
1697
1697
|
},
|
|
1698
|
-
"resolveReleaseCandidateArtifactsCli@
|
|
1698
|
+
"resolveReleaseCandidateArtifactsCli@784": {
|
|
1699
1699
|
"complexity": 29
|
|
1700
1700
|
}
|
|
1701
1701
|
}
|
|
@@ -1707,7 +1707,7 @@
|
|
|
1707
1707
|
"lines": 180,
|
|
1708
1708
|
"complexity": 25
|
|
1709
1709
|
},
|
|
1710
|
-
"resolveReleaseCandidateArtifactsCli@
|
|
1710
|
+
"resolveReleaseCandidateArtifactsCli@784": {
|
|
1711
1711
|
"complexity": 25
|
|
1712
1712
|
}
|
|
1713
1713
|
}
|
|
@@ -1741,7 +1741,7 @@
|
|
|
1741
1741
|
"lines": 1125
|
|
1742
1742
|
},
|
|
1743
1743
|
"current": {
|
|
1744
|
-
"lines":
|
|
1744
|
+
"lines": 1124
|
|
1745
1745
|
},
|
|
1746
1746
|
"target": {
|
|
1747
1747
|
"lines": 600
|
|
@@ -1804,6 +1804,17 @@
|
|
|
1804
1804
|
}
|
|
1805
1805
|
}
|
|
1806
1806
|
},
|
|
1807
|
+
"scripts/v4-universal-workflow-engine.mjs": {
|
|
1808
|
+
"baseline": {
|
|
1809
|
+
"lines": 620
|
|
1810
|
+
},
|
|
1811
|
+
"current": {
|
|
1812
|
+
"lines": 617
|
|
1813
|
+
},
|
|
1814
|
+
"target": {
|
|
1815
|
+
"lines": 600
|
|
1816
|
+
}
|
|
1817
|
+
},
|
|
1807
1818
|
"scripts/v4-architecture.mjs": {
|
|
1808
1819
|
"baseline": {
|
|
1809
1820
|
"lines": 610
|
|
@@ -2205,7 +2216,7 @@
|
|
|
2205
2216
|
}
|
|
2206
2217
|
},
|
|
2207
2218
|
"current": {
|
|
2208
|
-
"lines":
|
|
2219
|
+
"lines": 2738,
|
|
2209
2220
|
"functions": {
|
|
2210
2221
|
"<anonymous@1559>@1559": {
|
|
2211
2222
|
"lines": 206
|
|
@@ -2362,7 +2373,7 @@
|
|
|
2362
2373
|
"lines": 806
|
|
2363
2374
|
},
|
|
2364
2375
|
"current": {
|
|
2365
|
-
"lines":
|
|
2376
|
+
"lines": 805
|
|
2366
2377
|
},
|
|
2367
2378
|
"target": {
|
|
2368
2379
|
"lines": 600
|
|
@@ -2373,7 +2384,7 @@
|
|
|
2373
2384
|
"lines": 626
|
|
2374
2385
|
},
|
|
2375
2386
|
"current": {
|
|
2376
|
-
"lines":
|
|
2387
|
+
"lines": 624
|
|
2377
2388
|
},
|
|
2378
2389
|
"target": {
|
|
2379
2390
|
"lines": 600
|
|
@@ -2614,7 +2625,7 @@
|
|
|
2614
2625
|
"lines": 1217
|
|
2615
2626
|
},
|
|
2616
2627
|
"current": {
|
|
2617
|
-
"lines":
|
|
2628
|
+
"lines": 1132
|
|
2618
2629
|
},
|
|
2619
2630
|
"target": {
|
|
2620
2631
|
"lines": 600
|
|
@@ -2937,7 +2948,7 @@
|
|
|
2937
2948
|
"lines": 2736
|
|
2938
2949
|
},
|
|
2939
2950
|
"current": {
|
|
2940
|
-
"lines":
|
|
2951
|
+
"lines": 1215
|
|
2941
2952
|
},
|
|
2942
2953
|
"target": {
|
|
2943
2954
|
"lines": 600
|
|
@@ -3060,7 +3071,7 @@
|
|
|
3060
3071
|
"lines": 1218
|
|
3061
3072
|
},
|
|
3062
3073
|
"current": {
|
|
3063
|
-
"lines":
|
|
3074
|
+
"lines": 1095
|
|
3064
3075
|
},
|
|
3065
3076
|
"target": {
|
|
3066
3077
|
"lines": 600
|
|
@@ -3083,12 +3094,17 @@
|
|
|
3083
3094
|
}
|
|
3084
3095
|
},
|
|
3085
3096
|
"hotspots": [
|
|
3097
|
+
".github/workflows/bootstrap.yml",
|
|
3098
|
+
"scripts/check-v4-universal-workflow-bootstrap.mjs",
|
|
3099
|
+
"scripts/v4-universal-workflow-engine.mjs",
|
|
3100
|
+
"tests/v4-universal-workflow-bootstrap.test.mjs",
|
|
3086
3101
|
"tests/v3-v4-capability-inventory.test.mjs",
|
|
3087
3102
|
"tests/v4-floating-consumer-policy-contract.test.mjs",
|
|
3088
3103
|
"tests/v4-publication-qualification.test.mjs",
|
|
3089
3104
|
".github/workflows/v4-adopter-delivery.yml",
|
|
3090
3105
|
".github/workflows/buildchain-ref-promotion.yml",
|
|
3091
3106
|
"tests/release-candidate-recovery.test.mjs",
|
|
3107
|
+
"tests/buildchain-ref-promotion-recovery-entry.test.mjs",
|
|
3092
3108
|
".github/workflows/.release-candidate-promote.yml",
|
|
3093
3109
|
"tests/build-surface-promotion.test.mjs",
|
|
3094
3110
|
".github/workflows/buildchain-ref-promotion-recovery.yml",
|
|
@@ -3098,15 +3114,19 @@
|
|
|
3098
3114
|
"scripts/check-v3-v4-capability-inventory.mjs",
|
|
3099
3115
|
".github/workflows/release-candidate-promote.yml",
|
|
3100
3116
|
"actions/promote-buildchain-ref/lib.js",
|
|
3117
|
+
"actions/v4-release-candidate-promote/index.js",
|
|
3118
|
+
"actions/v4-release-candidate-promote/product-provider.js",
|
|
3101
3119
|
"scripts/check-inventory.mjs",
|
|
3102
3120
|
"tests/promote-buildchain-ref.test.mjs",
|
|
3103
3121
|
"tests/promotion-channel-router.test.mjs",
|
|
3122
|
+
"tests/v4-release-topology.test.mjs",
|
|
3104
3123
|
"scripts/site-capability-metadata.mjs",
|
|
3105
3124
|
"tests/v4-floating-consumer-policy.test.mjs",
|
|
3106
3125
|
"tests/v4-declarative-promotion-mode.test.mjs",
|
|
3107
3126
|
"scripts/buildchain-cli-help.mjs",
|
|
3108
3127
|
"scripts/check-v4-floating-consumer-policy-contract.mjs",
|
|
3109
3128
|
"tests/dev-delivery-warrant.test.mjs",
|
|
3129
|
+
"packages/core/dev-delivery-warrant-state.js",
|
|
3110
3130
|
"actions/promote-buildchain-ref/internal/version-state.js",
|
|
3111
3131
|
"packages/core/v4-floating-consumer-release-passport.js",
|
|
3112
3132
|
"packages/core/release-passport.js",
|
|
@@ -3135,7 +3155,7 @@
|
|
|
3135
3155
|
"path": ".github/workflows/.release-candidate-promote.yml",
|
|
3136
3156
|
"metric": "lines",
|
|
3137
3157
|
"baseline": 2736,
|
|
3138
|
-
"current":
|
|
3158
|
+
"current": 1215
|
|
3139
3159
|
},
|
|
3140
3160
|
{
|
|
3141
3161
|
"domain": "sources",
|
|
@@ -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":
|
|
16
|
+
"maxTotal": 95,
|
|
17
17
|
"maxByCollection": {
|
|
18
18
|
"approvedExistingDebtTransitions": 19,
|
|
19
|
-
"approvedNewFileTransitions":
|
|
19
|
+
"approvedNewFileTransitions": 22,
|
|
20
20
|
"approvedExtractedDebt": 20,
|
|
21
21
|
"approvedPublicSurfaceTransitions": 19,
|
|
22
22
|
"approvedTestDebtTransitions": 9,
|
|
@@ -26,12 +26,12 @@
|
|
|
26
26
|
},
|
|
27
27
|
"repositoryBudgets": {
|
|
28
28
|
"baselineRevision": "858dbe00b6206a8f356b4a12d2659bee7a72e71b",
|
|
29
|
-
"maxHandMaintainedSourceFiles":
|
|
30
|
-
"maxHandMaintainedSourceLines":
|
|
31
|
-
"maxWorkflowFiles":
|
|
29
|
+
"maxHandMaintainedSourceFiles": 463,
|
|
30
|
+
"maxHandMaintainedSourceLines": 170469,
|
|
31
|
+
"maxWorkflowFiles": 80,
|
|
32
32
|
"maxWorkflowLines": 26791,
|
|
33
|
-
"latestTransition": "
|
|
34
|
-
"latestTransitionRationale": "
|
|
33
|
+
"latestTransition": "Dev Delivery persists expired lease recovery before a fresh Warrant selection.",
|
|
34
|
+
"latestTransitionRationale": "The Warrant store retries only transient JSON syntax failures while reading immutable GitHub ref, commit, tree, and blob data; it never retries a write or bypasses expected-old CAS. Expired non-native lease recovery is now its own expected-old transition followed by an immutable reread before reselection, so no selection receipt names an unobserved intermediate root. The exact inventory contains 463 hand-maintained source files and 170469 lines; the ceiling binds these bounded integrity recoveries without adding workflow, provider permission, merge authority, or admission scope.",
|
|
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
|
},
|
|
@@ -144,6 +144,11 @@
|
|
|
144
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
145
|
"governance": "legacy-debt-sunset-2026q4"
|
|
146
146
|
},
|
|
147
|
+
"scripts/v4-universal-workflow-engine.mjs": {
|
|
148
|
+
"maxLines": 620,
|
|
149
|
+
"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.",
|
|
150
|
+
"governance": "legacy-debt-sunset-2026q4"
|
|
151
|
+
},
|
|
147
152
|
"scripts/resume-from-candidate-run.mjs": {
|
|
148
153
|
"maxLines": 1125,
|
|
149
154
|
"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.",
|
|
@@ -210,10 +215,10 @@
|
|
|
210
215
|
"governance": "legacy-debt-sunset-2026q4"
|
|
211
216
|
},
|
|
212
217
|
"scripts/release-candidate-resolver.mjs": {
|
|
213
|
-
"maxLines":
|
|
214
|
-
"maxFunctionLines":
|
|
215
|
-
"maxFunctionComplexity":
|
|
216
|
-
"rationale": "The shared candidate resolver retains bounded archive streaming, payload size and sha256 validation while
|
|
218
|
+
"maxLines": 853,
|
|
219
|
+
"maxFunctionLines": 308,
|
|
220
|
+
"maxFunctionComplexity": 61,
|
|
221
|
+
"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
222
|
"governance": "legacy-debt-sunset-2026q4"
|
|
218
223
|
},
|
|
219
224
|
"scripts/auditable-demo.mjs": {
|
|
@@ -1666,8 +1671,8 @@
|
|
|
1666
1671
|
},
|
|
1667
1672
|
"packages/core/release-tail-provider-plane.js#executeReleaseTailTransaction": {
|
|
1668
1673
|
"maxLines": 190,
|
|
1669
|
-
"maxComplexity":
|
|
1670
|
-
"rationale": "The single transaction executor preserves bounded retry, pre-effect and post-effect readback, atomic checkpoints and provider non-authority
|
|
1674
|
+
"maxComplexity": 26,
|
|
1675
|
+
"rationale": "The single transaction executor preserves bounded retry, pre-effect and post-effect readback, atomic checkpoints and provider non-authority while reconciling every attempted external effect without repeating its mutation; these exact ceilings cannot grow implicitly.",
|
|
1671
1676
|
"governance": "legacy-debt-sunset-2026q4"
|
|
1672
1677
|
},
|
|
1673
1678
|
"actions/promote-buildchain-ref/internal/promotion-operations.js#updateBranch": {
|
|
@@ -1851,8 +1856,8 @@
|
|
|
1851
1856
|
"governance": "stage1-test-split-net-reduction"
|
|
1852
1857
|
},
|
|
1853
1858
|
"tests/dev-delivery-warrant-command.test.mjs": {
|
|
1854
|
-
"maxLines":
|
|
1855
|
-
"rationale": "
|
|
1859
|
+
"maxLines": 624,
|
|
1860
|
+
"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
1861
|
"governance": "legacy-debt-sunset-2026q4"
|
|
1857
1862
|
},
|
|
1858
1863
|
"tests/build-surface-reusable-build.test.mjs": {
|
|
@@ -294,6 +294,7 @@
|
|
|
294
294
|
"packages/core/dev-delivery-proof.js",
|
|
295
295
|
"packages/core/dev-delivery-warrant-cancellation.js",
|
|
296
296
|
"packages/core/dev-delivery-warrant-legacy-recovery.js",
|
|
297
|
+
"packages/core/dev-delivery-warrant-native-compatibility.js",
|
|
297
298
|
"packages/core/dev-delivery-warrant-qualification.js",
|
|
298
299
|
"packages/core/dev-delivery-warrant-settlement.js",
|
|
299
300
|
"packages/core/dev-delivery-warrant-state.js",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"now": "2026-08-07T00:02:00Z"
|
|
67
67
|
}
|
|
68
68
|
],
|
|
69
|
-
"expectedLegacyProjectionRoot": "sha256:
|
|
69
|
+
"expectedLegacyProjectionRoot": "sha256:eb860ad33e3abb6a93c0635b0f06b4f433bc9b76deaa8e7b648e0ef2e296679b"
|
|
70
70
|
},
|
|
71
71
|
{
|
|
72
72
|
"id": "lease-expiry-and-stale-fence",
|
|
@@ -134,7 +134,7 @@
|
|
|
134
134
|
"now": "2026-08-07T01:02:03Z"
|
|
135
135
|
}
|
|
136
136
|
],
|
|
137
|
-
"expectedLegacyProjectionRoot": "sha256:
|
|
137
|
+
"expectedLegacyProjectionRoot": "sha256:3f734b04ac8baaf84a95d9f8746db5fd41dbfd73f147de2f884c09e373157aa9"
|
|
138
138
|
},
|
|
139
139
|
{
|
|
140
140
|
"id": "settlement-idempotence",
|
|
@@ -183,7 +183,7 @@
|
|
|
183
183
|
"now": "2026-08-07T02:02:00Z"
|
|
184
184
|
}
|
|
185
185
|
],
|
|
186
|
-
"expectedLegacyProjectionRoot": "sha256:
|
|
186
|
+
"expectedLegacyProjectionRoot": "sha256:b71de84b0483fcce3f0ba1f45ac20dead3227fc24a62769192eb16abca7f3a2f"
|
|
187
187
|
},
|
|
188
188
|
{
|
|
189
189
|
"id": "queued-cancellation-idempotence",
|
|
@@ -218,7 +218,7 @@
|
|
|
218
218
|
"now": "2026-08-07T03:00:03Z"
|
|
219
219
|
}
|
|
220
220
|
],
|
|
221
|
-
"expectedLegacyProjectionRoot": "sha256:
|
|
221
|
+
"expectedLegacyProjectionRoot": "sha256:a9ce9cad968234febd2ef74c2e6fab77f45899bc5dd74ee7128cadd02a997b8c"
|
|
222
222
|
},
|
|
223
223
|
{
|
|
224
224
|
"id": "cas-response-loss-provider-conflict",
|
|
@@ -253,7 +253,7 @@
|
|
|
253
253
|
},
|
|
254
254
|
{ "id": "provider-stop", "operation": "provider-conflict" }
|
|
255
255
|
],
|
|
256
|
-
"expectedLegacyProjectionRoot": "sha256:
|
|
256
|
+
"expectedLegacyProjectionRoot": "sha256:be002515ae6304c3cd325ee4bb6d07e6229922d620389285474325eb20aa27e9"
|
|
257
257
|
}
|
|
258
258
|
]
|
|
259
259
|
}
|
|
@@ -30,6 +30,16 @@
|
|
|
30
30
|
"policyRoot": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd",
|
|
31
31
|
"qualificationRoot": "sha256:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
|
|
32
32
|
"warrantRoot": "sha256:ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
|
|
33
|
+
},
|
|
34
|
+
"provider": {
|
|
35
|
+
"adapter": "built-in-provider-plane",
|
|
36
|
+
"contract": "kungfu-buildchain-release-tail-provider/v1",
|
|
37
|
+
"repository": "kungfu-systems/kungfu"
|
|
38
|
+
},
|
|
39
|
+
"parent": {
|
|
40
|
+
"invocationRoot": null,
|
|
41
|
+
"transactionRoot": null,
|
|
42
|
+
"receiptRoot": null
|
|
33
43
|
}
|
|
34
44
|
},
|
|
35
45
|
"stable": {
|
|
@@ -60,6 +70,16 @@
|
|
|
60
70
|
"policyRoot": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd",
|
|
61
71
|
"qualificationRoot": "sha256:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
|
|
62
72
|
"warrantRoot": "sha256:ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
|
|
73
|
+
},
|
|
74
|
+
"provider": {
|
|
75
|
+
"adapter": "built-in-provider-plane",
|
|
76
|
+
"contract": "kungfu-buildchain-release-tail-provider/v1",
|
|
77
|
+
"repository": "kungfu-systems/kungfu"
|
|
78
|
+
},
|
|
79
|
+
"parent": {
|
|
80
|
+
"invocationRoot": null,
|
|
81
|
+
"transactionRoot": null,
|
|
82
|
+
"receiptRoot": null
|
|
63
83
|
}
|
|
64
84
|
}
|
|
65
85
|
},
|