@kungfu-tech/buildchain 2.13.0-alpha.0 → 2.13.0-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.
@@ -161,6 +161,19 @@ contract:
161
161
  specific package publication. Direct `alpha/*` or `release/*` channel refs are
162
162
  not valid publish source locks when `require-publish-source-lock` is enabled,
163
163
  and a mismatched `publish-source-sha` fails before any promotion or publish side effects begin.
164
+
165
+ Consumers that opt in to a product-owned final predicate set
166
+ `require-publication-qualification: "true"` and pass the exact sealed
167
+ `publication-capability-json`, complete `publication-gate-aggregate-json`, and
168
+ `publication-qualification-receipt-json`. The action validates their canonical
169
+ digests, predicate identity, freshness, nonce, source, version, channel, target,
170
+ and evidence bindings both before provider access and immediately before the
171
+ publish transaction. Missing or drifted receipts fail before mutation. The
172
+ reusable `release-candidate-promote.yml` workflow creates these values in a
173
+ separate credentialless consumer job; direct callers must preserve the same
174
+ contract and may pass previously consumed nonces through
175
+ `publication-used-qualification-nonces-json`.
176
+
164
177
  The reusable promote workflow serializes non-dry-run promotion intents per
165
178
  repository and re-reads `target-ref` before checkout, dependency installation,
166
179
  release-candidate resolution, or publish-gate writes. If a queued intent asks
@@ -4,7 +4,7 @@
4
4
  "product": {
5
5
  "name": "Buildchain",
6
6
  "package": "@kungfu-tech/buildchain",
7
- "version": "2.13.0-alpha.0",
7
+ "version": "2.13.0-alpha.1",
8
8
  "repository": "https://github.com/kungfu-systems/buildchain"
9
9
  },
10
10
  "majorLine": "v2",
@@ -159,7 +159,7 @@
159
159
  "GitHub Release passport and evidence publication is delegated to promote-buildchain-ref after the semver release transaction completes"
160
160
  ],
161
161
  "breakingDigest": "sha256:6dbae32ce3d7aab3be6957065105af574794581847b7637314dad45f5349c919",
162
- "auditDigest": "sha256:3d3eec3ea3ed1b2621056f551a20543fb2b01eab985ac70c15a304e7a4bac7cc"
162
+ "auditDigest": "sha256:0a5691beb2469a71e22b0b7ecd3d32af539fa14dd6af6e14bf47d692a1788070"
163
163
  },
164
164
  {
165
165
  "contractVersion": 1,
@@ -269,7 +269,7 @@
269
269
  "semver GitHub Releases are created or updated only after transaction completion, with prerelease/latest metadata derived from the public release tag"
270
270
  ],
271
271
  "breakingDigest": "sha256:a59f0910e6df842e7699139472e5dd69ac2fdd7f7213bf2cb346d1d622556874",
272
- "auditDigest": "sha256:2ee7b15a8f2e04ecb798d315c99c29dbb7ad857b87256f8f09a2cb4c024e7cf6"
272
+ "auditDigest": "sha256:d4fd25131a275abafdbb22b91b82fa8e04ff86850fdbb80a619e6615bb4eb716"
273
273
  },
274
274
  {
275
275
  "contractVersion": 1,
@@ -527,7 +527,7 @@
527
527
  "manual entries carry source file digests so downstream sites and agents can detect stale hand-written documentation"
528
528
  ],
529
529
  "breakingDigest": "sha256:7d0d2819e3a3e72989d9c57b5efe9d0bc0a79bc0f2c82a0c7b9d6c5a211a91f2",
530
- "auditDigest": "sha256:7c9ecc33a15ecee16159175770f04ad8c9b7712e4c244b5fd9478c5eaa03cab7"
530
+ "auditDigest": "sha256:33efeb0f62e2aaf9d33f0763d7f3914dae78bbfd469e2a28f32b42158c58a0e8"
531
531
  },
532
532
  {
533
533
  "contractVersion": 1,
@@ -549,7 +549,7 @@
549
549
  "agents can discover supported Node APIs without importing internal file paths"
550
550
  ],
551
551
  "breakingDigest": "sha256:48f925608d3e2131d90936b07dc2a30341204cae3e6e785c0f77d61ad755c945",
552
- "auditDigest": "sha256:5bb037f6e40d185df0573fa0323e8f9337d2c809d172afeecf1935dd24101e53"
552
+ "auditDigest": "sha256:8a00371d5676377bbcd9281e957b8c7338be6da0da08e892f2d6c2351e732f8a"
553
553
  },
