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

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 (98) hide show
  1. package/README.md +9 -6
  2. package/actions/v4-release-candidate-promote/README.md +3 -0
  3. package/architecture/agent-change-map.md +1015 -0
  4. package/architecture/ci-lane-change-budget.json +70 -1
  5. package/architecture/decisions/0004-v4-declarative-release-tail.md +47 -0
  6. package/architecture/internal-capabilities.json +156 -11
  7. package/architecture/maintainability-debt.json +3229 -0
  8. package/architecture/maintainability-policy.json +480 -129
  9. package/architecture/v3-core-mechanism-inventory.json +4 -3
  10. package/architecture/v3-v4-capability-closure.md +59 -0
  11. package/architecture/v3-v4-live-capability-inventory.json +102404 -0
  12. package/architecture/v4-cross-platform-adopter-qualification.json +52 -0
  13. package/architecture/v4-delivery-warrant-shadow-fixtures.json +3 -3
  14. package/architecture/v4-runtime-semantic-closure.json +710 -0
  15. package/bin/internal/trust-release-release-handlers.mjs +5 -0
  16. package/contracts/fixtures/v4-tail-reseal-v1/valid.json +1 -1
  17. package/contracts/v4-publication-qualification-v1.schema.json +51 -0
  18. package/dist/site/agent-index.json +1 -0
  19. package/dist/site/artifact-schemas.json +2 -0
  20. package/dist/site/buildchain-contract.json +123 -32
  21. package/dist/site/buildchain-site.json +96 -28
  22. package/dist/site/capability-registry.json +6 -6
  23. package/dist/site/cli-registry.json +5 -2
  24. package/dist/site/controller-registry.json +41 -5
  25. package/dist/site/kfd-claims.json +170 -21
  26. package/dist/site/kfd-upstream-aggregate.json +1 -1
  27. package/dist/site/manual-registry.json +6 -6
  28. package/dist/site/node-api-registry.json +1474 -215
  29. package/dist/site/page-registry.json +85 -17
  30. package/dist/site/public-surface-audit.json +85 -20
  31. package/dist/site/publication-authority-registry.json +28 -1
  32. package/dist/site/publication-registry.json +4 -4
  33. package/dist/site/release-provenance.json +5 -0
  34. package/dist/site/schemas/v4-publication-qualification-v1.schema.json +51 -0
  35. package/dist/site/site-manifest.json +10 -10
  36. package/dist/site/workflow-registry.json +94 -18
  37. package/docs/MAP.md +1 -1
  38. package/docs/cli-reference.md +4 -4
  39. package/docs/dev-delivery-warrant.md +12 -9
  40. package/docs/node-api-reference.md +291 -206
  41. package/docs/publish-transaction.md +11 -4
  42. package/docs/release-candidate.md +7 -0
  43. package/docs/v4-adopter-delivery.md +23 -4
  44. package/docs/v4-declarative-release-tail-migration.md +43 -0
  45. package/package.json +8 -3
  46. package/packages/core/adopter-delivery-passport.js +36 -0
  47. package/packages/core/buildchain-contract.js +31 -1
  48. package/packages/core/buildchain-publication-authority.js +1 -0
  49. package/packages/core/dev-delivery-warrant-settlement.js +239 -3
  50. package/packages/core/dev-delivery-warrant-state.js +15 -2
  51. package/packages/core/dev-delivery-warrant.js +21 -4
  52. package/packages/core/github-governance-authority.js +4 -4
  53. package/packages/core/index.js +1 -0
  54. package/packages/core/paper-scaffold-content.js +401 -0
  55. package/packages/core/paper.js +12 -378
  56. package/packages/core/publication-control-plane-audit.js +135 -111
  57. package/packages/core/publication-rehearsal-projection.js +104 -0
  58. package/packages/core/publication-rehearsal-runtime.js +190 -0
  59. package/packages/core/release-candidate-recovery.js +6 -5
  60. package/packages/core/release-passport.js +82 -184
  61. package/packages/core/v4-cross-platform-adopter-qualification.js +343 -0
  62. package/packages/core/v4-floating-consumer-policy.js +3 -2
  63. package/packages/core/v4-floating-consumer-release-passport.js +134 -15
  64. package/packages/core/v4-publication-qualification.js +222 -0
  65. package/scripts/artifact-signing-controller-core.mjs +1 -1
  66. package/scripts/audit-publication-control-plane.mjs +17 -17
  67. package/scripts/buildchain-cli-help.mjs +3 -0
  68. package/scripts/check-internal-architecture.mjs +23 -3
  69. package/scripts/check-inventory.mjs +23 -5
  70. package/scripts/check-maintainability.mjs +145 -4
  71. package/scripts/check-project-cut-merge-queue-admission.mjs +87 -0
  72. package/scripts/check-v3-v4-capability-inventory.mjs +574 -0
  73. package/scripts/check-v4-floating-consumer-policy-contract.mjs +10 -3
  74. package/scripts/check-v4-runtime-semantic-closure.mjs +266 -0
  75. package/scripts/dev-delivery-warrant-options.mjs +27 -11
  76. package/scripts/dev-delivery-warrant.mjs +45 -5
  77. package/scripts/dev-pr-auto-merge.mjs +25 -11
  78. package/scripts/dev-pr-delivery-warrant.mjs +44 -0
  79. package/scripts/dev-pr-prequeue-guard.mjs +0 -18
  80. package/scripts/dispatch-artifact-signing-authority.mjs +1 -1
  81. package/scripts/generate-agent-change-map.mjs +118 -0
  82. package/scripts/generate-release-candidate-passport.mjs +26 -1
  83. package/scripts/generate-site-bundle.mjs +6 -0
  84. package/scripts/maintainability-domain-metrics.mjs +237 -0
  85. package/scripts/maintainability-governance.mjs +473 -0
  86. package/scripts/maintainability-metrics.mjs +28 -6
  87. package/scripts/project-cut-merge-queue-admission.mjs +394 -0
  88. package/scripts/promotion-routing-evidence.mjs +35 -6
  89. package/scripts/release-candidate-resolver.mjs +44 -0
  90. package/scripts/release-line-policy.mjs +25 -15
  91. package/scripts/release-tail.mjs +19 -2
  92. package/scripts/resume-from-candidate-run.mjs +106 -103
  93. package/scripts/run-lifecycle-core.mjs +341 -376
  94. package/scripts/site-capability-metadata.mjs +4 -0
  95. package/scripts/stable-candidate-qualification.mjs +9 -10
  96. package/scripts/v3-v4-capability-catalog.mjs +439 -0
  97. package/scripts/v4-cross-platform-adopter-qualification.mjs +228 -0
  98. package/scripts/v4-declarative-promotion-admission.mjs +42 -0
