@kungfu-tech/buildchain 3.0.0 → 3.0.1-alpha.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 (35) hide show
  1. package/README.md +3 -0
  2. package/dist/site/buildchain-contract.json +101 -26
  3. package/dist/site/buildchain-site.json +93 -17
  4. package/dist/site/capability-registry.json +6 -5
  5. package/dist/site/controller-registry.json +23 -3
  6. package/dist/site/kfd-claims.json +92 -11
  7. package/dist/site/kfd-upstream-aggregate.json +1 -1
  8. package/dist/site/manual-registry.json +17 -3
  9. package/dist/site/node-api-registry.json +19 -6
  10. package/dist/site/page-registry.json +77 -9
  11. package/dist/site/public-surface-audit.json +61 -9
  12. package/dist/site/publication-authority-registry.json +19 -1
  13. package/dist/site/publication-registry.json +4 -4
  14. package/dist/site/release-provenance.json +1 -0
  15. package/dist/site/site-manifest.json +15 -7
  16. package/dist/site/workflow-registry.json +52 -5
  17. package/docs/MAP.md +1 -0
  18. package/docs/auditable-demo.md +155 -0
  19. package/docs/github-governance-authority.md +2 -2
  20. package/docs/release-activation-transaction.md +38 -0
  21. package/docs/versioning.md +1 -0
  22. package/package.json +2 -1
  23. package/packages/core/buildchain-config.js +14 -0
  24. package/packages/core/buildchain-contract.js +45 -0
  25. package/packages/core/buildchain-kfd-claims.js +1 -0
  26. package/packages/core/buildchain-publication-authority.js +1 -0
  27. package/packages/core/github-governance-authority.js +3 -3
  28. package/packages/core/index.js +14 -0
  29. package/packages/core/release-activation-transaction.js +421 -0
  30. package/scripts/auditable-demo.mjs +576 -0
  31. package/scripts/check-inventory.mjs +4 -0
  32. package/scripts/generate-site-bundle.mjs +5 -0
  33. package/scripts/installer-publication.mjs +15 -5
  34. package/scripts/publication-commit-evidence.mjs +298 -12
  35. package/scripts/resolve-artifact-coordinates.mjs +174 -0
package/README.md CHANGED
@@ -224,6 +224,9 @@ The active reusable workflow surfaces are:
224
224
  - `.github/workflows/.gate-profile.yml` for project-neutral Shifu Gate profile
225
225
  planning, capability-aware runner dispatch, receipt validation, and one
226
226
  stable aggregate check;
227
+ - `.github/workflows/.auditable-demo.yml` for exact-artifact demo
228
+ qualification, transcript-bound renderer smoke, and optional media rendering
229
+ from the exact passing Gate bundle;
227
230
  - `.github/workflows/.build.yml` for deterministic multi-platform build and
228
231
  artifact contracts;
229
232
  - `.github/workflows/build.yml` for the single-config channel router that uses
@@ -4,7 +4,7 @@
4
4
  "product": {
5
5
  "name": "Buildchain",
6
6
  "package": "@kungfu-tech/buildchain",
7
- "version": "3.0.0",
7
+ "version": "3.0.1-alpha.1",
8
8
  "repository": "https://github.com/kungfu-systems/buildchain"
9
9
  },
10
10
  "majorLine": "v3",
@@ -50,7 +50,7 @@
50
50
  "retryable GitHub fallback fetches use a bounded attempt budget before exact source SHA and tree verification"
51
51
  ],
52
52
  "breakingDigest": "sha256:a6a35370d6b0d0f46e1b2712dcc01961fe53c2febde95409a27a485c10a36650",
53
- "auditDigest": "sha256:1e1386b49f8f3ea813f8157afb96cecec7609b6efe01f07895c893c097b1ed66"
53
+ "auditDigest": "sha256:a7041273c13b8f5cfe9bfb881c5d56193ec26559fac1ba29c838fe44aa11afe5"
54
54
  },
55
55
  {
56
56
  "contractVersion": 1,
@@ -89,7 +89,7 @@
89
89
  "alpha and stable channel selections use separate consumer contract locks by default"
90
90
  ],
