@kungfu-tech/buildchain 4.0.1 → 4.0.2-alpha.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 (50) hide show
  1. package/architecture/agent-change-map.md +7 -5
  2. package/architecture/ci-lane-change-budget.json +76 -8
  3. package/architecture/internal-capabilities.json +4 -1
  4. package/architecture/maintainability-debt.json +45 -119
  5. package/architecture/maintainability-policy.json +13 -8
  6. package/architecture/release-tail-contract-inventory.json +4 -4
  7. package/architecture/v3-core-mechanism-inventory.json +2 -0
  8. package/architecture/v3-v4-live-capability-inventory.json +17 -17
  9. package/architecture/v4-release-invocation-fixtures.json +119 -0
  10. package/architecture/v4-release-topology.json +238 -0
  11. package/contracts/buildchain-v2-residuals-v1.json +0 -9
  12. package/contracts/fixtures/v4-tail-reseal-v1/valid.json +1 -1
  13. package/contracts/v4-release-invocation-v1.schema.json +86 -0
  14. package/dist/site/buildchain-contract.json +9 -9
  15. package/dist/site/buildchain-site.json +9 -9
  16. package/dist/site/kfd-claims.json +9 -7
  17. package/dist/site/kfd-upstream-aggregate.json +1 -1
  18. package/dist/site/manual-registry.json +1 -1
  19. package/dist/site/node-api-registry.json +3 -3
  20. package/dist/site/page-registry.json +4 -4
  21. package/dist/site/public-surface-audit.json +23 -10
  22. package/dist/site/publication-authority-registry.json +2 -3
  23. package/dist/site/publication-registry.json +4 -4
  24. package/dist/site/site-manifest.json +5 -5
  25. package/dist/site/workflow-registry.json +19 -11
  26. package/docs/dev-delivery-warrant.md +21 -0
  27. package/docs/node-api-reference.md +3 -3
  28. package/package.json +2 -2
  29. package/packages/core/dev-delivery-candidate-identity.js +45 -17
  30. package/packages/core/dev-delivery-provider-heartbeat.js +22 -6
  31. package/packages/core/dev-delivery-warrant-legacy-recovery.js +246 -0
  32. package/packages/core/dev-delivery-warrant-state.js +12 -28
  33. package/packages/core/v4-canonical-contracts.js +8 -0
  34. package/packages/core/v4-floating-consumer-policy.js +4 -1
  35. package/packages/core/v4-release-invocation.js +356 -0
  36. package/scripts/audit-publication-control-plane.mjs +0 -1
  37. package/scripts/check-inventory.mjs +27 -59
  38. package/scripts/check-maintainability.mjs +13 -5
  39. package/scripts/check-v3-v4-capability-inventory.mjs +3 -61
  40. package/scripts/check-v4-floating-consumer-policy-contract.mjs +10 -20
  41. package/scripts/check-v4-release-topology.mjs +237 -0
  42. package/scripts/dev-delivery-warrant-options.mjs +15 -4
  43. package/scripts/dev-delivery-warrant.mjs +29 -7
  44. package/scripts/generate-channel-promotion-workflow.mjs +12 -54
  45. package/scripts/v3-v4-capability-catalog.mjs +107 -0
  46. package/scripts/v4-declarative-promotion-admission.mjs +4 -1
  47. package/scripts/capture-package-release-propagation.mjs +0 -263
  48. package/scripts/publication-commit-evidence.mjs +0 -444
  49. package/scripts/publish-github-artifact-attestation-evidence.mjs +0 -201
  50. package/scripts/stage-github-artifact-attestation-inputs.mjs +0 -65
@@ -77,7 +77,6 @@ Safe change route: Reduce one owned responsibility behind the stable facade, run
77
77
  - sources: `scripts/locked-source-checkout.mjs`
78
78
  - sources: `scripts/maintainability-domain-metrics.mjs`
79
79
  - sources: `scripts/paper.mjs`
80
- - sources: `scripts/publication-commit-evidence.mjs`
81
80
  - sources: `scripts/reconcile-github-governance.mjs`
82
81
  - sources: `scripts/release-candidate-resolver.mjs`
