@kungfu-tech/buildchain 4.0.1-alpha.4 → 4.0.1-alpha.40

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 (172) hide show
  1. package/actions/release-tail/README.md +8 -0
  2. package/architecture/ci-lane-change-budget.json +187 -0
  3. package/architecture/decisions/0002-next-development-transition.md +101 -0
  4. package/architecture/internal-capabilities.json +117 -8
  5. package/architecture/maintainability-policy.json +43 -25
  6. package/architecture/release-tail-contract-inventory.json +5 -2
  7. package/architecture/v3-core-mechanism-inventory.json +89 -0
  8. package/architecture/v4-adopter-delivery-parity.json +32 -5
  9. package/architecture/v4-capability-state-machine-manifest.json +73 -0
  10. package/architecture/v4-compatibility-facts-parity.json +77 -0
  11. package/architecture/v4-floating-consumer-policy.json +6 -0
  12. package/architecture/v4-next-development-parity.json +192 -0
  13. package/architecture/v4-publication-rehearsal-parity.json +84 -0
  14. package/architecture/v4-release-train-parity.json +1 -0
  15. package/architecture/v4-tail-reseal-parity.json +150 -0
  16. package/bin/buildchain.mjs +23 -2
  17. package/bin/internal/adopter-delivery-cli.mjs +70 -0
  18. package/bin/internal/command-registry.mjs +3 -0
  19. package/bin/internal/compatibility-facts-cli.mjs +101 -0
  20. package/contracts/fixtures/next-development-transition-v1/anchored-manual-waiting.json +47 -0
  21. package/contracts/fixtures/next-development-transition-v1/semver-auto-planned.json +47 -0
  22. package/contracts/fixtures/next-development-transition-v1/version-model-cases.json +40 -0
  23. package/contracts/fixtures/v4-adopter-delivery-v1/archive-template.json +19 -0
  24. package/contracts/fixtures/v4-adopter-delivery-v1/bootstrap-positive.json +93 -0
  25. package/contracts/fixtures/v4-adopter-delivery-v1/gate-positive.json +29 -0
  26. package/contracts/fixtures/v4-adopter-delivery-v1/gate-unknown-selector.json +26 -0
  27. package/contracts/fixtures/v4-adopter-delivery-v1/offline-vectors.json +50 -0
  28. package/contracts/fixtures/v4-compatibility-facts-v1/shared.json +1129 -0
  29. package/contracts/fixtures/v4-floating-consumer-policy-v1/cases.json +7 -1
  30. package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/artifacts/product.bin +1 -0
  31. package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/config/buildchain.toml +5 -0
  32. package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/documents/release-activation.json +1 -0
  33. package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/documents/signed-channel.json +1 -0
  34. package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/evidence/qualification.json +1 -0
  35. package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/manifests/candidate.json +5 -0
  36. package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/manifests/release-passport.json +1 -0
  37. package/contracts/fixtures/v4-publication-rehearsal-v1/capsule.json +707 -0
  38. package/contracts/fixtures/v4-publication-rehearsal-v1/offline-vectors.json +27 -0
  39. package/contracts/fixtures/v4-tail-reseal-v1/valid.json +229 -0
  40. package/contracts/next-development-request-v1.schema.json +66 -0
  41. package/contracts/next-development-transition-v1.schema.json +292 -0
  42. package/contracts/v4-adopter-delivery-v1.schema.json +81 -0
  43. package/contracts/v4-compatibility-facts-v1.schema.json +230 -0
  44. package/contracts/v4-floating-consumer-policy-receipt-v1.schema.json +4 -2
  45. package/contracts/v4-publication-rehearsal-capsule-v1.schema.json +233 -0
  46. package/contracts/v4-tail-reseal-v1.schema.json +276 -0
  47. package/dist/site/agent-index.json +4 -0
  48. package/dist/site/artifact-schemas.json +8 -0
  49. package/dist/site/buildchain-contract.json +1393 -28
  50. package/dist/site/buildchain-site.json +477 -32
  51. package/dist/site/capability-registry.json +17 -14
  52. package/dist/site/cli-registry.json +159 -1
  53. package/dist/site/kfd-claims.json +455 -15
  54. package/dist/site/kfd-upstream-aggregate.json +1 -1
  55. package/dist/site/manual-registry.json +53 -7
  56. package/dist/site/node-api-registry.json +14008 -9602
  57. package/dist/site/page-registry.json +442 -21
  58. package/dist/site/public-surface-audit.json +440 -11
  59. package/dist/site/publication-authority-registry.json +44 -8
  60. package/dist/site/publication-registry.json +4 -4
  61. package/dist/site/release-provenance.json +22 -0
  62. package/dist/site/schemas/release-tail-capabilities-v1.schema.json +199 -0
  63. package/dist/site/schemas/v4-adopter-delivery-v1.schema.json +81 -0
  64. package/dist/site/schemas/v4-compatibility-facts-v1.schema.json +230 -0
  65. package/dist/site/schemas/v4-publication-rehearsal-capsule-v1.schema.json +233 -0
  66. package/dist/site/site-manifest.json +35 -11
  67. package/dist/site/workflow-registry.json +142 -8
  68. package/docs/MAP.md +7 -2
  69. package/docs/cli-reference.md +193 -0
  70. package/docs/cli.md +8 -0
  71. package/docs/dev-alpha-candidate-patrol.md +8 -0
  72. package/docs/dev-delivery-warrant.md +22 -1
  73. package/docs/next-development-transition.md +118 -0
  74. package/docs/node-api-reference.md +583 -288
  75. package/docs/release-candidate.md +7 -0
  76. package/docs/release-tail-provider-plane.md +30 -0
  77. package/docs/v4-adopter-delivery.md +133 -0
  78. package/docs/v4-compatibility-facts.md +91 -0
  79. package/docs/v4-publication-rehearsal.md +130 -0
  80. package/docs/v4-tail-reseal.md +73 -0
  81. package/docs/versioning.md +4 -3
  82. package/package.json +30 -6
  83. package/packages/core/adopter-delivery-passport.js +259 -0
  84. package/packages/core/adopter-delivery-vectors.js +158 -0
  85. package/packages/core/adopter-delivery-vectors.json +77 -0
  86. package/packages/core/buildchain-agent-manuals.js +3 -0
  87. package/packages/core/buildchain-compatibility-authority.js +336 -0
  88. package/packages/core/buildchain-compatibility-fact.js +394 -0
  89. package/packages/core/buildchain-compatibility-facts.json +217 -0
  90. package/packages/core/buildchain-compatibility-proof.js +566 -0
  91. package/packages/core/buildchain-config.js +84 -0
  92. package/packages/core/buildchain-contract.js +93 -141
  93. package/packages/core/buildchain-delivery-bootstrap.js +240 -0
  94. package/packages/core/buildchain-delivery-infrastructure.js +164 -0
  95. package/packages/core/buildchain-delivery-self-dogfood.js +395 -0
  96. package/packages/core/buildchain-publication-authority.js +1 -0
  97. package/packages/core/channel-candidate.js +8 -0
  98. package/packages/core/channel-promotion-baseline.js +55 -0
  99. package/packages/core/ci-lane-change-budget.js +247 -0
  100. package/packages/core/dev-alpha-candidate-selection.js +10 -2
  101. package/packages/core/dev-delivery-execution-transfer.js +21 -1
  102. package/packages/core/dev-delivery-native-proof.js +43 -27
  103. package/packages/core/dev-delivery-process-boundary.js +19 -6
  104. package/packages/core/dev-delivery-provider-heartbeat.js +18 -6
  105. package/packages/core/dev-delivery-warrant-settlement.js +234 -2
  106. package/packages/core/dev-delivery-warrant-state.js +46 -10
  107. package/packages/core/dev-delivery-warrant.js +16 -3
  108. package/packages/core/github-governance-authority.js +1 -0
  109. package/packages/core/index.js +5 -0
  110. package/packages/core/kungfu-temporal-fact.js +557 -0
  111. package/packages/core/legacy-kfd-adopter-driver.js +167 -0
  112. package/packages/core/next-development-candidate-reservation.js +186 -0
  113. package/packages/core/next-development-controller.js +728 -0
  114. package/packages/core/next-development-projection.js +287 -0
  115. package/packages/core/next-development-transition.js +738 -0
  116. package/packages/core/paper-agent-entry.js +11 -5
  117. package/packages/core/paper.js +16 -5
  118. package/packages/core/published-delivery-authority.js +266 -0
  119. package/packages/core/release-candidate-recovery.js +70 -15
  120. package/packages/core/release-candidate.js +2 -2
  121. package/packages/core/release-passport.js +36 -9
  122. package/packages/core/v4-adopter-delivery-parity.js +3 -3
  123. package/packages/core/v4-adopter-delivery.js +359 -0
  124. package/packages/core/v4-canonical-contracts.js +5 -0
  125. package/packages/core/v4-delivery-warrant-read-candidate.js +10 -3
  126. package/packages/core/v4-floating-consumer-evidence.js +18 -4
  127. package/packages/core/v4-floating-consumer-policy.js +143 -20
  128. package/packages/core/v4-floating-consumer-release-passport.js +35 -8
  129. package/packages/core/v4-publication-rehearsal-capsule.js +468 -0
  130. package/packages/core/v4-publication-rehearsal-provider-bindings.js +212 -0
  131. package/packages/core/v4-publication-rehearsal.js +481 -0
  132. package/packages/core/v4-tail-reseal-contract.js +26 -0
  133. package/packages/core/v4-tail-reseal-github.js +178 -0
  134. package/packages/core/v4-tail-reseal-receipt.js +225 -0
  135. package/packages/core/v4-tail-reseal.js +594 -0
  136. package/packages/core/workflow-yaml-contract.js +24 -2
  137. package/scripts/artifact-signing-controller-core.mjs +1 -1
  138. package/scripts/buildchain-cli-help.mjs +30 -0
  139. package/scripts/check-ci-lane-change-budget.mjs +100 -0
  140. package/scripts/check-inventory.mjs +14 -3
  141. package/scripts/check-project-cut-merge-queue-admission.mjs +87 -0
  142. package/scripts/check-v4-floating-consumer-policy-contract.mjs +23 -4
  143. package/scripts/dev-alpha-candidate-patrol.mjs +22 -1
  144. package/scripts/dev-delivery-source-proof-replay.mjs +153 -0
  145. package/scripts/dev-delivery-source-proof-reuse.mjs +13 -97
  146. package/scripts/dev-delivery-warrant-options.mjs +27 -11
  147. package/scripts/dev-delivery-warrant-store.mjs +10 -6
  148. package/scripts/dev-delivery-warrant.mjs +50 -6
  149. package/scripts/dev-pr-auto-merge.mjs +25 -11
  150. package/scripts/dev-pr-delivery-warrant.mjs +45 -0
  151. package/scripts/dev-pr-prequeue-guard.mjs +0 -18
  152. package/scripts/dev-qualification-patrol.mjs +9 -9
  153. package/scripts/dispatch-artifact-signing-authority.mjs +1 -1
  154. package/scripts/generate-channel-promotion-workflow.mjs +2 -2
  155. package/scripts/generate-next-development-guidance.mjs +49 -0
  156. package/scripts/generate-release-candidate-passport.mjs +152 -0
  157. package/scripts/generate-site-bundle.mjs +46 -3
  158. package/scripts/init-repo.mjs +22 -4
  159. package/scripts/next-development-self-dogfood-harness.mjs +460 -0
  160. package/scripts/next-development-self-dogfood.mjs +597 -0
  161. package/scripts/next-development-transition.mjs +47 -0
  162. package/scripts/project-cut-merge-queue-admission.mjs +394 -0
  163. package/scripts/promotion-channel-router.mjs +4 -4
  164. package/scripts/release-candidate-anchor-provenance.mjs +99 -0
  165. package/scripts/release-tail.mjs +51 -3
  166. package/scripts/resume-from-candidate-run.mjs +595 -65
  167. package/scripts/site-capability-metadata.mjs +29 -0
  168. package/scripts/stable-candidate-qualification.mjs +9 -10
  169. package/scripts/v4-consumer-policy.mjs +5 -5
  170. package/scripts/v4-publication-rehearsal-fixture.mjs +144 -0
  171. package/scripts/v4-tail-reseal-macos-rehearsal.mjs +134 -0
  172. package/scripts/v4-tail-reseal.mjs +416 -0
@@ -4,11 +4,1320 @@
4
4
  "product": {
5
5
  "name": "Buildchain",
6
6
  "package": "@kungfu-tech/buildchain",
7
- "version": "4.0.1-alpha.4",
7
+ "version": "4.0.1-alpha.40",
8
8
  "repository": "https://github.com/kungfu-systems/buildchain"
9
9
  },
10
10
  "majorLine": "v4",
11
11
  "compatibilityPolicy": "major-compatible",
