@kungfu-tech/buildchain 4.0.8 → 4.0.9-alpha.0

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 (51) hide show
  1. package/AGENTS.md +12 -19
  2. package/CONTRIBUTING.md +6 -9
  3. package/README.md +11 -1
  4. package/architecture/agent-change-map.md +11 -4
  5. package/architecture/build-environments.json +71 -0
  6. package/architecture/build-orchestration.json +18 -0
  7. package/architecture/ci-lane-change-budget.json +34 -2
  8. package/architecture/internal-capabilities.json +17 -4
  9. package/architecture/maintainability-debt.json +34 -123
  10. package/architecture/maintainability-policy.json +19 -210
  11. package/architecture/release-topology.json +6 -5
  12. package/architecture/universal-workflow-bootstrap.json +5 -4
  13. package/architecture/universal-workflow-train-admission.json +2 -2
  14. package/bin/buildchain.mjs +1 -1
  15. package/contracts/fixtures/v4-tail-reseal-v1/valid.json +1 -1
  16. package/dist/site/buildchain-contract.json +41 -1131
  17. package/dist/site/buildchain-site.json +39 -144
  18. package/dist/site/capability-registry.json +1 -1
  19. package/dist/site/cli-registry.json +1 -1
  20. package/dist/site/controller-registry.json +30 -868
  21. package/dist/site/kfd-claims.json +132 -394
  22. package/dist/site/kfd-upstream-aggregate.json +1 -1
  23. package/dist/site/manual-registry.json +6 -6
  24. package/dist/site/node-api-registry.json +34 -34
  25. package/dist/site/page-registry.json +30 -135
  26. package/dist/site/public-surface-audit.json +81 -401
  27. package/dist/site/publication-registry.json +2 -2
  28. package/dist/site/site-manifest.json +8 -8
  29. package/dist/site/workflow-registry.json +135 -391
  30. package/docs/MAP.md +5 -4
  31. package/docs/cli-reference.md +1 -1
  32. package/docs/getting-started.md +8 -7
  33. package/docs/node-api-reference.md +79 -79
  34. package/docs/reusable-build-surface.md +159 -1430
  35. package/docs/runtime-train-validation.md +45 -172
  36. package/package.json +1 -1
  37. package/packages/core/build-configuration.js +117 -0
  38. package/packages/core/buildchain-config.js +2 -0
  39. package/packages/core/buildchain-contract.js +14 -44
  40. package/packages/core/controller-evidence.js +2 -9
  41. package/scripts/buildchain-cli-help.mjs +1 -1
  42. package/scripts/check-floating-consumer-policy-contract.mjs +4 -7
  43. package/scripts/check-inventory.mjs +81 -54
  44. package/scripts/check-universal-workflow-bootstrap.mjs +12 -2
  45. package/scripts/generate-channel-build-workflow.mjs +50 -410
  46. package/scripts/generate-site-bundle.mjs +2 -1
  47. package/scripts/generate-universal-workflow-facades.mjs +1 -0
  48. package/scripts/init-repo.mjs +25 -26
  49. package/scripts/resolve-build-configuration.mjs +105 -0
  50. package/scripts/universal-workflow-self-dogfood.mjs +8 -1
  51. package/scripts/verify-golden-path.mjs +3 -3
package/AGENTS.md CHANGED
@@ -19,26 +19,19 @@ restating them.
19
19
 
20
20
  ## Using this repo as a Buildchain consumer
21
21
 
22
- Consumers that want Buildchain to select alpha for development/prerelease work
23
- and stable for production releases use the channel router. The router defaults
24
- to `auto`; repositories only add channel configuration when they intentionally
25
- override that policy:
22
+ Ordinary builds read project configuration from `buildchain.toml`. Single-project
23
+ consumers call the public workflow with no inputs:
26
24
 
