@kungfu-tech/buildchain 4.0.0 → 4.0.1-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 (69) hide show
  1. package/AGENTS.md +13 -5
  2. package/actions/promote-buildchain-ref/README.md +11 -6
  3. package/architecture/internal-capabilities.json +11 -2
  4. package/architecture/maintainability-policy.json +149 -17
  5. package/architecture/v4-floating-consumer-policy.json +75 -0
  6. package/architecture/v4-floating-consumer-policy.md +32 -0
  7. package/architecture/v4-runtime-ref-resume-authority.json +64 -0
  8. package/architecture/v4-stage-capsule-qualification.json +2 -2
  9. package/bin/internal/trust-release-release-handlers.mjs +5 -0
  10. package/contracts/fixtures/v4-floating-consumer-policy-v1/cases.json +53 -0
  11. package/contracts/fixtures/v4-runtime-ref-resume-authority-v1/scenario.json +15 -0
  12. package/contracts/v4-floating-consumer-policy-receipt-v1.schema.json +105 -0
  13. package/contracts/v4-runtime-ref-resume-authority-v1.schema.json +235 -0
  14. package/dist/site/buildchain-contract.json +101 -31
  15. package/dist/site/buildchain-site.json +73 -27
  16. package/dist/site/capability-registry.json +3 -3
  17. package/dist/site/controller-registry.json +62 -6
  18. package/dist/site/kfd-claims.json +68 -13
  19. package/dist/site/kfd-upstream-aggregate.json +1 -1
  20. package/dist/site/manual-registry.json +6 -6
  21. package/dist/site/node-api-registry.json +799 -127
  22. package/dist/site/page-registry.json +63 -17
  23. package/dist/site/public-surface-audit.json +49 -17
  24. package/dist/site/publication-registry.json +4 -4
  25. package/dist/site/release-provenance.json +2 -0
  26. package/dist/site/site-manifest.json +10 -10
  27. package/dist/site/workflow-registry.json +46 -18
  28. package/docs/MAP.md +2 -0
  29. package/docs/dev-delivery-warrant.md +19 -1
  30. package/docs/lifecycle-protocol.md +41 -0
  31. package/docs/node-api-reference.md +207 -134
  32. package/docs/reusable-build-surface.md +41 -0
  33. package/docs/runtime-train-validation.md +10 -0
  34. package/docs/v4-runtime-ref-resume-authority.md +69 -0
  35. package/docs/versioning.md +1 -0
  36. package/package.json +6 -4
  37. package/packages/core/artifact-signing.js +61 -0
  38. package/packages/core/buildchain-config.js +66 -1
  39. package/packages/core/dev-delivery-proof.js +37 -3
  40. package/packages/core/dev-delivery-warrant.js +3 -3
  41. package/packages/core/index.js +2 -0
  42. package/packages/core/publication-authority.js +5 -5
  43. package/packages/core/release-candidate.js +79 -19
  44. package/packages/core/release-passport.js +239 -33
  45. package/packages/core/v4-floating-consumer-evidence.js +324 -0
  46. package/packages/core/v4-floating-consumer-policy.js +446 -0
  47. package/packages/core/v4-floating-consumer-release-passport.js +126 -0
  48. package/packages/core/v4-runtime-ref-resume-authority.js +625 -0
  49. package/packages/core/v4-runtime-selector-persistence.js +228 -0
  50. package/packages/core/workflow-yaml-contract.js +48 -0
  51. package/scripts/audit-publication-control-plane.mjs +31 -31
  52. package/scripts/check-inventory.mjs +1 -1
  53. package/scripts/check-v4-floating-consumer-policy-contract.mjs +198 -0
  54. package/scripts/check-v4-public-dogfood-contract.mjs +6 -11
  55. package/scripts/dev-delivery-source-proof-reuse.mjs +631 -0
  56. package/scripts/dev-pr-auto-merge.mjs +37 -48
  57. package/scripts/dev-pr-delivery-warrant.mjs +205 -2
  58. package/scripts/dev-pr-prequeue-guard.mjs +399 -0
  59. package/scripts/ensure-github-release.mjs +3 -3
  60. package/scripts/generate-channel-build-workflow.mjs +3 -0
  61. package/scripts/generate-channel-promotion-workflow.mjs +112 -12
  62. package/scripts/generate-release-candidate-passport.mjs +41 -33
  63. package/scripts/init-repo.mjs +5 -1
  64. package/scripts/inspect-artifact-signing-requests.mjs +6 -0
  65. package/scripts/npm-publish-transaction.mjs +101 -89
  66. package/scripts/resume-from-candidate-run.mjs +11 -14
  67. package/scripts/seal-artifact-signing-requests.mjs +6 -0
  68. package/scripts/site-capability-metadata.mjs +2 -0
  69. package/scripts/v4-consumer-policy.mjs +231 -0