12
+ "compatibilityFacts": [
13
+ {
14
+ "schema": "kungfu.buildchain.compatibility-fact/v1",
15
+ "factId": "build-channel-router-d40dd0-to-30549a",
16
+ "factRoot": "sha256:47c1d78adba0d75ac74409d85ad6cf1188d10d25165d2d561118cf76e9ccb701",
17
+ "sourceRoot": "sha256:ecf235e22344544c30b205323c6e01644561bcda143d0c566acac2571ecd18d7",
18
+ "targetRoot": "sha256:88cdf46c2a819e99374e7f10e609c34773fb67db9b5161adcb4112c1ccf6dc01",
19
+ "predicate": {
20
+ "root": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
21
+ "record": {
22
+ "schema": "kungfu.fact.temporal-predicate/v1",
23
+ "predicateId": "kungfu.buildchain.compatibility:accept-contract-lock/v1",
24
+ "operations": [
25
+ "accept-contract-lock"
26
+ ],
27
+ "direction": "source-to-target",
28
+ "pathPolicy": "explicit-bounded",
29
+ "cyclePolicy": "forbid",
30
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea"
31
+ }
32
+ },
33
+ "relation": {
34
+ "root": "sha256:47c1d78adba0d75ac74409d85ad6cf1188d10d25165d2d561118cf76e9ccb701",
35
+ "record": {
36
+ "schema": "kungfu.fact.temporal-relation/v1",
37
+ "relationId": "buildchain:compatibility:build-channel-router-d40dd0-to-30549a",
38
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
39
+ "sourceRoot": "sha256:ecf235e22344544c30b205323c6e01644561bcda143d0c566acac2571ecd18d7",
40
+ "targetRoot": "sha256:88cdf46c2a819e99374e7f10e609c34773fb67db9b5161adcb4112c1ccf6dc01",
41
+ "validFromCutRoot": "sha256:3b83f02e22ca82fc4a099b5f8c4353fffb1423b0a5cba41860b1ba86f7c8cbb7",
42
+ "scopeRoot": "sha256:dc381e72e9cad86293254f8542394f1abc27b4b0f07c122cb4cad5f73b381ccb",
43
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
44
+ "admissionRoots": [
45
+ "sha256:e449bdc62832fd18b33d93833207d70e843f066a85aae8b0c717234194ecb497"
46
+ ]
47
+ }
48
+ },
49
+ "proof": {
50
+ "schema": "kungfu.buildchain.compatibility-proof/v1",
51
+ "proofId": "build-channel-router-d40dd0-to-30549a",
52
+ "predicate": "compatible-breaking-digest",
53
+ "direction": "source-to-target",
54
+ "operation": "accept-contract-lock",
55
+ "source": {
56
+ "contract": "kungfu-buildchain-runtime-contract-world",
57
+ "surfaceId": "controller:build-channel-router",
58
+ "surfaceKind": "controller",
59
+ "breakingDigest": "sha256:d40dd05d7e07473d4b2dc1b62fbb0ed6f06449b4d3a7c44a2e8014313e3c0273"
60
+ },
61
+ "target": {
62
+ "contract": "kungfu-buildchain-runtime-contract-world",
63
+ "surfaceId": "controller:build-channel-router",
64
+ "surfaceKind": "controller",
65
+ "breakingDigest": "sha256:30549aa26cd1e1dd81f10fe3529d3c6e3f8438a6efa0100c47ebae4d2f3d71df"
66
+ },
67
+ "scope": {
68
+ "contract": "kungfu-buildchain-runtime-contract-world",
69
+ "surfaceId": "controller:build-channel-router",
70
+ "surfaceKind": "controller",
71
+ "majorLines": [
72
+ "v2",
73
+ "v3"
74
+ ],
75
+ "operation": "accept-contract-lock"
76
+ },
77
+ "scopeRoot": "sha256:dc381e72e9cad86293254f8542394f1abc27b4b0f07c122cb4cad5f73b381ccb",
78
+ "evidence": {
79
+ "kind": "protected-pull-request-contract-acceptance",
80
+ "pullRequest": "https://github.com/kungfu-systems/buildchain/pull/2549",
81
+ "protectedBase": "dev/v3/v3.0",
82
+ "sourceCommit": "0d87b772265066f5e6157e1ba6a2ba1021fb5225",
83
+ "mergeCommit": "34fad9d3a94c450d75c0d06fd6ed00470c992ff7",
84
+ "contractDigest": "sha256:2584ba36ab54cd5e9bab9e34dfc08d87a55dc57de1be7641492bf7ceb1366350",
85
+ "compatibilityDigest": "sha256:80f65cc191b1f771475184edf8a1bf9c10dd69bb58060aa09313d0e1e57f508a"
86
+ },
87
+ "evidenceRoot": "sha256:e449bdc62832fd18b33d93833207d70e843f066a85aae8b0c717234194ecb497",
88
+ "authority": {
89
+ "kind": "protected-base-contract-authority",
90
+ "repository": "kungfu-systems/buildchain",
91
+ "protectedBase": "dev/v3/v3.0"
92
+ },
93
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
94
+ "cut": {
95
+ "kind": "protected-git-cut",
96
+ "repository": "kungfu-systems/buildchain",
97
+ "protectedBase": "dev/v3/v3.0",
98
+ "commit": "34fad9d3a94c450d75c0d06fd6ed00470c992ff7"
99
+ },
100
+ "cutRoot": "sha256:3b83f02e22ca82fc4a099b5f8c4353fffb1423b0a5cba41860b1ba86f7c8cbb7",
101
+ "proofRoot": "sha256:36d2e188f43385d6191116393aa81ea025ccf61e21a1c5eae1d56be92a203b31"
102
+ }
103
+ },
104
+ {
105
+ "schema": "kungfu.buildchain.compatibility-fact/v1",
106
+ "factId": "promote-buildchain-ref-action-a59f09-to-6147c0",
107
+ "factRoot": "sha256:50e5b6e644493ac00d5b1d83a0ec6009f9faaae1bee15e88ee8386c9ec8a775d",
108
+ "sourceRoot": "sha256:b2ea5e385297f25146de02e5da2247b6a2d7f518d88eac95624a693891107a79",
109
+ "targetRoot": "sha256:33eee394ed2fe9892fd833eba4dc76dcae95a2ff1d8fb507a926651604be20e9",
110
+ "predicate": {
111
+ "root": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
112
+ "record": {
113
+ "schema": "kungfu.fact.temporal-predicate/v1",
114
+ "predicateId": "kungfu.buildchain.compatibility:accept-contract-lock/v1",
115
+ "operations": [
116
+ "accept-contract-lock"
117
+ ],
118
+ "direction": "source-to-target",
119
+ "pathPolicy": "explicit-bounded",
120
+ "cyclePolicy": "forbid",
121
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea"
122
+ }
123
+ },
124
+ "relation": {
125
+ "root": "sha256:50e5b6e644493ac00d5b1d83a0ec6009f9faaae1bee15e88ee8386c9ec8a775d",
126
+ "record": {
127
+ "schema": "kungfu.fact.temporal-relation/v1",
128
+ "relationId": "buildchain:compatibility:promote-buildchain-ref-action-a59f09-to-6147c0",
129
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
130
+ "sourceRoot": "sha256:b2ea5e385297f25146de02e5da2247b6a2d7f518d88eac95624a693891107a79",
131
+ "targetRoot": "sha256:33eee394ed2fe9892fd833eba4dc76dcae95a2ff1d8fb507a926651604be20e9",
132
+ "validFromCutRoot": "sha256:4fd5ae0cdad01a09e91bbb3f183ac595510a8f25baf7ba865de7633a7eacb3eb",
133
+ "scopeRoot": "sha256:dbf061c2f7608451f0d2ae47e2d7eaa323d7cf61699f20467ac73712748e50c5",
134
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
135
+ "admissionRoots": [
136
+ "sha256:454c8cf77d6ecb35de2cdb2f8f80832d7fb31b9f9ef300749ac8b1595fd5cf86"
137
+ ]
138
+ }
139
+ },
140
+ "proof": {
141
+ "schema": "kungfu.buildchain.compatibility-proof/v1",
142
+ "proofId": "promote-buildchain-ref-action-a59f09-to-6147c0",
143
+ "predicate": "compatible-breaking-digest",
144
+ "direction": "source-to-target",
145
+ "operation": "accept-contract-lock",
146
+ "source": {
147
+ "contract": "kungfu-buildchain-runtime-contract-world",
148
+ "surfaceId": "promote-buildchain-ref-action",
149
+ "surfaceKind": "action",
150
+ "breakingDigest": "sha256:a59f0910e6df842e7699139472e5dd69ac2fdd7f7213bf2cb346d1d622556874"
151
+ },
152
+ "target": {
153
+ "contract": "kungfu-buildchain-runtime-contract-world",
154
+ "surfaceId": "promote-buildchain-ref-action",
155
+ "surfaceKind": "action",
156
+ "breakingDigest": "sha256:6147c0a8d5c36bfaa6021871574e1fc28192a3f1b8cfdae4d24ef3059ac1ebda"
157
+ },
158
+ "scope": {
159
+ "contract": "kungfu-buildchain-runtime-contract-world",
160
+ "surfaceId": "promote-buildchain-ref-action",
161
+ "surfaceKind": "action",
162
+ "majorLines": [
163
+ "v2",
164
+ "v3"
165
+ ],
166
+ "operation": "accept-contract-lock"
167
+ },
168
+ "scopeRoot": "sha256:dbf061c2f7608451f0d2ae47e2d7eaa323d7cf61699f20467ac73712748e50c5",
169
+ "evidence": {
170
+ "kind": "protected-pull-request-contract-acceptance",
171
+ "pullRequest": "https://github.com/kungfu-systems/buildchain/pull/1556",
172
+ "protectedBase": "dev/v2/v2.14",
173
+ "sourceCommit": "f8e2c5d28ef34d711892589331b7e018095a96d7",
174
+ "mergeCommit": "6e0c29be1489f686a9a3792b46bfaa4466828393",
175
+ "contractDigest": "sha256:f6dbf5147d9ad3b8c49ba6630cd52b8c7853ead7c921d7e1210a393aebf97d1f",
176
+ "compatibilityDigest": "sha256:cdf588422ec6b460bd6f631400efa6e361a045e052c8967d6c50fadd7aa4dd90"
177
+ },
178
+ "evidenceRoot": "sha256:454c8cf77d6ecb35de2cdb2f8f80832d7fb31b9f9ef300749ac8b1595fd5cf86",
179
+ "authority": {
180
+ "kind": "protected-base-contract-authority",
181
+ "repository": "kungfu-systems/buildchain",
182
+ "protectedBase": "dev/v3/v3.0"
183
+ },
184
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
185
+ "cut": {
186
+ "kind": "protected-git-cut",
187
+ "repository": "kungfu-systems/buildchain",
188
+ "protectedBase": "dev/v3/v3.0",
189
+ "commit": "ff0f9006be1c8f63be40e67789e0cfd28fd69d46"
190
+ },
191
+ "cutRoot": "sha256:4fd5ae0cdad01a09e91bbb3f183ac595510a8f25baf7ba865de7633a7eacb3eb",
192
+ "proofRoot": "sha256:e6f93f44a6613a9d6de776ebe8f29b1779b0cd18a24bdf126ec6c1a07770fa75"
193
+ }
194
+ },
195
+ {
196
+ "schema": "kungfu.buildchain.compatibility-fact/v1",
197
+ "factId": "advanced-release-candidate-promote-aa30f2-to-9db8dd",
198
+ "factRoot": "sha256:5664da2363bed0b45497215b60763c3be627e568eb3182af5891c23ae3875fbe",
199
+ "sourceRoot": "sha256:df85dfa54c463f6889cfa1374a1b67c25f41e3e32cd59dee80262d4c766945e9",
200
+ "targetRoot": "sha256:07960d74a035f5417974f7761c4cb2a203e7fc6166366a3d113f09f41df597e8",
201
+ "predicate": {
202
+ "root": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
203
+ "record": {
204
+ "schema": "kungfu.fact.temporal-predicate/v1",
205
+ "predicateId": "kungfu.buildchain.compatibility:accept-contract-lock/v1",
206
+ "operations": [
207
+ "accept-contract-lock"
208
+ ],
209
+ "direction": "source-to-target",
210
+ "pathPolicy": "explicit-bounded",
211
+ "cyclePolicy": "forbid",
212
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea"
213
+ }
214
+ },
215
+ "relation": {
216
+ "root": "sha256:5664da2363bed0b45497215b60763c3be627e568eb3182af5891c23ae3875fbe",
217
+ "record": {
218
+ "schema": "kungfu.fact.temporal-relation/v1",
219
+ "relationId": "buildchain:compatibility:advanced-release-candidate-promote-aa30f2-to-9db8dd",
220
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
221
+ "sourceRoot": "sha256:df85dfa54c463f6889cfa1374a1b67c25f41e3e32cd59dee80262d4c766945e9",
222
+ "targetRoot": "sha256:07960d74a035f5417974f7761c4cb2a203e7fc6166366a3d113f09f41df597e8",
223
+ "validFromCutRoot": "sha256:4fd5ae0cdad01a09e91bbb3f183ac595510a8f25baf7ba865de7633a7eacb3eb",
224
+ "scopeRoot": "sha256:c9746475e09a42adf6e33cf3656d9d7cef8e880ba3efc31b8a3cd599b938a124",
225
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
226
+ "admissionRoots": [
227
+ "sha256:c428bab55d265c91220aa10f7f3d8be508bdc1b412049ca9de48fa6f9898a373"
228
+ ]
229
+ }
230
+ },
231
+ "proof": {
232
+ "schema": "kungfu.buildchain.compatibility-proof/v1",
233
+ "proofId": "advanced-release-candidate-promote-aa30f2-to-9db8dd",
234
+ "predicate": "compatible-breaking-digest",
235
+ "direction": "source-to-target",
236
+ "operation": "accept-contract-lock",
237
+ "source": {
238
+ "contract": "kungfu-buildchain-runtime-contract-world",
239
+ "surfaceId": "advanced-release-candidate-promote",
240
+ "surfaceKind": "workflow",
241
+ "breakingDigest": "sha256:aa30f22e3af0a89841310bdbdc900844dd95a66974db173fa140a71bbd7e82c0"
242
+ },
243
+ "target": {
244
+ "contract": "kungfu-buildchain-runtime-contract-world",
245
+ "surfaceId": "advanced-release-candidate-promote",
246
+ "surfaceKind": "workflow",
247
+ "breakingDigest": "sha256:9db8dd07152855d03ff30f9c571438593c689d3e8139fa45431d000f548242f5"
248
+ },
249
+ "scope": {
250
+ "contract": "kungfu-buildchain-runtime-contract-world",
251
+ "surfaceId": "advanced-release-candidate-promote",
252
+ "surfaceKind": "workflow",
253
+ "majorLines": [
254
+ "v2",
255
+ "v3"
256
+ ],
257
+ "operation": "accept-contract-lock"
258
+ },
259
+ "scopeRoot": "sha256:c9746475e09a42adf6e33cf3656d9d7cef8e880ba3efc31b8a3cd599b938a124",
260
+ "evidence": {
261
+ "kind": "protected-pull-request-contract-acceptance",
262
+ "pullRequest": "https://github.com/kungfu-systems/buildchain/pull/2342",
263
+ "protectedBase": "dev/v3/v3.0",
264
+ "sourceCommit": "8870db287a9ee5fb95eebbbe907b1649d84d5b7f",
265
+ "mergeCommit": "30b605adea1ed33dcf0bbb4cc7b666b64a6ccd18",
266
+ "contractDigest": "sha256:9c07dbdb9aa8390569cd07ace044af45e6751b91ffe8fcc0cb69a77388b0f72b",
267
+ "compatibilityDigest": "sha256:80cfdf1786019217c439810f1a80d2866bf8f7ef35a6fa569e1a687fb2bf4cbe"
268
+ },
269
+ "evidenceRoot": "sha256:c428bab55d265c91220aa10f7f3d8be508bdc1b412049ca9de48fa6f9898a373",
270
+ "authority": {
271
+ "kind": "protected-base-contract-authority",
272
+ "repository": "kungfu-systems/buildchain",
273
+ "protectedBase": "dev/v3/v3.0"
274
+ },
275
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
276
+ "cut": {
277
+ "kind": "protected-git-cut",
278
+ "repository": "kungfu-systems/buildchain",
279
+ "protectedBase": "dev/v3/v3.0",
280
+ "commit": "ff0f9006be1c8f63be40e67789e0cfd28fd69d46"
281
+ },
282
+ "cutRoot": "sha256:4fd5ae0cdad01a09e91bbb3f183ac595510a8f25baf7ba865de7633a7eacb3eb",
283
+ "proofRoot": "sha256:36c85ba487be1528e85776d2bc5f766a971d42ac238aec30071945f7d60d9fc5"
284
+ }
285
+ },
286
+ {
287
+ "schema": "kungfu.buildchain.compatibility-fact/v1",
288
+ "factId": "reusable-build-a6a353-to-dfbedd",
289
+ "factRoot": "sha256:7c85c77b8282d123924b89b4f5b239b58b7b1383af91b9006425d9269a2c6ce5",
290
+ "sourceRoot": "sha256:d62613e555428da8c08287d9335f00b5ecf4c90950307e1b2407bf84ffbc633d",
291
+ "targetRoot": "sha256:db4272cd6eba98596dedf2bb6c843604fa977950e188fdde6df22534d9715c23",
292
+ "predicate": {
293
+ "root": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
294
+ "record": {
295
+ "schema": "kungfu.fact.temporal-predicate/v1",
296
+ "predicateId": "kungfu.buildchain.compatibility:accept-contract-lock/v1",
297
+ "operations": [
298
+ "accept-contract-lock"
299
+ ],
300
+ "direction": "source-to-target",
301
+ "pathPolicy": "explicit-bounded",
302
+ "cyclePolicy": "forbid",
303
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea"
304
+ }
305
+ },
306
+ "relation": {
307
+ "root": "sha256:7c85c77b8282d123924b89b4f5b239b58b7b1383af91b9006425d9269a2c6ce5",
308
+ "record": {
309
+ "schema": "kungfu.fact.temporal-relation/v1",
310
+ "relationId": "buildchain:compatibility:reusable-build-a6a353-to-dfbedd",
311
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
312
+ "sourceRoot": "sha256:d62613e555428da8c08287d9335f00b5ecf4c90950307e1b2407bf84ffbc633d",
313
+ "targetRoot": "sha256:db4272cd6eba98596dedf2bb6c843604fa977950e188fdde6df22534d9715c23",
314
+ "validFromCutRoot": "sha256:4a758c2d730bf99a28ae37057e865e9f0cb8a516200b5a0c29851ca414efa556",
315
+ "scopeRoot": "sha256:b50ae93f868501c8acfc93d93dc2deec916a4fcf12c19f959fbb3893cc11bb6c",
316
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
317
+ "admissionRoots": [
318
+ "sha256:8e0184e579c42a66851992a79d54b6f8add9eea776a589bc3004fe0e2177b15c"
319
+ ]
320
+ }
321
+ },
322
+ "proof": {
323
+ "schema": "kungfu.buildchain.compatibility-proof/v1",
324
+ "proofId": "reusable-build-a6a353-to-dfbedd",
325
+ "predicate": "compatible-breaking-digest",
326
+ "direction": "source-to-target",
327
+ "operation": "accept-contract-lock",
328
+ "source": {
329
+ "contract": "kungfu-buildchain-runtime-contract-world",
330
+ "surfaceId": "reusable-build",
331
+ "surfaceKind": "workflow",
332
+ "breakingDigest": "sha256:a6a35370d6b0d0f46e1b2712dcc01961fe53c2febde95409a27a485c10a36650"
333
+ },
334
+ "target": {
335
+ "contract": "kungfu-buildchain-runtime-contract-world",
336
+ "surfaceId": "reusable-build",
337
+ "surfaceKind": "workflow",
338
+ "breakingDigest": "sha256:dfbedd543ae0c067982b5c8c02d98dd2f7f7df88752be97fb330da6b0ba30faa"
339
+ },
340
+ "scope": {
341
+ "contract": "kungfu-buildchain-runtime-contract-world",
342
+ "surfaceId": "reusable-build",
343
+ "surfaceKind": "workflow",
344
+ "majorLines": [
345
+ "v2",
346
+ "v3"
347
+ ],
348
+ "operation": "accept-contract-lock"
349
+ },
350
+ "scopeRoot": "sha256:b50ae93f868501c8acfc93d93dc2deec916a4fcf12c19f959fbb3893cc11bb6c",
351
+ "evidence": {
352
+ "kind": "protected-pull-request-contract-acceptance",
353
+ "pullRequest": "https://github.com/kungfu-systems/buildchain/pull/2089",
354
+ "protectedBase": "dev/v3/v3.0",
355
+ "sourceCommit": "1a6cb874bc6f1611f3eef607e711d3532798e9e7",
356
+ "mergeCommit": "71a75f21159b994241ec7cb2c50f7a150c5d440b",
357
+ "contractDigest": "sha256:7c2a7c132a2b2722f70f148b81048147047d4d2c46cf33f7cd2dc158aec092e0",
358
+ "compatibilityDigest": "sha256:61af7d0871220bc0909008bdc571905ad500cccf853e7841bc5d462a34b2d436"
359
+ },
360
+ "evidenceRoot": "sha256:8e0184e579c42a66851992a79d54b6f8add9eea776a589bc3004fe0e2177b15c",
361
+ "authority": {
362
+ "kind": "protected-base-contract-authority",
363
+ "repository": "kungfu-systems/buildchain",
364
+ "protectedBase": "dev/v3/v3.0"
365
+ },
366
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
367
+ "cut": {
368
+ "kind": "protected-git-cut",
369
+ "repository": "kungfu-systems/buildchain",
370
+ "protectedBase": "dev/v3/v3.0",
371
+ "commit": "71a75f21159b994241ec7cb2c50f7a150c5d440b"
372
+ },
373
+ "cutRoot": "sha256:4a758c2d730bf99a28ae37057e865e9f0cb8a516200b5a0c29851ca414efa556",
374
+ "proofRoot": "sha256:b99176f414752ffb276f4add6183aa81eeb480598368ca4f57804f024212d0f5"
375
+ }
376
+ },
377
+ {
378
+ "schema": "kungfu.buildchain.compatibility-fact/v1",
379
+ "factId": "build-lifecycle-e264a7-to-6b8d38",
380
+ "factRoot": "sha256:b45ecad5988d358bc4604f28db0faad793a02d8ee8592cc1f4323365e951c6f0",
381
+ "sourceRoot": "sha256:556fde50370a3065212b7357efccc4e84f6332dc4c8ff94357caf5f428773fdf",
382
+ "targetRoot": "sha256:da550aa8c13f0f1424d1edf68653611a8206b49b1f82d0939d248010d49e9080",
383
+ "predicate": {
384
+ "root": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
385
+ "record": {
386
+ "schema": "kungfu.fact.temporal-predicate/v1",
387
+ "predicateId": "kungfu.buildchain.compatibility:accept-contract-lock/v1",
388
+ "operations": [
389
+ "accept-contract-lock"
390
+ ],
391
+ "direction": "source-to-target",
392
+ "pathPolicy": "explicit-bounded",
393
+ "cyclePolicy": "forbid",
394
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea"
395
+ }
396
+ },
397
+ "relation": {
398
+ "root": "sha256:b45ecad5988d358bc4604f28db0faad793a02d8ee8592cc1f4323365e951c6f0",
399
+ "record": {
400
+ "schema": "kungfu.fact.temporal-relation/v1",
401
+ "relationId": "buildchain:compatibility:build-lifecycle-e264a7-to-6b8d38",
402
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
403
+ "sourceRoot": "sha256:556fde50370a3065212b7357efccc4e84f6332dc4c8ff94357caf5f428773fdf",
404
+ "targetRoot": "sha256:da550aa8c13f0f1424d1edf68653611a8206b49b1f82d0939d248010d49e9080",
405
+ "validFromCutRoot": "sha256:4fd5ae0cdad01a09e91bbb3f183ac595510a8f25baf7ba865de7633a7eacb3eb",
406
+ "scopeRoot": "sha256:c1a391a06ad2732c09c09fe0a0806569ac066684f5f2cd381a634c7784da6de3",
407
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
408
+ "admissionRoots": [
409
+ "sha256:ec5b8374a76dea9fd344cace735f46caa7a8167eef1becd55fbdb0d3cd6f1109"
410
+ ]
411
+ }
412
+ },
413
+ "proof": {
414
+ "schema": "kungfu.buildchain.compatibility-proof/v1",
415
+ "proofId": "build-lifecycle-e264a7-to-6b8d38",
416
+ "predicate": "compatible-breaking-digest",
417
+ "direction": "source-to-target",
418
+ "operation": "accept-contract-lock",
419
+ "source": {
420
+ "contract": "kungfu-buildchain-runtime-contract-world",
421
+ "surfaceId": "controller:build-lifecycle",
422
+ "surfaceKind": "controller",
423
+ "breakingDigest": "sha256:e264a79f9f399038c2fcfd21e4168c68c2e1485ee5c651c02242a02b622ac2be"
424
+ },
425
+ "target": {
426
+ "contract": "kungfu-buildchain-runtime-contract-world",
427
+ "surfaceId": "controller:build-lifecycle",
428
+ "surfaceKind": "controller",
429
+ "breakingDigest": "sha256:6b8d38e92b2c67b5bc83fae0a3fd95bfa47582fbc176e6cdeebe7630a57534cb"
430
+ },
431
+ "scope": {
432
+ "contract": "kungfu-buildchain-runtime-contract-world",
433
+ "surfaceId": "controller:build-lifecycle",
434
+ "surfaceKind": "controller",
435
+ "majorLines": [
436
+ "v2",
437
+ "v3"
438
+ ],
439
+ "operation": "accept-contract-lock"
440
+ },
441
+ "scopeRoot": "sha256:c1a391a06ad2732c09c09fe0a0806569ac066684f5f2cd381a634c7784da6de3",
442
+ "evidence": {
443
+ "kind": "protected-pull-request-contract-acceptance",
444
+ "pullRequest": "https://github.com/kungfu-systems/buildchain/pull/2058",
445
+ "protectedBase": "dev/v3/v3.0",
446
+ "sourceCommit": "c9a86bd1ac17b4fae54b0410498830edad80d831",
447
+ "mergeCommit": "3991801a7a7d6fe5e31b9a670dfde7ea59e61253",
448
+ "contractDigest": "sha256:da72850bbd3088f0e9eb20c17382557e0dfb7e68bf4469d352ed870ee8a334e8",
449
+ "compatibilityDigest": "sha256:32a651504c57829085dc8863f0e41dee98eb60708ff6dec958c9c7e4b1010102"
450
+ },
451
+ "evidenceRoot": "sha256:ec5b8374a76dea9fd344cace735f46caa7a8167eef1becd55fbdb0d3cd6f1109",
452
+ "authority": {
453
+ "kind": "protected-base-contract-authority",
454
+ "repository": "kungfu-systems/buildchain",
455
+ "protectedBase": "dev/v3/v3.0"
456
+ },
457
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
458
+ "cut": {
459
+ "kind": "protected-git-cut",
460
+ "repository": "kungfu-systems/buildchain",
461
+ "protectedBase": "dev/v3/v3.0",
462
+ "commit": "ff0f9006be1c8f63be40e67789e0cfd28fd69d46"
463
+ },
464
+ "cutRoot": "sha256:4fd5ae0cdad01a09e91bbb3f183ac595510a8f25baf7ba865de7633a7eacb3eb",
465
+ "proofRoot": "sha256:9024634cef43a9d695fa224d26be9aeb6370d3c981b003ece3b659dde8e73713"
466
+ }
467
+ },
468
+ {
469
+ "schema": "kungfu.buildchain.compatibility-fact/v1",
470
+ "factId": "web-surface-da569f-to-27f0cb",
471
+ "factRoot": "sha256:bba5690e6c535b54623d31b3260e59381bdb50161d7bff33b8e42b8b6dd3135a",
472
+ "sourceRoot": "sha256:b613d47196d2589279675d55435cb23f9dfc59bf5cdd37430c692b47e981bf23",
473
+ "targetRoot": "sha256:a409f21ebea76066bbf6ae064f220bef20cceba806e35ffc1caa107cacd0c0c2",
474
+ "predicate": {
475
+ "root": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
476
+ "record": {
477
+ "schema": "kungfu.fact.temporal-predicate/v1",
478
+ "predicateId": "kungfu.buildchain.compatibility:accept-contract-lock/v1",
479
+ "operations": [
480
+ "accept-contract-lock"
481
+ ],
482
+ "direction": "source-to-target",
483
+ "pathPolicy": "explicit-bounded",
484
+ "cyclePolicy": "forbid",
485
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea"
486
+ }
487
+ },
488
+ "relation": {
489
+ "root": "sha256:bba5690e6c535b54623d31b3260e59381bdb50161d7bff33b8e42b8b6dd3135a",
490
+ "record": {
491
+ "schema": "kungfu.fact.temporal-relation/v1",
492
+ "relationId": "buildchain:compatibility:web-surface-da569f-to-27f0cb",
493
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
494
+ "sourceRoot": "sha256:b613d47196d2589279675d55435cb23f9dfc59bf5cdd37430c692b47e981bf23",
495
+ "targetRoot": "sha256:a409f21ebea76066bbf6ae064f220bef20cceba806e35ffc1caa107cacd0c0c2",
496
+ "validFromCutRoot": "sha256:4a758c2d730bf99a28ae37057e865e9f0cb8a516200b5a0c29851ca414efa556",
497
+ "scopeRoot": "sha256:0288a1bc232405047630819733074df11cfd86596c0fc95afd4403948399d679",
498
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
499
+ "admissionRoots": [
500
+ "sha256:8e0184e579c42a66851992a79d54b6f8add9eea776a589bc3004fe0e2177b15c"
501
+ ]
502
+ }
503
+ },
504
+ "proof": {
505
+ "schema": "kungfu.buildchain.compatibility-proof/v1",
506
+ "proofId": "web-surface-da569f-to-27f0cb",
507
+ "predicate": "compatible-breaking-digest",
508
+ "direction": "source-to-target",
509
+ "operation": "accept-contract-lock",
510
+ "source": {
511
+ "contract": "kungfu-buildchain-runtime-contract-world",
512
+ "surfaceId": "web-surface",
513
+ "surfaceKind": "workflow",
514
+ "breakingDigest": "sha256:da569f90374e878948e3d5160ed9929338ce0572473ca8ee54867b0fe1aaeace"
515
+ },
516
+ "target": {
517
+ "contract": "kungfu-buildchain-runtime-contract-world",
518
+ "surfaceId": "web-surface",
519
+ "surfaceKind": "workflow",
520
+ "breakingDigest": "sha256:27f0cb9c7d97288850d215be8696b323471c41fd1cdf3a2ff3ebf21f62541960"
521
+ },
522
+ "scope": {
523
+ "contract": "kungfu-buildchain-runtime-contract-world",
524
+ "surfaceId": "web-surface",
525
+ "surfaceKind": "workflow",
526
+ "majorLines": [
527
+ "v2",
528
+ "v3"
529
+ ],
530
+ "operation": "accept-contract-lock"
531
+ },
532
+ "scopeRoot": "sha256:0288a1bc232405047630819733074df11cfd86596c0fc95afd4403948399d679",
533
+ "evidence": {
534
+ "kind": "protected-pull-request-contract-acceptance",
535
+ "pullRequest": "https://github.com/kungfu-systems/buildchain/pull/2089",
536
+ "protectedBase": "dev/v3/v3.0",
537
+ "sourceCommit": "1a6cb874bc6f1611f3eef607e711d3532798e9e7",
538
+ "mergeCommit": "71a75f21159b994241ec7cb2c50f7a150c5d440b",
539
+ "contractDigest": "sha256:7c2a7c132a2b2722f70f148b81048147047d4d2c46cf33f7cd2dc158aec092e0",
540
+ "compatibilityDigest": "sha256:61af7d0871220bc0909008bdc571905ad500cccf853e7841bc5d462a34b2d436"
541
+ },
542
+ "evidenceRoot": "sha256:8e0184e579c42a66851992a79d54b6f8add9eea776a589bc3004fe0e2177b15c",
543
+ "authority": {
544
+ "kind": "protected-base-contract-authority",
545
+ "repository": "kungfu-systems/buildchain",
546
+ "protectedBase": "dev/v3/v3.0"
547
+ },
548
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
549
+ "cut": {
550
+ "kind": "protected-git-cut",
551
+ "repository": "kungfu-systems/buildchain",
552
+ "protectedBase": "dev/v3/v3.0",
553
+ "commit": "71a75f21159b994241ec7cb2c50f7a150c5d440b"
554
+ },
555
+ "cutRoot": "sha256:4a758c2d730bf99a28ae37057e865e9f0cb8a516200b5a0c29851ca414efa556",
556
+ "proofRoot": "sha256:3ba66a1e8f8d00ddd45f3f448bcccb15469cbd31f5765d36f61e4cfe7fd0dd41"
557
+ }
558
+ },
559
+ {
560
+ "schema": "kungfu.buildchain.compatibility-fact/v1",
561
+ "factId": "build-lifecycle-307459-to-6b8d38",
562
+ "factRoot": "sha256:c803aa7787c92e9ac71e0f52b6d2ec0cc76e8bc0e55f192affa9546286899ce9",
563
+ "sourceRoot": "sha256:4ac7d3ce8c279470d2ae71deda9a8a898064c240e75f02006c0ea4057ce690b1",
564
+ "targetRoot": "sha256:da550aa8c13f0f1424d1edf68653611a8206b49b1f82d0939d248010d49e9080",
565
+ "predicate": {
566
+ "root": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
567
+ "record": {
568
+ "schema": "kungfu.fact.temporal-predicate/v1",
569
+ "predicateId": "kungfu.buildchain.compatibility:accept-contract-lock/v1",
570
+ "operations": [
571
+ "accept-contract-lock"
572
+ ],
573
+ "direction": "source-to-target",
574
+ "pathPolicy": "explicit-bounded",
575
+ "cyclePolicy": "forbid",
576
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea"
577
+ }
578
+ },
579
+ "relation": {
580
+ "root": "sha256:c803aa7787c92e9ac71e0f52b6d2ec0cc76e8bc0e55f192affa9546286899ce9",
581
+ "record": {
582
+ "schema": "kungfu.fact.temporal-relation/v1",
583
+ "relationId": "buildchain:compatibility:build-lifecycle-307459-to-6b8d38",
584
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
585
+ "sourceRoot": "sha256:4ac7d3ce8c279470d2ae71deda9a8a898064c240e75f02006c0ea4057ce690b1",
586
+ "targetRoot": "sha256:da550aa8c13f0f1424d1edf68653611a8206b49b1f82d0939d248010d49e9080",
587
+ "validFromCutRoot": "sha256:4fd5ae0cdad01a09e91bbb3f183ac595510a8f25baf7ba865de7633a7eacb3eb",
588
+ "scopeRoot": "sha256:c1a391a06ad2732c09c09fe0a0806569ac066684f5f2cd381a634c7784da6de3",
589
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
590
+ "admissionRoots": [
591
+ "sha256:ec5b8374a76dea9fd344cace735f46caa7a8167eef1becd55fbdb0d3cd6f1109"
592
+ ]
593
+ }
594
+ },
595
+ "proof": {
596
+ "schema": "kungfu.buildchain.compatibility-proof/v1",
597
+ "proofId": "build-lifecycle-307459-to-6b8d38",
598
+ "predicate": "compatible-breaking-digest",
599
+ "direction": "source-to-target",
600
+ "operation": "accept-contract-lock",
601
+ "source": {
602
+ "contract": "kungfu-buildchain-runtime-contract-world",
603
+ "surfaceId": "controller:build-lifecycle",
604
+ "surfaceKind": "controller",
605
+ "breakingDigest": "sha256:30745921541e9b0f70475bb2178c2559f6aef248f6680670ccd44d8c5a69a6b1"
606
+ },
607
+ "target": {
608
+ "contract": "kungfu-buildchain-runtime-contract-world",
609
+ "surfaceId": "controller:build-lifecycle",
610
+ "surfaceKind": "controller",
611
+ "breakingDigest": "sha256:6b8d38e92b2c67b5bc83fae0a3fd95bfa47582fbc176e6cdeebe7630a57534cb"
612
+ },
613
+ "scope": {
614
+ "contract": "kungfu-buildchain-runtime-contract-world",
615
+ "surfaceId": "controller:build-lifecycle",
616
+ "surfaceKind": "controller",
617
+ "majorLines": [
618
+ "v2",
619
+ "v3"
620
+ ],
621
+ "operation": "accept-contract-lock"
622
+ },
623
+ "scopeRoot": "sha256:c1a391a06ad2732c09c09fe0a0806569ac066684f5f2cd381a634c7784da6de3",
624
+ "evidence": {
625
+ "kind": "protected-pull-request-contract-acceptance",
626
+ "pullRequest": "https://github.com/kungfu-systems/buildchain/pull/2058",
627
+ "protectedBase": "dev/v3/v3.0",
628
+ "sourceCommit": "c9a86bd1ac17b4fae54b0410498830edad80d831",
629
+ "mergeCommit": "3991801a7a7d6fe5e31b9a670dfde7ea59e61253",
630
+ "contractDigest": "sha256:da72850bbd3088f0e9eb20c17382557e0dfb7e68bf4469d352ed870ee8a334e8",
631
+ "compatibilityDigest": "sha256:32a651504c57829085dc8863f0e41dee98eb60708ff6dec958c9c7e4b1010102"
632
+ },
633
+ "evidenceRoot": "sha256:ec5b8374a76dea9fd344cace735f46caa7a8167eef1becd55fbdb0d3cd6f1109",
634
+ "authority": {
635
+ "kind": "protected-base-contract-authority",
636
+ "repository": "kungfu-systems/buildchain",
637
+ "protectedBase": "dev/v3/v3.0"
638
+ },
639
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
640
+ "cut": {
641
+ "kind": "protected-git-cut",
642
+ "repository": "kungfu-systems/buildchain",
643
+ "protectedBase": "dev/v3/v3.0",
644
+ "commit": "ff0f9006be1c8f63be40e67789e0cfd28fd69d46"
645
+ },
646
+ "cutRoot": "sha256:4fd5ae0cdad01a09e91bbb3f183ac595510a8f25baf7ba865de7633a7eacb3eb",
647
+ "proofRoot": "sha256:3bd1c54198b78a462d2005ac66c139ad4d6f1962925c8f0971b4d0a222f1a7c5"
648
+ }
649
+ },
650
+ {
651
+ "schema": "kungfu.buildchain.compatibility-fact/v1",
652
+ "factId": "release-candidate-promote-acd401-to-e60642",
653
+ "factRoot": "sha256:ec1c70ff70cca52ac276fab344b1c2d00c9581a8efec6d6fa37d56cb11632af1",
654
+ "sourceRoot": "sha256:4e97e8e31e7d00e6f616774fec9ab802d5274ed15c852d4e922a1187cd599f91",
655
+ "targetRoot": "sha256:465664b29542d294179396d8c78d507551373f34a5ee0d2682b342fe523174ad",
656
+ "predicate": {
657
+ "root": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
658
+ "record": {
659
+ "schema": "kungfu.fact.temporal-predicate/v1",
660
+ "predicateId": "kungfu.buildchain.compatibility:accept-contract-lock/v1",
661
+ "operations": [
662
+ "accept-contract-lock"
663
+ ],
664
+ "direction": "source-to-target",
665
+ "pathPolicy": "explicit-bounded",
666
+ "cyclePolicy": "forbid",
667
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea"
668
+ }
669
+ },
670
+ "relation": {
671
+ "root": "sha256:ec1c70ff70cca52ac276fab344b1c2d00c9581a8efec6d6fa37d56cb11632af1",
672
+ "record": {
673
+ "schema": "kungfu.fact.temporal-relation/v1",
674
+ "relationId": "buildchain:compatibility:release-candidate-promote-acd401-to-e60642",
675
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
676
+ "sourceRoot": "sha256:4e97e8e31e7d00e6f616774fec9ab802d5274ed15c852d4e922a1187cd599f91",
677
+ "targetRoot": "sha256:465664b29542d294179396d8c78d507551373f34a5ee0d2682b342fe523174ad",
678
+ "validFromCutRoot": "sha256:4fd5ae0cdad01a09e91bbb3f183ac595510a8f25baf7ba865de7633a7eacb3eb",
679
+ "scopeRoot": "sha256:0b8668413118308004e8ded1e9d051d94c68311c3944791babb9a4ad29d2d50b",
680
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
681
+ "admissionRoots": [
682
+ "sha256:c428bab55d265c91220aa10f7f3d8be508bdc1b412049ca9de48fa6f9898a373"
683
+ ]
684
+ }
685
+ },
686
+ "proof": {
687
+ "schema": "kungfu.buildchain.compatibility-proof/v1",
688
+ "proofId": "release-candidate-promote-acd401-to-e60642",
689
+ "predicate": "compatible-breaking-digest",
690
+ "direction": "source-to-target",
691
+ "operation": "accept-contract-lock",
692
+ "source": {
693
+ "contract": "kungfu-buildchain-runtime-contract-world",
694
+ "surfaceId": "release-candidate-promote",
695
+ "surfaceKind": "workflow",
696
+ "breakingDigest": "sha256:acd401cfc46450115a3763fd4b679d85f185e8757ebd52510d6262e1533df4cf"
697
+ },
698
+ "target": {
699
+ "contract": "kungfu-buildchain-runtime-contract-world",
700
+ "surfaceId": "release-candidate-promote",
701
+ "surfaceKind": "workflow",
702
+ "breakingDigest": "sha256:e60642aa298933d2c103284794921a6c340a50aa91ee528b06e58892a2a006bf"
703
+ },
704
+ "scope": {
705
+ "contract": "kungfu-buildchain-runtime-contract-world",
706
+ "surfaceId": "release-candidate-promote",
707
+ "surfaceKind": "workflow",
708
+ "majorLines": [
709
+ "v2",
710
+ "v3"
711
+ ],
712
+ "operation": "accept-contract-lock"
713
+ },
714
+ "scopeRoot": "sha256:0b8668413118308004e8ded1e9d051d94c68311c3944791babb9a4ad29d2d50b",
715
+ "evidence": {
716
+ "kind": "protected-pull-request-contract-acceptance",
717
+ "pullRequest": "https://github.com/kungfu-systems/buildchain/pull/2342",
718
+ "protectedBase": "dev/v3/v3.0",
719
+ "sourceCommit": "8870db287a9ee5fb95eebbbe907b1649d84d5b7f",
720
+ "mergeCommit": "30b605adea1ed33dcf0bbb4cc7b666b64a6ccd18",
721
+ "contractDigest": "sha256:9c07dbdb9aa8390569cd07ace044af45e6751b91ffe8fcc0cb69a77388b0f72b",
722
+ "compatibilityDigest": "sha256:80cfdf1786019217c439810f1a80d2866bf8f7ef35a6fa569e1a687fb2bf4cbe"
723
+ },
724
+ "evidenceRoot": "sha256:c428bab55d265c91220aa10f7f3d8be508bdc1b412049ca9de48fa6f9898a373",
725
+ "authority": {
726
+ "kind": "protected-base-contract-authority",
727
+ "repository": "kungfu-systems/buildchain",
728
+ "protectedBase": "dev/v3/v3.0"
729
+ },
730
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
731
+ "cut": {
732
+ "kind": "protected-git-cut",
733
+ "repository": "kungfu-systems/buildchain",
734
+ "protectedBase": "dev/v3/v3.0",
735
+ "commit": "ff0f9006be1c8f63be40e67789e0cfd28fd69d46"
736
+ },
737
+ "cutRoot": "sha256:4fd5ae0cdad01a09e91bbb3f183ac595510a8f25baf7ba865de7633a7eacb3eb",
738
+ "proofRoot": "sha256:cb642b68aaf60e9c0eb93d46a2a1fc482810142201c7340ad7efe824b1683921"
739
+ }
740
+ },
741
+ {
742
+ "schema": "kungfu.buildchain.compatibility-fact/v1",
743
+ "factId": "release-propagation-d7a1f1-to-b873ce",
744
+ "factRoot": "sha256:f6e89a46bb73e93583477eeb3bc3a8bd1f36bdafd040777fb3a999460191b360",
745
+ "sourceRoot": "sha256:9d5429548ca8095450edd77104ffcd3ba9ee0f3cf6b24d690ea179938b932ed5",
746
+ "targetRoot": "sha256:06f31cc613d65375a8a893d0d0f7cb665bce2346d04448b348bdc384590826e8",
747
+ "predicate": {
748
+ "root": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
749
+ "record": {
750
+ "schema": "kungfu.fact.temporal-predicate/v1",
751
+ "predicateId": "kungfu.buildchain.compatibility:accept-contract-lock/v1",
752
+ "operations": [
753
+ "accept-contract-lock"
754
+ ],
755
+ "direction": "source-to-target",
756
+ "pathPolicy": "explicit-bounded",
757
+ "cyclePolicy": "forbid",
758
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea"
759
+ }
760
+ },
761
+ "relation": {
762
+ "root": "sha256:f6e89a46bb73e93583477eeb3bc3a8bd1f36bdafd040777fb3a999460191b360",
763
+ "record": {
764
+ "schema": "kungfu.fact.temporal-relation/v1",
765
+ "relationId": "buildchain:compatibility:release-propagation-d7a1f1-to-b873ce",
766
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
767
+ "sourceRoot": "sha256:9d5429548ca8095450edd77104ffcd3ba9ee0f3cf6b24d690ea179938b932ed5",
768
+ "targetRoot": "sha256:06f31cc613d65375a8a893d0d0f7cb665bce2346d04448b348bdc384590826e8",
769
+ "validFromCutRoot": "sha256:8bff86e6995cb22ff77eb3ea5a62b843734e9b9688694dc3d6e3e8847fd88499",
770
+ "scopeRoot": "sha256:0ff862e406419464370403011c3bf90d291d85a2c08ae8179d6b8d540c9e70f2",
771
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
772
+ "admissionRoots": [
773
+ "sha256:943908ff0b680d7ae84c68dc90412e4e6292323531b5e449ce4d1433061258c8"
774
+ ]
775
+ }
776
+ },
777
+ "proof": {
778
+ "schema": "kungfu.buildchain.compatibility-proof/v1",
779
+ "proofId": "release-propagation-d7a1f1-to-b873ce",
780
+ "predicate": "compatible-breaking-digest",
781
+ "direction": "source-to-target",
782
+ "operation": "accept-contract-lock",
783
+ "source": {
784
+ "contract": "kungfu-buildchain-runtime-contract-world",
785
+ "surfaceId": "controller:release-propagation",
786
+ "surfaceKind": "controller",
787
+ "breakingDigest": "sha256:d7a1f15990ce8bd13149474888232c7d4451dd2a49bebf4d4ce1336695da430e"
788
+ },
789
+ "target": {
790
+ "contract": "kungfu-buildchain-runtime-contract-world",
791
+ "surfaceId": "controller:release-propagation",
792
+ "surfaceKind": "controller",
793
+ "breakingDigest": "sha256:b873ceb65618972bea615afcb9c616c138ce834b3246ec7237ef87c1618d68bd"
794
+ },
795
+ "scope": {
796
+ "contract": "kungfu-buildchain-runtime-contract-world",
797
+ "surfaceId": "controller:release-propagation",
798
+ "surfaceKind": "controller",
799
+ "majorLines": [
800
+ "v2",
801
+ "v3"
802
+ ],
803
+ "operation": "accept-contract-lock"
804
+ },
805
+ "scopeRoot": "sha256:0ff862e406419464370403011c3bf90d291d85a2c08ae8179d6b8d540c9e70f2",
806
+ "evidence": {
807
+ "kind": "protected-pull-request-contract-acceptance",
808
+ "pullRequest": "https://github.com/kungfu-systems/buildchain/pull/2143",
809
+ "protectedBase": "dev/v3/v3.0",
810
+ "sourceCommit": "b63aff4dd63ad6017b8f48e1c690f595a9c832a2",
811
+ "mergeCommit": "487ee09ca4832ffd15607db00060df4c0839fbae",
812
+ "contractDigest": "sha256:00c37f8a663387831ba4d066056d0b21d4f3c5f3ea5b0cf84456af332cf8d87e",
813
+ "compatibilityDigest": "sha256:3bbcaf835844260ed98414d3bd176667245d12131e13fc748e4c2fae12399691"
814
+ },
815
+ "evidenceRoot": "sha256:943908ff0b680d7ae84c68dc90412e4e6292323531b5e449ce4d1433061258c8",
816
+ "authority": {
817
+ "kind": "protected-base-contract-authority",
818
+ "repository": "kungfu-systems/buildchain",
819
+ "protectedBase": "dev/v3/v3.0"
820
+ },
821
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
822
+ "cut": {
823
+ "kind": "protected-git-cut",
824
+ "repository": "kungfu-systems/buildchain",
825
+ "protectedBase": "dev/v3/v3.0",
826
+ "commit": "487ee09ca4832ffd15607db00060df4c0839fbae"
827
+ },
828
+ "cutRoot": "sha256:8bff86e6995cb22ff77eb3ea5a62b843734e9b9688694dc3d6e3e8847fd88499",
829
+ "proofRoot": "sha256:8b98ff903d3abd8d9a9b6a0b250efd8fdf6fd5d4127aa4d0d0c4a5b3db87f353"
830
+ }
831
+ }
832
+ ],
833
+ "compatibilityProofs": [
834
+ {
835
+ "schema": "kungfu.buildchain.compatibility-proof/v1",
836
+ "proofId": "advanced-release-candidate-promote-aa30f2-to-9db8dd",
837
+ "predicate": "compatible-breaking-digest",
838
+ "direction": "source-to-target",
839
+ "operation": "accept-contract-lock",
840
+ "source": {
841
+ "contract": "kungfu-buildchain-runtime-contract-world",
842
+ "surfaceId": "advanced-release-candidate-promote",
843
+ "surfaceKind": "workflow",
844
+ "breakingDigest": "sha256:aa30f22e3af0a89841310bdbdc900844dd95a66974db173fa140a71bbd7e82c0"
845
+ },
846
+ "target": {
847
+ "contract": "kungfu-buildchain-runtime-contract-world",
848
+ "surfaceId": "advanced-release-candidate-promote",
849
+ "surfaceKind": "workflow",
850
+ "breakingDigest": "sha256:9db8dd07152855d03ff30f9c571438593c689d3e8139fa45431d000f548242f5"
851
+ },
852
+ "scope": {
853
+ "contract": "kungfu-buildchain-runtime-contract-world",
854
+ "surfaceId": "advanced-release-candidate-promote",
855
+ "surfaceKind": "workflow",
856
+ "majorLines": [
857
+ "v2",
858
+ "v3"
859
+ ],
860
+ "operation": "accept-contract-lock"
861
+ },
862
+ "scopeRoot": "sha256:c9746475e09a42adf6e33cf3656d9d7cef8e880ba3efc31b8a3cd599b938a124",
863
+ "evidence": {
864
+ "kind": "protected-pull-request-contract-acceptance",
865
+ "pullRequest": "https://github.com/kungfu-systems/buildchain/pull/2342",
866
+ "protectedBase": "dev/v3/v3.0",
867
+ "sourceCommit": "8870db287a9ee5fb95eebbbe907b1649d84d5b7f",
868
+ "mergeCommit": "30b605adea1ed33dcf0bbb4cc7b666b64a6ccd18",
869
+ "contractDigest": "sha256:9c07dbdb9aa8390569cd07ace044af45e6751b91ffe8fcc0cb69a77388b0f72b",
870
+ "compatibilityDigest": "sha256:80cfdf1786019217c439810f1a80d2866bf8f7ef35a6fa569e1a687fb2bf4cbe"
871
+ },
872
+ "evidenceRoot": "sha256:c428bab55d265c91220aa10f7f3d8be508bdc1b412049ca9de48fa6f9898a373",
873
+ "authority": {
874
+ "kind": "protected-base-contract-authority",
875
+ "repository": "kungfu-systems/buildchain",
876
+ "protectedBase": "dev/v3/v3.0"
877
+ },
878
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
879
+ "cut": {
880
+ "kind": "protected-git-cut",
881
+ "repository": "kungfu-systems/buildchain",
882
+ "protectedBase": "dev/v3/v3.0",
883
+ "commit": "ff0f9006be1c8f63be40e67789e0cfd28fd69d46"
884
+ },
885
+ "cutRoot": "sha256:4fd5ae0cdad01a09e91bbb3f183ac595510a8f25baf7ba865de7633a7eacb3eb",
886
+ "proofRoot": "sha256:36c85ba487be1528e85776d2bc5f766a971d42ac238aec30071945f7d60d9fc5"
887
+ },
888
+ {
889
+ "schema": "kungfu.buildchain.compatibility-proof/v1",
890
+ "proofId": "build-channel-router-d40dd0-to-30549a",
891
+ "predicate": "compatible-breaking-digest",
892
+ "direction": "source-to-target",
893
+ "operation": "accept-contract-lock",
894
+ "source": {
895
+ "contract": "kungfu-buildchain-runtime-contract-world",
896
+ "surfaceId": "controller:build-channel-router",
897
+ "surfaceKind": "controller",
898
+ "breakingDigest": "sha256:d40dd05d7e07473d4b2dc1b62fbb0ed6f06449b4d3a7c44a2e8014313e3c0273"
899
+ },
900
+ "target": {
901
+ "contract": "kungfu-buildchain-runtime-contract-world",
902
+ "surfaceId": "controller:build-channel-router",
903
+ "surfaceKind": "controller",
904
+ "breakingDigest": "sha256:30549aa26cd1e1dd81f10fe3529d3c6e3f8438a6efa0100c47ebae4d2f3d71df"
905
+ },
906
+ "scope": {
907
+ "contract": "kungfu-buildchain-runtime-contract-world",
908
+ "surfaceId": "controller:build-channel-router",
909
+ "surfaceKind": "controller",
910
+ "majorLines": [
911
+ "v2",
912
+ "v3"
913
+ ],
914
+ "operation": "accept-contract-lock"
915
+ },
916
+ "scopeRoot": "sha256:dc381e72e9cad86293254f8542394f1abc27b4b0f07c122cb4cad5f73b381ccb",
917
+ "evidence": {
918
+ "kind": "protected-pull-request-contract-acceptance",
919
+ "pullRequest": "https://github.com/kungfu-systems/buildchain/pull/2549",
920
+ "protectedBase": "dev/v3/v3.0",
921
+ "sourceCommit": "0d87b772265066f5e6157e1ba6a2ba1021fb5225",
922
+ "mergeCommit": "34fad9d3a94c450d75c0d06fd6ed00470c992ff7",
923
+ "contractDigest": "sha256:2584ba36ab54cd5e9bab9e34dfc08d87a55dc57de1be7641492bf7ceb1366350",
924
+ "compatibilityDigest": "sha256:80f65cc191b1f771475184edf8a1bf9c10dd69bb58060aa09313d0e1e57f508a"
925
+ },
926
+ "evidenceRoot": "sha256:e449bdc62832fd18b33d93833207d70e843f066a85aae8b0c717234194ecb497",
927
+ "authority": {
928
+ "kind": "protected-base-contract-authority",
929
+ "repository": "kungfu-systems/buildchain",
930
+ "protectedBase": "dev/v3/v3.0"
931
+ },
932
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
933
+ "cut": {
934
+ "kind": "protected-git-cut",
935
+ "repository": "kungfu-systems/buildchain",
936
+ "protectedBase": "dev/v3/v3.0",
937
+ "commit": "34fad9d3a94c450d75c0d06fd6ed00470c992ff7"
938
+ },
939
+ "cutRoot": "sha256:3b83f02e22ca82fc4a099b5f8c4353fffb1423b0a5cba41860b1ba86f7c8cbb7",
940
+ "proofRoot": "sha256:36d2e188f43385d6191116393aa81ea025ccf61e21a1c5eae1d56be92a203b31"
941
+ },
942
+ {
943
+ "schema": "kungfu.buildchain.compatibility-proof/v1",
944
+ "proofId": "web-surface-da569f-to-27f0cb",
945
+ "predicate": "compatible-breaking-digest",
946
+ "direction": "source-to-target",
947
+ "operation": "accept-contract-lock",
948
+ "source": {
949
+ "contract": "kungfu-buildchain-runtime-contract-world",
950
+ "surfaceId": "web-surface",
951
+ "surfaceKind": "workflow",
952
+ "breakingDigest": "sha256:da569f90374e878948e3d5160ed9929338ce0572473ca8ee54867b0fe1aaeace"
953
+ },
954
+ "target": {
955
+ "contract": "kungfu-buildchain-runtime-contract-world",
956
+ "surfaceId": "web-surface",
957
+ "surfaceKind": "workflow",
958
+ "breakingDigest": "sha256:27f0cb9c7d97288850d215be8696b323471c41fd1cdf3a2ff3ebf21f62541960"
959
+ },
960
+ "scope": {
961
+ "contract": "kungfu-buildchain-runtime-contract-world",
962
+ "surfaceId": "web-surface",
963
+ "surfaceKind": "workflow",
964
+ "majorLines": [
965
+ "v2",
966
+ "v3"
967
+ ],
968
+ "operation": "accept-contract-lock"
969
+ },
970
+ "scopeRoot": "sha256:0288a1bc232405047630819733074df11cfd86596c0fc95afd4403948399d679",
971
+ "evidence": {
972
+ "kind": "protected-pull-request-contract-acceptance",
973
+ "pullRequest": "https://github.com/kungfu-systems/buildchain/pull/2089",
974
+ "protectedBase": "dev/v3/v3.0",
975
+ "sourceCommit": "1a6cb874bc6f1611f3eef607e711d3532798e9e7",
976
+ "mergeCommit": "71a75f21159b994241ec7cb2c50f7a150c5d440b",
977
+ "contractDigest": "sha256:7c2a7c132a2b2722f70f148b81048147047d4d2c46cf33f7cd2dc158aec092e0",
978
+ "compatibilityDigest": "sha256:61af7d0871220bc0909008bdc571905ad500cccf853e7841bc5d462a34b2d436"
979
+ },
980
+ "evidenceRoot": "sha256:8e0184e579c42a66851992a79d54b6f8add9eea776a589bc3004fe0e2177b15c",
981
+ "authority": {
982
+ "kind": "protected-base-contract-authority",
983
+ "repository": "kungfu-systems/buildchain",
984
+ "protectedBase": "dev/v3/v3.0"
985
+ },
986
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
987
+ "cut": {
988
+ "kind": "protected-git-cut",
989
+ "repository": "kungfu-systems/buildchain",
990
+ "protectedBase": "dev/v3/v3.0",
991
+ "commit": "71a75f21159b994241ec7cb2c50f7a150c5d440b"
992
+ },
993
+ "cutRoot": "sha256:4a758c2d730bf99a28ae37057e865e9f0cb8a516200b5a0c29851ca414efa556",
994
+ "proofRoot": "sha256:3ba66a1e8f8d00ddd45f3f448bcccb15469cbd31f5765d36f61e4cfe7fd0dd41"
995
+ },
996
+ {
997
+ "schema": "kungfu.buildchain.compatibility-proof/v1",
998
+ "proofId": "build-lifecycle-307459-to-6b8d38",
999
+ "predicate": "compatible-breaking-digest",
1000
+ "direction": "source-to-target",
1001
+ "operation": "accept-contract-lock",
1002
+ "source": {
1003
+ "contract": "kungfu-buildchain-runtime-contract-world",
1004
+ "surfaceId": "controller:build-lifecycle",
1005
+ "surfaceKind": "controller",
1006
+ "breakingDigest": "sha256:30745921541e9b0f70475bb2178c2559f6aef248f6680670ccd44d8c5a69a6b1"
1007
+ },
1008
+ "target": {
1009
+ "contract": "kungfu-buildchain-runtime-contract-world",
1010
+ "surfaceId": "controller:build-lifecycle",
1011
+ "surfaceKind": "controller",
1012
+ "breakingDigest": "sha256:6b8d38e92b2c67b5bc83fae0a3fd95bfa47582fbc176e6cdeebe7630a57534cb"
1013
+ },
1014
+ "scope": {
1015
+ "contract": "kungfu-buildchain-runtime-contract-world",
1016
+ "surfaceId": "controller:build-lifecycle",
1017
+ "surfaceKind": "controller",
1018
+ "majorLines": [
1019
+ "v2",
1020
+ "v3"
1021
+ ],
1022
+ "operation": "accept-contract-lock"
1023
+ },
1024
+ "scopeRoot": "sha256:c1a391a06ad2732c09c09fe0a0806569ac066684f5f2cd381a634c7784da6de3",
1025
+ "evidence": {
1026
+ "kind": "protected-pull-request-contract-acceptance",
1027
+ "pullRequest": "https://github.com/kungfu-systems/buildchain/pull/2058",
1028
+ "protectedBase": "dev/v3/v3.0",
1029
+ "sourceCommit": "c9a86bd1ac17b4fae54b0410498830edad80d831",
1030
+ "mergeCommit": "3991801a7a7d6fe5e31b9a670dfde7ea59e61253",
1031
+ "contractDigest": "sha256:da72850bbd3088f0e9eb20c17382557e0dfb7e68bf4469d352ed870ee8a334e8",
1032
+ "compatibilityDigest": "sha256:32a651504c57829085dc8863f0e41dee98eb60708ff6dec958c9c7e4b1010102"
1033
+ },
1034
+ "evidenceRoot": "sha256:ec5b8374a76dea9fd344cace735f46caa7a8167eef1becd55fbdb0d3cd6f1109",
1035
+ "authority": {
1036
+ "kind": "protected-base-contract-authority",
1037
+ "repository": "kungfu-systems/buildchain",
1038
+ "protectedBase": "dev/v3/v3.0"
1039
+ },
1040
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
1041
+ "cut": {
1042
+ "kind": "protected-git-cut",
1043
+ "repository": "kungfu-systems/buildchain",
1044
+ "protectedBase": "dev/v3/v3.0",
1045
+ "commit": "ff0f9006be1c8f63be40e67789e0cfd28fd69d46"
1046
+ },
1047
+ "cutRoot": "sha256:4fd5ae0cdad01a09e91bbb3f183ac595510a8f25baf7ba865de7633a7eacb3eb",
1048
+ "proofRoot": "sha256:3bd1c54198b78a462d2005ac66c139ad4d6f1962925c8f0971b4d0a222f1a7c5"
1049
+ },
1050
+ {
1051
+ "schema": "kungfu.buildchain.compatibility-proof/v1",
1052
+ "proofId": "release-propagation-d7a1f1-to-b873ce",
1053
+ "predicate": "compatible-breaking-digest",
1054
+ "direction": "source-to-target",
1055
+ "operation": "accept-contract-lock",
1056
+ "source": {
1057
+ "contract": "kungfu-buildchain-runtime-contract-world",
1058
+ "surfaceId": "controller:release-propagation",
1059
+ "surfaceKind": "controller",
1060
+ "breakingDigest": "sha256:d7a1f15990ce8bd13149474888232c7d4451dd2a49bebf4d4ce1336695da430e"
1061
+ },
1062
+ "target": {
1063
+ "contract": "kungfu-buildchain-runtime-contract-world",
1064
+ "surfaceId": "controller:release-propagation",
1065
+ "surfaceKind": "controller",
1066
+ "breakingDigest": "sha256:b873ceb65618972bea615afcb9c616c138ce834b3246ec7237ef87c1618d68bd"
1067
+ },
1068
+ "scope": {
1069
+ "contract": "kungfu-buildchain-runtime-contract-world",
1070
+ "surfaceId": "controller:release-propagation",
1071
+ "surfaceKind": "controller",
1072
+ "majorLines": [
1073
+ "v2",
1074
+ "v3"
1075
+ ],
1076
+ "operation": "accept-contract-lock"
1077
+ },
1078
+ "scopeRoot": "sha256:0ff862e406419464370403011c3bf90d291d85a2c08ae8179d6b8d540c9e70f2",
1079
+ "evidence": {
1080
+ "kind": "protected-pull-request-contract-acceptance",
1081
+ "pullRequest": "https://github.com/kungfu-systems/buildchain/pull/2143",
1082
+ "protectedBase": "dev/v3/v3.0",
1083
+ "sourceCommit": "b63aff4dd63ad6017b8f48e1c690f595a9c832a2",
1084
+ "mergeCommit": "487ee09ca4832ffd15607db00060df4c0839fbae",
1085
+ "contractDigest": "sha256:00c37f8a663387831ba4d066056d0b21d4f3c5f3ea5b0cf84456af332cf8d87e",
1086
+ "compatibilityDigest": "sha256:3bbcaf835844260ed98414d3bd176667245d12131e13fc748e4c2fae12399691"
1087
+ },
1088
+ "evidenceRoot": "sha256:943908ff0b680d7ae84c68dc90412e4e6292323531b5e449ce4d1433061258c8",
1089
+ "authority": {
1090
+ "kind": "protected-base-contract-authority",
1091
+ "repository": "kungfu-systems/buildchain",
1092
+ "protectedBase": "dev/v3/v3.0"
1093
+ },
1094
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
1095
+ "cut": {
1096
+ "kind": "protected-git-cut",
1097
+ "repository": "kungfu-systems/buildchain",
1098
+ "protectedBase": "dev/v3/v3.0",
1099
+ "commit": "487ee09ca4832ffd15607db00060df4c0839fbae"
1100
+ },
1101
+ "cutRoot": "sha256:8bff86e6995cb22ff77eb3ea5a62b843734e9b9688694dc3d6e3e8847fd88499",
1102
+ "proofRoot": "sha256:8b98ff903d3abd8d9a9b6a0b250efd8fdf6fd5d4127aa4d0d0c4a5b3db87f353"
1103
+ },
1104
+ {
1105
+ "schema": "kungfu.buildchain.compatibility-proof/v1",
1106
+ "proofId": "build-lifecycle-e264a7-to-6b8d38",
1107
+ "predicate": "compatible-breaking-digest",
1108
+ "direction": "source-to-target",
1109
+ "operation": "accept-contract-lock",
1110
+ "source": {
1111
+ "contract": "kungfu-buildchain-runtime-contract-world",
1112
+ "surfaceId": "controller:build-lifecycle",
1113
+ "surfaceKind": "controller",
1114
+ "breakingDigest": "sha256:e264a79f9f399038c2fcfd21e4168c68c2e1485ee5c651c02242a02b622ac2be"
1115
+ },
1116
+ "target": {
1117
+ "contract": "kungfu-buildchain-runtime-contract-world",
1118
+ "surfaceId": "controller:build-lifecycle",
1119
+ "surfaceKind": "controller",
1120
+ "breakingDigest": "sha256:6b8d38e92b2c67b5bc83fae0a3fd95bfa47582fbc176e6cdeebe7630a57534cb"
1121
+ },
1122
+ "scope": {
1123
+ "contract": "kungfu-buildchain-runtime-contract-world",
1124
+ "surfaceId": "controller:build-lifecycle",
1125
+ "surfaceKind": "controller",
1126
+ "majorLines": [
1127
+ "v2",
1128
+ "v3"
1129
+ ],
1130
+ "operation": "accept-contract-lock"
1131
+ },
1132
+ "scopeRoot": "sha256:c1a391a06ad2732c09c09fe0a0806569ac066684f5f2cd381a634c7784da6de3",
1133
+ "evidence": {
1134
+ "kind": "protected-pull-request-contract-acceptance",
1135
+ "pullRequest": "https://github.com/kungfu-systems/buildchain/pull/2058",
1136
+ "protectedBase": "dev/v3/v3.0",
1137
+ "sourceCommit": "c9a86bd1ac17b4fae54b0410498830edad80d831",
1138
+ "mergeCommit": "3991801a7a7d6fe5e31b9a670dfde7ea59e61253",
1139
+ "contractDigest": "sha256:da72850bbd3088f0e9eb20c17382557e0dfb7e68bf4469d352ed870ee8a334e8",
1140
+ "compatibilityDigest": "sha256:32a651504c57829085dc8863f0e41dee98eb60708ff6dec958c9c7e4b1010102"
1141
+ },
1142
+ "evidenceRoot": "sha256:ec5b8374a76dea9fd344cace735f46caa7a8167eef1becd55fbdb0d3cd6f1109",
1143
+ "authority": {
1144
+ "kind": "protected-base-contract-authority",
1145
+ "repository": "kungfu-systems/buildchain",
1146
+ "protectedBase": "dev/v3/v3.0"
1147
+ },
1148
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
1149
+ "cut": {
1150
+ "kind": "protected-git-cut",
1151
+ "repository": "kungfu-systems/buildchain",
1152
+ "protectedBase": "dev/v3/v3.0",
1153
+ "commit": "ff0f9006be1c8f63be40e67789e0cfd28fd69d46"
1154
+ },
1155
+ "cutRoot": "sha256:4fd5ae0cdad01a09e91bbb3f183ac595510a8f25baf7ba865de7633a7eacb3eb",
1156
+ "proofRoot": "sha256:9024634cef43a9d695fa224d26be9aeb6370d3c981b003ece3b659dde8e73713"
1157
+ },
1158
+ {
1159
+ "schema": "kungfu.buildchain.compatibility-proof/v1",
1160
+ "proofId": "reusable-build-a6a353-to-dfbedd",
1161
+ "predicate": "compatible-breaking-digest",
1162
+ "direction": "source-to-target",
1163
+ "operation": "accept-contract-lock",
1164
+ "source": {
1165
+ "contract": "kungfu-buildchain-runtime-contract-world",
1166
+ "surfaceId": "reusable-build",
1167
+ "surfaceKind": "workflow",
1168
+ "breakingDigest": "sha256:a6a35370d6b0d0f46e1b2712dcc01961fe53c2febde95409a27a485c10a36650"
1169
+ },
1170
+ "target": {
1171
+ "contract": "kungfu-buildchain-runtime-contract-world",
1172
+ "surfaceId": "reusable-build",
1173
+ "surfaceKind": "workflow",
1174
+ "breakingDigest": "sha256:dfbedd543ae0c067982b5c8c02d98dd2f7f7df88752be97fb330da6b0ba30faa"
1175
+ },
1176
+ "scope": {
1177
+ "contract": "kungfu-buildchain-runtime-contract-world",
1178
+ "surfaceId": "reusable-build",
1179
+ "surfaceKind": "workflow",
1180
+ "majorLines": [
1181
+ "v2",
1182
+ "v3"
1183
+ ],
1184
+ "operation": "accept-contract-lock"
1185
+ },
1186
+ "scopeRoot": "sha256:b50ae93f868501c8acfc93d93dc2deec916a4fcf12c19f959fbb3893cc11bb6c",
1187
+ "evidence": {
1188
+ "kind": "protected-pull-request-contract-acceptance",
1189
+ "pullRequest": "https://github.com/kungfu-systems/buildchain/pull/2089",
1190
+ "protectedBase": "dev/v3/v3.0",
1191
+ "sourceCommit": "1a6cb874bc6f1611f3eef607e711d3532798e9e7",
1192
+ "mergeCommit": "71a75f21159b994241ec7cb2c50f7a150c5d440b",
1193
+ "contractDigest": "sha256:7c2a7c132a2b2722f70f148b81048147047d4d2c46cf33f7cd2dc158aec092e0",
1194
+ "compatibilityDigest": "sha256:61af7d0871220bc0909008bdc571905ad500cccf853e7841bc5d462a34b2d436"
1195
+ },
1196
+ "evidenceRoot": "sha256:8e0184e579c42a66851992a79d54b6f8add9eea776a589bc3004fe0e2177b15c",
1197
+ "authority": {
1198
+ "kind": "protected-base-contract-authority",
1199
+ "repository": "kungfu-systems/buildchain",
1200
+ "protectedBase": "dev/v3/v3.0"
1201
+ },
1202
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
1203
+ "cut": {
1204
+ "kind": "protected-git-cut",
1205
+ "repository": "kungfu-systems/buildchain",
1206
+ "protectedBase": "dev/v3/v3.0",
1207
+ "commit": "71a75f21159b994241ec7cb2c50f7a150c5d440b"
1208
+ },
1209
+ "cutRoot": "sha256:4a758c2d730bf99a28ae37057e865e9f0cb8a516200b5a0c29851ca414efa556",
1210
+ "proofRoot": "sha256:b99176f414752ffb276f4add6183aa81eeb480598368ca4f57804f024212d0f5"
1211
+ },
1212
+ {
1213
+ "schema": "kungfu.buildchain.compatibility-proof/v1",
1214
+ "proofId": "release-candidate-promote-acd401-to-e60642",
1215
+ "predicate": "compatible-breaking-digest",
1216
+ "direction": "source-to-target",
1217
+ "operation": "accept-contract-lock",
1218
+ "source": {
1219
+ "contract": "kungfu-buildchain-runtime-contract-world",
1220
+ "surfaceId": "release-candidate-promote",
1221
+ "surfaceKind": "workflow",
1222
+ "breakingDigest": "sha256:acd401cfc46450115a3763fd4b679d85f185e8757ebd52510d6262e1533df4cf"
1223
+ },
1224
+ "target": {
1225
+ "contract": "kungfu-buildchain-runtime-contract-world",
1226
+ "surfaceId": "release-candidate-promote",
1227
+ "surfaceKind": "workflow",
1228
+ "breakingDigest": "sha256:e60642aa298933d2c103284794921a6c340a50aa91ee528b06e58892a2a006bf"
1229
+ },
1230
+ "scope": {
1231
+ "contract": "kungfu-buildchain-runtime-contract-world",
1232
+ "surfaceId": "release-candidate-promote",
1233
+ "surfaceKind": "workflow",
1234
+ "majorLines": [
1235
+ "v2",
1236
+ "v3"
1237
+ ],
1238
+ "operation": "accept-contract-lock"
1239
+ },
1240
+ "scopeRoot": "sha256:0b8668413118308004e8ded1e9d051d94c68311c3944791babb9a4ad29d2d50b",
1241
+ "evidence": {
1242
+ "kind": "protected-pull-request-contract-acceptance",
1243
+ "pullRequest": "https://github.com/kungfu-systems/buildchain/pull/2342",
1244
+ "protectedBase": "dev/v3/v3.0",
1245
+ "sourceCommit": "8870db287a9ee5fb95eebbbe907b1649d84d5b7f",
1246
+ "mergeCommit": "30b605adea1ed33dcf0bbb4cc7b666b64a6ccd18",
1247
+ "contractDigest": "sha256:9c07dbdb9aa8390569cd07ace044af45e6751b91ffe8fcc0cb69a77388b0f72b",
1248
+ "compatibilityDigest": "sha256:80cfdf1786019217c439810f1a80d2866bf8f7ef35a6fa569e1a687fb2bf4cbe"
1249
+ },
1250
+ "evidenceRoot": "sha256:c428bab55d265c91220aa10f7f3d8be508bdc1b412049ca9de48fa6f9898a373",
1251
+ "authority": {
1252
+ "kind": "protected-base-contract-authority",
1253
+ "repository": "kungfu-systems/buildchain",
1254
+ "protectedBase": "dev/v3/v3.0"
1255
+ },
1256
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
1257
+ "cut": {
1258
+ "kind": "protected-git-cut",
1259
+ "repository": "kungfu-systems/buildchain",
1260
+ "protectedBase": "dev/v3/v3.0",
1261
+ "commit": "ff0f9006be1c8f63be40e67789e0cfd28fd69d46"
1262
+ },
1263
+ "cutRoot": "sha256:4fd5ae0cdad01a09e91bbb3f183ac595510a8f25baf7ba865de7633a7eacb3eb",
1264
+ "proofRoot": "sha256:cb642b68aaf60e9c0eb93d46a2a1fc482810142201c7340ad7efe824b1683921"
1265
+ },
1266
+ {
1267
+ "schema": "kungfu.buildchain.compatibility-proof/v1",
1268
+ "proofId": "promote-buildchain-ref-action-a59f09-to-6147c0",
1269
+ "predicate": "compatible-breaking-digest",
1270
+ "direction": "source-to-target",
1271
+ "operation": "accept-contract-lock",
1272
+ "source": {
1273
+ "contract": "kungfu-buildchain-runtime-contract-world",
1274
+ "surfaceId": "promote-buildchain-ref-action",
1275
+ "surfaceKind": "action",
1276
+ "breakingDigest": "sha256:a59f0910e6df842e7699139472e5dd69ac2fdd7f7213bf2cb346d1d622556874"
1277
+ },
1278
+ "target": {
1279
+ "contract": "kungfu-buildchain-runtime-contract-world",
1280
+ "surfaceId": "promote-buildchain-ref-action",
1281
+ "surfaceKind": "action",
1282
+ "breakingDigest": "sha256:6147c0a8d5c36bfaa6021871574e1fc28192a3f1b8cfdae4d24ef3059ac1ebda"
1283
+ },
1284
+ "scope": {
1285
+ "contract": "kungfu-buildchain-runtime-contract-world",
1286
+ "surfaceId": "promote-buildchain-ref-action",
1287
+ "surfaceKind": "action",
1288
+ "majorLines": [
1289
+ "v2",
1290
+ "v3"
1291
+ ],
1292
+ "operation": "accept-contract-lock"
1293
+ },
1294
+ "scopeRoot": "sha256:dbf061c2f7608451f0d2ae47e2d7eaa323d7cf61699f20467ac73712748e50c5",
1295
+ "evidence": {
1296
+ "kind": "protected-pull-request-contract-acceptance",
1297
+ "pullRequest": "https://github.com/kungfu-systems/buildchain/pull/1556",
1298
+ "protectedBase": "dev/v2/v2.14",
1299
+ "sourceCommit": "f8e2c5d28ef34d711892589331b7e018095a96d7",
1300
+ "mergeCommit": "6e0c29be1489f686a9a3792b46bfaa4466828393",
1301
+ "contractDigest": "sha256:f6dbf5147d9ad3b8c49ba6630cd52b8c7853ead7c921d7e1210a393aebf97d1f",
1302
+ "compatibilityDigest": "sha256:cdf588422ec6b460bd6f631400efa6e361a045e052c8967d6c50fadd7aa4dd90"
1303
+ },
1304
+ "evidenceRoot": "sha256:454c8cf77d6ecb35de2cdb2f8f80832d7fb31b9f9ef300749ac8b1595fd5cf86",
1305
+ "authority": {
1306
+ "kind": "protected-base-contract-authority",
1307
+ "repository": "kungfu-systems/buildchain",
1308
+ "protectedBase": "dev/v3/v3.0"
1309
+ },
1310
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
1311
+ "cut": {
1312
+ "kind": "protected-git-cut",
1313
+ "repository": "kungfu-systems/buildchain",
1314
+ "protectedBase": "dev/v3/v3.0",
1315
+ "commit": "ff0f9006be1c8f63be40e67789e0cfd28fd69d46"
1316
+ },
1317
+ "cutRoot": "sha256:4fd5ae0cdad01a09e91bbb3f183ac595510a8f25baf7ba865de7633a7eacb3eb",
1318
+ "proofRoot": "sha256:e6f93f44a6613a9d6de776ebe8f29b1779b0cd18a24bdf126ec6c1a07770fa75"
1319
+ }
1320
+ ],
12
1321
  "surfaces": [
13
1322
  {
14
1323
  "contractVersion": 1,
@@ -52,7 +1361,16 @@
52
1361
  "retryable GitHub fallback fetches use a bounded attempt budget before exact source SHA and tree verification"
53
1362
  ],
54
1363
  "breakingDigest": "sha256:dfbedd543ae0c067982b5c8c02d98dd2f7f7df88752be97fb330da6b0ba30faa",
55
- "auditDigest": "sha256:3ece8acdaf1586998a6afc7315115e732eed7b0ed98bfcefa347cd935bae2026"
1364
+ "auditDigest": "sha256:a47ff1abbe625befbf2f7558b8fb0bed6ab1e474156df81ce9f4b3746a8986f0",
1365
+ "compatibleBreakingDigests": [
1366
+ "sha256:a6a35370d6b0d0f46e1b2712dcc01961fe53c2febde95409a27a485c10a36650"
1367
+ ],
1368
+ "compatibilityProofRoots": [
1369
+ "sha256:b99176f414752ffb276f4add6183aa81eeb480598368ca4f57804f024212d0f5"
1370
+ ],
1371
+ "compatibilityFactRoots": [
1372
+ "sha256:7c85c77b8282d123924b89b4f5b239b58b7b1383af91b9006425d9269a2c6ce5"
1373
+ ]
56
1374
  },
