@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
@@ -185,6 +185,11 @@ async function handleCollectCommand({ args, runScript, packageVersion }) {
185
185
  runnerArch: process.env.RUNNER_ARCH || process.arch,
186
186
  runnerImage: process.env.ImageOS || "",
187
187
  };
188
+ if (readFlag(collectArgs, "adopter-delivery-json", "")) {
189
+ throw new Error(
190
+ "buildchain-v3-v4-public-surface-migration/v1: --adopter-delivery-json is non-authoritative in v4; use --kfd-adopter-manifest-json with --kfd-product-gate-json",
191
+ );
192
+ }
188
193
  const result = collectGitHubReleasePassport({
189
194
  cwd: readFlag(collectArgs, "cwd", process.cwd()),
190
195
  tag: readFlag(collectArgs, "tag", ""),
@@ -22,7 +22,7 @@
22
22
  "ref": "v4-alpha",
23
23
  "sha": "dddddddddddddddddddddddddddddddddddddddd",
24
24
  "contractRoot": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
25
- "consumerPolicyReceiptRoot": "sha256:83e75f961e61f5a6ed3648898836076afa5561a0b25bfc07ff6d3f2d4b7405d6"
25
+ "consumerPolicyReceiptRoot": "sha256:e545cb7dc918ba14b02e9a557623edb7aaadeee180b211b8a3164d67af03e789"
26
26
  },
27
27
  "warrant": {
28
28
  "candidateId": "candidate-alpha-2",
@@ -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
+ }
@@ -24,6 +24,7 @@
24
24
  "schemas/v4-publication-rehearsal-capsule-v1.schema.json",
25
25
  "schemas/v4-adopter-delivery-v1.schema.json",
26
26
  "schemas/release-tail-capabilities-v1.schema.json",
27
+ "schemas/v4-publication-qualification-v1.schema.json",
27
28
  "buildchain-contract.json",
28
29
  "kfd-upstream-aggregate.json",
29
30
  "kfd-claims.json",
@@ -12,6 +12,7 @@
12
12
  "schemas/v4-publication-rehearsal-capsule-v1.schema.json",
13
13
  "schemas/v4-adopter-delivery-v1.schema.json",
14
14
  "schemas/release-tail-capabilities-v1.schema.json",
15
+ "schemas/v4-publication-qualification-v1.schema.json",
15
16
  "kfd-support.json",
16
17
  "artifact-evidence.json",
17
18
  "product-mechanism.json",
@@ -51,6 +52,7 @@
51
52
  "schemas/v4-publication-rehearsal-capsule-v1.schema.json",
52
53
  "schemas/v4-adopter-delivery-v1.schema.json",
53
54
  "schemas/release-tail-capabilities-v1.schema.json",
55
+ "schemas/v4-publication-qualification-v1.schema.json",
54
56
  "buildchain-contract.json",
55
57
  "kfd-claims.json",
56
58
  "product-mechanism.json",
@@ -4,7 +4,7 @@
4
4
  "product": {
5
5
  "name": "Buildchain",
6
6
  "package": "@kungfu-tech/buildchain",
7
- "version": "4.0.1-alpha.8",
7
+ "version": "4.0.1",
8
8
  "repository": "https://github.com/kungfu-systems/buildchain"
9
9
  },
10
10
  "majorLine": "v4",
@@ -1361,7 +1361,7 @@
1361
1361
  "retryable GitHub fallback fetches use a bounded attempt budget before exact source SHA and tree verification"
1362
1362
  ],
1363
1363
  "breakingDigest": "sha256:dfbedd543ae0c067982b5c8c02d98dd2f7f7df88752be97fb330da6b0ba30faa",
1364
- "auditDigest": "sha256:6cf134f8bc0c0ab488cb159ef2bb9f7a94b454c4f7adee134ce7dee00d84c5d3",
1364
+ "auditDigest": "sha256:3b1346cb6a1499a2c49c05f28f1c9c0092692b66dcacf478266b413c9c508f31",
1365
1365
  "compatibleBreakingDigests": [
1366
1366
  "sha256:a6a35370d6b0d0f46e1b2712dcc01961fe53c2febde95409a27a485c10a36650"
1367
1367
  ],