@@ -6,7 +6,7 @@
6
6
  "cliCommandCount": 114,
7
7
  "workflowCount": 71,
8
8
  "actionCount": 7,
9
- "sitePageCount": 75,
9
+ "sitePageCount": 76,
10
10
  "docCommandRefCount": 919,
11
11
  "failureCount": 0
12
12
  },
@@ -680,6 +680,7 @@
680
680
  "buildchain-expected-major",
681
681
  "buildchain-ref",
682
682
  "buildchain-repository",
683
+ "buildchain-visible-workflow",
683
684
  "cache-dependency-lock-root",
684
685
  "cache-policy-root",
685
686
  "cache-toolchain-root",
@@ -744,7 +745,7 @@
744
745
  "verify-substage-evidence-path",
745
746
  "working-directory"
746
747
  ],
747
- "inputCount": 90,
748
+ "inputCount": 91,
748
749
  "secrets": [
749
750
  "BUILDCHAIN_ARTIFACT_RELAY_S3_DOWNLOAD_ROLE_ARN",
750
751
  "BUILDCHAIN_ARTIFACT_RELAY_S3_ROLE_ARN",
@@ -800,9 +801,11 @@
800
801
  "release-manifest-json",
801
802
  "runner-preset",
802
803
  "runner-routing-json",
803
- "trusted-event"
804
+ "trusted-event",
805
+ "v4-consumer-policy-receipt-json",
806
+ "v4-consumer-policy-receipt-root"
804
807
  ],
805
- "outputCount": 43
808
+ "outputCount": 45
806
809
  },
807
810
  {
808
811
  "id": ".bump-minor-version",
@@ -977,6 +980,7 @@
977
980
  "branch-protection-bypass-apps",
978
981
  "branch-protection-bypass-teams",
979
982
  "branch-protection-bypass-users",
983
+ "buildchain-alpha-contract-lock-path",
980
984
  "buildchain-contract-compatibility-policy",
981
985
  "buildchain-contract-drift-issue-mode",
982
986
  "buildchain-contract-lock-path",
@@ -984,6 +988,7 @@
984
988
  "buildchain-expected-major",
985
989
  "buildchain-ref",
986
990
  "buildchain-repository",
991
+ "buildchain-stable-contract-lock-path",
987
992
  "channel",
988
993
  "declarative-release-tail",
989
994
  "dry-run",
@@ -1002,6 +1007,8 @@
1002
1007
  "promotion-publication-channel",
1003
1008
  "promotion-router-ref",
1004
1009
  "promotion-router-sha",
1010
+ "promotion-runtime-authorization-json",
1011
+ "promotion-runtime-authorization-root",
1005
1012
  "promotion-runtime-ref",
1006
1013
  "promotion-runtime-sha",
1007
1014
  "promotion-shell-ref",
@@ -1067,6 +1074,7 @@
1067
1074
  "release-passport-output-dir",
1068
1075
  "release-passport-platform-manifest-paths",
1069
1076
  "release-passport-product-name",
1077
+ "release-passport-v4-runtime-resume-evidence-json",
1070
1078
  "release-propagation-config-path",
1071
1079
  "required-artifact-count",
1072
1080
  "required-status-check",
@@ -1085,7 +1093,7 @@
1085
1093
  "target-sha",
1086
1094
  "trusted-publishing"
1087
1095
  ],
1088
- "inputCount": 113,
1096
+ "inputCount": 118,
1089
1097
  "secrets": [
1090
1098
  "BUILDCHAIN_ISSUE_APP_ID",
1091
1099
  "BUILDCHAIN_ISSUE_APP_PRIVATE_KEY",
@@ -1583,6 +1591,7 @@
1583
1591
  "buildchain-ref",
1584
1592
  "buildchain-repository",
1585
1593
  "buildchain-stable-contract-lock-path",
1594
+ "buildchain-visible-workflow",
1586
1595
  "cache-dependency-lock-root",
1587
1596
  "cache-policy-root",
1588
1597
  "cache-toolchain-root",
@@ -1647,7 +1656,7 @@
1647
1656
  "verify-substage-evidence-path",
1648
1657
  "working-directory"
1649
1658
  ],
1650
- "inputCount": 93,
1659
+ "inputCount": 94,
1651
1660
  "secrets": [
1652
1661
  "BUILDCHAIN_ARTIFACT_RELAY_S3_DOWNLOAD_ROLE_ARN",
1653
1662
  "BUILDCHAIN_ARTIFACT_RELAY_S3_ROLE_ARN",
@@ -1706,9 +1715,11 @@
1706
1715
  "release-manifest-json",
1707
1716
  "runner-preset",
1708
1717
  "runner-routing-json",
1709
- "trusted-event"
1718
+ "trusted-event",
1719
+ "v4-consumer-policy-receipt-json",
1720
+ "v4-consumer-policy-receipt-root"
1710
1721
  ],