57
1375
  {
58
1376
  "contractVersion": 1,
@@ -174,7 +1492,7 @@
174
1492
  "durable consumers call the public floating workflow and may route a train or exact runtime only through trusted non-persistent dispatch input"
175
1493
  ],
176
1494
  "breakingDigest": "sha256:21b65d0746d2e8b3e8a7df4c6fab295a85c8fd42cc405ec3bc5df5cdab0421f0",
177
- "auditDigest": "sha256:f6e6e46ce563d76c5c96af9f6296883f01e317210f6dfcf4317f3a10b2977b77"
1495
+ "auditDigest": "sha256:6bd7c071717e16813c03c018e8bf868e54e9f98bff388b6790f6861d18a58831"
178
1496
  },
179
1497
  {
180
1498
  "contractVersion": 1,
@@ -272,11 +1590,8 @@
272
1590
  "publish-gate source locks are created by the wrapper and enforced by promote-buildchain-ref before publish side effects",
273
1591
  "GitHub Release passport and evidence publication is delegated to promote-buildchain-ref after the semver release transaction completes"
274
1592
  ],
275
- "compatibleBreakingDigests": [
276
- "sha256:acd401cfc46450115a3763fd4b679d85f185e8757ebd52510d6262e1533df4cf"
277
- ],
278
1593
  "breakingDigest": "sha256:5f10c81d3f80cb417960be682921884639c40b6d875f1a3b1ffae7e652c3f468",