91
91
  "breakingDigest": "sha256:c4597dfa89e1a58f1023905092b849644f5c080abf150aeba9c7e1cd5ed43962",
92
- "auditDigest": "sha256:1f29079465cb11004db3f1a6ec4f37b1900fdd90d3278d8d0bacb223757bffa5"
92
+ "auditDigest": "sha256:e0d7c74d69eeec495e8fcd39b232dbfa18af59665a1ebb0b1d373906c1aa474f"
93
93
  },
94
94
  {
95
95
  "contractVersion": 1,
@@ -170,7 +170,7 @@
170
170
  "GitHub Release passport and evidence publication is delegated to promote-buildchain-ref after the semver release transaction completes"
171
171
  ],
172
172
  "breakingDigest": "sha256:acd401cfc46450115a3763fd4b679d85f185e8757ebd52510d6262e1533df4cf",
173
- "auditDigest": "sha256:fb1e6e05c16df3e357a9b47d2c8335b99e23b2ccf8d92432b0cbc655fa9196a1"
173
+ "auditDigest": "sha256:4c9bb53df611d9d224c301f664a8b026284c677a803f488dc24d42b80756df94"
174
174
  },
175
175
  {
176
176
  "contractVersion": 1,
@@ -212,7 +212,7 @@
212
212
  "promotion reuses PR-stage release-candidate artifacts and does not run the heavy native build matrix"
213
213
  ],
214
214
  "breakingDigest": "sha256:aa30f22e3af0a89841310bdbdc900844dd95a66974db173fa140a71bbd7e82c0",
215
- "auditDigest": "sha256:821aa9a8b69fc2fb0fdea3fe569133b9f084be6bb0e4543e1583372c10d2316f"
215
+ "auditDigest": "sha256:c3b618429257e3a332f0f9d0827fb17fc7762ec215c64f849f6f51874aa3a1d3"
216
216
  },
217
217
  {
218
218
  "contractVersion": 1,
@@ -256,7 +256,57 @@
256
256
  "channel-aware artifact host facts are checked against the deploy plan before adapter side effects"
257
257
  ],
258
258
  "breakingDigest": "sha256:da569f90374e878948e3d5160ed9929338ce0572473ca8ee54867b0fe1aaeace",
259
- "auditDigest": "sha256:063dfe24e1ccdd95b4ffbf89a154aa71197c8bd1cb98b4705d8663917c026366"
259
+ "auditDigest": "sha256:92432be1f049d261434c986f79e55899f2097ca7b66f1261666fc5b85d685889"
260
+ },
261
+ {
262
+ "contractVersion": 1,
263
+ "stability": "stable",
264
+ "additiveChanges": "optional inputs, optional outputs, diagnostics, and documentation may be added within the same major line",
265
+ "id": "auditable-demo",
266
+ "kind": "workflow",
267
+ "path": ".github/workflows/.auditable-demo.yml",
268
+ "publicRef": "kungfu-systems/buildchain/.github/workflows/.auditable-demo.yml@v3",
269
+ "requiredInputs": [
270
+ "source-artifact-name",
271
+ "source-artifact-digest",
272
+ "adapter-path",
273
+ "renderer-image"
274
+ ],
275
+ "requiredOutputs": [
276
+ "source-sha",
277
+ "gate-artifact-name",
278
+ "gate-artifact-id",
279
+ "gate-artifact-digest",
280
+ "gate-artifact-url",
281
+ "gate-root",
282
+ "media-artifact-name",
283
+ "media-artifact-id",
284
+ "media-artifact-digest",
285
+ "media-artifact-url",
286
+ "media-root"
287
+ ],
288
+ "breakingDefaults": {
289
+ "trustedEventRequired": true,
290
+ "renderMediaDefault": false,
291
+ "artifactRetentionDaysDefault": 14,
292
+ "gatePolicy": "required-before-selective-render"
293
+ },
294
+ "optionalInputs": [
295
+ "buildchain-repository",
296
+ "source-ref",
297
+ "render-media",
298
+ "artifact-retention-days",
299
+ "require-trusted-event"
300
+ ],
301
+ "guarantees": [
302
+ "the source GitHub Artifact is admitted by exact same-run name and archive digest",
303
+ "the checked-in consumer adapter runs from the exact consumer source with a disposable home and reduced environment",
304
+ "every invocation runs an immutable network-disabled renderer smoke before emitting a qualified Gate bundle",
305
+ "complete media rendering is optional and consumes only an exact passing Gate bundle",
306
+ "Gate and media bundles expose both GitHub Artifact archive coordinates and deterministic member roots"
307
+ ],
308
+ "breakingDigest": "sha256:a68f34d3dc24e0e0cd0040f978c174b62bf29a0472cebe1c43751e62408e6af6",
309
+ "auditDigest": "sha256:1969981087ee484411daae60797430d0f762d3a328c438dc723f2794d6d41f51"
260
310
  },