1711
- "outputCount": 46
1722
+ "outputCount": 48
1712
1723
  },
1713
1724
  {
1714
1725
  "id": "buildchain-alpha-self-dogfood",
@@ -1866,10 +1877,15 @@
1866
1877
  "mode",
1867
1878
  "node-version",
1868
1879
  "require-version-state",
1880
+ "source-proof-closure-paths-json",
1881
+ "source-proof-dependency-paths-json",
1882
+ "source-proof-policy-paths-json",
1883
+ "source-proof-required-contexts-json",
1884
+ "source-proof-reuse",
1869
1885
  "upload-artifacts",
1870
1886
  "working-directory"
1871
1887
  ],
1872
- "inputCount": 7,
1888
+ "inputCount": 12,
1873
1889
  "secrets": [],
1874
1890
  "secretCount": 0,
1875
1891
  "outputs": [
@@ -1879,9 +1895,14 @@
1879
1895
  "controller-receipt-artifact",
1880
1896
  "controller-receipt-digest",
1881
1897
  "controller-receipt-json",
1882
- "controller-receipt-status"
1898
+ "controller-receipt-status",
1899
+ "source-proof-decision-root",
1900
+ "source-proof-producer-run-id",
1901
+ "source-proof-reuse-reason",
1902
+ "source-proof-reused",
1903
+ "source-proof-root"
1883
1904
  ],
1884
- "outputCount": 7
1905
+ "outputCount": 12
1885
1906
  },
1886
1907
  {
1887
1908
  "id": "dev-alpha-candidate-patrol",
@@ -2007,6 +2028,7 @@
2007
2028
  "path": ".github/workflows/dev-pr-auto-merge.yml",
2008
2029
  "reusable": true,
2009
2030
  "inputs": [
2031
+ "active-lease-context",
2010
2032
  "affected-paths-json",
2011
2033
  "allowed-head-prefixes",
2012
2034
  "assignment-root",
@@ -2040,7 +2062,7 @@
2040
2062
  "toolchain-root",
2041
2063
  "warrant-lease-seconds"
2042
2064
  ],
2043
- "inputCount": 32,
2065
+ "inputCount": 33,
2044
2066
  "secrets": [
2045
2067
  "github-token"
2046
2068
  ],
@@ -2451,11 +2473,13 @@
2451
2473
  "artifact-paths",
2452
2474
  "artifact-retention-days",
2453
2475
  "build-command",
2476
+ "buildchain-alpha-contract-lock-path",
2454
2477
  "buildchain-contract-compatibility-policy",
2455
2478
  "buildchain-contract-drift-issue-mode",
2456
2479
  "buildchain-contract-lock-path",
2457
2480
  "buildchain-ref",
2458
2481
  "buildchain-repository",
2482
+ "buildchain-stable-contract-lock-path",
2459
2483
  "node-version",
2460
2484
  "package-name",
2461
2485
  "prepare-paper-package",
@@ -2469,7 +2493,7 @@
2469
2493
  "verify-command",
2470
2494
  "working-directory"
2471
2495
  ],
2472
- "inputCount": 21,
2496
+ "inputCount": 23,
2473
2497
  "secrets": [],
2474
2498
  "secretCount": 0,
2475
2499
  "outputs": [
@@ -2582,6 +2606,7 @@
2582
2606
  "release-passport-output-dir",
2583
2607
  "release-passport-platform-manifest-paths",
2584
2608
  "release-passport-product-name",
2609
+ "release-passport-v4-runtime-resume-evidence-json",
2585
2610
  "release-propagation-config-path",
2586
2611
  "required-artifact-count",
2587
2612
  "required-status-check",
@@ -2600,7 +2625,7 @@
2600
2625
  "target-sha",
2601
2626
  "trusted-publishing"
2602
2627
  ],
2603
- "inputCount": 102,
2628
+ "inputCount": 103,
2604
2629
  "secrets": [
2605
2630
  "BUILDCHAIN_ISSUE_APP_ID",
2606
2631
  "BUILDCHAIN_ISSUE_APP_PRIVATE_KEY",
@@ -3002,6 +3027,9 @@
3002
3027
  "release-passport-platform-manifest-paths",
3003
3028
  "release-passport-product-name",
3004
3029
  "release-passport-promotion-routing-json",
3030
+ "release-passport-v4-consumer-policy-certification-json",
3031
+ "release-passport-v4-consumer-policy-certification-root",
3032
+ "release-passport-v4-runtime-resume-evidence-json",
3005
3033
  "release-tail-state-path",
3006
3034
  "require-governance",
3007
3035
  "require-publication-qualification",
@@ -3015,7 +3043,7 @@
3015
3043
  "transaction-state-path",
3016
3044
  "verification-command"
3017
3045
  ],