83
82
  - sources: `scripts/release-line-policy.mjs`
@@ -124,7 +123,6 @@ Safe change route: Reduce one owned responsibility behind the stable facade, run
124
123
  - tests: `tests/release-passport.test.mjs`
125
124
  - tests: `tests/release-propagation.test.mjs`
126
125
  - tests: `tests/v4-delivery-authority-parity.test.mjs`
127
- - tests: `tests/v4-floating-consumer-policy-contract.test.mjs`
128
126
  - tests: `tests/v4-floating-consumer-policy.test.mjs`
129
127
  - tests: `tests/v4-publication-rehearsal.test.mjs`
130
128
  - tests: `tests/web-surface.test.mjs`
@@ -154,6 +152,7 @@ Safe change route: Reduce one owned responsibility behind the stable facade, run
154
152
 
155
153
  - `tests/v3-v4-capability-inventory.test.mjs`
156
154
  - `tests/v4-floating-consumer-policy-contract.test.mjs`
155
+ - `tests/v4-publication-qualification.test.mjs`
157
156
  - `.github/workflows/v4-adopter-delivery.yml`
158
157
  - `.github/workflows/buildchain-ref-promotion.yml`
159
158
  - `tests/release-candidate-recovery.test.mjs`
@@ -171,16 +170,17 @@ Safe change route: Reduce one owned responsibility behind the stable facade, run
171
170
  - `tests/promotion-channel-router.test.mjs`
172
171
  - `scripts/site-capability-metadata.mjs`
173
172
  - `tests/v4-floating-consumer-policy.test.mjs`
173
+ - `tests/v4-declarative-promotion-mode.test.mjs`
174
174
  - `scripts/buildchain-cli-help.mjs`
175
175
  - `scripts/check-v4-floating-consumer-policy-contract.mjs`
176
176
  - `tests/dev-delivery-warrant.test.mjs`
177
177
  - `actions/promote-buildchain-ref/internal/version-state.js`
178
- - `packages/core/v4-floating-consumer-policy.js`
179
178
  - `packages/core/v4-floating-consumer-release-passport.js`
180
179
  - `packages/core/release-passport.js`
181
180
  - `tests/promote-buildchain-ref-governance.test.mjs`
182
- - `tests/v4-declarative-promotion-mode.test.mjs`
183
181
  - `scripts/buildchain-cli-help.mjs`
182
+ - `scripts/check-maintainability.mjs`
183
+ - `tests/maintainability.test.mjs`
184
184
 
185
185
  ## cli-command-registry
186
186
 
@@ -894,6 +894,7 @@ Owner: Buildchain protected delivery maintainers
894
894
  - `packages/core/dev-delivery-warrant.js`
895
895
  - `packages/core/dev-delivery-warrant-state.js`
896
896
  - `packages/core/dev-delivery-warrant-qualification.js`
897
+ - `packages/core/dev-delivery-warrant-legacy-recovery.js`
897
898
  - `packages/core/dev-delivery-native-proof.js`
898
899
  - `packages/core/dev-delivery-native-execution.js`
899
900
  - `packages/core/dev-delivery-execution-failure.js`
@@ -940,6 +941,7 @@ Owner: Buildchain protected delivery maintainers
940
941
 
941
942
  - `tests/dev-delivery-warrant.test.mjs`
942
943
  - `tests/dev-delivery-warrant-command.test.mjs`
944
+ - `tests/dev-delivery-warrant-legacy-recovery.test.mjs`
943
945
  - `tests/dev-delivery-two-phase.test.mjs`
944
946
  - `tests/dev-delivery-two-phase-run.test.mjs`
945
947
  - `tests/dev-delivery-native-run.test.mjs`
@@ -956,7 +958,7 @@ Owner: Buildchain protected delivery maintainers
956
958
 
957
959
  ### Minimal validation
958
960
 