279
- "auditDigest": "sha256:2d8eaa093d31391c56a7c672a8ba1fbb756b66f5d05dc4f04909fceb077ea376"
1594
+ "auditDigest": "sha256:c291fe4e40be4db76da1f8b06f697df457126da5921fe9349d41eb4dbedc2172"
280
1595
  },
281
1596
  {
282
1597
  "contractVersion": 1,
@@ -330,11 +1645,17 @@
330
1645
  "promotion reuses PR-stage release-candidate artifacts and does not run the heavy native build matrix",
331
1646
  "resume-from-candidate-run is fail-closed and uses a fresh caller event instead of rerunning a frozen startup graph"
332
1647
  ],
1648
+ "breakingDigest": "sha256:9db8dd07152855d03ff30f9c571438593c689d3e8139fa45431d000f548242f5",
1649
+ "auditDigest": "sha256:4e25e7aff33cf957f90fc41aa3ff0895802df3da520660ef0954748ab588283b",
333
1650
  "compatibleBreakingDigests": [
334
1651
  "sha256:aa30f22e3af0a89841310bdbdc900844dd95a66974db173fa140a71bbd7e82c0"
335
1652
  ],
336
- "breakingDigest": "sha256:9db8dd07152855d03ff30f9c571438593c689d3e8139fa45431d000f548242f5",
337
- "auditDigest": "sha256:b7532257bb94b8cf5ed401a49caa14a7beda404efa201a89bee928b0fb52a7c9"
1653
+ "compatibilityProofRoots": [
1654
+ "sha256:36c85ba487be1528e85776d2bc5f766a971d42ac238aec30071945f7d60d9fc5"
1655
+ ],
1656
+ "compatibilityFactRoots": [
1657
+ "sha256:5664da2363bed0b45497215b60763c3be627e568eb3182af5891c23ae3875fbe"
1658
+ ]
338
1659
  },