3018
- "inputCount": 80
3046
+ "inputCount": 83
3019
3047
  },
3020
3048
  {
3021
3049
  "id": "release-tail",
@@ -3405,6 +3433,10 @@
3405
3433
  "id": "manual:v4-production-release",
3406
3434
  "category": "manual"
3407
3435
  },
3436
+ {
3437
+ "id": "manual:v4-runtime-ref-resume-authority",
3438
+ "category": "manual"
3439
+ },
3408
3440
  {
3409
3441
  "id": "manual:v4-stage-capsule",
3410
3442
  "category": "manual"
@@ -8025,8 +8057,8 @@
8025
8057
  "workflowRegistryPath": "dist/site/workflow-registry.json",
8026
8058
  "pageRegistryPath": "dist/site/page-registry.json",
8027
8059
  "cliRegistryDigest": "031027fdd7688220deb52bfae928be562fa5509bf4a4f5e692ab2a949971d15a",
8028
- "workflowRegistryDigest": "5b58098f76e192debf3845c49f104c0546c4eff4ce5ad4c052770349386b2d92",
8029
- "pageRegistryDigest": "b916ca61d67cbb86708d4d314c4811bde37878644326ac073cd3b372d3708730"
8060
+ "workflowRegistryDigest": "b56e58e414eb2eebeb9a7331e8a1ea1ed890b778b6dacea1d71a77fbf7e014e1",
8061
+ "pageRegistryDigest": "d56b274a2aae61918cb1afbc6d59569a4022801a9f0169c4393128b18e74b9a1"
8030
8062
  },