@@ -4,9 +4,9 @@
4
4
  "status": "passed",
5
5
  "summary": {
6
6
  "cliCommandCount": 117,
7
- "workflowCount": 76,
8
- "actionCount": 7,
9
- "sitePageCount": 82,
7
+ "workflowCount": 77,
8
+ "actionCount": 8,
9
+ "sitePageCount": 84,
10
10
  "docCommandRefCount": 1049,
11
11
  "failureCount": 0
12
12
  },
@@ -690,6 +690,8 @@
690
690
  "build-command",
691
691
  "buildchain-contract-compatibility-policy",
692
692
  "buildchain-contract-drift-issue-mode",
693
+ "buildchain-contract-expected-channel",
694
+ "buildchain-contract-expected-major",
693
695
  "buildchain-contract-lock-path",
694
696
  "buildchain-expected-channel",
695
697
  "buildchain-expected-major",
@@ -760,7 +762,7 @@
760
762
  "verify-substage-evidence-path",
761
763
  "working-directory"
762
764
  ],
763
- "inputCount": 91,
765
+ "inputCount": 93,
764
766
  "secrets": [
765
767
  "BUILDCHAIN_ARTIFACT_RELAY_S3_DOWNLOAD_ROLE_ARN",
766
768
  "BUILDCHAIN_ARTIFACT_RELAY_S3_ROLE_ARN",
@@ -932,6 +934,7 @@
932
934
  "reusable": true,
933
935
  "inputs": [
934
936
  "admission-json",
937
+ "authority-job-id",
935
938
  "authority-workflow-path",
936
939
  "auto-admission",
937
940
  "auto-admission-kind",
@@ -969,7 +972,7 @@
969
972
  "target-ref",
970
973
  "used-nonces-json"
971
974
  ],
972
- "inputCount": 37,
975
+ "inputCount": 38,
973
976
  "secrets": [
974
977
  "BUILDCHAIN_GOVERNANCE_READ_TOKEN",
975
978
  "KUNGFU_GOVERNANCE_AUDITOR_APP_PRIVATE_KEY"
@@ -1029,6 +1032,7 @@
1029
1032
  "promotion-shell-ref",
1030
1033
  "promotion-shell-sha",
1031
1034
  "promotion-target-ref",
1035
+ "provider-failure-after-capability",
1032
1036
  "publication-admission-json",
1033
1037
  "publication-authority-workflow-path",
1034
1038
  "publication-auto-admission",
@@ -1070,6 +1074,7 @@
1070
1074
  "release-candidate-workflow-file",
1071
1075
  "release-candidate-workflow-name",
1072
1076
  "release-passport",
1077
+ "release-passport-adopter-delivery-json",
1073
1078
  "release-passport-attachment-command",
1074
1079
  "release-passport-buildchain-self-kfd",
1075
1080
  "release-passport-evidence-command",
@@ -1083,6 +1088,7 @@
1083
1088
  "release-passport-kfd-3-artifact-verify-command",
1084
1089
  "release-passport-kfd-3-artifact-witness-jsons",
1085
1090
  "release-passport-kfd-3-prebuild-witness-jsons",
1091
+ "release-passport-kfd-adopter-manifest-gate-json",
1086
1092
  "release-passport-kfd-adopter-manifest-json",
1087
1093
  "release-passport-kfd-product-gate-jsons",
1088
1094
  "release-passport-kfd-support-matrix-json",
@@ -1108,7 +1114,7 @@
1108
1114
  "target-sha",
1109
1115
  "trusted-publishing"
1110
1116
  ],
1111
- "inputCount": 118,
1117
+ "inputCount": 121,
1112
1118
  "secrets": [
1113
1119
  "BUILDCHAIN_ISSUE_APP_ID",
1114
1120
  "BUILDCHAIN_ISSUE_APP_PRIVATE_KEY",
@@ -1397,6 +1403,8 @@
1397
1403
  "build-command",
1398
1404
  "buildchain-contract-compatibility-policy",
1399
1405
  "buildchain-contract-drift-issue-mode",
1406
+ "buildchain-contract-expected-channel",
1407
+ "buildchain-contract-expected-major",
1400
1408
  "buildchain-contract-lock-path",
1401
1409
  "buildchain-ref",
1402
1410
  "buildchain-repository",
@@ -1434,7 +1442,7 @@
1434
1442
  "verify-command",
1435
1443
  "working-directory"
1436
1444
  ],
1437
- "inputCount": 41,
1445
+ "inputCount": 43,
1438
1446
  "secrets": [
1439
1447
  "production-release-app-private-key"
1440
1448
  ],
@@ -1600,6 +1608,8 @@
1600
1608
  "buildchain-channel",
1601
1609
  "buildchain-contract-compatibility-policy",
1602
1610
  "buildchain-contract-drift-issue-mode",
1611
+ "buildchain-contract-expected-channel",
1612
+ "buildchain-contract-expected-major",
1603
1613
  "buildchain-contract-lock-path",
1604
1614
  "buildchain-expected-channel",
1605
1615
  "buildchain-expected-major",
@@ -1671,7 +1681,7 @@
1671
1681
  "verify-substage-evidence-path",
1672
1682
  "working-directory"
1673
1683
  ],