@@ -1409,7 +1409,7 @@
1409
1409
  "alpha and stable channel selections use separate consumer contract locks by default"
1410
1410
  ],
1411
1411
  "breakingDigest": "sha256:c4597dfa89e1a58f1023905092b849644f5c080abf150aeba9c7e1cd5ed43962",
1412
- "auditDigest": "sha256:97fa61f0e97641edd3b1b435ace06c621e702f0b8b406c4f3998c148a337c74a"
1412
+ "auditDigest": "sha256:7a0a0e8983ebd565c522ebb6eec25fb3cd8bfe9c55541650c0d36165b4db0134"
1413
1413
  },
1414
1414
  {
1415
1415
  "contractVersion": 1,
@@ -1492,7 +1492,7 @@
1492
1492
  "durable consumers call the public floating workflow and may route a train or exact runtime only through trusted non-persistent dispatch input"
1493
1493
  ],
1494
1494
  "breakingDigest": "sha256:21b65d0746d2e8b3e8a7df4c6fab295a85c8fd42cc405ec3bc5df5cdab0421f0",
1495
- "auditDigest": "sha256:1392bc85e8aef8c19161b06764900c2cdb0f0cd57bf65dc95ad578040add7bea"
1495
+ "auditDigest": "sha256:bcfd872260c754e68cabe183c8c1c3acb2b2196e1601208bf7bc846b8e32af74"
1496
1496
  },
1497
1497
  {
1498
1498
  "contractVersion": 1,
@@ -1591,7 +1591,7 @@
1591
1591
  "GitHub Release passport and evidence publication is delegated to promote-buildchain-ref after the semver release transaction completes"
1592
1592
  ],
1593
1593
  "breakingDigest": "sha256:5f10c81d3f80cb417960be682921884639c40b6d875f1a3b1ffae7e652c3f468",
1594
- "auditDigest": "sha256:0fc3f61d5a10b76dcc03aba4e1d4eea2a25b0de4921929d5c86d27db00d08da6"
1594
+ "auditDigest": "sha256:d9821bf071e83386e596e1d460c1adc46808451fce44b6586ae26fb11e535991"
1595
1595
  },
1596
1596
  {
1597
1597
  "contractVersion": 1,
@@ -1646,7 +1646,7 @@
1646
1646
  "resume-from-candidate-run is fail-closed and uses a fresh caller event instead of rerunning a frozen startup graph"
1647
1647
  ],
1648
1648
  "breakingDigest": "sha256:9db8dd07152855d03ff30f9c571438593c689d3e8139fa45431d000f548242f5",
1649
- "auditDigest": "sha256:fc62e34e4fde50da0bf5bf2f9e0b455a8ff1ccea62f7348d1a132567e2c829e1",
1649
+ "auditDigest": "sha256:1b505fd44a452b01e0516c9da45994cf7edb33c7f4c3bc01b2f3155ed3d3feb0",
1650
1650
  "compatibleBreakingDigests": [
1651
1651
  "sha256:aa30f22e3af0a89841310bdbdc900844dd95a66974db173fa140a71bbd7e82c0"
1652
1652
  ],
@@ -1699,7 +1699,7 @@
1699
1699
  "channel-aware artifact host facts are checked against the deploy plan before adapter side effects"
1700
1700
  ],
1701
1701
  "breakingDigest": "sha256:27f0cb9c7d97288850d215be8696b323471c41fd1cdf3a2ff3ebf21f62541960",
1702
- "auditDigest": "sha256:748e1d69ca28b631e86788de0ff359b11164b3ac1edda1b146ca49f3ac3856dc",
1702
+ "auditDigest": "sha256:fd7952e3ab411e83cad7ba5de9349babf3475dab8fdc1b80c3c062af7602466c",
1703
1703
  "compatibleBreakingDigests": [
1704
1704
  "sha256:da569f90374e878948e3d5160ed9929338ce0572473ca8ee54867b0fe1aaeace"
1705
1705
  ],
@@ -1819,6 +1819,52 @@
1819
1819
  "breakingDigest": "sha256:0bcba689ab5060e12230db4118895242ecb48677ff581ea0360b1833bdac558c",