8031
8063
  "comparison": {
8032
8064
  "missingCliRegistry": [],
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "contract": "kungfu-buildchain-publication-release-registry",
4
- "generatedAt": "2026-08-13T09:05:27.306Z",
5
- "publishedAt": "2026-08-13T09:05:27.306Z",
4
+ "generatedAt": "2026-08-15T11:38:16.137Z",
5
+ "publishedAt": "2026-08-15T11:38:16.137Z",
6
6
  "reproducible": true,
7
7
  "timestampPolicy": "ci-injected",
8
8
  "deterministicInputs": [
@@ -19,7 +19,7 @@
19
19
  "declared Buildchain surface manifest contract"
20
20
  ],
21
21
  "sourceDateEpoch": "0",
22
- "sourceRevision": "45a49dcaa0fcef59bc66481a85c39514d08972cc",
22
+ "sourceRevision": "8c8a952f024c32f8961c05dd59238a29ed361e72",
23
23
  "timestampPolicyDetails": {
24
24
  "contract": "kungfu-buildchain-surface-timestamp-policy",
25
25
  "timestampFields": [
@@ -32,7 +32,7 @@
32
32
  },
33
33
  "package": {
34
34
  "name": "@kungfu-tech/buildchain",
35
- "version": "4.0.0",
35
+ "version": "4.0.1-alpha.2",
36
36
  "versionSource": "package.json#version"
37
37
  },
38
38
  "sourceKind": "package-site-bundle",
@@ -37,6 +37,8 @@
37
37
  "./release-line-bootstrap": "./packages/core/release-line-bootstrap.js",
38
38
  "./readme-badges": "./packages/core/readme-badges.js",
39
39
  "./public-surface-audit": "./packages/core/public-surface-audit.js",
40
+ "./v4-floating-consumer-policy": "./packages/core/v4-floating-consumer-policy.js",
41
+ "./v4-runtime-ref-resume-authority": "./packages/core/v4-runtime-ref-resume-authority.js",
40
42
  "./logging": "./packages/core/logging.js",
41
43
  "./portable-dev-cache": "./packages/core/portable-dev-cache.js",
42
44
  "./publication-artifact": "./packages/core/publication-artifact.js",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "contract": "kungfu-buildchain-site-manifest",
4
- "generatedAt": "2026-08-13T09:05:27.306Z",
5
- "publishedAt": "2026-08-13T09:05:27.306Z",
4
+ "generatedAt": "2026-08-15T11:38:16.137Z",
5
+ "publishedAt": "2026-08-15T11:38:16.137Z",
6
6
  "reproducible": true,
7
7
  "timestampPolicy": "ci-injected",
8
8
  "deterministicInputs": [
@@ -19,7 +19,7 @@
19
19
  "declared Buildchain surface manifest contract"
20
20
  ],
21
21
  "sourceDateEpoch": "0",
22
- "sourceRevision": "45a49dcaa0fcef59bc66481a85c39514d08972cc",
22
+ "sourceRevision": "8c8a952f024c32f8961c05dd59238a29ed361e72",
23
23
  "timestampPolicyDetails": {
24
24
  "contract": "kungfu-buildchain-surface-timestamp-policy",
25
25
  "timestampFields": [
@@ -37,7 +37,7 @@
37
37
  },
38
38
  "package": {
39
39
  "name": "@kungfu-tech/buildchain",
40
- "version": "4.0.0",
40
+ "version": "4.0.1-alpha.2",
41
41
  "versionSource": "package.json#version"
42
42
  },
43
43
  "entrypoint": "buildchain-site.json",
@@ -53,7 +53,7 @@
53
53
  "path": "docs/MAP.md",
54
54
  "plane": "use",
55
55
  "exists": true,
56
- "digest": "sha256:94a4866f5a44f97ab10ad460c4d9ff39c58aa28e231311425af2fcb857aa8c72"
56
+ "digest": "sha256:c6be6076530f21d1a81f4f3d64f7aa2a9e5e8fb35a02f79a895814a85cad4838"
57
57
  },
58
58
  {
59
59
  "id": "getting-started",
@@ -245,7 +245,7 @@
245
245
  "path": "docs/node-api-reference.md",
246
246
  "plane": "use",
247
247
  "exists": true,
248
- "digest": "sha256:f8200ba1fbe5779408b4a1e82a0e28a5e8f696b05f97efd2d286d3008755fdbb"
248
+ "digest": "sha256:1771331eea141e17dc27d19ccd6ccdf2d3a7d2ecdb98fb9e0d0d563b1e61b438"
249
249
  },
250
250
  {
251
251
  "id": "build-facts",
@@ -277,7 +277,7 @@
277
277
  "path": "docs/lifecycle-protocol.md",
278
278
  "plane": "use",
279
279
  "exists": true,
280
- "digest": "sha256:4b7a8efe1d22751ded069f46a23490db70cda9e9e14641acab600ab781245b19"
280
+ "digest": "sha256:edff8787985801d060efe9c924d80ac1689f5f2305d853f645fe877bab34c207"
281
281
  },
282
282
  {
283
283
  "id": "reusable-build-surface",
@@ -285,7 +285,7 @@
285
285
  "path": "docs/reusable-build-surface.md",
286
286
  "plane": "use",
287
287
  "exists": true,
288
- "digest": "sha256:54cadd6e2f168ca40d9ed66d2f9848d5d56c9d05759bf0454f5027b1df274796"
288
+ "digest": "sha256:fc2649d0ae4dc6a08275bc1f2509efd3e9730227eaa8157ef64daf4b9c850264"
289
289
  },
290
290
  {
291
291
  "id": "publish-transaction",
@@ -333,7 +333,7 @@
333
333
  "path": "docs/runtime-train-validation.md",
334
334
  "plane": "verify",
335
335
  "exists": true,
336
- "digest": "sha256:f0a1cdb7fe5f72fc2ed921f1aeadbd16184dda16be3727e4193fa2af250325db"
336
+ "digest": "sha256:7df1e85785a1bd8d87c22359d63bcd1caf3fc6c4924d04b6802584b189f75a08"
337
337
  },
338
338
  {
339
339
  "id": "versioning",
@@ -341,7 +341,7 @@
341
341
  "path": "docs/versioning.md",
342
342
  "plane": "why",
343
343
  "exists": true,
344
- "digest": "sha256:7f6e377abf976e9eb9c5f0fd2baec96922ca44d9ab7dd08178608657fa858978"
344
+ "digest": "sha256:fa094ca11fe51b2f23b2154523414676d6f8c8fa50493c5027a469da9115a414"
345
345
  },
346
346
  {
347
347
  "id": "web-surface-deployments",
@@ -119,6 +119,7 @@
119
119
  "buildchain-expected-major",
120
120
  "buildchain-ref",
121
121
  "buildchain-repository",
122
+ "buildchain-visible-workflow",
122
123
  "cache-dependency-lock-root",
123
124
  "cache-policy-root",
124
125
  "cache-toolchain-root",
@@ -183,7 +184,7 @@
183
184
  "verify-substage-evidence-path",
184
185
  "working-directory"
185
186
  ],
186
- "inputCount": 90,
187
+ "inputCount": 91,
187
188
  "secrets": [
188
189
  "BUILDCHAIN_ARTIFACT_RELAY_S3_DOWNLOAD_ROLE_ARN",
189
190
  "BUILDCHAIN_ARTIFACT_RELAY_S3_ROLE_ARN",
@@ -239,9 +240,11 @@
239
240
  "release-manifest-json",
240
241
  "runner-preset",
241
242
  "runner-routing-json",
242
- "trusted-event"
243
+ "trusted-event",
244
+ "v4-consumer-policy-receipt-json",
245
+ "v4-consumer-policy-receipt-root"
243
246
  ],
244
- "outputCount": 43,
247
+ "outputCount": 45,
245
248
  "surface": "reusable-build",
246
249
  "capabilityGroup": "api-cli-reference",
247
250
  "status": "active",
@@ -466,6 +469,7 @@
466
469
  "branch-protection-bypass-apps",
467
470
  "branch-protection-bypass-teams",
468
471
  "branch-protection-bypass-users",
472
+ "buildchain-alpha-contract-lock-path",
469
473
  "buildchain-contract-compatibility-policy",
470
474
  "buildchain-contract-drift-issue-mode",
471
475
  "buildchain-contract-lock-path",
@@ -473,6 +477,7 @@
473
477
  "buildchain-expected-major",
474
478
  "buildchain-ref",
475
479
  "buildchain-repository",
480
+ "buildchain-stable-contract-lock-path",
476
481
  "channel",
477
482
  "declarative-release-tail",
478
483
  "dry-run",
@@ -491,6 +496,8 @@
491
496
  "promotion-publication-channel",
492
497
  "promotion-router-ref",
493
498
  "promotion-router-sha",
499
+ "promotion-runtime-authorization-json",
500
+ "promotion-runtime-authorization-root",
494
501
  "promotion-runtime-ref",
495
502
  "promotion-runtime-sha",
496
503
  "promotion-shell-ref",
@@ -556,6 +563,7 @@
556
563
  "release-passport-output-dir",
557
564
  "release-passport-platform-manifest-paths",
558
565
  "release-passport-product-name",
566
+ "release-passport-v4-runtime-resume-evidence-json",
559
567
  "release-propagation-config-path",
560
568
  "required-artifact-count",
561
569
  "required-status-check",
@@ -574,7 +582,7 @@
574
582
  "target-sha",
575
583
  "trusted-publishing"
576
584
  ],
577
- "inputCount": 113,
585
+ "inputCount": 118,
578
586
  "secrets": [
579
587
  "BUILDCHAIN_ISSUE_APP_ID",
580
588
  "BUILDCHAIN_ISSUE_APP_PRIVATE_KEY",
@@ -1252,6 +1260,7 @@
1252
1260
  "buildchain-ref",
1253
1261
  "buildchain-repository",
1254
1262
  "buildchain-stable-contract-lock-path",
1263
+ "buildchain-visible-workflow",
1255
1264
  "cache-dependency-lock-root",
1256
1265
  "cache-policy-root",
1257
1266
  "cache-toolchain-root",
@@ -1316,7 +1325,7 @@
1316
1325
  "verify-substage-evidence-path",
1317
1326
  "working-directory"
1318
1327
  ],
1319
- "inputCount": 93,
1328
+ "inputCount": 94,
1320
1329
  "secrets": [
1321
1330
  "BUILDCHAIN_ARTIFACT_RELAY_S3_DOWNLOAD_ROLE_ARN",
1322
1331
  "BUILDCHAIN_ARTIFACT_RELAY_S3_ROLE_ARN",
@@ -1375,9 +1384,11 @@
1375
1384
  "release-manifest-json",
1376
1385
  "runner-preset",
1377
1386
  "runner-routing-json",
1378
- "trusted-event"
1387
+ "trusted-event",
1388
+ "v4-consumer-policy-receipt-json",
1389
+ "v4-consumer-policy-receipt-root"
1379
1390
  ],
1380
- "outputCount": 46,
1391
+ "outputCount": 48,
1381
1392
  "surface": "channel-build-router",
1382
1393
  "capabilityGroup": "reusable-build",
1383
1394
  "status": "active",
@@ -1655,10 +1666,15 @@
1655
1666
  "mode",
1656
1667
  "node-version",
1657
1668
  "require-version-state",
1669
+ "source-proof-closure-paths-json",
1670
+ "source-proof-dependency-paths-json",
1671
+ "source-proof-policy-paths-json",
1672
+ "source-proof-required-contexts-json",
1673
+ "source-proof-reuse",
1658
1674
  "upload-artifacts",
1659
1675
  "working-directory"
1660
1676
  ],