554
554
  {
555
555
  "contractVersion": 1,
@@ -600,7 +600,7 @@
600
600
  "controllerDescriptor": {
601
601
  "contract": "buildchain.controller-descriptor/v1",
602
602
  "digest": "sha256:373723a73d188194d389dee04c394d3b79cb0c016a370f2f5d0f60979a02ed48",
603
- "registryDigest": "sha256:710205201c2f18c442bdda7247d70e34da81c9bdb151658af93be73b29f1d90f",
603
+ "registryDigest": "sha256:1a8a2ace3d97dce074ccea44cfbd88d27e466e4bb8f87fb8ce129397256c2b51",
604
604
  "inputClassifications": {
605
605
  "buildchain-ref": {
606
606
  "classification": "included",
@@ -747,7 +747,7 @@
747
747
  "controllerDescriptor": {
748
748
  "contract": "buildchain.controller-descriptor/v1",
749
749
  "digest": "sha256:367be236280f2597ffefc49680feb106b4cf9e8f5fb9420713351f075a168c4a",
750
- "registryDigest": "sha256:710205201c2f18c442bdda7247d70e34da81c9bdb151658af93be73b29f1d90f",
750
+ "registryDigest": "sha256:1a8a2ace3d97dce074ccea44cfbd88d27e466e4bb8f87fb8ce129397256c2b51",
751
751
  "inputClassifications": {
752
752
  "BUILDCHAIN_ARTIFACT_RELAY_S3_DOWNLOAD_ROLE_ARN": {
753
753
  "classification": "redacted",
@@ -1113,7 +1113,7 @@
1113
1113
  "controllerDescriptor": {
1114
1114
  "contract": "buildchain.controller-descriptor/v1",
1115
1115
  "digest": "sha256:2e113607af3cb0a17b4da64b8758652a4bee4a162656ce7256a8e06de3d4cf2f",
1116
- "registryDigest": "sha256:710205201c2f18c442bdda7247d70e34da81c9bdb151658af93be73b29f1d90f",
1116
+ "registryDigest": "sha256:1a8a2ace3d97dce074ccea44cfbd88d27e466e4bb8f87fb8ce129397256c2b51",
1117
1117
  "inputClassifications": {
1118
1118
  "BUILDCHAIN_ARTIFACT_RELAY_S3_DOWNLOAD_ROLE_ARN": {
1119
1119
  "classification": "redacted",
@@ -1443,7 +1443,7 @@
1443
1443
  "controllerDescriptor": {
1444
1444
  "contract": "buildchain.controller-descriptor/v1",
1445
1445
  "digest": "sha256:29569f4b754595792a16742d1c4c63838b54601674a2cb6c96261a72c962dece",
1446
- "registryDigest": "sha256:710205201c2f18c442bdda7247d70e34da81c9bdb151658af93be73b29f1d90f",
1446
+ "registryDigest": "sha256:1a8a2ace3d97dce074ccea44cfbd88d27e466e4bb8f87fb8ce129397256c2b51",
1447
1447
  "inputClassifications": {
1448
1448
  "artifact-name": {
1449
1449
  "classification": "included",
@@ -1613,7 +1613,7 @@
1613
1613
  "controllerDescriptor": {
1614
1614
  "contract": "buildchain.controller-descriptor/v1",
1615
1615
  "digest": "sha256:f08c4970f33c059f8e0b43110f0063172fb1015ac914bdb0c8e9646692fb9f06",
1616
- "registryDigest": "sha256:710205201c2f18c442bdda7247d70e34da81c9bdb151658af93be73b29f1d90f",
1616
+ "registryDigest": "sha256:1a8a2ace3d97dce074ccea44cfbd88d27e466e4bb8f87fb8ce129397256c2b51",
1617
1617
  "inputClassifications": {
1618
1618
  "artifact-path": {
1619
1619
  "classification": "digest-only",
@@ -1845,7 +1845,7 @@
1845
1845
  "controllerDescriptor": {
1846
1846
  "contract": "buildchain.controller-descriptor/v1",
1847
1847
  "digest": "sha256:6b132790b9798e8a5dfbe095701d8e024c160a08bc7c4bd477ee79feef7a9cfd",
1848
- "registryDigest": "sha256:710205201c2f18c442bdda7247d70e34da81c9bdb151658af93be73b29f1d90f",
1848
+ "registryDigest": "sha256:1a8a2ace3d97dce074ccea44cfbd88d27e466e4bb8f87fb8ce129397256c2b51",
1849
1849
  "inputClassifications": {
1850
1850
  "artifact-name": {
1851
1851
  "classification": "included",
@@ -2026,7 +2026,7 @@
2026
2026
  "controllerDescriptor": {
2027
2027
  "contract": "buildchain.controller-descriptor/v1",
2028
2028
  "digest": "sha256:0613ea545fe2d630f34e665c8e6fe99df3f5333d75051a7176e9cf991e494f59",
2029
- "registryDigest": "sha256:710205201c2f18c442bdda7247d70e34da81c9bdb151658af93be73b29f1d90f",
2029
+ "registryDigest": "sha256:1a8a2ace3d97dce074ccea44cfbd88d27e466e4bb8f87fb8ce129397256c2b51",
2030
2030
  "inputClassifications": {
2031
2031
  "artifact-name": {
2032
2032
  "classification": "included",
@@ -2257,6 +2257,8 @@
2257
2257
  "publication-admission-json",
2258
2258
  "publication-auto-admission",
2259
2259
  "publication-auto-no-gate",
2260
+ "publication-consumer-predicate-id",
2261
+ "publication-consumer-qualification-command",
2260
2262
  "publication-control-plane-audit-json",
2261
2263
  "publication-expected-json",
2262
2264
  "publication-gate-aggregate-json",
@@ -2266,6 +2268,7 @@
2266
2268
  "publication-runner-provenance-json",
2267
2269
  "publication-target",
2268
2270
  "publication-used-nonces-json",
2271
+ "publication-used-qualification-nonces-json",
2269
2272
  "publish-artifact-kind",
2270
2273
  "publish-command",
2271
2274
  "publish-dist-tag",
@@ -2296,8 +2299,8 @@
2296
2299
  ],
2297
2300
  "controllerDescriptor": {
2298
2301
  "contract": "buildchain.controller-descriptor/v1",
2299
- "digest": "sha256:c5dfeb63bbe3507e3c58f74e2a5792e6558002e3aafab6453cc8b8837db2a729",
2300
- "registryDigest": "sha256:710205201c2f18c442bdda7247d70e34da81c9bdb151658af93be73b29f1d90f",
2302
+ "digest": "sha256:2507d132710f66d3ae6ffdb18f5e66172707b8e0f9ad9e888f7422fdacc99133",
2303
+ "registryDigest": "sha256:1a8a2ace3d97dce074ccea44cfbd88d27e466e4bb8f87fb8ce129397256c2b51",
2301
2304
  "inputClassifications": {
2302
2305
  "BUILDCHAIN_ISSUE_APP_ID": {
2303
2306
  "classification": "redacted",
@@ -2407,6 +2410,14 @@
2407
2410
  "classification": "included",
2408
2411
  "source": "workflow-call-input"
2409
2412
  },
2413
+ "publication-consumer-predicate-id": {
2414
+ "classification": "included",
2415
+ "source": "workflow-call-input"
2416
+ },
2417
+ "publication-consumer-qualification-command": {
2418
+ "classification": "digest-only",
2419
+ "source": "workflow-call-input"
2420
+ },
2410
2421
  "publication-control-plane-audit-json": {
2411
2422
  "classification": "digest-only",
2412
2423
  "source": "workflow-call-input"
@@ -2443,6 +2454,10 @@
2443
2454
  "classification": "digest-only",
2444
2455
  "source": "workflow-call-input"
2445
2456
  },
2457
+ "publication-used-qualification-nonces-json": {
2458
+ "classification": "digest-only",
2459
+ "source": "workflow-call-input"
2460
+ },
2446
2461
  "publish-artifact-kind": {
2447
2462
  "classification": "included",
2448
2463
  "source": "workflow-call-input"
@@ -2560,7 +2575,7 @@
2560
2575
  "missing receipts are non-qualifying and must not be represented as a successful controller run"
2561
2576
  ],
2562
2577
  "breakingDigest": "sha256:46238f8fc3c20924decc57ecad142a462fc4739c6bc21409d5cd2457fc1c3cdd",
2563
- "auditDigest": "sha256:3d3eec3ea3ed1b2621056f551a20543fb2b01eab985ac70c15a304e7a4bac7cc"
2578
+ "auditDigest": "sha256:0a5691beb2469a71e22b0b7ecd3d32af539fa14dd6af6e14bf47d692a1788070"
2564
2579
  },
2565
2580
  {
2566
2581
  "contractVersion": 1,
@@ -2618,7 +2633,7 @@
2618
2633
  "controllerDescriptor": {
2619
2634
  "contract": "buildchain.controller-descriptor/v1",
2620
2635
  "digest": "sha256:9b9f9a2320c4349903d72ee46e329211b5538ed5ebebaa93559df4eafb835997",
2621
- "registryDigest": "sha256:710205201c2f18c442bdda7247d70e34da81c9bdb151658af93be73b29f1d90f",
2636
+ "registryDigest": "sha256:1a8a2ace3d97dce074ccea44cfbd88d27e466e4bb8f87fb8ce129397256c2b51",
2622
2637
  "inputClassifications": {
2623
2638
  "buildchain-ref": {
2624
2639
  "classification": "included",
@@ -2689,5 +2704,5 @@
2689
2704
  }
2690
2705
  ],
2691
2706
  "compatibilityDigest": "sha256:af162b86ab4506e9b5f1d3c59b41f3fd57fbad79ff4d749a7f12ff16460517f8",
2692
- "contractDigest": "sha256:94eae2beada1653ee57a21b440cb8b3b1a29da07b9723c691dcea919ae121ffa"
2707
+ "contractDigest": "sha256:afa3181c15449d073112738ad5cfc1ad2581d3d2629c24bfcc952ed8df137fa6"
2693
2708
  }