@kungfu-tech/buildchain 3.0.2-alpha.1 → 3.0.2-alpha.10

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 (78) hide show
  1. package/README.md +4 -2
  2. package/actions/github-artifact-attestation/README.md +10 -0
  3. package/actions/promote-buildchain-ref/README.md +7 -0
  4. package/bin/buildchain.mjs +5 -0
  5. package/bin/internal/trust-release-cli.mjs +74 -3
  6. package/contracts/auditable-demo-media-profiles-v1.json +168 -0
  7. package/contracts/evidence/auditable-demo-web-delivery-v1.json +103 -0
  8. package/contracts/fixtures/auditable-demo-web-delivery-v1/complete-transcript.txt +2 -0
  9. package/contracts/fixtures/auditable-demo-web-delivery-v1/public-projection.json +16 -0
  10. package/contracts/fixtures/auditable-demo-web-delivery-v1/scene.json +12 -0
  11. package/dist/site/artifact-schemas.json +5 -1
  12. package/dist/site/buildchain-contract.json +103 -34
  13. package/dist/site/buildchain-site.json +159 -40
  14. package/dist/site/capability-registry.json +13 -12
  15. package/dist/site/cli-registry.json +12 -0
  16. package/dist/site/controller-registry.json +48 -4
  17. package/dist/site/kfd-claims.json +320 -20
  18. package/dist/site/kfd-upstream-aggregate.json +1 -1
  19. package/dist/site/manual-registry.json +24 -9
  20. package/dist/site/node-api-registry.json +75 -10
  21. package/dist/site/page-registry.json +135 -25
  22. package/dist/site/public-surface-audit.json +197 -21
  23. package/dist/site/publication-authority-registry.json +72 -2
  24. package/dist/site/publication-registry.json +4 -4
  25. package/dist/site/release-model.json +2 -1
  26. package/dist/site/release-passport-check-manifest.json +1 -0
  27. package/dist/site/release-provenance.json +5 -0
  28. package/dist/site/schemas/release-passport-v1.schema.json +6 -0
  29. package/dist/site/site-manifest.json +21 -13
  30. package/dist/site/workflow-registry.json +161 -13
  31. package/docs/MAP.md +5 -1
  32. package/docs/auditable-demo.md +55 -3
  33. package/docs/binary-distribution.md +7 -0
  34. package/docs/cli.md +9 -0
  35. package/docs/dev-alpha-candidate-patrol.md +111 -0
  36. package/docs/github-artifact-attestation.md +219 -0
  37. package/docs/release-governance.md +32 -0
  38. package/docs/release-passport.md +13 -0
  39. package/docs/reusable-build-surface.md +83 -61
  40. package/docs/runtime-train-validation.md +21 -0
  41. package/docs/versioning.md +1 -0
  42. package/package.json +7 -1
  43. package/packages/core/artifact-signing-result.js +228 -0
  44. package/packages/core/artifact-signing.js +412 -0
  45. package/packages/core/buildchain-config.js +58 -0
  46. package/packages/core/buildchain-contract.js +14 -0
  47. package/packages/core/buildchain-kfd-claims.js +5 -0
  48. package/packages/core/buildchain-publication-authority.js +3 -0
  49. package/packages/core/channel-candidate.js +186 -0
  50. package/packages/core/detached-artifact-signature.js +121 -0
  51. package/packages/core/github-artifact-attestation.js +642 -0
  52. package/packages/core/github-governance-authority.js +6 -0
  53. package/packages/core/index.js +52 -0
  54. package/packages/core/publication-authority.js +1 -1
  55. package/packages/core/release-passport-contract.js +2 -0
  56. package/packages/core/release-passport.js +60 -3
  57. package/scripts/auditable-demo.mjs +520 -28
  58. package/scripts/build-contract-core.mjs +31 -0
  59. package/scripts/buildchain-channel-router.mjs +8 -2
  60. package/scripts/check-inventory.mjs +9 -0
  61. package/scripts/create-github-artifact-attestation-policy.mjs +62 -0
  62. package/scripts/dev-alpha-candidate-patrol.mjs +864 -0
  63. package/scripts/dispatch-artifact-signing-authority.mjs +152 -0
  64. package/scripts/finalize-native-artifact-signing-result.mjs +96 -0
  65. package/scripts/generate-channel-promotion-workflow.mjs +6 -0
  66. package/scripts/generate-site-bundle.mjs +19 -0
  67. package/scripts/import-artifact-signing-results.mjs +76 -0
  68. package/scripts/inspect-artifact-signing-requests.mjs +101 -0
  69. package/scripts/materialize-artifact-signing-request.mjs +66 -0
  70. package/scripts/merge-artifact-signing-results.mjs +76 -0
  71. package/scripts/publish-github-artifact-attestation-evidence.mjs +201 -0
  72. package/scripts/release-candidate-resolver.mjs +12 -0
  73. package/scripts/release-line-policy.mjs +27 -0
  74. package/scripts/runtime-ref-core.mjs +10 -6
  75. package/scripts/seal-artifact-signing-requests.mjs +368 -0
  76. package/scripts/sign-detached-artifact-requests.mjs +237 -0
  77. package/scripts/stage-github-artifact-attestation-inputs.mjs +65 -0
  78. package/scripts/verify-artifact-signing-results.mjs +99 -0