339
1660
  {
340
1661
  "contractVersion": 1,
@@ -378,7 +1699,16 @@
378
1699
  "channel-aware artifact host facts are checked against the deploy plan before adapter side effects"
379
1700
  ],
380
1701
  "breakingDigest": "sha256:27f0cb9c7d97288850d215be8696b323471c41fd1cdf3a2ff3ebf21f62541960",
381
- "auditDigest": "sha256:748e1d69ca28b631e86788de0ff359b11164b3ac1edda1b146ca49f3ac3856dc"
1702
+ "auditDigest": "sha256:748e1d69ca28b631e86788de0ff359b11164b3ac1edda1b146ca49f3ac3856dc",
1703
+ "compatibleBreakingDigests": [
1704
+ "sha256:da569f90374e878948e3d5160ed9929338ce0572473ca8ee54867b0fe1aaeace"
1705
+ ],
1706
+ "compatibilityProofRoots": [
1707
+ "sha256:3ba66a1e8f8d00ddd45f3f448bcccb15469cbd31f5765d36f61e4cfe7fd0dd41"
1708
+ ],
1709
+ "compatibilityFactRoots": [
1710
+ "sha256:bba5690e6c535b54623d31b3260e59381bdb50161d7bff33b8e42b8b6dd3135a"
1711
+ ]
382
1712
  },