27
25
  ```yaml
28
- uses: kungfu-systems/buildchain/.github/workflows/build.yml@v3
26
+ uses: kungfu-systems/buildchain/.github/workflows/build.yml@v4
29
27
  ```
30
28
 
31
- During v3 prerelease evaluation windows, canaries call the same router through
32
- the matching prerelease ref:
33
-
34
- ```yaml
35
- uses: kungfu-systems/buildchain/.github/workflows/build.yml@v3-alpha
36
- ```
37
-
38
- The default policy selects `vN-alpha` for pull requests, development, nightly,
39
- and prerelease intent; it selects stable `vN` for stable release intent. The
40
- advanced `.build.yml` surface and explicit `buildchain-ref` train/SHA validation
41
- remain available when a repository needs precise control.
29
+ Use `@v4-alpha` for the alpha runtime. The called workflow ref and SHA determine
30
+ runtime identity and the matching contract lock. A nested project may supply
31
+ only `config-path`; all project settings belong in TOML and infrastructure
32
+ settings belong to a governed Buildchain environment profile. `.build.yml`
33
+ remains the core install/build/verify backbone. Historical build inputs and
34
+ runtime overrides are removed.
42
35
 
43
36
  For new repositories, prefer the CLI:
44
37
 
@@ -65,9 +58,9 @@ See [`docs/cli.md`](docs/cli.md), [`docs/lifecycle-protocol.md`](docs/lifecycle-
65
58
  and [`docs/reusable-build-surface.md`](docs/reusable-build-surface.md) for the
66
59
  consumer contract.
67
60
 
68
- For temporary validation of an unreleased Buildchain runtime, keep the committed
69
- workflow ref on `@v3` and use the trusted `workflow_dispatch` `buildchain-ref`
70
- pass-through. See [`docs/runtime-train-validation.md`](docs/runtime-train-validation.md).
61
+ Ordinary builds do not accept runtime overrides. Specialized release/recovery
62
+ contracts retain their bounded, non-persistent validation mechanisms; see
63
+ [`docs/runtime-train-validation.md`](docs/runtime-train-validation.md).
71
64
 
72
65
  ## Building this repo
73
66
 
package/CONTRIBUTING.md CHANGED
@@ -161,15 +161,12 @@ release/vX/vX.Y -> publish-gate/major
161
161
  wrapper to merge ready, conflict-free dev PRs. The wrapper is policy-gated:
162
162
  required checks, ready/block labels, same-repository heads, approvals,
163
163
  branch prefixes, max merges, and dry-run are all declared inputs.
164
- - When a Buildchain change needs downstream validation before stable refs move,
165
- publish a temporary runtime train ref such as
166
- `train/v3/v3.0/<capability>` and ask consumers to run trusted
167
- `workflow_dispatch` with `buildchain-ref` set to that train. Keep the pull
168
- request against the `dev/*` branch; the train is only a validation pointer,
169
- not a pending merge target. After validation succeeds, merge into the active
170
- `dev/*` mainline and run the requested alpha or release promotion. The train
171
- may remain for a retention window as a fast-use and rollback channel; old
172
- trains are cleaned by a separate periodic cleanup task.
164
+ - Ordinary build callers use `build.yml@v4` or `build.yml@v4-alpha` with
165
+ project settings in `buildchain.toml`. They have no runtime override input.
166
+ Validate the implementation and exact contract before merging into protected
167
+ Dev, publish Alpha, then qualify the public Alpha build before Stable.
168
+ Specialized release/recovery train admission follows its own bounded
169
+ contract in `docs/runtime-train-validation.md`.
173
170
  - Merging into `alpha/*`, `release/*`, or `publish-gate/major` expresses a
174
171
  release intent. Buildchain promotion then creates version-state commits,
175
172
  exact tags, floating tags, npm publish evidence, and next-alpha state.
package/README.md CHANGED
@@ -283,7 +283,7 @@ plus fail-closed product-evidence gates for KFD-4, KFD-5, and KFD-7. These
283
283
  gates preserve product-owned qualification and support decisions; they do not
284
284
  turn a schema-valid record into certification or shipped support.
285
285
 
286
- Buildchain's action registry currently contains seven active entries. Five are
286
+ Buildchain's action registry contains fourteen active entries. Six are
287
287
  direct consumer integration actions:
288
288
 
289
289
  - `actions/validate-config`
@@ -298,6 +298,16 @@ Two additional release-authority components are also registered and versioned:
298
298
  - `actions/github-artifact-attestation`
299
299
  - `actions/macos-credential-island`
300
300
 
301
+ Six shared build components have explicit ownership in
302
+ `architecture/build-orchestration.json`:
303
+
304
+ - [`actions/build-lifecycle-stage`](actions/build-lifecycle-stage/action.yml)
305
+ - [`actions/build-signing-request`](actions/build-signing-request/action.yml)
306
+ - [`actions/build-verification-evidence`](actions/build-verification-evidence/action.yml)
307
+ - [`actions/build-attestation-policy`](actions/build-attestation-policy/action.yml)
308
+ - [`actions/build-agent-hub-evidence`](actions/build-agent-hub-evidence/action.yml)
309
+ - [`actions/build-artifact-transfer`](actions/build-artifact-transfer/action.yml)
310
+
301
311
  `dist/site/workflow-registry.json#actions` is the machine-readable inventory;
302
312
  this split keeps the older four-action consumer snapshot from being mistaken for
303
313
  the complete current registry.
@@ -129,9 +129,6 @@ Safe change route: Reduce one owned responsibility behind the stable facade, run
129
129
  - tests: `tests/floating-consumer-policy.test.mjs`
130
130
  - tests: `tests/publication-rehearsal.test.mjs`
131
131
  - tests: `tests/web-surface.test.mjs`
132
- - tests: `tests/build-surface-reusable-build.test.mjs`
133
- - tests: `tests/build-surface-reusable-build-signing.test.mjs`
134
- - tests: `tests/build-surface-reusable-build-artifacts.test.mjs`
135
132
  - tests: `tests/promote-buildchain-ref-durable-recovery.test.mjs`
136
133
  - tests: `tests/promote-buildchain-ref-major-promotion.test.mjs`
137
134
  - tests: `tests/promote-buildchain-ref-recovery-alpha-finalization.test.mjs`
@@ -142,7 +139,6 @@ Safe change route: Reduce one owned responsibility behind the stable facade, run
142
139
  - workflows: `.github/workflows/.release-candidate-promote.yml`
143
140
  - workflows: `.github/workflows/.release-verify.yml`
144
141
  - workflows: `.github/workflows/.web-surface.yml`
145
- - workflows: `.github/workflows/build.yml`
146
142
  - workflows: `.github/workflows/check.yml`
147
143
  - workflows: `.github/workflows/dev-pr-auto-merge.yml`
148
144
  - workflows: `.github/workflows/paper-release-sealed.yml`
@@ -607,11 +603,21 @@ Owner: Buildchain workflow maintainers
607
603
  - `scripts/resolve-artifact-transfer-mode.mjs`
608
604
  - `scripts/resolve-build-summary-names.sh`
609
605
  - `scripts/run-lifecycle-core.mjs`
606
+ - `packages/core/build-configuration.js`
607
+ - `scripts/resolve-build-configuration.mjs`
610
608
 
611
609
  ### Contracts
612
610
 
613
611
  - `.github/workflows/.build.yml`
614
612
  - `.github/workflows/build.yml`
613
+ - `architecture/build-environments.json`
614
+ - `actions/build-lifecycle-stage/action.yml`
615
+ - `actions/build-signing-request/action.yml`
616
+ - `actions/build-verification-evidence/action.yml`
617
+ - `actions/build-attestation-policy/action.yml`
618
+ - `actions/build-agent-hub-evidence/action.yml`
619
+ - `actions/build-artifact-transfer/action.yml`
620
+ - `architecture/build-orchestration.json`
615
621
 
616
622
  ### Tests
617
623
 
@@ -621,6 +627,7 @@ Owner: Buildchain workflow maintainers
621
627
  - `tests/build-surface.test.mjs`
622
628
  - `tests/build-surface-promotion.test.mjs`
623
629
  - `tests/controller-evidence.test.mjs`
630
+ - `tests/build-configuration.test.mjs`
624
631
 
625
632
  ### Generated outputs
626
633
 
@@ -0,0 +1,71 @@
1
+ {
2
+ "schema": "buildchain.build-environments/v1",
3
+ "owner": "Buildchain infrastructure maintainers",
4
+ "defaults": {
5
+ "runners": {
6
+ "preset": "github-hosted",
7
+ "platforms_json": "",
8
+ "control_json": "[\"ubuntu-24.04\"]",
9
+ "codebuild_project": "",
10
+ "windows_label": "",
11
+ "macos_label": "",
12
+ "offline_fallback": false,
13
+ "container_preset": "",
14
+ "container_image": ""
15
+ },
16
+ "tools": {
17
+ "rustup_dist_server": "",
18
+ "rustup_update_root": "",
19
+ "cargo_registry_index": "",
20
+ "kfd_agent_hub": "off"
21
+ },
22
+ "signing": {
23
+ "upload_no_proxy": "",
24
+ "environment": ""
25
+ },
26
+ "transfer": {
27
+ "mode": "github-artifacts",
28
+ "bucket": "",
29
+ "region": "",
30
+ "prefix": "",
31
+ "upload_role_arn": "",
32
+ "download_role_arn": "",
33
+ "oidc_audience": ""
34
+ },
35
+ "checkout": {
36
+ "mode": "off",
37
+ "mirror_url_template": "",
38
+ "reference_repository_template": "",
39
+ "fallback": "github",
40
+ "timeout_seconds": 60.0,
41
+ "github_timeout_seconds": 600.0,
42
+ "fetch_attempts": 3.0,
43
+ "history_mode": "shallow"
44
+ },
45
+ "cache": {
46
+ "profile_ref": "",
47
+ "profile_digest": "",
48
+ "provider": "none",
49
+ "platforms_json": "[]",
50
+ "required": false
51
+ }
52
+ },
53
+ "profiles": {
54
+ "github-hosted": {},
55
+ "github-hosted-container": {
56
+ "runners": {
57
+ "container_preset": "kungfu-verify"
58
+ }
59
+ },
60
+ "kungfu-v4-native": {
61
+ "runners": {
62
+ "preset": "kungfu-v4-native"
63
+ }
64
+ },
65
+ "kungfu-v4-self-hosted": {
66
+ "runners": {
67
+ "preset": "kungfu-v4-self-hosted"
68
+ }
69
+ }
70
+ }
71
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "schema": "buildchain.build-orchestration/v1",
3
+ "configurationAuthority": "buildchain.toml",
4
+ "ordinaryInputs": ["config-path"],
5
+ "backbone": ".github/workflows/.build.yml",
6
+ "facade": ".github/workflows/build.yml",
7
+ "maximumBackboneLines": 2300,
8
+ "maximumFacadeLines": 200,
9
+ "lifecycleOrder": ["install", "build", "verify"],
10
+ "owners": {
11
+ "actions/build-lifecycle-stage/action.yml": "Buildchain workflow maintainers",
12
+ "actions/build-signing-request/action.yml": "Buildchain signing maintainers",
13
+ "actions/build-verification-evidence/action.yml": "Buildchain verification maintainers",
14
+ "actions/build-attestation-policy/action.yml": "Buildchain signing maintainers",
15
+ "actions/build-agent-hub-evidence/action.yml": "Buildchain verification maintainers",
16
+ "actions/build-artifact-transfer/action.yml": "Buildchain artifact transport maintainers"
17
+ }
18
+ }
@@ -625,6 +625,40 @@
625
625
  "expectedContributionSeconds": 0,
626
626
  "rationale": "Runs only after completed exact-source public installation qualification; no merge-critical runner lane is added."
627
627
  }