261
311
  {
262
312
  "contractVersion": 1,
@@ -641,7 +691,7 @@
641
691
  "manual entries carry source file digests so downstream sites and agents can detect stale hand-written documentation"
642
692
  ],
643
693
  "breakingDigest": "sha256:7d0d2819e3a3e72989d9c57b5efe9d0bc0a79bc0f2c82a0c7b9d6c5a211a91f2",
644
- "auditDigest": "sha256:29b45afe77400b5b38872574cdf7ccfcf8abc93b7f78ad32d994a6636a4f9f68"
694
+ "auditDigest": "sha256:fb9bda6574fabd7ef1a80a14165febaf6e3da636fd409491b341b0f85382369f"
645
695
  },
646
696
  {
647
697
  "contractVersion": 1,
@@ -663,7 +713,7 @@
663
713
  "agents can discover supported Node APIs without importing internal file paths"
664
714
  ],
665
715
  "breakingDigest": "sha256:48f925608d3e2131d90936b07dc2a30341204cae3e6e785c0f77d61ad755c945",
666
- "auditDigest": "sha256:9e45dffc31b061f2c074cbc50e2d2b61da67250504f20cff475c4648fea4ae65"
716
+ "auditDigest": "sha256:610a259dc3ac21d1913763f24e6459bacbbf0a62feef4228353e88909052e893"
667
717
  },