383
1713
  {
384
1714
  "contractVersion": 1,
@@ -557,11 +1887,17 @@
557
1887
  "publish transactions can require a resolved publish-gate source lock to prevent floating-ref drift",
558
1888
  "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"
559
1889
  ],
1890
+ "breakingDigest": "sha256:6147c0a8d5c36bfaa6021871574e1fc28192a3f1b8cfdae4d24ef3059ac1ebda",
1891
+ "auditDigest": "sha256:3c34606573df2ff29c4bc9b959f0b842ca7653427139c4bf8d600f152d5fe1a4",
560
1892
  "compatibleBreakingDigests": [
561
1893
  "sha256:a59f0910e6df842e7699139472e5dd69ac2fdd7f7213bf2cb346d1d622556874"
562
1894
  ],
563
- "breakingDigest": "sha256:6147c0a8d5c36bfaa6021871574e1fc28192a3f1b8cfdae4d24ef3059ac1ebda",
564
- "auditDigest": "sha256:c84da8a7e2bf428288e24c7a105dd718a8cc2db1d08d9e8fd0fa374430653fa7"
1895
+ "compatibilityProofRoots": [
1896
+ "sha256:e6f93f44a6613a9d6de776ebe8f29b1779b0cd18a24bdf126ec6c1a07770fa75"
1897
+ ],
1898
+ "compatibilityFactRoots": [
1899
+ "sha256:50e5b6e644493ac00d5b1d83a0ec6009f9faaae1bee15e88ee8386c9ec8a775d"
1900
+ ]
565
1901
  },