1674
- "inputCount": 94,
1684
+ "inputCount": 96,
1675
1685
  "secrets": [
1676
1686
  "BUILDCHAIN_ARTIFACT_RELAY_S3_DOWNLOAD_ROLE_ARN",
1677
1687
  "BUILDCHAIN_ARTIFACT_RELAY_S3_ROLE_ARN",
@@ -2034,9 +2044,10 @@
2034
2044
  "outputs": [
2035
2045
  "close-receipt-root",
2036
2046
  "final-state-root",
2037
- "integration-proof-root"
2047
+ "integration-proof-root",
2048
+ "successor-wake-json"
2038
2049
  ],
2039
- "outputCount": 3
2050
+ "outputCount": 4
2040
2051
  },
2041
2052
  {
2042
2053
  "id": "dev-merge-queue-governance",
@@ -2062,6 +2073,7 @@
2062
2073
  "buildchain-ref",
2063
2074
  "buildchain-repository",
2064
2075
  "closure-root",
2076
+ "defer-landing",
2065
2077
  "delivery-class",
2066
2078
  "delivery-priority",
2067
2079
  "delivery-warrant-mode",
@@ -2098,7 +2110,7 @@
2098
2110
  "toolchain-root",
2099
2111
  "warrant-lease-seconds"
2100
2112
  ],