1661
- "inputCount": 7,
1677
+ "inputCount": 12,
1662
1678
  "secrets": [],
1663
1679
  "secretCount": 0,
1664
1680
  "outputs": [
@@ -1668,9 +1684,14 @@
1668
1684
  "controller-receipt-artifact",
1669
1685
  "controller-receipt-digest",
1670
1686
  "controller-receipt-json",
1671
- "controller-receipt-status"
1687
+ "controller-receipt-status",
1688
+ "source-proof-decision-root",
1689
+ "source-proof-producer-run-id",
1690
+ "source-proof-reuse-reason",
1691
+ "source-proof-reused",
1692
+ "source-proof-root"
1672
1693
  ],
1673
- "outputCount": 7,
1694
+ "outputCount": 12,
1674
1695
  "surface": "repository-workflow",
1675
1696
  "capabilityGroup": "api-cli-reference",
1676
1697
  "status": "active",
@@ -1846,6 +1867,7 @@
1846
1867
  "path": ".github/workflows/dev-pr-auto-merge.yml",
1847
1868
  "reusable": true,
1848
1869
  "inputs": [
1870
+ "active-lease-context",
1849
1871
  "affected-paths-json",
1850
1872
  "allowed-head-prefixes",
1851
1873
  "assignment-root",
@@ -1879,7 +1901,7 @@
1879
1901
  "toolchain-root",
1880
1902
  "warrant-lease-seconds"
1881
1903
  ],