566
1902
  {
567
1903
  "contractVersion": 1,
@@ -676,7 +2012,7 @@
676
2012
  "release-state SHA is recorded as a durable audit entrance"
677
2013
  ],
678
2014
  "breakingDigest": "sha256:b627e1b2ece9b6049517a942c5139e342e6077cdd3d8962d61cef8481b1f70ad",
679
- "auditDigest": "sha256:8276788ccdcfb55fab5a0343ecf9474273e91c99fc5e1630e19ccf6b920cbd90"
2015
+ "auditDigest": "sha256:2988f713a00099a83b76302bff589c355502c90854c53f608d004e64e9ee7302"
680
2016
  },
681
2017
  {
682
2018
  "contractVersion": 1,
@@ -725,7 +2061,7 @@
725
2061
  "prose-only public claims downgrade the release trust passport audit"
726
2062
  ],
727
2063
  "breakingDigest": "sha256:f0b636eb925ddbf45ff1a8872454ab7b4dd98857cac12bb75217830130e62a16",
728
- "auditDigest": "sha256:8276788ccdcfb55fab5a0343ecf9474273e91c99fc5e1630e19ccf6b920cbd90"
2064
+ "auditDigest": "sha256:2988f713a00099a83b76302bff589c355502c90854c53f608d004e64e9ee7302"
729
2065
  },