2101
- "inputCount": 43,
2113
+ "inputCount": 44,
2102
2114
  "secrets": [
2103
2115
  "github-token"
2104
2116
  ],
@@ -2589,6 +2601,7 @@
2589
2601
  "github-release-payload-patterns",
2590
2602
  "github-release-title",
2591
2603
  "package-manager",
2604
+ "provider-failure-after-capability",
2592
2605
  "publication-admission-json",
2593
2606
  "publication-auto-admission",
2594
2607
  "publication-auto-no-gate",
@@ -2629,6 +2642,7 @@
2629
2642
  "release-candidate-workflow-file",
2630
2643
  "release-candidate-workflow-name",
2631
2644
  "release-passport",
2645
+ "release-passport-adopter-delivery-json",
2632
2646
  "release-passport-attachment-command",
2633
2647
  "release-passport-buildchain-self-kfd",
2634
2648
  "release-passport-evidence-command",
@@ -2642,6 +2656,7 @@
2642
2656
  "release-passport-kfd-3-artifact-verify-command",
2643
2657
  "release-passport-kfd-3-artifact-witness-jsons",
2644
2658
  "release-passport-kfd-3-prebuild-witness-jsons",
2659
+ "release-passport-kfd-adopter-manifest-gate-json",
2645
2660
  "release-passport-kfd-adopter-manifest-json",
2646
2661
  "release-passport-kfd-product-gate-jsons",
2647
2662
  "release-passport-kfd-support-matrix-json",
@@ -2667,7 +2682,7 @@
2667
2682
  "target-sha",
2668
2683
  "trusted-publishing"
2669
2684
  ],
2670
- "inputCount": 103,
2685
+ "inputCount": 106,
2671
2686
  "secrets": [
2672
2687
  "BUILDCHAIN_ISSUE_APP_ID",
2673
2688
  "BUILDCHAIN_ISSUE_APP_PRIVATE_KEY",
@@ -2820,7 +2835,11 @@
2820
2835
  "inputs": [
2821
2836
  "buildchain-ref",
2822
2837
  "candidate-root",
2838
+ "capsule-contract",
2839
+ "capsule-path",
2840
+ "capsule-root",
2823
2841
  "declaration-path",
2842
+ "evidence-path",
2824
2843
  "execute",
2825
2844
  "provider-bindings-path",
2826
2845
  "rehearsal-authority-path",
@@ -2829,18 +2848,20 @@
2829
2848
  "rehearsal-mode",
2830
2849
  "state-path"
2831
2850
  ],
2832
- "inputCount": 10,
2851
+ "inputCount": 14,
2833
2852
  "secrets": [
2834
2853
  "http-token"
2835
2854
  ],
2836
2855
  "secretCount": 1,
2837
2856
  "outputs": [
2857
+ "binding-root",
2858
+ "evidence-root",
2838
2859
  "rehearsal-evidence-root",
2839
2860
  "state-root",
2840
2861
  "transaction-root",
2841
2862
  "transaction-state"
2842
2863
  ],
2843
- "outputCount": 4
2864
+ "outputCount": 6
2844
2865
  },
2845
2866
  {
2846
2867
  "id": "release-verify",
@@ -2932,10 +2953,24 @@
2932
2953
  "archive-path",
2933
2954
  "bootstrap-path",
2934
2955
  "consumer",
2956
+ "consumer-ref",
2957
+ "consumer-repository",
2935
2958
  "input-path",
2959
+ "invocation-source-path",
2936
2960
  "node-version"
2937
2961
  ],