@@ -15,7 +15,7 @@
15
15
  "maturity": "stable",
16
16
  "counts": {
17
17
  "manualCount": 3,
18
- "pageCount": 10,
18
+ "pageCount": 11,
19
19
  "cliCommandCount": 5,
20
20
  "nodeApiCount": 0,
21
21
  "workflowCount": 0,
@@ -47,15 +47,16 @@
47
47
  ],
48
48
  "maturity": "stable",
49
49
  "counts": {
50
- "manualCount": 4,
51
- "pageCount": 4,
52
- "cliCommandCount": 21,
53
- "nodeApiCount": 8,
54
- "workflowCount": 2,
55
- "actionCount": 1
50
+ "manualCount": 5,
51
+ "pageCount": 5,
52
+ "cliCommandCount": 22,
53
+ "nodeApiCount": 11,
54
+ "workflowCount": 3,
55
+ "actionCount": 2
56
56
  },
57
57
  "manuals": [
58
58
  "docs/release-passport.md",
59
+ "docs/github-artifact-attestation.md",
59
60
  "docs/publication-authority.md",
60
61
  "docs/binary-distribution.md",
61
62
  "docs/publish-transaction.md"
@@ -84,7 +85,7 @@
84
85
  "manualCount": 5,
85
86
  "pageCount": 17,
86
87
  "cliCommandCount": 4,
87
- "nodeApiCount": 5,
88
+ "nodeApiCount": 6,
88
89
  "workflowCount": 4,
89
90
  "actionCount": 2
90
91
  },
@@ -251,8 +252,8 @@
251
252
  "manualCount": 8,
252
253
  "pageCount": 8,
253
254
  "cliCommandCount": 8,
254
- "nodeApiCount": 4,
255
- "workflowCount": 11,
255
+ "nodeApiCount": 5,
256
+ "workflowCount": 12,
256
257
  "actionCount": 0
257
258
  },
258
259
  "manuals": [
@@ -287,10 +288,10 @@
287
288
  "maturity": "stable",
288
289
  "counts": {
289
290
  "manualCount": 1,
290
- "pageCount": 7,
291
+ "pageCount": 8,
291
292
  "cliCommandCount": 0,
292
293
  "nodeApiCount": 2,
293
- "workflowCount": 35,
294
+ "workflowCount": 37,
294
295
  "actionCount": 1
295
296
  },
296
297
  "manuals": [
@@ -1085,6 +1085,18 @@
1085
1085
  ],
1086
1086
  "maturity": "stable"
1087
1087
  },
1088
+ {
1089
+ "id": "verify-github-artifact-attestation",
1090
+ "source": "bin/buildchain.mjs",
1091
+ "usage": "buildchain verify github-artifact-attestation <artifact>",
1092
+ "purpose": "Verify GitHub keyless attestation identity plus local artifact, manifest, Passport, predicate, bundle, and evidence bindings.",
1093
+ "capabilityGroup": "release-passport-trust",
1094
+ "audience": [
1095
+ "agent",
1096
+ "operator"
1097
+ ],
1098
+ "maturity": "stable"
1099
+ },
1088
1100
  {
1089
1101
  "id": "verify-infra-contract-evidence-bundle",
1090
1102
  "source": "bin/buildchain.mjs",
@@ -118,6 +118,10 @@
118
118
  "classification": "redacted",
119
119
  "source": "workflow-call-secret"
120
120
  },
121
+ "BUILDCHAIN_PROMOTION_TOKEN": {
122
+ "classification": "redacted",
123
+ "source": "workflow-call-secret"
124
+ },
121
125
  "artifact-name": {
122
126
  "classification": "included",
123
127
  "source": "workflow-call-input"
@@ -266,6 +270,18 @@
266
270
  "classification": "digest-only",
267
271
  "source": "workflow-call-input"
268
272
  },