959
- - `node --test tests/dev-delivery-warrant.test.mjs tests/dev-delivery-warrant-command.test.mjs tests/dev-delivery-two-phase.test.mjs tests/dev-delivery-two-phase-run.test.mjs tests/dev-delivery-native-run.test.mjs tests/dev-delivery-process-boundary.test.mjs tests/dev-delivery-process-boundary-negative.test.mjs tests/dev-delivery-provider-heartbeat.test.mjs tests/dev-delivery-authority.test.mjs tests/build-surface.test.mjs tests/v4-delivery-authority-parity.test.mjs`
961
+ - `node --test tests/dev-delivery-warrant.test.mjs tests/dev-delivery-warrant-command.test.mjs tests/dev-delivery-warrant-legacy-recovery.test.mjs tests/dev-delivery-two-phase.test.mjs tests/dev-delivery-two-phase-run.test.mjs tests/dev-delivery-native-run.test.mjs tests/dev-delivery-process-boundary.test.mjs tests/dev-delivery-process-boundary-negative.test.mjs tests/dev-delivery-provider-heartbeat.test.mjs tests/dev-delivery-authority.test.mjs tests/build-surface.test.mjs tests/v4-delivery-authority-parity.test.mjs`
960
962
 
961
963
  ## v4-publication-rehearsal
962
964
 
@@ -185,37 +185,105 @@
185
185
  },