2938
- "inputCount": 5,
2962
+ "inputCount": 8,
2963
+ "secrets": [],
2964
+ "secretCount": 0,
2965
+ "outputs": [],
2966
+ "outputCount": 0
2967
+ },
2968
+ {
2969
+ "id": "v4-declarative-release-tail-dogfood",
2970
+ "path": ".github/workflows/v4-declarative-release-tail-dogfood.yml",
2971
+ "reusable": false,
2972
+ "inputs": [],
2973
+ "inputCount": 0,
2939
2974
  "secrets": [],
2940
2975
  "secretCount": 0,
2941
2976
  "outputs": [],
@@ -3082,6 +3117,7 @@
3082
3117
  "github-release-artifact-paths",
3083
3118
  "github-release-notes",
3084
3119
  "github-release-title",
3120
+ "plan-before-target-advance",
3085
3121
  "promote-only-release-candidate",
3086
3122
  "publication-capability-json",
3087
3123
  "publication-gate-aggregate-json",
@@ -3115,6 +3151,7 @@
3115
3151
  "release-candidate-version",
3116
3152
  "release-material-sha",
3117
3153
  "release-passport",
3154
+ "release-passport-adopter-delivery-json",
3118
3155
  "release-passport-attachment-command",
3119
3156
  "release-passport-build-summary-path",
3120
3157
  "release-passport-buildchain-self-kfd",
@@ -3129,6 +3166,7 @@
3129
3166
  "release-passport-kfd-3-artifact-verify-command",
3130
3167
  "release-passport-kfd-3-artifact-witness-jsons",
3131
3168
  "release-passport-kfd-3-prebuild-witness-jsons",
3169
+ "release-passport-kfd-adopter-manifest-gate-json",
3132
3170
  "release-passport-kfd-adopter-manifest-json",
3133
3171
  "release-passport-kfd-product-gate-jsons",
3134
3172
  "release-passport-kfd-support-matrix-json",
@@ -3153,14 +3191,18 @@
3153
3191
  "transaction-state-path",
3154
3192
  "verification-command"
3155
3193
  ],
3156
- "inputCount": 84
3194
+ "inputCount": 87
3157
3195
  },
3158
3196
  {
3159
3197
  "id": "release-tail",
3160
3198
  "path": "actions/release-tail/action.yml",
3161
3199
  "inputs": [
3162
3200
  "candidate-root",
3201
+ "capsule",
3202
+ "capsule-contract",
3203
+ "capsule-root",
3163
3204
  "declaration",
3205
+ "evidence-path",
3164
3206
  "execute",
3165
3207
  "github-token",
3166
3208
  "http-token",
@@ -3171,7 +3213,7 @@
3171
3213
  "rehearsal-mode",
3172
3214
  "state-path"
3173
3215
  ],
3174
- "inputCount": 11
3216
+ "inputCount": 15
3175
3217
  },
3176
3218
  {
3177
3219
  "id": "report-buildchain-issue",
@@ -3252,6 +3294,21 @@
3252
3294
  ],
3253
3295
  "inputCount": 22
3254
3296
  },
3297
+ {
3298
+ "id": "v4-release-candidate-promote",
3299
+ "path": "actions/v4-release-candidate-promote/action.yml",
3300
+ "inputs": [
3301
+ "artifact-paths",
3302
+ "candidate-passport-path",
3303
+ "failure-after-capability",
3304
+ "publication-qualification-path",
3305
+ "repository",
3306
+ "stage-capsules-path",
3307
+ "state-path",
3308
+ "token"
3309
+ ],
3310
+ "inputCount": 8
3311
+ },
3255
3312
  {
3256
3313
  "id": "validate-config",
3257
3314
  "path": "actions/validate-config/action.yml",
@@ -3288,6 +3345,10 @@
3288
3345
  "id": "action:run-lifecycle",
3289
3346
  "category": "action"
3290
3347
  },
3348
+ {
3349
+ "id": "action:v4-release-candidate-promote",
3350
+ "category": "action"
3351
+ },
3291
3352
  {
3292
3353
  "id": "action:validate-config",
3293
3354
  "category": "action"
@@ -3552,6 +3613,10 @@
3552
3613
  "id": "manual:v4-compatibility-facts",
3553
3614
  "category": "manual"
3554
3615
  },