273
+ "github-artifact-attestation-platform-id": {
274
+ "classification": "included",
275
+ "source": "workflow-call-input"
276
+ },
277
+ "github-artifact-attestation-signer-sha": {
278
+ "classification": "included",
279
+ "source": "workflow-call-input"
280
+ },
281
+ "github-artifact-attestation-subject-path": {
282
+ "classification": "digest-only",
283
+ "source": "workflow-call-input"
284
+ },
269
285
  "install-command": {
270
286
  "classification": "digest-only",
271
287
  "source": "workflow-call-input"
@@ -439,7 +455,7 @@
439
455
  "controller-receipt"
440
456
  ]
441
457
  },
442
- "digest": "sha256:7ab36c233a4a448f3894e19c3e6a3b5f765095d2a8628cbbe421e4b82fe3e4b9"
458
+ "digest": "sha256:146718143cc50e48ac57154aade4a4b06a8df4e036708a150233098d3c1cb6f7"
443
459
  },
444
460
  {
445
461
  "schemaVersion": 1,
@@ -483,6 +499,10 @@
483
499
  "classification": "redacted",
484
500
  "source": "workflow-call-secret"
485
501
  },
502
+ "BUILDCHAIN_PROMOTION_TOKEN": {
503
+ "classification": "redacted",
504
+ "source": "workflow-call-secret"
505
+ },
486
506
  "artifact-name": {
487
507
  "classification": "included",
488
508
  "source": "workflow-call-input"
@@ -643,6 +663,18 @@
643
663
  "classification": "digest-only",
644
664
  "source": "workflow-call-input"
645
665
  },
666
+ "github-artifact-attestation-platform-id": {
667
+ "classification": "included",
668
+ "source": "workflow-call-input"
669
+ },
670
+ "github-artifact-attestation-signer-sha": {
671
+ "classification": "included",
672
+ "source": "workflow-call-input"
673
+ },
674
+ "github-artifact-attestation-subject-path": {
675
+ "classification": "digest-only",
676
+ "source": "workflow-call-input"
677
+ },
646
678
  "install-command": {
647
679
  "classification": "digest-only",
648
680
  "source": "workflow-call-input"
@@ -797,7 +829,7 @@
797
829
  "controller-receipt"
798
830
  ]
799
831
  },
800
- "digest": "sha256:9e5d5244c54d6613024beb43613afcae8d9cfb5cae7799c7a83a2799034ad64f"
832
+ "digest": "sha256:55b3189412e7da7769a8de60bd1ba4cf52d726d8b79c0a720598e49742aa72a0"
801
833
  },
802
834
  {
803
835
  "schemaVersion": 1,
@@ -1626,6 +1658,18 @@
1626
1658
  "classification": "included",
1627
1659
  "source": "workflow-call-input"
1628
1660
  },
1661
+ "github-artifact-attestation-environment": {
1662
+ "classification": "digest-only",
1663
+ "source": "workflow-call-input"
1664
+ },
1665
+ "github-artifact-attestation-policy-json": {
1666
+ "classification": "digest-only",
1667
+ "source": "workflow-call-input"
1668
+ },
1669
+ "github-artifact-attestation-retention-days": {
1670
+ "classification": "included",
1671
+ "source": "workflow-call-input"
1672
+ },
1629
1673
  "github-governance-receipt-json": {
1630
1674
  "classification": "digest-only",
1631
1675
  "source": "workflow-call-input"
@@ -1956,7 +2000,7 @@
1956
2000
  "controller-receipt"
1957
2001
  ]
1958
2002
  },
1959
- "digest": "sha256:4bd94f0bb1790c87af758b71aa592a3e22fdcd84a9851931d252e3f60cba8d40"
2003
+ "digest": "sha256:00baae93d9ed75129fdaed6fcc33285e515b8c7de84816831a39e660941dd7ae"
1960
2004
  },
1961
2005
  {
1962
2006
  "schemaVersion": 1,
@@ -2132,5 +2176,5 @@
2132
2176
  "digest": "sha256:b6f53563c0adc859bc586c05fce560a5094d7d9666438d63c5fd3e1fc4774555"
2133
2177
  }
2134
2178
  ],
2135
- "digest": "sha256:fcd7a66644c922460625b5bce0b3ceaa20bc84e87681bf949e807bd8c358fcf4"
2179
+ "digest": "sha256:c637b908f2be506f3bd56a7e41995450c4d7011f3badc232712884e4fb7039b4"
2136
2180
  }