1882
- "inputCount": 32,
1904
+ "inputCount": 33,
1883
1905
  "secrets": [
1884
1906
  "github-token"
1885
1907
  ],
@@ -1968,7 +1990,7 @@
1968
1990
  "status": "preview",
1969
1991
  "owner": "buildchain-workflows",
1970
1992
  "maturity": "preview",
1971
- "introducedVersion": "4.0.0",
1993
+ "introducedVersion": "4.0.1-alpha.2",
1972
1994
  "compatibilityPromise": "preserved-through-the-v3-major-line",
1973
1995
  "deprecationReplacement": "",
1974
1996
  "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
@@ -1989,7 +2011,7 @@
1989
2011
  "status": "preview",
1990
2012
  "owner": "buildchain-workflows",
1991
2013
  "maturity": "preview",
1992
- "introducedVersion": "4.0.0",
2014
+ "introducedVersion": "4.0.1-alpha.2",
1993
2015
  "compatibilityPromise": "preserved-through-the-v3-major-line",
1994
2016
  "deprecationReplacement": "",
1995
2017
  "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
@@ -2010,7 +2032,7 @@
2010
2032
  "status": "preview",
2011
2033
  "owner": "buildchain-workflows",
2012
2034
  "maturity": "preview",
2013
- "introducedVersion": "4.0.0",
2035
+ "introducedVersion": "4.0.1-alpha.2",
2014
2036
  "compatibilityPromise": "preserved-through-the-v3-major-line",
2015
2037
  "deprecationReplacement": "",
2016
2038
  "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
@@ -2060,7 +2082,7 @@
2060
2082
  "status": "preview",
2061
2083
  "owner": "buildchain-workflows",
2062
2084
  "maturity": "preview",
2063
- "introducedVersion": "4.0.0",
2085
+ "introducedVersion": "4.0.1-alpha.2",
2064
2086
  "compatibilityPromise": "preserved-through-the-v3-major-line",
2065
2087
  "deprecationReplacement": "",
2066
2088
  "sunsetCondition": "explicit-breaking-change-review-in-a-future-major-line",
@@ -2440,11 +2462,13 @@
2440
2462
  "artifact-paths",
2441
2463
  "artifact-retention-days",
2442
2464
  "build-command",
2465
+ "buildchain-alpha-contract-lock-path",
2443
2466
  "buildchain-contract-compatibility-policy",
2444
2467
  "buildchain-contract-drift-issue-mode",
2445
2468
  "buildchain-contract-lock-path",
2446
2469
  "buildchain-ref",
2447
2470
  "buildchain-repository",
2471
+ "buildchain-stable-contract-lock-path",
2448
2472
  "node-version",
2449
2473
  "package-name",
2450
2474
  "prepare-paper-package",
@@ -2458,7 +2482,7 @@
2458
2482
  "verify-command",
2459
2483
  "working-directory"
2460
2484
  ],
2461
- "inputCount": 21,
2485
+ "inputCount": 23,
2462
2486
  "secrets": [],
2463
2487
  "secretCount": 0,
2464
2488
  "outputs": [
@@ -2581,6 +2605,7 @@
2581
2605
  "release-passport-output-dir",
2582
2606
  "release-passport-platform-manifest-paths",
2583
2607
  "release-passport-product-name",
2608
+ "release-passport-v4-runtime-resume-evidence-json",
2584
2609
  "release-propagation-config-path",
2585
2610
  "required-artifact-count",
2586
2611
  "required-status-check",
@@ -2599,7 +2624,7 @@
2599
2624
  "target-sha",
2600
2625
  "trusted-publishing"
2601
2626
  ],