668
718
  {
669
719
  "contractVersion": 1,
@@ -714,7 +764,7 @@
714
764
  "controllerDescriptor": {
715
765
  "contract": "buildchain.controller-descriptor/v1",
716
766
  "digest": "sha256:373723a73d188194d389dee04c394d3b79cb0c016a370f2f5d0f60979a02ed48",
717
- "registryDigest": "sha256:5dc72042c6cd7d50fc4b77d186e14b676b48be0ac8c88ee85eb54ea1b428e144",
767
+ "registryDigest": "sha256:4b5425a3111fa55d3c9244c4af08effa9045362680bd0833a30d718aba256600",
718
768
  "inputClassifications": {
719
769
  "buildchain-ref": {
720
770
  "classification": "included",
@@ -873,7 +923,7 @@
873
923
  "controllerDescriptor": {
874
924
  "contract": "buildchain.controller-descriptor/v1",
875
925
  "digest": "sha256:a06607b6ebd3fb00b77519098c81d6fb5e9943ec268aebb1e5fdbefef6e598ad",
876
- "registryDigest": "sha256:5dc72042c6cd7d50fc4b77d186e14b676b48be0ac8c88ee85eb54ea1b428e144",
926
+ "registryDigest": "sha256:4b5425a3111fa55d3c9244c4af08effa9045362680bd0833a30d718aba256600",
877
927
  "inputClassifications": {
878
928
  "BUILDCHAIN_ARTIFACT_RELAY_S3_DOWNLOAD_ROLE_ARN": {
879
929
  "classification": "redacted",
@@ -1179,7 +1229,7 @@
1179
1229
  "missing receipts are non-qualifying and must not be represented as a successful controller run"
1180
1230
  ],
1181
1231
  "breakingDigest": "sha256:30745921541e9b0f70475bb2178c2559f6aef248f6680670ccd44d8c5a69a6b1",
1182
- "auditDigest": "sha256:1e1386b49f8f3ea813f8157afb96cecec7609b6efe01f07895c893c097b1ed66"
1232
+ "auditDigest": "sha256:a7041273c13b8f5cfe9bfb881c5d56193ec26559fac1ba29c838fe44aa11afe5"
1183
1233
  },
1184
1234
  {
1185
1235
  "contractVersion": 1,
@@ -1297,7 +1347,7 @@
1297
1347
  "controllerDescriptor": {
1298
1348
  "contract": "buildchain.controller-descriptor/v1",
1299
1349
  "digest": "sha256:4fc6c33bf5b429f8087ac752d5cf2a19f4a1cc30db01aae927a28cee1cf924f0",
1300
- "registryDigest": "sha256:5dc72042c6cd7d50fc4b77d186e14b676b48be0ac8c88ee85eb54ea1b428e144",
1350
+ "registryDigest": "sha256:4b5425a3111fa55d3c9244c4af08effa9045362680bd0833a30d718aba256600",
1301
1351
  "inputClassifications": {
1302
1352
  "BUILDCHAIN_ARTIFACT_RELAY_S3_DOWNLOAD_ROLE_ARN": {
1303
1353
  "classification": "redacted",
@@ -1612,7 +1662,7 @@
1612
1662
  "missing receipts are non-qualifying and must not be represented as a successful controller run"
1613
1663
  ],
1614
1664
  "breakingDigest": "sha256:d40dd05d7e07473d4b2dc1b62fbb0ed6f06449b4d3a7c44a2e8014313e3c0273",
1615
- "auditDigest": "sha256:1f29079465cb11004db3f1a6ec4f37b1900fdd90d3278d8d0bacb223757bffa5"
1665
+ "auditDigest": "sha256:e0d7c74d69eeec495e8fcd39b232dbfa18af59665a1ebb0b1d373906c1aa474f"
1616
1666
  },
1617
1667
  {
1618
1668
  "contractVersion": 1,
@@ -1671,7 +1721,7 @@
1671
1721
  "controllerDescriptor": {
1672
1722
  "contract": "buildchain.controller-descriptor/v1",
1673
1723
  "digest": "sha256:29569f4b754595792a16742d1c4c63838b54601674a2cb6c96261a72c962dece",
1674
- "registryDigest": "sha256:5dc72042c6cd7d50fc4b77d186e14b676b48be0ac8c88ee85eb54ea1b428e144",
1724
+ "registryDigest": "sha256:4b5425a3111fa55d3c9244c4af08effa9045362680bd0833a30d718aba256600",
1675
1725
  "inputClassifications": {
1676
1726
  "artifact-name": {
1677
1727
  "classification": "included",
@@ -1827,6 +1877,7 @@
1827
1877
  "production-release-on-main",
1828
1878
  "production-release-pr-mode",
1829
1879
  "production-release-pr-token",
1880
+ "production-source-sha",
1830
1881
  "publication-admission-json",
1831
1882
  "publication-control-plane-audit-json",
1832
1883
  "publication-expected-json",
@@ -1842,8 +1893,8 @@
1842
1893
  ],
1843
1894
  "controllerDescriptor": {
1844
1895
  "contract": "buildchain.controller-descriptor/v1",
1845
- "digest": "sha256:65cc01e6d2b622277d67237e4811e82d24d2289d55c2f7d2dfb72325c610b2ea",
1846
- "registryDigest": "sha256:5dc72042c6cd7d50fc4b77d186e14b676b48be0ac8c88ee85eb54ea1b428e144",
1896
+ "digest": "sha256:c5274b37f04d0054559fdc8698c51bd0f0d8ae470baf163e9caa7699aa970575",
1897
+ "registryDigest": "sha256:4b5425a3111fa55d3c9244c4af08effa9045362680bd0833a30d718aba256600",
1847
1898
  "inputClassifications": {
1848
1899
  "artifact-path": {
1849
1900
  "classification": "digest-only",
@@ -1961,6 +2012,10 @@
1961
2012
  "classification": "redacted",
1962
2013
  "source": "workflow-call-input"
1963
2014
  },
2015
+ "production-source-sha": {
2016
+ "classification": "included",
2017
+ "source": "workflow-call-input"
2018
+ },
1964
2019
  "publication-admission-json": {
1965
2020
  "classification": "digest-only",
1966
2021
  "source": "workflow-call-input"
@@ -2018,7 +2073,7 @@
2018
2073
  "missing receipts are non-qualifying and must not be represented as a successful controller run"
2019
2074
  ],
2020
2075
  "breakingDigest": "sha256:f14825324a16b51c2e9ed708ebe64e1932e05b6d5e0866f83aea8439decb4a27",
2021
- "auditDigest": "sha256:063dfe24e1ccdd95b4ffbf89a154aa71197c8bd1cb98b4705d8663917c026366"
2076
+ "auditDigest": "sha256:92432be1f049d261434c986f79e55899f2097ca7b66f1261666fc5b85d685889"
2022
2077
  },
2023
2078
  {
2024
2079
  "contractVersion": 1,
@@ -2083,7 +2138,7 @@
2083
2138
  "controllerDescriptor": {
2084
2139
  "contract": "buildchain.controller-descriptor/v1",
2085
2140
  "digest": "sha256:6b132790b9798e8a5dfbe095701d8e024c160a08bc7c4bd477ee79feef7a9cfd",
2086
- "registryDigest": "sha256:5dc72042c6cd7d50fc4b77d186e14b676b48be0ac8c88ee85eb54ea1b428e144",
2141
+ "registryDigest": "sha256:4b5425a3111fa55d3c9244c4af08effa9045362680bd0833a30d718aba256600",
2087
2142
  "inputClassifications": {
2088
2143
  "artifact-name": {
2089
2144
  "classification": "included",
@@ -2265,7 +2320,7 @@
2265
2320
  "controllerDescriptor": {
2266
2321
  "contract": "buildchain.controller-descriptor/v1",
2267
2322
  "digest": "sha256:6d71409659fbf8543c7e520b0c493d8afe86bdf60286b860bb917f0041ebc173",
2268
- "registryDigest": "sha256:5dc72042c6cd7d50fc4b77d186e14b676b48be0ac8c88ee85eb54ea1b428e144",
2323
+ "registryDigest": "sha256:4b5425a3111fa55d3c9244c4af08effa9045362680bd0833a30d718aba256600",
2269
2324
  "inputClassifications": {
2270
2325
  "artifact-name": {
2271
2326
  "classification": "included",
@@ -2540,10 +2595,14 @@
2540
2595
  "publish-required-artifacts-json",
2541
2596
  "publish-target",
2542
2597
  "publish-transaction-override",
2598
+ "release-activation-command",
2599
+ "release-activation-receipt-set-path",
2543
2600
  "release-candidate-workflow-file",
2544
2601
  "release-candidate-workflow-name",
2545
2602
  "release-passport",
2546
2603
  "release-passport-buildchain-self-kfd",
2604
+ "release-passport-evidence-command",
2605
+ "release-passport-evidence-path",
2547
2606
  "release-passport-impact-json",
2548
2607
  "release-passport-invariant-passport-command",
2549
2608
  "release-passport-invariant-passport-jsons",
@@ -2565,8 +2624,8 @@
2565
2624
  ],
2566
2625
  "controllerDescriptor": {
2567
2626
  "contract": "buildchain.controller-descriptor/v1",
2568
- "digest": "sha256:0fcfcb36cad335e6ffe50b087d17f8bce9d6bd711e285740b28ce05bf9be7c6e",
2569
- "registryDigest": "sha256:5dc72042c6cd7d50fc4b77d186e14b676b48be0ac8c88ee85eb54ea1b428e144",
2627
+ "digest": "sha256:2bae7310eb27f48a3afc6b7f993872d6b6121cf3f67ad4d6e2da35b254c4d047",
2628
+ "registryDigest": "sha256:4b5425a3111fa55d3c9244c4af08effa9045362680bd0833a30d718aba256600",
2570
2629
  "inputClassifications": {
2571
2630
  "BUILDCHAIN_ISSUE_APP_ID": {
2572
2631
  "classification": "redacted",
@@ -2836,6 +2895,14 @@
2836
2895
  "classification": "included",
2837
2896
  "source": "workflow-call-input"
2838
2897
  },
2898
+ "release-activation-command": {
2899
+ "classification": "digest-only",
2900
+ "source": "workflow-call-input"
2901
+ },
2902
+ "release-activation-receipt-set-path": {
2903
+ "classification": "digest-only",
2904
+ "source": "workflow-call-input"
2905
+ },
2839
2906
  "release-candidate-workflow-file": {
2840
2907
  "classification": "included",
2841
2908
  "source": "workflow-call-input"
@@ -2852,6 +2919,14 @@
2852
2919
  "classification": "included",
2853
2920
  "source": "workflow-call-input"
2854
2921
  },
2922
+ "release-passport-evidence-command": {
2923
+ "classification": "digest-only",
2924
+ "source": "workflow-call-input"
2925
+ },
2926
+ "release-passport-evidence-path": {
2927
+ "classification": "digest-only",
2928
+ "source": "workflow-call-input"
2929
+ },
2855
2930
  "release-passport-impact-json": {
2856
2931
  "classification": "digest-only",
2857
2932
  "source": "workflow-call-input"
@@ -2933,7 +3008,7 @@
2933
3008
  "missing receipts are non-qualifying and must not be represented as a successful controller run"
2934
3009
  ],
2935
3010
  "breakingDigest": "sha256:015d8de793adbd4c539416be7d7512e18cc92097e629b0203fa06d2c183e98bd",
2936
- "auditDigest": "sha256:821aa9a8b69fc2fb0fdea3fe569133b9f084be6bb0e4543e1583372c10d2316f"
3011
+ "auditDigest": "sha256:c3b618429257e3a332f0f9d0827fb17fc7762ec215c64f849f6f51874aa3a1d3"
2937
3012
  },
2938
3013
  {
2939
3014
  "contractVersion": 1,
@@ -2994,7 +3069,7 @@
2994
3069
  "controllerDescriptor": {
2995
3070
  "contract": "buildchain.controller-descriptor/v1",
2996
3071
  "digest": "sha256:f97656a8df0758c8e404d5b7c387529256a1ec45d1748f8efb6847a3256b1216",
2997
- "registryDigest": "sha256:5dc72042c6cd7d50fc4b77d186e14b676b48be0ac8c88ee85eb54ea1b428e144",
3072
+ "registryDigest": "sha256:4b5425a3111fa55d3c9244c4af08effa9045362680bd0833a30d718aba256600",
2998
3073
  "inputClassifications": {
2999
3074
  "buildchain-ref": {
3000
3075
  "classification": "included",
@@ -3117,7 +3192,7 @@
3117
3192
  "controllerDescriptor": {
3118
3193
  "contract": "buildchain.controller-descriptor/v1",
3119
3194
  "digest": "sha256:b6f53563c0adc859bc586c05fce560a5094d7d9666438d63c5fd3e1fc4774555",
3120
- "registryDigest": "sha256:5dc72042c6cd7d50fc4b77d186e14b676b48be0ac8c88ee85eb54ea1b428e144",
3195
+ "registryDigest": "sha256:4b5425a3111fa55d3c9244c4af08effa9045362680bd0833a30d718aba256600",
3121
3196
  "inputClassifications": {}
3122
3197
  },
3123
3198
  "guarantees": [
@@ -3130,6 +3205,6 @@
3130
3205
  "auditDigest": "sha256:e07a5db56a71bd0ac79c81f12619938055361bf0a0ed8e5891f88ca1c51f1c93"
3131
3206
  }
3132
3207
  ],
3133
- "compatibilityDigest": "sha256:199fd83a7da33b0f654692ca973b33155e376ed50f0ce1f5864e1b6b18e0500a",
3134
- "contractDigest": "sha256:914720131f07664cd187a1033f357c4952ef1008f5553cb6b285a75f786a7fbc"
3208
+ "compatibilityDigest": "sha256:008b1c5a90a787cf30106829ac7aca68ab501f6d9c375e415d9c5c6b89039f46",
3209
+ "contractDigest": "sha256:14ac2f1299fc7772aab64917715b391eb9ed9d785f4fcaf2224e57cf4447ed6a"
3135
3210
  }