3616
+ {
3617
+ "id": "manual:v4-declarative-release-tail-migration",
3618
+ "category": "manual"
3619
+ },
3555
3620
  {
3556
3621
  "id": "manual:v4-delivery-warrant-read-candidate",
3557
3622
  "category": "manual"
@@ -8845,9 +8910,9 @@
8845
8910
  "cliRegistryPath": "dist/site/cli-registry.json",
8846
8911
  "workflowRegistryPath": "dist/site/workflow-registry.json",
8847
8912
  "pageRegistryPath": "dist/site/page-registry.json",
8848
- "cliRegistryDigest": "ea47a31ce7ef3577f23e22055ab7be7715c3af494bcef63f76b426f2883086aa",
8849
- "workflowRegistryDigest": "784b4c05237bc35ec8069be1ff85bb4fb40a5aa298ffd9495b5e5aa94bec3277",
8850
- "pageRegistryDigest": "9d9d0590c8d3110fc5a95978852ee25337567f93980b2562cc1159f0d5219ade"
8913
+ "cliRegistryDigest": "fbc23073bbae240489a2f826b2c26daadc58e704050c5f8df366509f5c5a1c3e",
8914
+ "workflowRegistryDigest": "90bcf16d6aef5528c10a7e78f21a89ab265ae2d4f8aedc15da9f6c4c2f0b3083",
8915
+ "pageRegistryDigest": "82bd43842f419ff14cb2d1931a194647cf427fe3b18b6388efd5b50552c13351"
8851
8916
  },
8852
8917
  "comparison": {
8853
8918
  "missingCliRegistry": [],
@@ -731,6 +731,24 @@
731
731
  "environmentMode": "fixed",
732
732
  "runnerPolicy": "unqualified",
733
733
  "notes": ""
734
+ },
735
+ {
736
+ "workflowPath": ".github/workflows/v4-declarative-release-tail-dogfood.yml",
737
+ "authorityClass": "product-publication",
738
+ "publicationCapable": true,
739
+ "capabilityIds": [
740
+ "artifact.publish",
741
+ "release.activate",
742
+ "released-evidence.synthesize",
743
+ "signed-channel.commit"
744
+ ],
745
+ "credentialMode": "caller-secrets",
746
+ "publisherWorkflowMode": "fixed",
747
+ "publisherWorkflowPath": ".github/workflows/v4-declarative-release-tail-dogfood.yml",
748
+ "environment": "none",
749
+ "environmentMode": "fixed",
750
+ "runnerPolicy": "qualified-measured",
751
+ "notes": ""
734
752
  }
735
753
  ],
736
754
  "workflowFacts": [
@@ -1207,6 +1225,15 @@
1207
1225
  "signals": [],
1208
1226
  "classified": false
1209
1227
  },
1228
+ {
1229
+ "path": ".github/workflows/v4-declarative-release-tail-dogfood.yml",
1230
+ "signals": [
1231
+ "write-permission",
1232
+ "oidc",
1233
+ "npm-publish"
1234
+ ],
1235
+ "classified": true
1236
+ },
1210
1237
  {
1211
1238
  "path": ".github/workflows/v4-public-consumer-dogfood.yml",
1212
1239
  "signals": [],
@@ -1233,5 +1260,5 @@
1233
1260
  "classified": false
1234
1261
  }
1235
1262
  ],
1236
- "registryDigest": "9c930540ed2366db36802ce03cac597657e45ff402c14ef13099c788ed4e2501"
1263
+ "registryDigest": "4f60d125496eb73e47dc21ceafa340e5cd7c5fd840eabfa17044dbacedd97f5a"
1237
1264
  }
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "contract": "kungfu-buildchain-publication-release-registry",
4
- "generatedAt": "2026-08-22T08:48:35.017Z",
5
- "publishedAt": "2026-08-22T08:48:35.017Z",
4
+ "generatedAt": "2026-08-28T20:22:42.731Z",
5
+ "publishedAt": "2026-08-28T20:22:42.731Z",
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": "62b29172d459584f3d7a89616d6c4d3b5e577d8b",
22
+ "sourceRevision": "9df599a42bebd6595ed92a598a569c40651d8c12",
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.1-alpha.8",
35
+ "version": "4.0.1",
36
36
  "versionSource": "package.json#version"