730
2066
  {
731
2067
  "contractVersion": 1,
@@ -785,7 +2121,7 @@
785
2121
  "README badge block checks and writes are generated from machine-readable repository facts"
786
2122
  ],
787
2123
  "breakingDigest": "sha256:90a73892b2d6c214048448d5f45df75639bdf7b7e8fefd9c596e04b087407bcc",
788
- "auditDigest": "sha256:35f1f62be899e4c0ddf0f7c830f6a081496d16c016278fdef35b1c2b92cc8216"
2124
+ "auditDigest": "sha256:b3ca92bdcfc8415867ebfd504883ac05982ee9116056141e0bdf10b400fe4d9a"
789
2125
  },
790
2126
  {
791
2127
  "contractVersion": 1,
@@ -875,7 +2211,7 @@
875
2211
  "manual entries carry source file digests so downstream sites and agents can detect stale hand-written documentation"
876
2212
  ],
877
2213
  "breakingDigest": "sha256:7d0d2819e3a3e72989d9c57b5efe9d0bc0a79bc0f2c82a0c7b9d6c5a211a91f2",
878
- "auditDigest": "sha256:4014b051c52065d7eb6e1303c2563419a64b9c785c8243e9b07a6a5971c1abaf"
2214
+ "auditDigest": "sha256:09e4b6c14e5f0f7173930f2e089f31e4db1f47c84c0a8ae7963f3973c0c2a4d5"
879
2215
  },
880
2216
  {
881
2217
  "contractVersion": 1,
@@ -897,7 +2233,7 @@
897
2233
  "agents can discover supported Node APIs without importing internal file paths"
898
2234
  ],
899
2235
  "breakingDigest": "sha256:48f925608d3e2131d90936b07dc2a30341204cae3e6e785c0f77d61ad755c945",
900
- "auditDigest": "sha256:51e72da489094ade9164a55fbd983f57bde3abe35c37ddd49a264e2a947f9140"
2236
+ "auditDigest": "sha256:47e2e7fdab45ab68e36b73d972eb1a8268f8bd4e408493cb51ad23cd632d9458"
901
2237
  },
902
2238
  {
903
2239
  "contractVersion": 1,
@@ -1012,7 +2348,7 @@
1012
2348
  "missing receipts are non-qualifying and must not be represented as a successful controller run"
1013
2349
  ],
1014
2350
  "breakingDigest": "sha256:d4bd0f2a1921bfed71a4d9104d45934555bde74a5c189f93ad79f37074c02b87",
1015
- "auditDigest": "sha256:d85f695dd506fba489dab99d7c37f3ebf6ac7efed32d887288286b9496108209"
2351
+ "auditDigest": "sha256:754b9b628d1906785c3882a5ec62c7f8a9f83140ce3741fecc40f3baa91bd0a2"
1016
2352
  },
1017
2353
  {
1018
2354
  "contractVersion": 1,
@@ -1565,10 +2901,6 @@
1565
2901
  }
1566
2902
  }
1567
2903
  },
1568
- "compatibleBreakingDigests": [
1569
- "sha256:e264a79f9f399038c2fcfd21e4168c68c2e1485ee5c651c02242a02b622ac2be",
1570
- "sha256:30745921541e9b0f70475bb2178c2559f6aef248f6680670ccd44d8c5a69a6b1"
1571
- ],
1572
2904
  "guarantees": [
1573
2905
  "plans bind exact consumer source SHA, exact Buildchain runtime SHA, and the runtime contract digest",
1574
2906
  "receipts bind the plan digest and preserve pass, fail, skip, and partial stage outcomes",
@@ -1576,7 +2908,19 @@
1576
2908
  "missing receipts are non-qualifying and must not be represented as a successful controller run"
1577
2909
  ],
1578
2910
  "breakingDigest": "sha256:6b8d38e92b2c67b5bc83fae0a3fd95bfa47582fbc176e6cdeebe7630a57534cb",
1579
- "auditDigest": "sha256:3ece8acdaf1586998a6afc7315115e732eed7b0ed98bfcefa347cd935bae2026"
2911
+ "auditDigest": "sha256:a47ff1abbe625befbf2f7558b8fb0bed6ab1e474156df81ce9f4b3746a8986f0",
2912
+ "compatibleBreakingDigests": [
2913
+ "sha256:30745921541e9b0f70475bb2178c2559f6aef248f6680670ccd44d8c5a69a6b1",
2914
+ "sha256:e264a79f9f399038c2fcfd21e4168c68c2e1485ee5c651c02242a02b622ac2be"
2915
+ ],
2916
+ "compatibilityProofRoots": [
2917
+ "sha256:3bd1c54198b78a462d2005ac66c139ad4d6f1962925c8f0971b4d0a222f1a7c5",
2918
+ "sha256:9024634cef43a9d695fa224d26be9aeb6370d3c981b003ece3b659dde8e73713"
2919
+ ],
2920
+ "compatibilityFactRoots": [
2921
+ "sha256:c803aa7787c92e9ac71e0f52b6d2ec0cc76e8bc0e55f192affa9546286899ce9",
2922
+ "sha256:b45ecad5988d358bc4604f28db0faad793a02d8ee8592cc1f4323365e951c6f0"
2923
+ ]
1580
2924
  },
1581
2925
  {
1582
2926
  "contractVersion": 1,
@@ -2143,7 +3487,16 @@
2143
3487
  "missing receipts are non-qualifying and must not be represented as a successful controller run"
2144
3488
  ],
2145
3489
  "breakingDigest": "sha256:30549aa26cd1e1dd81f10fe3529d3c6e3f8438a6efa0100c47ebae4d2f3d71df",
2146
- "auditDigest": "sha256:97fa61f0e97641edd3b1b435ace06c621e702f0b8b406c4f3998c148a337c74a"
3490
+ "auditDigest": "sha256:97fa61f0e97641edd3b1b435ace06c621e702f0b8b406c4f3998c148a337c74a",
3491
+ "compatibleBreakingDigests": [
3492
+ "sha256:d40dd05d7e07473d4b2dc1b62fbb0ed6f06449b4d3a7c44a2e8014313e3c0273"
3493
+ ],
3494
+ "compatibilityProofRoots": [
3495
+ "sha256:36d2e188f43385d6191116393aa81ea025ccf61e21a1c5eae1d56be92a203b31"
3496
+ ],
3497
+ "compatibilityFactRoots": [
3498
+ "sha256:47c1d78adba0d75ac74409d85ad6cf1188d10d25165d2d561118cf76e9ccb701"
3499
+ ]
2147
3500
  },
2148
3501
  {
2149
3502
  "contractVersion": 1,
@@ -3729,7 +5082,7 @@
3729
5082
  "missing receipts are non-qualifying and must not be represented as a successful controller run"
3730
5083
  ],
3731
5084
  "breakingDigest": "sha256:015d8de793adbd4c539416be7d7512e18cc92097e629b0203fa06d2c183e98bd",
3732
- "auditDigest": "sha256:b7532257bb94b8cf5ed401a49caa14a7beda404efa201a89bee928b0fb52a7c9"
5085
+ "auditDigest": "sha256:4e25e7aff33cf957f90fc41aa3ff0895802df3da520660ef0954748ab588283b"
3733
5086
  },
3734
5087
  {
3735
5088
  "contractVersion": 1,
@@ -3885,7 +5238,16 @@
3885
5238
  "missing receipts are non-qualifying and must not be represented as a successful controller run"
3886
5239
  ],
3887
5240
  "breakingDigest": "sha256:b873ceb65618972bea615afcb9c616c138ce834b3246ec7237ef87c1618d68bd",
3888
- "auditDigest": "sha256:ef845b25978cd63c0fc6cbc83271e30b245f9d8605c2c25ae7e87c13a35b1302"
5241
+ "auditDigest": "sha256:ef845b25978cd63c0fc6cbc83271e30b245f9d8605c2c25ae7e87c13a35b1302",
5242
+ "compatibleBreakingDigests": [
5243
+ "sha256:d7a1f15990ce8bd13149474888232c7d4451dd2a49bebf4d4ce1336695da430e"
5244
+ ],
5245
+ "compatibilityProofRoots": [
5246
+ "sha256:8b98ff903d3abd8d9a9b6a0b250efd8fdf6fd5d4127aa4d0d0c4a5b3db87f353"
5247
+ ],
5248
+ "compatibilityFactRoots": [
5249
+ "sha256:f6e89a46bb73e93583477eeb3bc3a8bd1f36bdafd040777fb3a999460191b360"
5250
+ ]
3889
5251
  },
3890
5252
  {
3891
5253
  "contractVersion": 1,
@@ -3942,6 +5304,9 @@
3942
5304
  "auditDigest": "sha256:d07482cd66413a2fb3781a3b76f960b8151b6231841799647fe237820de2fde6"
3943
5305
  }
3944
5306
  ],
3945
- "compatibilityDigest": "sha256:c8407195cafe42cb62ac2a4f5ff5b2c3f9b8aa65c27cc678efd46240cb3f0ecc",
3946
- "contractDigest": "sha256:e2e0bea1a4f70b69ec848e386126eed791e837145be53c3fbe6045cbd293f195"
5307
+ "compatibilityFactRegistryRoot": "sha256:232fd556a2372b29db586bbc2acbdfce6464a68c93902797ff527f75f7816c42",
5308
+ "compatibilityFactCutRoot": "sha256:f61b975d4a96c921cc4bd37fb3ed9a0596b47004fe34dc7219979d697e3707f9",
5309
+ "compatibilityProofRegistryRoot": "sha256:b7194b811e4d3af2df4390bc4d1731e16a86215bd64ee18cb630dd5492f4fb63",
5310
+ "compatibilityDigest": "sha256:5de1c69386510b74b17eb70141b8bdd07063d62c504f91db5e84b67c6d4b64a2",
5311
+ "contractDigest": "sha256:ff90fe9283047a3707482babb9eb94149b7d935e6615c639dd5fbfa1072a3580"
3947
5312
  }