1820
1820
  "auditDigest": "sha256:da366842e8943c88a4f12520faf2d19c555b7530d8f6d44cf75a37b94200960d"
1821
1821
  },
1822
+ {
1823
+ "contractVersion": 1,
1824
+ "stability": "stable",
1825
+ "additiveChanges": "optional inputs, optional outputs, diagnostics, and documentation may be added within the same major line",
1826
+ "id": "v4-release-candidate-promote-action",
1827
+ "kind": "action",
1828
+ "path": "actions/v4-release-candidate-promote/action.yml",
1829
+ "publicRef": "kungfu-systems/buildchain/actions/v4-release-candidate-promote@v4",
1830
+ "requiredInputs": [
1831
+ "token",
1832
+ "repository",
1833
+ "source-sha",
1834
+ "version",
1835
+ "tag",
1836
+ "channel",
1837
+ "candidate-passport-path",
1838
+ "stage-capsules-path",
1839
+ "publication-qualification-path"
1840
+ ],
1841
+ "requiredOutputs": [
1842
+ "release-passport-path",
1843
+ "release-passport-root",
1844
+ "transaction-state",
1845
+ "declaration-root",
1846
+ "transaction-root",
1847
+ "state-root",
1848
+ "receipt-roots-json"
1849
+ ],
1850
+ "breakingDefaults": {
1851
+ "statePath": ".buildchain/release-tail/state.json",
1852
+ "executionBoundary": "built-in-provider-plane-only"
1853
+ },
1854
+ "optionalInputs": [
1855
+ "artifact-paths",
1856
+ "state-path",
1857
+ "failure-after-capability"
1858
+ ],
1859
+ "guarantees": [
1860
+ "v4 promotion consumes only sealed candidate, Stage Capsule, qualification, and artifact evidence",
1861
+ "GitHub Release, signed-channel commit, activation, readback, and released-evidence synthesis use built-in provider adapters",
1862
+ "durable provider checkpoints resume completed capabilities without replay",
1863
+ "no consumer command, script, shell, checkout, or executable tail hook is accepted"
1864
+ ],
1865
+ "breakingDigest": "sha256:9229eb3a000fb408feb6b8793c209c77afbf9327026467d68954470e22e4f8f4",
1866
+ "auditDigest": "sha256:83fd394419851e6da877c50018e879b447497db52b0ac871dfd83e074f5459a8"
1867
+ },
1822
1868
  {
1823
1869
  "contractVersion": 1,
1824
1870
  "stability": "stable",
@@ -1888,7 +1934,7 @@
1888
1934
  "semver GitHub Releases are created or updated only after transaction completion, with prerelease/latest metadata bound to the authoritative publication channel and tag syntax retained as the fallback for ordinary callers"
1889
1935
  ],
1890
1936
  "breakingDigest": "sha256:6147c0a8d5c36bfaa6021871574e1fc28192a3f1b8cfdae4d24ef3059ac1ebda",
1891
- "auditDigest": "sha256:3c34606573df2ff29c4bc9b959f0b842ca7653427139c4bf8d600f152d5fe1a4",
1937
+ "auditDigest": "sha256:2422f86979d2ce521a39e0f19db23cac4bd251bc21f701237a0105fb802e453b",
1892
1938
  "compatibleBreakingDigests": [
1893
1939
  "sha256:a59f0910e6df842e7699139472e5dd69ac2fdd7f7213bf2cb346d1d622556874"
1894
1940
  ],
@@ -2012,7 +2058,7 @@
2012
2058
  "release-state SHA is recorded as a durable audit entrance"
2013
2059
  ],
2014
2060
  "breakingDigest": "sha256:b627e1b2ece9b6049517a942c5139e342e6077cdd3d8962d61cef8481b1f70ad",
2015
- "auditDigest": "sha256:7b433d34f87651d8fb187d06b83113e93cbc0243a0f93ce33f375a4737f144f6"
2061
+ "auditDigest": "sha256:4932b0ef2ea1c62101347789ef233c77142630a69762d325688269fe29c230c5"
2016
2062
  },