37
37
  },
38
38
  "sourceKind": "package-site-bundle",
@@ -45,6 +45,9 @@
45
45
  "./v4-tail-reseal": "./packages/core/v4-tail-reseal.js",
46
46
  "./v4-tail-reseal-receipt": "./packages/core/v4-tail-reseal-receipt.js",
47
47
  "./v4-publication-rehearsal": "./packages/core/v4-publication-rehearsal.js",
48
+ "./publication-rehearsal-runtime": "./packages/core/publication-rehearsal-runtime.js",
49
+ "./publication-rehearsal-projection": "./packages/core/publication-rehearsal-projection.js",
50
+ "./v4-publication-qualification": "./packages/core/v4-publication-qualification.js",
48
51
  "./adopter-delivery-gate": "./packages/core/adopter-delivery-gate.js",
49
52
  "./kfd-adopter-category-driver": "./packages/core/kfd-adopter-category-driver.js",
50
53
  "./buildchain-delivery-infrastructure": "./packages/core/buildchain-delivery-infrastructure.js",
@@ -55,6 +58,7 @@
55
58
  "./adopter-delivery-passport": "./packages/core/adopter-delivery-passport.js",
56
59
  "./adopter-delivery-vectors": "./packages/core/adopter-delivery-vectors.js",
57
60
  "./v4-adopter-delivery": "./packages/core/v4-adopter-delivery.js",
61
+ "./v4-cross-platform-adopter-qualification": "./packages/core/v4-cross-platform-adopter-qualification.js",
58
62
  "./logging": "./packages/core/logging.js",
59
63
  "./portable-dev-cache": "./packages/core/portable-dev-cache.js",
60
64
  "./publication-artifact": "./packages/core/publication-artifact.js",
@@ -111,6 +115,7 @@
111
115
  "./site/schemas/v4-publication-rehearsal-capsule-v1.schema.json": "./dist/site/schemas/v4-publication-rehearsal-capsule-v1.schema.json",
112
116
  "./site/schemas/v4-adopter-delivery-v1.schema.json": "./dist/site/schemas/v4-adopter-delivery-v1.schema.json",
113
117
  "./site/schemas/release-tail-capabilities-v1.schema.json": "./dist/site/schemas/release-tail-capabilities-v1.schema.json",
118
+ "./site/schemas/v4-publication-qualification-v1.schema.json": "./dist/site/schemas/v4-publication-qualification-v1.schema.json",
114
119
  "./site/buildchain-contract.json": "./dist/site/buildchain-contract.json",
115
120
  "./site/product-mechanism.json": "./dist/site/product-mechanism.json",
116
121
  "./site/release-provenance.json": "./dist/site/release-provenance.json",