628
+ },
629
+ {
630
+ "laneId": ".github/workflows/.build.yml#configure",
631
+ "authorityClass": "evidence",
632
+ "triggerClass": "reusable",
633
+ "concurrencyPolicy": {
634
+ "mode": "none",
635
+ "cancelInProgress": false
636
+ },
637
+ "expectedRunnerMinutes": 5,
638
+ "cancellationBehavior": "finish-started",
639
+ "sloImpact": {
640
+ "mergeCritical": false,
641
+ "metric": "configured build planning and execution latency",
642
+ "expectedContributionSeconds": 20,
643
+ "rationale": "Resolve exact source TOML and runtime-owned environment before admission or matrix scheduling."
644
+ }
645
+ },
646
+ {
647
+ "laneId": ".github/workflows/build.yml#build",
648
+ "authorityClass": "governed-delegation",
649
+ "triggerClass": "reusable",
650
+ "concurrencyPolicy": {
651
+ "mode": "none",
652
+ "cancelInProgress": false
653
+ },
654
+ "expectedRunnerMinutes": 120,
655
+ "cancellationBehavior": "finish-started",
656
+ "sloImpact": {
657
+ "mergeCritical": false,
658
+ "metric": "configured build planning and execution latency",
659
+ "expectedContributionSeconds": 0,
660
+ "rationale": "The public facade delegates once to the backbone; no additional build or controller runs."
661
+ }
628
662
  }