2017
2063
  {
2018
2064
  "contractVersion": 1,
@@ -2061,7 +2107,7 @@
2061
2107
  "prose-only public claims downgrade the release trust passport audit"
2062
2108
  ],
2063
2109
  "breakingDigest": "sha256:f0b636eb925ddbf45ff1a8872454ab7b4dd98857cac12bb75217830130e62a16",
2064
- "auditDigest": "sha256:7b433d34f87651d8fb187d06b83113e93cbc0243a0f93ce33f375a4737f144f6"
2110
+ "auditDigest": "sha256:4932b0ef2ea1c62101347789ef233c77142630a69762d325688269fe29c230c5"
2065
2111
  },
2066
2112
  {
2067
2113
  "contractVersion": 1,
@@ -2211,7 +2257,7 @@
2211
2257
  "manual entries carry source file digests so downstream sites and agents can detect stale hand-written documentation"
2212
2258
  ],
2213
2259
  "breakingDigest": "sha256:7d0d2819e3a3e72989d9c57b5efe9d0bc0a79bc0f2c82a0c7b9d6c5a211a91f2",
2214
- "auditDigest": "sha256:9ac244b89ab685df5c1d43ebcb9195c9133261b77d2ce948e3d4083e8651f086"
2260
+ "auditDigest": "sha256:dd80914275c60efcf95b29d44e861aeba5075ee7da9094adaa5cdb5714b59bf6"
2215
2261
  },
2216
2262
  {
2217
2263
  "contractVersion": 1,
@@ -2233,7 +2279,7 @@
2233
2279
  "agents can discover supported Node APIs without importing internal file paths"
2234
2280
  ],
2235
2281
  "breakingDigest": "sha256:48f925608d3e2131d90936b07dc2a30341204cae3e6e785c0f77d61ad755c945",
2236
- "auditDigest": "sha256:14c116689f571b197fad4632683335bc13718abd17276f3da0ffbf1e85a74483"
2282
+ "auditDigest": "sha256:dab7be33bf7d0c36fd59b55f74b3cb964ae24f348b95cd863f276c70e6d3db6e"
2237
2283
  },