@@ -0,0 +1,51 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://kungfu.link/schemas/buildchain/v4-publication-qualification-v1.schema.json",
4
+ "title": "Buildchain v4 Publication Qualification Receipt",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schema",
9
+ "repository",
10
+ "candidateRoot",
11
+ "sourceSha",
12
+ "sourceRoot",
13
+ "policyDigest",
14
+ "artifacts",
15
+ "issuedAt",
16
+ "expiresAt",
17
+ "artifactRoot",
18
+ "receiptRoot"
19
+ ],
20
+ "properties": {
21
+ "schema": { "const": "kungfu.buildchain.v4-publication-qualification/v1" },
22
+ "repository": { "type": "string", "pattern": "^[^/\\s]+/[^/\\s]+$" },
23
+ "candidateRoot": { "$ref": "#/$defs/root" },
24
+ "sourceSha": { "type": "string", "pattern": "^[0-9a-f]{40}$" },
25
+ "sourceRoot": { "$ref": "#/$defs/root" },
26
+ "policyDigest": { "$ref": "#/$defs/root" },
27
+ "artifacts": {
28
+ "type": "array",
29
+ "minItems": 1,
30
+ "items": { "$ref": "#/$defs/artifact" }
31
+ },
32
+ "issuedAt": { "type": "string", "format": "date-time" },
33
+ "expiresAt": { "type": "string", "format": "date-time" },
34
+ "artifactRoot": { "$ref": "#/$defs/root" },
35
+ "receiptRoot": { "$ref": "#/$defs/root" }
36
+ },
37
+ "$defs": {
38
+ "root": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
39
+ "artifact": {
40
+ "type": "object",
41
+ "additionalProperties": false,
42
+ "required": ["role", "platform", "artifactRoot", "manifestRoot"],
43
+ "properties": {
44
+ "role": { "type": "string", "minLength": 1 },
45
+ "platform": { "type": "string", "minLength": 1 },
46
+ "artifactRoot": { "$ref": "#/$defs/root" },
47
+ "manifestRoot": { "$ref": "#/$defs/root" }
48
+ }
49
+ }
50
+ }
51
+ }
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "contract": "kungfu-buildchain-site-manifest",
4
- "generatedAt": "2026-08-22T08:48:35.017Z",
5
- "publishedAt": "2026-08-22T08:48:35.017Z",
4
+ "generatedAt": "2026-08-28T20:22:42.731Z",
5
+ "publishedAt": "2026-08-28T20:22:42.731Z",
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": "62b29172d459584f3d7a89616d6c4d3b5e577d8b",
22
+ "sourceRevision": "9df599a42bebd6595ed92a598a569c40651d8c12",
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.1-alpha.8",
40
+ "version": "4.0.1",
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:a04d321dbec562807cb29b748039839d097a97d2c9d2f0e76d6d22f2845055ba"
56
+ "digest": "sha256:cbbc69f9f88b6f7fe8c065de495aa15c30bae46208a81e757b254d43bc6d8ebe"
57
57
  },
58
58
  {
59
59
  "id": "getting-started",
@@ -125,7 +125,7 @@
125
125
  "path": "docs/release-candidate.md",
126
126
  "plane": "verify",
127
127
  "exists": true,
128
- "digest": "sha256:d76bbd75aab3c4dd94756c1c64562a125e74369c7c8b97342dbcacc5d7561602"
128
+ "digest": "sha256:4e79bc9094c929e43c819045e2a2d4132430cd9b307db62e5e21573b7d0a6f53"
129
129
  },
130
130
  {
131
131
  "id": "release-train",
@@ -245,7 +245,7 @@
245
245
  "path": "docs/cli-reference.md",
246
246
  "plane": "use",
247
247
  "exists": true,
248
- "digest": "sha256:ec16f350596692989cf5eade945e7bbeee157a661c6d8faa55c8249b14ef5632"
248
+ "digest": "sha256:1be0e552967733d9d6e5bf460c84b866fdfb60966ac16177b43370c1367de321"
249
249
  },
250
250
  {
251
251
  "id": "node-api-reference",
@@ -253,7 +253,7 @@
253
253
  "path": "docs/node-api-reference.md",
254
254
  "plane": "use",
255
255
  "exists": true,
256
- "digest": "sha256:da744d2071ab7871eccbf6b3049a4d8a44b21daa477598fa9327a28b7d89ae67"
256
+ "digest": "sha256:e9683e04409d60ee1a4e60f89766c158586cf1eb91fc890f0b2660814f05dbdb"
257
257
  },
258
258
  {
259
259
  "id": "build-facts",
@@ -301,7 +301,7 @@
301
301
  "path": "docs/v4-adopter-delivery.md",
302
302
  "plane": "verify",
303
303
  "exists": true,
304
- "digest": "sha256:c74a004657f64d29ba2a47f599223e5ab132daf2881cf0564c85c04b22a69e6e"
304
+ "digest": "sha256:aa8881cb2c9529aefd33147b5bd6f94e8f1ab567a4550bdbd01253252353465e"
305
305
  },
306
306
  {
307
307
  "id": "publish-transaction",
@@ -309,7 +309,7 @@
309
309
  "path": "docs/publish-transaction.md",
310
310
  "plane": "verify",
311
311
  "exists": true,
312
- "digest": "sha256:72466943bb459f6857f23ac6f92bcf4714dcd2f535c38a9f0e34864b36404e06"
312
+ "digest": "sha256:635de0da30769e4e6f956748ec9758338a1ae7921bce73268c2d914ae240693d"
313
313
  },
314
314
  {
315
315
  "id": "release-tail-contract",