629
663
  ],
630
664
  "declarationFamilies": [
@@ -646,7 +680,6 @@
646
680
  "laneIds": [
647
681
  ".github/workflows/.auditable-demo.yml#universal-bootstrap",
648
682
  ".github/workflows/.binary-release-assets.yml#universal-bootstrap",
649
- ".github/workflows/.build.yml#universal-bootstrap",
650
683
  ".github/workflows/.bump-minor-version.yml#universal-bootstrap",
651
684
  ".github/workflows/.declarative-auditable-demo.yml#universal-bootstrap",
652
685
  ".github/workflows/.gate-profile.yml#universal-bootstrap",
@@ -658,7 +691,6 @@
658
691
  ".github/workflows/.sync-remote-git.yml#universal-bootstrap",
659
692
  ".github/workflows/.web-surface.yml#universal-bootstrap",
660
693
  ".github/workflows/.wheel-verify.yml#universal-bootstrap",
661
- ".github/workflows/build.yml#universal-bootstrap",
662
694
  ".github/workflows/buildchain-patrol.yml#universal-bootstrap",
663
695
  ".github/workflows/check.yml#universal-bootstrap",
664
696
  ".github/workflows/dev-alpha-candidate-patrol.yml#universal-bootstrap",
@@ -150,7 +150,9 @@
150
150
  "scripts/maintainability-metrics.mjs",
151
151
  "scripts/generate-agent-change-map.mjs",
152
152
  "scripts/maintainability-domain-metrics.mjs",
153
- "scripts/maintainability-governance.mjs"
153
+ "scripts/maintainability-governance.mjs",
154
+ "packages/core/build-configuration.js",
155
+ "scripts/resolve-build-configuration.mjs"
154
156
  ],
155
157
  "ownershipRules": [
156
158
  {
@@ -383,7 +385,9 @@
383
385
  "scripts/generate-channel-build-workflow.mjs",
384
386
  "scripts/resolve-artifact-transfer-mode.mjs",
385
387
  "scripts/resolve-build-summary-names.sh",
386
- "scripts/run-lifecycle-core.mjs"
388
+ "scripts/run-lifecycle-core.mjs",
389
+ "packages/core/build-configuration.js",
390
+ "scripts/resolve-build-configuration.mjs"
387
391
  ],
388
392
  "tests": [
389
393
  "tests/artifact-transfer-mode.test.mjs",
@@ -391,11 +395,20 @@
391
395
  "tests/build-surface-reusable-build-artifacts.test.mjs",
392
396
  "tests/build-surface.test.mjs",
393
397
  "tests/build-surface-promotion.test.mjs",
394
- "tests/controller-evidence.test.mjs"
398
+ "tests/controller-evidence.test.mjs",
399
+ "tests/build-configuration.test.mjs"
395
400
  ],
396
401
  "contracts": [
397
402
  ".github/workflows/.build.yml",
398
- ".github/workflows/build.yml"
403
+ ".github/workflows/build.yml",
404
+ "architecture/build-environments.json",
405
+ "actions/build-lifecycle-stage/action.yml",
406
+ "actions/build-signing-request/action.yml",
407
+ "actions/build-verification-evidence/action.yml",
408
+ "actions/build-attestation-policy/action.yml",
409
+ "actions/build-agent-hub-evidence/action.yml",
410
+ "actions/build-artifact-transfer/action.yml",
411
+ "architecture/build-orchestration.json"
399
412
  ],
400
413
  "generatedOutputs": [
401
414
  ".github/workflows/build.yml",
@@ -7,8 +7,8 @@
7
7
  },
8
8
  "totalExcessLedger": {
9
9
  "metric": "calibrated-full-dimensional-excess-v1",
10
- "measuredExcess": 64542,
11
- "current": 56481
10
+ "measuredExcess": 62271,
11
+ "current": 54210
12
12
  },
13
13
  "defaults": {
14
14
  "owner": "Buildchain architecture maintainers",
@@ -315,10 +315,10 @@
315
315
  },
316
316
  "packages/core/buildchain-config.js": {
317
317
  "baseline": {
318
- "lines": 1885
318
+ "lines": 1887
319
319
  },
320
320
  "current": {
321
- "lines": 1885
321
+ "lines": 1887
322
322
  },
323
323
  "target": {
324
324
  "lines": 600
@@ -334,10 +334,10 @@
334
334
  }
335
335
  },
336
336
  "current": {
337
- "lines": 1078,
337
+ "lines": 1048,
338
338
  "functions": {
339
339
  "createBuildchainContractWorld@199": {
340
- "lines": 681
340
+ "lines": 651
341
341
  }
342
342
  }
343
343
  },
@@ -1214,7 +1214,7 @@
1214
1214
  "lines": 1515
1215
1215
  },
1216
1216
  "current": {
1217
- "lines": 1475
1217
+ "lines": 1502
1218
1218
  },
1219
1219
  "target": {
1220
1220
  "lines": 600
@@ -1457,7 +1457,7 @@
1457
1457
  },
1458
1458
  "scripts/generate-site-bundle.mjs": {
1459
1459
  "baseline": {
1460
- "lines": 1410,
1460
+ "lines": 1411,
1461
1461
  "functions": {
1462
1462
  "buildSiteBundle@720": {
1463
1463
  "lines": 637
@@ -1465,10 +1465,10 @@
1465
1465
  }
1466
1466
  },
1467
1467
  "current": {
1468
- "lines": 1410,
1468
+ "lines": 1411,
1469
1469
  "functions": {
1470
1470
  "buildSiteBundle@720": {
1471
- "lines": 636
1471
+ "lines": 637
1472
1472
  }
1473
1473
  }
1474
1474
  },
@@ -2191,7 +2191,7 @@
2191
2191
  "tests": {
2192
2192
  "tests/auditable-demo-platform.test.mjs": {
2193
2193
  "baseline": {
2194
- "lines": 712
2194
+ "lines": 714
2195
2195
  },
2196
2196
  "current": {
2197
2197
  "lines": 712
@@ -2241,15 +2241,15 @@
2241
2241
  "baseline": {
2242
2242
  "lines": 3181,
2243
2243
  "functions": {
2244
- "<anonymous@1559>@1559": {
2244
+ "<anonymous@1537>@1537": {
2245
2245
  "lines": 206
2246
2246
  }
2247
2247
  }
2248
2248
  },
2249
2249
  "current": {
2250
- "lines": 2738,
2250
+ "lines": 2711,
2251
2251
  "functions": {
2252
- "<anonymous@1559>@1559": {
2252
+ "<anonymous@1537>@1537": {
2253
2253
  "lines": 206
2254
2254
  }
2255
2255
  }
@@ -2257,7 +2257,7 @@
2257
2257
  "target": {
2258
2258
  "lines": 600,
2259
2259
  "functions": {
2260
- "<anonymous@1559>@1559": {
2260
+ "<anonymous@1537>@1537": {
2261
2261
  "lines": 180
2262
2262
  }
2263
2263
  }
@@ -2267,33 +2267,27 @@
2267
2267
  "baseline": {
2268
2268
  "lines": 4639,
2269
2269
  "functions": {
2270
- "<anonymous@170>@170": {
2271
- "lines": 195
2272
- },
2273
- "<anonymous@544>@544": {
2270
+ "<anonymous@445>@445": {
2274
2271
  "lines": 183
2275
2272
  },
2276
- "<anonymous@1678>@1678": {
2273
+ "<anonymous@1579>@1579": {
2277
2274
  "lines": 249
2278
2275
  },
2279
- "<anonymous@2684>@2684": {
2276
+ "<anonymous@2585>@2585": {
2280
2277
  "lines": 188
2281
2278
  }
2282
2279
  }
2283
2280
  },
2284
2281
  "current": {
2285
- "lines": 3027,
2282
+ "lines": 2909,
2286
2283
  "functions": {
2287
- "<anonymous@170>@170": {
2288
- "lines": 186
2289
- },
2290
- "<anonymous@544>@544": {
2284
+ "<anonymous@445>@445": {
2291
2285
  "lines": 183
2292
2286
  },
2293
- "<anonymous@1678>@1678": {
2287
+ "<anonymous@1579>@1579": {
2294
2288
  "lines": 249
2295
2289
  },
2296
- "<anonymous@2684>@2684": {
2290
+ "<anonymous@2585>@2585": {
2297
2291
  "lines": 188
2298
2292
  }
2299
2293
  }
@@ -2301,16 +2295,13 @@
2301
2295
  "target": {
2302
2296
  "lines": 600,
2303
2297
  "functions": {
2304
- "<anonymous@170>@170": {
2305
- "lines": 180
2306
- },
2307
- "<anonymous@544>@544": {
2298
+ "<anonymous@445>@445": {
2308
2299
  "lines": 180
2309
2300
  },
2310
- "<anonymous@1678>@1678": {
2301
+ "<anonymous@1579>@1579": {
2311
2302
  "lines": 180
2312
2303
  },
2313
- "<anonymous@2684>@2684": {
2304
+ "<anonymous@2585>@2585": {
2314
2305
  "lines": 180
2315
2306
  }
2316
2307
  }
@@ -2329,7 +2320,7 @@
2329
2320
  },
2330
2321
  "tests/cli.test.mjs": {
2331
2322
  "baseline": {
2332
- "lines": 2840,
2323
+ "lines": 2842,
2333
2324
  "functions": {
2334
2325
  "<anonymous@2363>@2363": {
2335
2326
  "lines": 253
@@ -2485,7 +2476,7 @@
2485
2476
  "lines": 916
2486
2477
  },
2487
2478
  "current": {
2488
- "lines": 916
2479
+ "lines": 899
2489
2480
  },
2490
2481
  "target": {
2491
2482
  "lines": 600
@@ -2756,75 +2747,6 @@
2756
2747
  "lines": 600
2757
2748
  }
2758
2749
  },
2759
- "tests/build-surface-reusable-build.test.mjs": {
2760
- "baseline": {
2761
- "functions": {
2762
- "<anonymous@3>@3": {
2763
- "lines": 342
2764
- }
2765
- }
2766
- },
2767
- "current": {
2768
- "functions": {
2769
- "<anonymous@3>@3": {
2770
- "lines": 342
2771
- }
2772
- }
2773
- },
2774
- "target": {
2775
- "functions": {
2776
- "<anonymous@3>@3": {
2777
- "lines": 180
2778
- }
2779
- }
2780
- }
2781
- },
2782
- "tests/build-surface-reusable-build-signing.test.mjs": {
2783
- "baseline": {
2784
- "functions": {
2785
- "<anonymous@3>@3": {
2786
- "lines": 266
2787
- }
2788
- }
2789
- },
2790
- "current": {
2791
- "functions": {
2792
- "<anonymous@3>@3": {
2793
- "lines": 266
2794
- }
2795
- }
2796
- },
2797
- "target": {
2798
- "functions": {
2799
- "<anonymous@3>@3": {
2800
- "lines": 180
2801
- }
2802
- }
2803
- }
2804
- },
2805
- "tests/build-surface-reusable-build-artifacts.test.mjs": {
2806
- "baseline": {
2807
- "functions": {
2808
- "<anonymous@3>@3": {
2809
- "lines": 232
2810
- }
2811
- }
2812
- },
2813
- "current": {
2814
- "functions": {
2815
- "<anonymous@3>@3": {
2816
- "lines": 230
2817
- }
2818
- }
2819
- },
2820
- "target": {
2821
- "functions": {
2822
- "<anonymous@3>@3": {
2823
- "lines": 180
2824
- }
2825
- }
2826
- }
2827
- },
2828
2750
  "tests/promote-buildchain-ref-durable-recovery.test.mjs": {
2829
2751
  "baseline": {
2830
2752
  "functions": {
@@ -2922,17 +2844,17 @@
2922
2844
  ".github/workflows/.build.yml": {
2923
2845
  "baseline": {
2924
2846
  "lines": 3370,
2925
- "jobs": 14,
2847
+ "jobs": 15,
2926
2848
  "steps": 194,
2927
2849
  "maxStepsPerJob": 44,
2928
2850
  "decisions": 113
2929
2851
  },
2930
2852
  "current": {
2931
- "lines": 3341,
2932
- "jobs": 14,
2933
- "steps": 194,
2934
- "maxStepsPerJob": 44,
2935
- "decisions": 113
2853
+ "lines": 2244,
2854
+ "jobs": 15,
2855
+ "steps": 170,
2856
+ "maxStepsPerJob": 32,
2857
+ "decisions": 87
2936
2858
  },
2937
2859
  "target": {
2938
2860
  "lines": 600,
@@ -3021,17 +2943,6 @@
3021
2943
  "decisions": 25
3022
2944
  }
3023
2945
  },
3024
- ".github/workflows/build.yml": {
3025
- "baseline": {
3026
- "lines": 1218
3027
- },
3028
- "current": {
3029
- "lines": 1218
3030
- },
3031
- "target": {
3032
- "lines": 600
3033
- }
3034
- },
3035
2946
  ".github/workflows/check.yml": {
3036
2947
  "baseline": {
3037
2948
  "maxStepsPerJob": 22
@@ -3191,7 +3102,7 @@
3191
3102
  "path": "tests/build-surface.test.mjs",
3192
3103
  "metric": "lines",
3193
3104
  "baseline": 4639,
3194
- "current": 3027
3105
+ "current": 2909
3195
3106
  },
3196
3107
  {
3197
3108
  "domain": "workflows",