2602
- "inputCount": 102,
2627
+ "inputCount": 103,
2603
2628
  "secrets": [
2604
2629
  "BUILDCHAIN_ISSUE_APP_ID",
2605
2630
  "BUILDCHAIN_ISSUE_APP_PRIVATE_KEY",
@@ -3150,6 +3175,9 @@
3150
3175
  "release-passport-platform-manifest-paths",
3151
3176
  "release-passport-product-name",
3152
3177
  "release-passport-promotion-routing-json",
3178
+ "release-passport-v4-consumer-policy-certification-json",
3179
+ "release-passport-v4-consumer-policy-certification-root",
3180
+ "release-passport-v4-runtime-resume-evidence-json",
3153
3181
  "release-tail-state-path",
3154
3182
  "require-governance",
3155
3183
  "require-publication-qualification",
@@ -3163,7 +3191,7 @@
3163
3191
  "transaction-state-path",
3164
3192
  "verification-command"
3165
3193
  ],
3166
- "inputCount": 80,
3194
+ "inputCount": 83,
3167
3195
  "capabilityGroup": "release-passport-trust",
3168
3196
  "status": "active",
3169
3197
  "owner": "buildchain-actions",
package/docs/MAP.md CHANGED
@@ -159,6 +159,8 @@ replace them.
159
159
  | How do self-hosted runners reuse local Git checkout caches without weakening source locks? | [`reusable-build-surface.md`](reusable-build-surface.md#locked-source-checkout-cache) | use | stable |
160
160
  | How do ephemeral GitHub-hosted runners share exact dependency or compiler caches without fixed-runner affinity? | [`cli.md`](cli.md#commands) | use/verify | preview |
161
161
  | How do I validate an unreleased Buildchain runtime train while keeping `@v3`? | [`runtime-train-validation.md`](runtime-train-validation.md) | use | stable |
162
+ | How do v4 consumers keep floating selectors while proving exact runtime and lock identity? | [`reusable-build-surface.md`](reusable-build-surface.md#v4-floating-consumer-admission) | verify/use | preview |
163
+ | How can a trusted v4 run use a transient exact runtime and resume sealed Stage Capsules after a floating ref moves? | [`v4-runtime-ref-resume-authority.md`](v4-runtime-ref-resume-authority.md) | use/verify | preview |
162
164
  | How do I automatically qualify alpha candidates and publish the newest non-revoked qualified candidate at a fixed window? | [`stable-candidate-patrol.md`](stable-candidate-patrol.md) | use | preview |
163
165
  | How do I deploy a site/app preview, staging, or production surface? | [`web-surface-deployments.md`](web-surface-deployments.md) | use | stable |
164
166
  | How do I publish observed infrastructure contracts for downstream consumers? | [`infra-contract.md`](infra-contract.md) | use | preview |
@@ -150,7 +150,25 @@ The reusable `dev-pr-auto-merge.yml` supports three explicit rollout modes:
150
150
  - `shadow` qualifies the source and emits a read-only queue submission plan;
151
151
  - `required` persists the submission, selects the Warrant, and refuses GitHub
152
152
  enqueue unless the immutable queue commit, state root, active Warrant, and
153
- selected candidate all pass exact readback validation.
153
+ selected candidate all pass exact readback validation. Immediately before
154
+ enqueue, the controller writes and reads back both the exact-head queue
155
+ admission status and the active lease status. Only after both are visible at
156
+ their required states does it reread the pull request head, protected base,
157
+ native merge queue, and current protected Warrant. The final rooted
158
+ admission transaction binds the frozen base, source head, Warrant fence and
159
+ generation, Project Cut proof, and both status contexts. Status propagation
160
+ is retried before enqueue; base, head, predecessor, lease, or Warrant drift
161
+ revokes both statuses without attempting enqueue.
162
+
163
+ Required-mode admission also performs a latest-base Project Cut immediately
164
+ before enqueue. If the protected base advanced, the controller reclassifies
165
+ the exact attributed delta against the Warrant-bound source proof. Only a disjoint,
166
+ fully attributed move may reuse that proof; overlap, unknown attribution,
167
+ missing composition, or merge conflict fails with a stable pre-enqueue reason.
168
+ The rooted Project Cut receipt binds the frozen and admitted base SHAs,
169
+ GitHub's exact synthetic merge commit and replay tree, and the unchanged PR
170
+ head. A final base/head/queue/Warrant compare-and-swap readback must still
171
+ match that receipt before the enqueue mutation is attempted.
154
172
 
155
173
  Consumers should deploy `shadow` first, inspect receipts, then change their
156
174
  protected caller to `required`. Rollback is a reviewed caller change back to