186
186
  "declarations": [
187
187
  {
188
- "laneId": ".github/workflows/.release-candidate-promote.yml#legacy-promote",
188
+ "laneId": ".github/workflows/.release-candidate-promote.yml#qualify",
189
+ "authorityClass": "evidence",
190
+ "triggerClass": "reusable",
191
+ "concurrencyPolicy": {
192
+ "mode": "serialized",
193
+ "cancelInProgress": false
194
+ },
195
+ "expectedRunnerMinutes": 30,
196
+ "cancellationBehavior": "finish-started",
197
+ "sloImpact": {
198
+ "mergeCritical": false,
199
+ "metric": "protected release qualification latency",
200
+ "expectedContributionSeconds": 0,
201
+ "rationale": "QUALIFY is the read-only exact-runtime and sealed-candidate admission boundary."
202
+ }
203
+ },
204
+ {
205
+ "laneId": ".github/workflows/.release-candidate-promote.yml#apply",
189
206
  "authorityClass": "release",
190
207
  "triggerClass": "reusable",
208
+ "concurrencyPolicy": {
209
+ "mode": "serialized",
210
+ "cancelInProgress": false
211
+ },
212
+ "expectedRunnerMinutes": 30,
213
+ "cancellationBehavior": "finish-started",
214
+ "sloImpact": {
215
+ "mergeCritical": false,
216
+ "metric": "protected release APPLY latency",
217
+ "expectedContributionSeconds": 0,
218
+ "rationale": "APPLY is the sole contents-write and provider-mutation OIDC authority boundary."
219
+ }
220
+ },
221
+ {
222
+ "laneId": ".github/workflows/.release-candidate-promote.yml#settle",
223
+ "authorityClass": "evidence",
224
+ "triggerClass": "reusable",
225
+ "concurrencyPolicy": {
226
+ "mode": "serialized",
227
+ "cancelInProgress": false
228
+ },
229
+ "expectedRunnerMinutes": 10,
230
+ "cancellationBehavior": "finish-started",
231
+ "sloImpact": {
232
+ "mergeCritical": false,
233
+ "metric": "terminal receipt projection latency",
234
+ "expectedContributionSeconds": 0,
235
+ "rationale": "SETTLE verifies and projects the already durable terminal ReleaseReceipt without mutation authority."
236
+ }
237
+ },
238
+ {
239
+ "laneId": ".github/workflows/buildchain-ref-promotion-recovery.yml#resume",
240
+ "authorityClass": "release",
241
+ "triggerClass": "manual",
191
242
  "concurrencyPolicy": {
192
243
  "mode": "none",
193
244
  "cancelInProgress": false
194
245
  },
195
- "expectedRunnerMinutes": 45,
246
+ "expectedRunnerMinutes": 35,
196
247
  "cancellationBehavior": "finish-started",
197
248
  "sloImpact": {
198
249
  "mergeCritical": false,
199
- "metric": "protected release completion latency",
250
+ "metric": "manual recovery adapter latency",
200
251
  "expectedContributionSeconds": 0,
201
- "rationale": "This is the existing v3 promotion lane under an explicit legacy identity, not an added execution path."
252
+ "rationale": "The recovery surface is a one-way adapter into the same canonical publisher."
202
253
  }
203
254
  },
204
255
  {
205
- "laneId": ".github/workflows/.release-candidate-promote.yml#v4-declarative-promote",
256
+ "laneId": ".github/workflows/buildchain-ref-promotion.yml#promote",
257
+ "authorityClass": "release",
258
+ "triggerClass": "mixed",
259
+ "concurrencyPolicy": {
260
+ "mode": "none",
261
+ "cancelInProgress": false
262
+ },
263
+ "expectedRunnerMinutes": 35,
264
+ "cancellationBehavior": "finish-started",
265
+ "sloImpact": {
266
+ "mergeCritical": false,
267
+ "metric": "Buildchain alpha promotion adapter latency",
268
+ "expectedContributionSeconds": 0,
269
+ "rationale": "The Buildchain-owned alpha entry delegates to the single v4 publisher."
270
+ }
271
+ },
272
+ {
273
+ "laneId": ".github/workflows/release-candidate-promote.yml#invoke",
206
274
  "authorityClass": "release",
207
275
  "triggerClass": "reusable",
208
276
  "concurrencyPolicy": {
209
277
  "mode": "none",
210
278
  "cancelInProgress": false
211
279
  },
212
- "expectedRunnerMinutes": 30,
280
+ "expectedRunnerMinutes": 35,
213
281
  "cancellationBehavior": "finish-started",
214
282
  "sloImpact": {
215
283
  "mergeCritical": false,
216
- "metric": "protected release completion latency",
284
+ "metric": "public promotion adapter latency",
217
285
  "expectedContributionSeconds": 0,
218
- "rationale": "The v4 provider lane replaces consumer tail execution only for release invocations and is outside merge-critical CI."
286
+ "rationale": "The public compatibility surface resolves discovery facts and invokes one fixed v4 publisher."
219
287
  }
220
288
  },
221
289
  {
@@ -76,6 +76,7 @@
76
76
  "packages/core/dev-delivery-warrant.js",
77
77
  "packages/core/dev-delivery-warrant-state.js",
78
78
  "packages/core/dev-delivery-warrant-qualification.js",
79
+ "packages/core/dev-delivery-warrant-legacy-recovery.js",
79
80
  "packages/core/dev-delivery-native-proof.js",
80
81
  "packages/core/dev-delivery-native-execution.js",
81
82
  "packages/core/dev-delivery-execution-failure.js",
@@ -591,6 +592,7 @@
591
592
  "packages/core/dev-delivery-warrant.js",
592
593
  "packages/core/dev-delivery-warrant-state.js",
593
594
  "packages/core/dev-delivery-warrant-qualification.js",
595
+ "packages/core/dev-delivery-warrant-legacy-recovery.js",
594
596
  "packages/core/dev-delivery-native-proof.js",
595
597
  "packages/core/dev-delivery-native-execution.js",
596
598
  "packages/core/dev-delivery-execution-failure.js",
@@ -624,6 +626,7 @@
624
626
  "tests": [
625
627
  "tests/dev-delivery-warrant.test.mjs",
626
628
  "tests/dev-delivery-warrant-command.test.mjs",
629
+ "tests/dev-delivery-warrant-legacy-recovery.test.mjs",
627
630
  "tests/dev-delivery-two-phase.test.mjs",
628
631
  "tests/dev-delivery-two-phase-run.test.mjs",
629
632
  "tests/dev-delivery-native-run.test.mjs",
@@ -649,7 +652,7 @@
649
652
  "dist/site/schemas/dev-delivery-authority-v2.schema.json"
650
653
  ],
651
654
  "validationCommands": [
652
- "node --test tests/dev-delivery-warrant.test.mjs tests/dev-delivery-warrant-command.test.mjs tests/dev-delivery-two-phase.test.mjs tests/dev-delivery-two-phase-run.test.mjs tests/dev-delivery-native-run.test.mjs tests/dev-delivery-process-boundary.test.mjs tests/dev-delivery-process-boundary-negative.test.mjs tests/dev-delivery-provider-heartbeat.test.mjs tests/dev-delivery-authority.test.mjs tests/build-surface.test.mjs tests/v4-delivery-authority-parity.test.mjs"
655
+ "node --test tests/dev-delivery-warrant.test.mjs tests/dev-delivery-warrant-command.test.mjs tests/dev-delivery-warrant-legacy-recovery.test.mjs tests/dev-delivery-two-phase.test.mjs tests/dev-delivery-two-phase-run.test.mjs tests/dev-delivery-native-run.test.mjs tests/dev-delivery-process-boundary.test.mjs tests/dev-delivery-process-boundary-negative.test.mjs tests/dev-delivery-provider-heartbeat.test.mjs tests/dev-delivery-authority.test.mjs tests/build-surface.test.mjs tests/v4-delivery-authority-parity.test.mjs"
653
656
  ]
654
657
  },
655
658
  {
@@ -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": 64284,
11
+ "current": 56223
12
12
  },
13
13
  "defaults": {
14
14
  "owner": "Buildchain architecture maintainers",
@@ -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
  }
@@ -1499,7 +1499,7 @@
1499
1499
  "current": {
1500
1500
  "functions": {
1501
1501
  "generateChannelPromotionWorkflow@277": {
1502
- "lines": 282
1502
+ "lines": 240
1503
1503
  }
1504
1504
  }
1505
1505
  },
@@ -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
@@ -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": {
2265
+ "<anonymous@544>@544": {
2304
2266
  "lines": 180
2305
2267
  },
2306
- "<anonymous@737>@737": {
2268
+ "<anonymous@1678>@1678": {
2307
2269
  "lines": 180
2308
2270
  },
2309
- "<anonymous@2153>@2153": {
2310
- "lines": 180
2311
- },
2312
- "<anonymous@3337>@3337": {
2271
+ "<anonymous@2684>@2684": {
2313
2272
  "lines": 180
2314
2273
  }
2315
2274
  }
@@ -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": 1126
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": 1085
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": 1094
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",
@@ -3178,16 +3103,17 @@
3178
3103
  "tests/promotion-channel-router.test.mjs",
3179
3104
  "scripts/site-capability-metadata.mjs",
3180
3105
  "tests/v4-floating-consumer-policy.test.mjs",
3106
+ "tests/v4-declarative-promotion-mode.test.mjs",
3181
3107
  "scripts/buildchain-cli-help.mjs",
3182
3108
  "scripts/check-v4-floating-consumer-policy-contract.mjs",
3183
3109
  "tests/dev-delivery-warrant.test.mjs",
3184
3110
  "actions/promote-buildchain-ref/internal/version-state.js",
3185
- "packages/core/v4-floating-consumer-policy.js",
3186
3111
  "packages/core/v4-floating-consumer-release-passport.js",
3187
3112
  "packages/core/release-passport.js",
3188
3113
  "tests/promote-buildchain-ref-governance.test.mjs",
3189
- "tests/v4-declarative-promotion-mode.test.mjs",
3190
- "scripts/buildchain-cli-help.mjs"
3114
+ "scripts/buildchain-cli-help.mjs",
3115
+ "scripts/check-maintainability.mjs",
3116
+ "tests/maintainability.test.mjs"
3191
3117
  ],
3192
3118
  "burnDownSlices": [
3193
3119
  {
@@ -3202,14 +3128,14 @@
3202
3128
  "path": "tests/build-surface.test.mjs",
3203
3129
  "metric": "lines",
3204
3130
  "baseline": 4639,
3205
- "current": 3680
3131
+ "current": 3027
3206
3132
  },
3207
3133
  {
3208
3134
  "domain": "workflows",
3209
3135
  "path": ".github/workflows/.release-candidate-promote.yml",
3210
3136
  "metric": "lines",
3211
3137
  "baseline": 2736,
3212
- "current": 2677
3138
+ "current": 1085
3213
3139
  },
3214
3140
  {
3215
3141
  "domain": "sources",