2238
2284
  {
2239
2285
  "contractVersion": 1,
@@ -2289,7 +2335,7 @@
2289
2335
  "controllerDescriptor": {
2290
2336
  "contract": "buildchain.controller-descriptor/v1",
2291
2337
  "digest": "sha256:91aeff9ffcc598918626c24850a00063a79ddf26aa48702fa22e7dce8c761968",
2292
- "registryDigest": "sha256:eb9eb918b763f303baf313e153076e9d3158ca28a2e6cc558834a06e49d9d9cf",
2338
+ "registryDigest": "sha256:e9fe5b78abb43be3daeebf5a6c214f0c53e6519e96edb76b284bb8b737e57474",
2293
2339
  "inputClassifications": {
2294
2340
  "buildchain-ref": {
2295
2341
  "classification": "included",
@@ -2424,6 +2470,8 @@
2424
2470
  "build-command",
2425
2471
  "buildchain-contract-compatibility-policy",
2426
2472
  "buildchain-contract-drift-issue-mode",
2473
+ "buildchain-contract-expected-channel",
2474
+ "buildchain-contract-expected-major",
2427
2475
  "buildchain-contract-lock-path",
2428
2476
  "buildchain-expected-channel",
2429
2477
  "buildchain-expected-major",
@@ -2496,8 +2544,8 @@
2496
2544
  ],
2497
2545
  "controllerDescriptor": {
2498
2546
  "contract": "buildchain.controller-descriptor/v1",
2499
- "digest": "sha256:03677ba50080b3813a20004c41802e340368e4d225782fae194e3722c763bd01",
2500
- "registryDigest": "sha256:eb9eb918b763f303baf313e153076e9d3158ca28a2e6cc558834a06e49d9d9cf",
2547
+ "digest": "sha256:c36f7dcd859a460ce757bc080132e9bf1be6875ff90e0a44308b414198a494fe",
2548
+ "registryDigest": "sha256:e9fe5b78abb43be3daeebf5a6c214f0c53e6519e96edb76b284bb8b737e57474",
2501
2549
  "inputClassifications": {
2502
2550
  "BUILDCHAIN_ARTIFACT_RELAY_S3_DOWNLOAD_ROLE_ARN": {
2503
2551
  "classification": "redacted",
@@ -2623,6 +2671,14 @@
2623
2671
  "classification": "included",
2624
2672
  "source": "workflow-call-input"
2625
2673
  },
2674
+ "buildchain-contract-expected-channel": {
2675
+ "classification": "included",
2676
+ "source": "workflow-call-input"
2677
+ },
2678
+ "buildchain-contract-expected-major": {
2679
+ "classification": "included",
2680
+ "source": "workflow-call-input"
2681
+ },
2626
2682
  "buildchain-contract-lock-path": {
2627
2683
  "classification": "digest-only",
2628
2684
  "source": "workflow-call-input"
@@ -2908,7 +2964,7 @@
2908
2964
  "missing receipts are non-qualifying and must not be represented as a successful controller run"
2909
2965
  ],
2910
2966
  "breakingDigest": "sha256:6b8d38e92b2c67b5bc83fae0a3fd95bfa47582fbc176e6cdeebe7630a57534cb",
2911
- "auditDigest": "sha256:6cf134f8bc0c0ab488cb159ef2bb9f7a94b454c4f7adee134ce7dee00d84c5d3",
2967
+ "auditDigest": "sha256:3b1346cb6a1499a2c49c05f28f1c9c0092692b66dcacf478266b413c9c508f31",
2912
2968
  "compatibleBreakingDigests": [
2913
2969
  "sha256:30745921541e9b0f70475bb2178c2559f6aef248f6680670ccd44d8c5a69a6b1",
2914
2970
  "sha256:e264a79f9f399038c2fcfd21e4168c68c2e1485ee5c651c02242a02b622ac2be"
@@ -2990,6 +3046,8 @@
2990
3046
  "buildchain-channel",
2991
3047
  "buildchain-contract-compatibility-policy",
2992
3048
  "buildchain-contract-drift-issue-mode",
3049
+ "buildchain-contract-expected-channel",
3050
+ "buildchain-contract-expected-major",
2993
3051
  "buildchain-contract-lock-path",
2994
3052
  "buildchain-expected-channel",
2995
3053
  "buildchain-expected-major",
@@ -3063,8 +3121,8 @@
3063
3121
  ],
3064
3122
  "controllerDescriptor": {
3065
3123
  "contract": "buildchain.controller-descriptor/v1",
3066
- "digest": "sha256:45978a572cf3ce57b48e5c3190761ad4fbeedc8e75ea0dae2e66ea5a980282df",
3067
- "registryDigest": "sha256:eb9eb918b763f303baf313e153076e9d3158ca28a2e6cc558834a06e49d9d9cf",
3124
+ "digest": "sha256:a653e831202898143b5e46cc42120a22290f416b9dc851c1bec7088eb42bcb17",
3125
+ "registryDigest": "sha256:e9fe5b78abb43be3daeebf5a6c214f0c53e6519e96edb76b284bb8b737e57474",
3068
3126
  "inputClassifications": {
3069
3127
  "BUILDCHAIN_ARTIFACT_RELAY_S3_DOWNLOAD_ROLE_ARN": {
3070
3128
  "classification": "redacted",
@@ -3198,6 +3256,14 @@
3198
3256
  "classification": "included",
3199
3257
  "source": "workflow-call-input"
3200
3258
  },
3259
+ "buildchain-contract-expected-channel": {
3260
+ "classification": "included",
3261
+ "source": "workflow-call-input"
3262
+ },
3263
+ "buildchain-contract-expected-major": {
3264
+ "classification": "included",
3265
+ "source": "workflow-call-input"
3266
+ },
3201
3267
  "buildchain-contract-lock-path": {
3202
3268
  "classification": "digest-only",
3203
3269
  "source": "workflow-call-input"
@@ -3487,7 +3553,7 @@
3487
3553
  "missing receipts are non-qualifying and must not be represented as a successful controller run"
3488
3554
  ],
3489
3555
  "breakingDigest": "sha256:30549aa26cd1e1dd81f10fe3529d3c6e3f8438a6efa0100c47ebae4d2f3d71df",
3490
- "auditDigest": "sha256:97fa61f0e97641edd3b1b435ace06c621e702f0b8b406c4f3998c148a337c74a",
3556
+ "auditDigest": "sha256:7a0a0e8983ebd565c522ebb6eec25fb3cd8bfe9c55541650c0d36165b4db0134",
3491
3557
  "compatibleBreakingDigests": [
3492
3558
  "sha256:d40dd05d7e07473d4b2dc1b62fbb0ed6f06449b4d3a7c44a2e8014313e3c0273"
3493
3559
  ],
@@ -3566,7 +3632,7 @@
3566
3632
  "controllerDescriptor": {
3567
3633
  "contract": "buildchain.controller-descriptor/v1",
3568
3634
  "digest": "sha256:8e42956a2c10fa109500e72b97994f06b3d22a19cc63a46f66410b2e81706e9d",
3569
- "registryDigest": "sha256:eb9eb918b763f303baf313e153076e9d3158ca28a2e6cc558834a06e49d9d9cf",
3635
+ "registryDigest": "sha256:e9fe5b78abb43be3daeebf5a6c214f0c53e6519e96edb76b284bb8b737e57474",
3570
3636
  "inputClassifications": {
3571
3637
  "artifact-name": {
3572
3638
  "classification": "included",
@@ -3742,6 +3808,8 @@
3742
3808
  "build-command",
3743
3809
  "buildchain-contract-compatibility-policy",
3744
3810
  "buildchain-contract-drift-issue-mode",
3811
+ "buildchain-contract-expected-channel",
3812
+ "buildchain-contract-expected-major",
3745
3813
  "buildchain-contract-lock-path",
3746
3814
  "buildchain-ref",
3747
3815
  "buildchain-repository",
@@ -3782,8 +3850,8 @@
3782
3850
  ],
3783
3851
  "controllerDescriptor": {
3784
3852
  "contract": "buildchain.controller-descriptor/v1",
3785
- "digest": "sha256:c5274b37f04d0054559fdc8698c51bd0f0d8ae470baf163e9caa7699aa970575",
3786
- "registryDigest": "sha256:eb9eb918b763f303baf313e153076e9d3158ca28a2e6cc558834a06e49d9d9cf",
3853
+ "digest": "sha256:834c08b0099b646075b1850548454986b7c150f808019c6ec7d8eae377214a19",
3854
+ "registryDigest": "sha256:e9fe5b78abb43be3daeebf5a6c214f0c53e6519e96edb76b284bb8b737e57474",
3787
3855
  "inputClassifications": {
3788
3856
  "artifact-path": {
3789
3857
  "classification": "digest-only",
@@ -3805,6 +3873,14 @@
3805
3873
  "classification": "included",
3806
3874
  "source": "workflow-call-input"
3807
3875
  },
3876
+ "buildchain-contract-expected-channel": {
3877
+ "classification": "included",
3878
+ "source": "workflow-call-input"
3879
+ },
3880
+ "buildchain-contract-expected-major": {
3881
+ "classification": "included",
3882
+ "source": "workflow-call-input"
3883
+ },
3808
3884
  "buildchain-contract-lock-path": {
3809
3885
  "classification": "digest-only",
3810
3886
  "source": "workflow-call-input"
@@ -3962,7 +4038,7 @@
3962
4038
  "missing receipts are non-qualifying and must not be represented as a successful controller run"
3963
4039
  ],
3964
4040
  "breakingDigest": "sha256:f14825324a16b51c2e9ed708ebe64e1932e05b6d5e0866f83aea8439decb4a27",
3965
- "auditDigest": "sha256:748e1d69ca28b631e86788de0ff359b11164b3ac1edda1b146ca49f3ac3856dc"
4041
+ "auditDigest": "sha256:fd7952e3ab411e83cad7ba5de9349babf3475dab8fdc1b80c3c062af7602466c"
3966
4042
  },
3967
4043
  {
3968
4044
  "contractVersion": 1,
@@ -4029,7 +4105,7 @@
4029
4105
  "controllerDescriptor": {
4030
4106
  "contract": "buildchain.controller-descriptor/v1",
4031
4107
  "digest": "sha256:e48bb7719886d3949d63ec69d638264b20c7de8a70ee2db3cca78d4369f5a41e",
4032
- "registryDigest": "sha256:eb9eb918b763f303baf313e153076e9d3158ca28a2e6cc558834a06e49d9d9cf",
4108
+ "registryDigest": "sha256:e9fe5b78abb43be3daeebf5a6c214f0c53e6519e96edb76b284bb8b737e57474",
4033
4109
  "inputClassifications": {
4034
4110
  "artifact-name": {
4035
4111
  "classification": "included",
@@ -4219,7 +4295,7 @@
4219
4295
  "controllerDescriptor": {
4220
4296
  "contract": "buildchain.controller-descriptor/v1",
4221
4297
  "digest": "sha256:6d71409659fbf8543c7e520b0c493d8afe86bdf60286b860bb917f0041ebc173",
4222
- "registryDigest": "sha256:eb9eb918b763f303baf313e153076e9d3158ca28a2e6cc558834a06e49d9d9cf",
4298
+ "registryDigest": "sha256:e9fe5b78abb43be3daeebf5a6c214f0c53e6519e96edb76b284bb8b737e57474",
4223
4299
  "inputClassifications": {
4224
4300
  "artifact-name": {
4225
4301
  "classification": "included",
@@ -4477,6 +4553,7 @@
4477
4553
  "promotion-shell-ref",
4478
4554
  "promotion-shell-sha",
4479
4555
  "promotion-target-ref",
4556
+ "provider-failure-after-capability",
4480
4557
  "publication-admission-json",
4481
4558
  "publication-authority-workflow-path",
4482
4559
  "publication-auto-admission",
@@ -4518,6 +4595,7 @@
4518
4595
  "release-candidate-workflow-file",
4519
4596
  "release-candidate-workflow-name",
4520
4597
  "release-passport",
4598
+ "release-passport-adopter-delivery-json",
4521
4599
  "release-passport-attachment-command",
4522
4600
  "release-passport-buildchain-self-kfd",
4523
4601
  "release-passport-evidence-command",
@@ -4531,6 +4609,7 @@
4531
4609
  "release-passport-kfd-3-artifact-verify-command",
4532
4610
  "release-passport-kfd-3-artifact-witness-jsons",
4533
4611
  "release-passport-kfd-3-prebuild-witness-jsons",
4612
+ "release-passport-kfd-adopter-manifest-gate-json",
4534
4613
  "release-passport-kfd-adopter-manifest-json",
4535
4614
  "release-passport-kfd-product-gate-jsons",
4536
4615
  "release-passport-kfd-support-matrix-json",
@@ -4558,8 +4637,8 @@
4558
4637
  ],
4559
4638
  "controllerDescriptor": {
4560
4639
  "contract": "buildchain.controller-descriptor/v1",
4561
- "digest": "sha256:3c83524f650a4d04004400d3821dbbd081b8802035dc6004464cdcfd0b5cdfc3",
4562
- "registryDigest": "sha256:eb9eb918b763f303baf313e153076e9d3158ca28a2e6cc558834a06e49d9d9cf",
4640
+ "digest": "sha256:f4d2d311fa07f70310f1538c6274ddf17a78392db716687c25171c3ba495d21f",
4641
+ "registryDigest": "sha256:e9fe5b78abb43be3daeebf5a6c214f0c53e6519e96edb76b284bb8b737e57474",
4563
4642
  "inputClassifications": {
4564
4643
  "BUILDCHAIN_ISSUE_APP_ID": {
4565
4644
  "classification": "redacted",
@@ -4761,6 +4840,10 @@
4761
4840
  "classification": "included",
4762
4841
  "source": "workflow-call-input"
4763
4842
  },
4843
+ "provider-failure-after-capability": {
4844
+ "classification": "included",
4845
+ "source": "workflow-call-input"
4846
+ },
4764
4847
  "publication-admission-json": {
4765
4848
  "classification": "digest-only",
4766
4849
  "source": "workflow-call-input"
@@ -4925,6 +5008,10 @@
4925
5008
  "classification": "included",
4926
5009
  "source": "workflow-call-input"
4927
5010
  },
5011
+ "release-passport-adopter-delivery-json": {
5012
+ "classification": "digest-only",
5013
+ "source": "workflow-call-input"
5014
+ },
4928
5015
  "release-passport-attachment-command": {
4929
5016
  "classification": "digest-only",
4930
5017
  "source": "workflow-call-input"
@@ -4977,6 +5064,10 @@
4977
5064
  "classification": "digest-only",
4978
5065
  "source": "workflow-call-input"
4979
5066
  },
5067
+ "release-passport-kfd-adopter-manifest-gate-json": {
5068
+ "classification": "digest-only",
5069
+ "source": "workflow-call-input"
5070
+ },
4980
5071
  "release-passport-kfd-adopter-manifest-json": {
4981
5072
  "classification": "digest-only",
4982
5073
  "source": "workflow-call-input"
@@ -5082,7 +5173,7 @@
5082
5173
  "missing receipts are non-qualifying and must not be represented as a successful controller run"
5083
5174
  ],
5084
5175
  "breakingDigest": "sha256:015d8de793adbd4c539416be7d7512e18cc92097e629b0203fa06d2c183e98bd",
5085
- "auditDigest": "sha256:fc62e34e4fde50da0bf5bf2f9e0b455a8ff1ccea62f7348d1a132567e2c829e1"
5176
+ "auditDigest": "sha256:1b505fd44a452b01e0516c9da45994cf7edb33c7f4c3bc01b2f3155ed3d3feb0"
5086
5177
  },
5087
5178
  {
5088
5179
  "contractVersion": 1,
@@ -5147,7 +5238,7 @@
5147
5238
  "controllerDescriptor": {
5148
5239
  "contract": "buildchain.controller-descriptor/v1",
5149
5240
  "digest": "sha256:660579b5561e8e33375a3f3b1fefbb8a5bd8241a55ba43374d786fb772c24a12",
5150
- "registryDigest": "sha256:eb9eb918b763f303baf313e153076e9d3158ca28a2e6cc558834a06e49d9d9cf",
5241
+ "registryDigest": "sha256:e9fe5b78abb43be3daeebf5a6c214f0c53e6519e96edb76b284bb8b737e57474",
5151
5242
  "inputClassifications": {
5152
5243
  "agent-work-context-json": {
5153
5244
  "classification": "digest-only",
@@ -5291,7 +5382,7 @@
5291
5382
  "controllerDescriptor": {
5292
5383
  "contract": "buildchain.controller-descriptor/v1",
5293
5384
  "digest": "sha256:b6f53563c0adc859bc586c05fce560a5094d7d9666438d63c5fd3e1fc4774555",
5294
- "registryDigest": "sha256:eb9eb918b763f303baf313e153076e9d3158ca28a2e6cc558834a06e49d9d9cf",
5385
+ "registryDigest": "sha256:e9fe5b78abb43be3daeebf5a6c214f0c53e6519e96edb76b284bb8b737e57474",
5295
5386
  "inputClassifications": {}
5296
5387
  },
5297
5388
  "guarantees": [
@@ -5307,6 +5398,6 @@
5307
5398
  "compatibilityFactRegistryRoot": "sha256:232fd556a2372b29db586bbc2acbdfce6464a68c93902797ff527f75f7816c42",
5308
5399
  "compatibilityFactCutRoot": "sha256:f61b975d4a96c921cc4bd37fb3ed9a0596b47004fe34dc7219979d697e3707f9",
5309
5400
  "compatibilityProofRegistryRoot": "sha256:b7194b811e4d3af2df4390bc4d1731e16a86215bd64ee18cb630dd5492f4fb63",
5310
- "compatibilityDigest": "sha256:5de1c69386510b74b17eb70141b8bdd07063d62c504f91db5e84b67c6d4b64a2",
5311
- "contractDigest": "sha256:5174492f4e44f42e3e5b6869eb8a6226542ebb772b3928494efafc168b4fa5f5"
5401
+ "compatibilityDigest": "sha256:20411029d83211dff426fb6535a608902129844a5ccb4788db77d3f81becb839",
5402
+ "contractDigest": "sha256:766fa56a71450d75897ca1040098b5acce8851cb3f1ab76dadc7abc2364bd763"
5312
5403
  }