@kungfu-tech/buildchain 3.0.9-alpha.8 → 4.0.0-alpha.0

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 (255) hide show
  1. package/AGENTS.md +39 -0
  2. package/README.md +17 -13
  3. package/actions/promote-buildchain-ref/README.md +0 -10
  4. package/actions/release-tail/README.md +6 -10
  5. package/architecture/internal-capabilities.json +502 -0
  6. package/architecture/maintainability-baseline.json +59 -0
  7. package/architecture/maintainability-policy.json +1384 -0
  8. package/architecture/release-tail-contract-inventory.json +587 -0
  9. package/architecture/v3-core-mechanism-inventory.json +1043 -0
  10. package/architecture/v3-core-mechanism-inventory.md +67 -0
  11. package/architecture/v4-adopter-delivery-parity.json +47 -0
  12. package/architecture/v4-architecture-constitution.md +210 -0
  13. package/architecture/v4-bootstrap-authority.json +56 -0
  14. package/architecture/v4-canonical-contract-fixtures.json +105 -0
  15. package/architecture/v4-capability-state-machine-manifest.json +480 -0
  16. package/architecture/v4-capability-state-machine-manifest.schema.json +202 -0
  17. package/architecture/v4-delivery-warrant-shadow-bootstrap-plan.json +830 -0
  18. package/architecture/v4-delivery-warrant-shadow-bootstrap-plan.md +223 -0
  19. package/architecture/v4-delivery-warrant-shadow-bootstrap-plan.schema.json +318 -0
  20. package/architecture/v4-delivery-warrant-shadow-fixtures.json +227 -0
  21. package/architecture/v4-delivery-warrant-shadow-fixtures.schema.json +67 -0
  22. package/architecture/v4-exception-ledger.json +5 -0
  23. package/architecture/v4-exception-ledger.schema.json +56 -0
  24. package/architecture/v4-partial-mutation-recovery-qualification.json +65 -0
  25. package/architecture/v4-platform-stage-checkpoints.json +97 -0
  26. package/architecture/v4-provider-operation-journal-contract.json +113 -0
  27. package/architecture/v4-release-activation-shadow-domain.json +61 -0
  28. package/architecture/v4-release-train-parity.json +68 -0
  29. package/architecture/v4-rust-libnode-bridge-evaluation.json +107 -0
  30. package/architecture/v4-rust-libnode-bridge-spike.md +85 -0
  31. package/architecture/v4-stable-publication-fence.json +66 -0
  32. package/architecture/v4-stage-capsule-contract.json +90 -0
  33. package/architecture/v4-stage-capsule-qualification.json +99 -0
  34. package/architecture/v4-stage-capsule-resume-planner.json +52 -0
  35. package/architecture/v4-stage-capsule-store-contract.json +72 -0
  36. package/bin/buildchain.mjs +15 -6
  37. package/contracts/auditable-demo-scenario-v1.schema.json +1 -1
  38. package/contracts/buildchain-v2-residuals-v1.json +2 -2
  39. package/contracts/fixtures/v4-delivery-warrant-trace-v1/golden.json +158 -0
  40. package/contracts/fixtures/v4-delivery-warrant-trace-v1/property.json +380 -0
  41. package/contracts/fixtures/v4-delivery-warrant-trace-v1/replay.json +163 -0
  42. package/contracts/fixtures/v4-partial-mutation-recovery-v1/shared.json +155 -0
  43. package/contracts/fixtures/v4-provider-operation-journal-v1/shared.json +457 -0
  44. package/contracts/fixtures/v4-provider-readback-idempotency-v1/shared.json +682 -0
  45. package/contracts/fixtures/v4-release-activation-shadow-v1/shared.json +53 -0
  46. package/contracts/fixtures/v4-stable-publication-fence-v1/shared.json +56 -0
  47. package/contracts/fixtures/v4-stage-capsule-resume-v1/late-platform-failure.json +176 -0
  48. package/contracts/fixtures/v4-stage-capsule-store-v1/shared.json +132 -0
  49. package/contracts/fixtures/v4-stage-capsule-v1/shared.json +111 -0
  50. package/contracts/v4-canonical-contracts-v1.schema.json +182 -0
  51. package/contracts/v4-delivery-warrant-semantic-diff-report-v1.schema.json +284 -0
  52. package/contracts/v4-delivery-warrant-trace-v1.schema.json +215 -0
  53. package/contracts/v4-host-contract-v1.schema.json +135 -0
  54. package/contracts/v4-partial-mutation-recovery-v1.schema.json +168 -0
  55. package/contracts/v4-provider-operation-journal-v1.schema.json +381 -0
  56. package/contracts/v4-release-activation-shadow-v1.schema.json +186 -0
  57. package/contracts/v4-stable-publication-fence-v1.schema.json +125 -0
  58. package/contracts/v4-stage-capsule-resume-v1.schema.json +225 -0
  59. package/contracts/v4-stage-capsule-store-v1.schema.json +154 -0
  60. package/contracts/v4-stage-capsule-v1.schema.json +178 -0
  61. package/crates/buildchain-v4-bridge/Cargo.lock +213 -0
  62. package/crates/buildchain-v4-bridge/Cargo.toml +12 -0
  63. package/crates/buildchain-v4-bridge/src/main.rs +495 -0
  64. package/dist/site/agent-index.json +0 -3
  65. package/dist/site/artifact-schemas.json +0 -6
  66. package/dist/site/buildchain-contract.json +103 -397
  67. package/dist/site/buildchain-site.json +302 -270
  68. package/dist/site/capability-registry.json +9 -11
  69. package/dist/site/cli-registry.json +8 -30
  70. package/dist/site/controller-registry.json +48 -8
  71. package/dist/site/kfd-claims.json +129 -142
  72. package/dist/site/kfd-upstream-aggregate.json +9 -9
  73. package/dist/site/manual-registry.json +18 -49
  74. package/dist/site/node-api-registry.json +1882 -4118
  75. package/dist/site/page-registry.json +278 -230
  76. package/dist/site/public-surface-audit.json +87 -185
  77. package/dist/site/publication-authority-registry.json +11 -1
  78. package/dist/site/publication-registry.json +4 -4
  79. package/dist/site/release-provenance.json +3 -7
  80. package/dist/site/schemas/kfd-support-projection-v1.schema.json +106 -0
  81. package/dist/site/site-manifest.json +22 -38
  82. package/dist/site/workflow-registry.json +80 -35
  83. package/docs/MAP.md +8 -4
  84. package/docs/auditable-demo.md +2 -2
  85. package/docs/aws-us-elastic-runner-burst-plane.md +7 -59
  86. package/docs/cli-reference.md +15 -92
  87. package/docs/cli.md +14 -14
  88. package/docs/dev-alpha-candidate-patrol.md +3 -11
  89. package/docs/dev-delivery-warrant.md +28 -100
  90. package/docs/engineering-housekeeper.md +12 -4
  91. package/docs/getting-started.md +1 -1
  92. package/docs/install.md +5 -5
  93. package/docs/kfd-support.md +2 -7
  94. package/docs/lifecycle-protocol.md +2 -4
  95. package/docs/node-api-reference.md +414 -523
  96. package/docs/release-flow.md +31 -31
  97. package/docs/release-governance.md +16 -28
  98. package/docs/release-passport.md +2 -15
  99. package/docs/release-tail-contract.md +13 -6
  100. package/docs/release-tail-provider-plane.md +13 -19
  101. package/docs/release-train.md +4 -4
  102. package/docs/reusable-build-surface.md +14 -27
  103. package/docs/site-bundle-contract.md +1 -5
  104. package/docs/stable-candidate-patrol.md +7 -7
  105. package/docs/v4-canonical-contracts.md +92 -0
  106. package/docs/v4-delivery-warrant-read-candidate.md +73 -0
  107. package/docs/v4-delivery-warrant-semantic-diff.md +75 -0
  108. package/docs/v4-production-release.md +63 -0
  109. package/docs/v4-stage-capsule.md +193 -0
  110. package/docs/versioning.md +3 -3
  111. package/package.json +19 -17
  112. package/packages/core/adopter-delivery-gate.js +576 -0
  113. package/packages/core/adopter-delivery-json.js +66 -0
  114. package/packages/core/artifact-signing.js +0 -61
  115. package/packages/core/artifact-verification-envelope.js +5 -5
  116. package/packages/core/build-facts.js +12 -4
  117. package/packages/core/buildchain-agent-manuals.js +0 -2
  118. package/packages/core/buildchain-config.js +4 -69
  119. package/packages/core/buildchain-contract.js +232 -46
  120. package/packages/core/buildchain-kfd-claims.js +1 -1
  121. package/packages/core/channel-candidate.js +0 -8
  122. package/packages/core/channel-promotion-baseline.js +0 -52
  123. package/packages/core/controller-evidence.js +3 -4
  124. package/packages/core/dev-alpha-candidate-selection.js +2 -10
  125. package/packages/core/dev-delivery-warrant-cancellation.js +0 -1
  126. package/packages/core/dev-delivery-warrant-settlement.js +1 -5
  127. package/packages/core/dev-delivery-warrant.js +12 -52
  128. package/packages/core/diagnostics.js +3 -8
  129. package/packages/core/github-governance-authority.js +3 -1
  130. package/packages/core/kfd-adopter-category-driver.js +167 -0
  131. package/packages/core/kfd-adopter-manifest.js +47 -46
  132. package/packages/core/kfd-gate.js +15 -45
  133. package/packages/core/paper-agent-entry.js +7 -16
  134. package/packages/core/paper-fleet.js +2 -2
  135. package/packages/core/paper-repository.js +2 -3
  136. package/packages/core/paper-scaffold-content.js +2 -23
  137. package/packages/core/paper.js +11 -43
  138. package/packages/core/publication-reproducibility.js +4 -4
  139. package/packages/core/release-line-bootstrap.js +21 -8
  140. package/packages/core/release-passport-contract.js +5 -5
  141. package/packages/core/release-passport.js +20 -131
  142. package/packages/core/self-dogfood-version.js +48 -35
  143. package/packages/core/spawn-command.js +232 -8
  144. package/packages/core/v4-adopter-delivery-parity.js +219 -0
  145. package/packages/core/v4-canonical-contracts.js +284 -0
  146. package/packages/core/v4-delivery-warrant-fixture-runner.js +371 -0
  147. package/packages/core/v4-delivery-warrant-read-candidate.js +279 -0
  148. package/packages/core/v4-delivery-warrant-semantic-diff-gate.js +352 -0
  149. package/packages/core/v4-delivery-warrant-shadow-adapter.js +447 -0
  150. package/packages/core/v4-partial-mutation-recovery-qualification.js +395 -0
  151. package/packages/core/v4-platform-stage-checkpoints.js +471 -0
  152. package/packages/core/v4-provider-operation-journal.js +531 -0
  153. package/packages/core/v4-provider-readback-idempotency.js +394 -0
  154. package/packages/core/v4-release-activation-shadow.js +519 -0
  155. package/packages/core/v4-stable-publication-fence.js +357 -0
  156. package/packages/core/v4-stage-capsule-local-store.js +426 -0
  157. package/packages/core/v4-stage-capsule-qualification-campaign.js +512 -0
  158. package/packages/core/v4-stage-capsule-qualification.js +456 -0
  159. package/packages/core/v4-stage-capsule-resume-planner.js +397 -0
  160. package/packages/core/v4-stage-capsule-store.js +401 -0
  161. package/packages/core/v4-stage-capsule.js +319 -0
  162. package/scripts/assemble-self-publication-admission.mjs +1 -1
  163. package/scripts/audit-publication-control-plane.mjs +5 -5
  164. package/scripts/auditable-demo-bundle-verification.mjs +3 -2
  165. package/scripts/auditable-demo-platform.mjs +2 -2
  166. package/scripts/auditable-demo-renditions.mjs +1 -1
  167. package/scripts/auditable-demo.mjs +2 -2
  168. package/scripts/aws-macos-jit-controller-core.mjs +13 -346
  169. package/scripts/aws-macos-jit-controller-runtime.mjs +2 -210
  170. package/scripts/aws-macos-jit-controller.mjs +37 -275
  171. package/scripts/aws-macos-jit-core.mjs +3 -41
  172. package/scripts/aws-macos-jit.mjs +0 -12
  173. package/scripts/aws-windows-jit-campaign.mjs +2 -2
  174. package/scripts/aws-windows-jit-controller-core.mjs +1 -1
  175. package/scripts/aws-windows-jit-controller.mjs +3 -3
  176. package/scripts/build-contract-core.mjs +3 -8
  177. package/scripts/build-standalone-binary.mjs +3 -14
  178. package/scripts/buildchain-channel-router.mjs +4 -0
  179. package/scripts/buildchain-cli-help.mjs +7 -13
  180. package/scripts/buildchain-contract-lock.mjs +0 -6
  181. package/scripts/check-action-bundles.mjs +3 -4
  182. package/scripts/check-internal-architecture.mjs +7 -6
  183. package/scripts/check-inventory.mjs +30 -25
  184. package/scripts/check-v4-public-dogfood-contract.mjs +270 -0
  185. package/scripts/create-release-bundle.mjs +8 -4
  186. package/scripts/dev-alpha-candidate-patrol.mjs +1 -22
  187. package/scripts/dev-delivery-proof.mjs +2 -54
  188. package/scripts/dev-delivery-warrant.mjs +59 -77
  189. package/scripts/dev-pr-auto-merge.mjs +4 -30
  190. package/scripts/dev-pr-delivery-warrant.mjs +0 -55
  191. package/scripts/dispatch-artifact-signing-authority.mjs +7 -4
  192. package/scripts/generate-buildchain-kfd-witnesses.mjs +94 -88
  193. package/scripts/generate-channel-build-workflow.mjs +54 -24
  194. package/scripts/generate-channel-promotion-workflow.mjs +15 -6
  195. package/scripts/generate-site-bundle.mjs +5 -21
  196. package/scripts/git-fetch-process-tree.mjs +34 -1
  197. package/scripts/init-repo.mjs +64 -159
  198. package/scripts/inspect-artifact-signing-requests.mjs +0 -6
  199. package/scripts/locked-source-checkout.mjs +3 -4
  200. package/scripts/maintainability-metrics.mjs +8 -2
  201. package/scripts/npm-publish-dry-run.mjs +2 -2
  202. package/scripts/npm-publish-transaction.mjs +2 -2
  203. package/scripts/publication-commit-evidence.mjs +23 -69
  204. package/scripts/release-candidate-resolver.mjs +11 -17
  205. package/scripts/release-tail.mjs +3 -49
  206. package/scripts/resume-from-candidate-run.mjs +9 -123
  207. package/scripts/run-lifecycle-core.mjs +12 -13
  208. package/scripts/seal-artifact-signing-requests.mjs +17 -21
  209. package/scripts/site-capability-metadata.mjs +2 -7
  210. package/scripts/stable-candidate-qualification.mjs +10 -10
  211. package/scripts/v4-architecture.mjs +12 -2
  212. package/scripts/v4-bridge-bootstrap.mjs +141 -0
  213. package/scripts/v4-bridge-evidence.mjs +141 -0
  214. package/scripts/v4-host-adapter.mjs +182 -0
  215. package/scripts/v4-platform-stage-checkpoint-rehearsal.mjs +207 -0
  216. package/scripts/v4-stage-capsule-qualification.mjs +528 -0
  217. package/scripts/v4-stage-capsule-resume-rehearsal.mjs +57 -0
  218. package/scripts/v4-warrant-shadow-plan.mjs +601 -0
  219. package/scripts/verify-golden-path.mjs +5 -5
  220. package/scripts/web-surface-cloudfront-rewrite.mjs +15 -15
  221. package/scripts/web-surface-core.mjs +2 -8
  222. package/scripts/workflow-call-contract.mjs +5 -184
  223. package/contracts/fixtures/kfd-adopter-release-v1/kfd-4-perspective.json +0 -16
  224. package/contracts/fixtures/kfd-adopter-release-v1/kfd-4-replay.json +0 -57
  225. package/contracts/fixtures/next-development-transition-v1/anchored-manual-waiting.json +0 -47
  226. package/contracts/fixtures/next-development-transition-v1/semver-auto-planned.json +0 -47
  227. package/contracts/fixtures/next-development-transition-v1/version-model-cases.json +0 -40
  228. package/contracts/next-development-request-v1.schema.json +0 -66
  229. package/contracts/next-development-transition-v1.schema.json +0 -292
  230. package/contracts/publication-rehearsal-capsule-v1.schema.json +0 -173
  231. package/dist/site/schemas/publication-rehearsal-capsule-v1.schema.json +0 -269
  232. package/dist/site/schemas/release-tail-capabilities-v1.schema.json +0 -353
  233. package/dist/site/schemas/release-tail-provider-bindings-v1.schema.json +0 -94
  234. package/docs/next-development-transition.md +0 -119
  235. package/docs/publication-rehearsal.md +0 -94
  236. package/packages/core/buildchain-compatibility-proof.js +0 -631
  237. package/packages/core/dev-delivery-native-proof.js +0 -333
  238. package/packages/core/dev-delivery-warrant-shadow.js +0 -502
  239. package/packages/core/next-development-candidate-reservation.js +0 -186
  240. package/packages/core/next-development-controller.js +0 -726
  241. package/packages/core/next-development-projection.js +0 -288
  242. package/packages/core/next-development-transition.js +0 -738
  243. package/packages/core/publication-rehearsal-projection.js +0 -173
  244. package/packages/core/publication-rehearsal-runtime.js +0 -921
  245. package/scripts/aws-macos-jit-instance-rehydrate.mjs +0 -260
  246. package/scripts/aws-macos-jit-source-rebind.mjs +0 -724
  247. package/scripts/dev-delivery-native-run.mjs +0 -187
  248. package/scripts/dev-delivery-two-phase.mjs +0 -598
  249. package/scripts/generate-next-development-guidance.mjs +0 -49
  250. package/scripts/materialize-self-release-candidate-version.mjs +0 -137
  251. package/scripts/next-development-self-dogfood-harness.mjs +0 -409
  252. package/scripts/next-development-self-dogfood.mjs +0 -532
  253. package/scripts/next-development-transition.mjs +0 -47
  254. package/scripts/release-candidate-tail-reseal.mjs +0 -426
  255. package/templates/native-dev-delivery.yml +0 -82
@@ -0,0 +1,682 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "contract": "buildchain-v4-provider-readback-idempotency-fixtures/v1",
4
+ "context": {
5
+ "operationRoot": "sha256:da9d7ae530da8b1294af799429a57fbff55b47132e6c4c8530c4d638618dd613",
6
+ "attemptRoot": "sha256:d18336f1647795f8efd0751b5a2c933b59c47dbbcd0ffc1a7e8be97cb4ee0497",
7
+ "subjectRoot": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
8
+ "expectedTargetRoot": "sha256:3333333333333333333333333333333333333333333333333333333333333333"
9
+ },
10
+ "coordinates": {
11
+ "sequence": 2,
12
+ "priorEntryRoot": "sha256:d18336f1647795f8efd0751b5a2c933b59c47dbbcd0ffc1a7e8be97cb4ee0497",
13
+ "operationRoot": "sha256:da9d7ae530da8b1294af799429a57fbff55b47132e6c4c8530c4d638618dd613",
14
+ "attemptRoot": "sha256:d18336f1647795f8efd0751b5a2c933b59c47dbbcd0ffc1a7e8be97cb4ee0497",
15
+ "observedAt": "2026-08-09T05:00:00.000Z"
16
+ },
17
+ "journalPrefix": [
18
+ {
19
+ "kind": "intent",
20
+ "schema": "buildchain-v4-provider-operation-intent/v1",
21
+ "sequence": 0,
22
+ "priorEntryRoot": null,
23
+ "operation": {
24
+ "schema": "buildchain-v4-provider-operation-identity/v1",
25
+ "transactionRoot": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
26
+ "capabilityId": "artifact.publish",
27
+ "subjectRoot": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
28
+ "targetRoot": "sha256:3333333333333333333333333333333333333333333333333333333333333333",
29
+ "authorityRoot": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
30
+ "policyRoot": "sha256:5555555555555555555555555555555555555555555555555555555555555555"
31
+ },
32
+ "operationRoot": "sha256:da9d7ae530da8b1294af799429a57fbff55b47132e6c4c8530c4d638618dd613",
33
+ "declaredAt": "2026-08-09T04:00:00.000Z",
34
+ "inputRoot": "sha256:6666666666666666666666666666666666666666666666666666666666666666",
35
+ "entryRoot": "sha256:a78abebea3f8a6e2ff1ff19ba4d81a8d2f81b44ae902cb2a5c06cdec1a66570d"
36
+ },
37
+ {
38
+ "kind": "attempt",
39
+ "schema": "buildchain-v4-provider-operation-attempt/v1",
40
+ "sequence": 1,
41
+ "priorEntryRoot": "sha256:a78abebea3f8a6e2ff1ff19ba4d81a8d2f81b44ae902cb2a5c06cdec1a66570d",
42
+ "operationRoot": "sha256:da9d7ae530da8b1294af799429a57fbff55b47132e6c4c8530c4d638618dd613",
43
+ "attemptOrdinal": 1,
44
+ "attemptedAt": "2026-08-09T04:00:01.000Z",
45
+ "effectRoot": "sha256:7777777777777777777777777777777777777777777777777777777777777777",
46
+ "entryRoot": "sha256:d18336f1647795f8efd0751b5a2c933b59c47dbbcd0ffc1a7e8be97cb4ee0497"
47
+ }
48
+ ],
49
+ "validCases": [
50
+ {
51
+ "id": "github-not-found",
52
+ "readbacks": [
53
+ {
54
+ "provider": "github",
55
+ "response": {
56
+ "schema": "buildchain-v4-github-release-readback/v1",
57
+ "status": 404,
58
+ "assetSubjectRoot": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
59
+ "assetTargetRoot": null,
60
+ "evidenceRoot": "sha256:1010101010101010101010101010101010101010101010101010101010101010"
61
+ }
62
+ }
63
+ ],
64
+ "neutralSamples": [
65
+ {
66
+ "schema": "buildchain-v4-provider-readback-sample/v1",
67
+ "operationRoot": "sha256:da9d7ae530da8b1294af799429a57fbff55b47132e6c4c8530c4d638618dd613",
68
+ "attemptRoot": "sha256:d18336f1647795f8efd0751b5a2c933b59c47dbbcd0ffc1a7e8be97cb4ee0497",
69
+ "state": "not-found",
70
+ "observedTargetRoot": null,
71
+ "evidenceRoots": [
72
+ "sha256:1010101010101010101010101010101010101010101010101010101010101010"
73
+ ],
74
+ "sampleRoot": "sha256:8545497295c5ee42aa6068875fb3fd3bea0b8f16c2131cc294730121448d1bf1"
75
+ }
76
+ ]
77
+ },
78
+ {
79
+ "id": "github-eventually-visible",
80
+ "readbacks": [
81
+ {
82
+ "provider": "github",
83
+ "response": {
84
+ "schema": "buildchain-v4-github-release-readback/v1",
85
+ "status": 202,
86
+ "assetSubjectRoot": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
87
+ "assetTargetRoot": null,
88
+ "evidenceRoot": "sha256:1111111111111111111111111111111111111111111111111111111111111111"
89
+ }
90
+ }
91
+ ],
92
+ "neutralSamples": [
93
+ {
94
+ "schema": "buildchain-v4-provider-readback-sample/v1",
95
+ "operationRoot": "sha256:da9d7ae530da8b1294af799429a57fbff55b47132e6c4c8530c4d638618dd613",
96
+ "attemptRoot": "sha256:d18336f1647795f8efd0751b5a2c933b59c47dbbcd0ffc1a7e8be97cb4ee0497",
97
+ "state": "eventually-visible",
98
+ "observedTargetRoot": null,
99
+ "evidenceRoots": [
100
+ "sha256:1111111111111111111111111111111111111111111111111111111111111111"
101
+ ],
102
+ "sampleRoot": "sha256:8795b7fae8c27ba4a76a9eaf5194b4003cc5e0ba9e1e0f688da3cf96e9ae4adb"
103
+ }
104
+ ]
105
+ },
106
+ {
107
+ "id": "github-already-applied",
108
+ "readbacks": [
109
+ {
110
+ "provider": "github",
111
+ "response": {
112
+ "schema": "buildchain-v4-github-release-readback/v1",
113
+ "status": 200,
114
+ "assetSubjectRoot": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
115
+ "assetTargetRoot": "sha256:3333333333333333333333333333333333333333333333333333333333333333",
116
+ "evidenceRoot": "sha256:1212121212121212121212121212121212121212121212121212121212121212"
117
+ }
118
+ }
119
+ ],
120
+ "neutralSamples": [
121
+ {
122
+ "schema": "buildchain-v4-provider-readback-sample/v1",
123
+ "operationRoot": "sha256:da9d7ae530da8b1294af799429a57fbff55b47132e6c4c8530c4d638618dd613",
124
+ "attemptRoot": "sha256:d18336f1647795f8efd0751b5a2c933b59c47dbbcd0ffc1a7e8be97cb4ee0497",
125
+ "state": "already-applied",
126
+ "observedTargetRoot": "sha256:3333333333333333333333333333333333333333333333333333333333333333",
127
+ "evidenceRoots": [
128
+ "sha256:1212121212121212121212121212121212121212121212121212121212121212"
129
+ ],
130
+ "sampleRoot": "sha256:6d9f760eea5877f76e7f0b1a6ee2d9570d7a07bc6982584295000e7653ea61f5"
131
+ }
132
+ ]
133
+ },
134
+ {
135
+ "id": "npm-not-found",
136
+ "readbacks": [
137
+ {
138
+ "provider": "npm",
139
+ "response": {
140
+ "schema": "buildchain-v4-npm-publication-readback/v1",
141
+ "status": "not-found",
142
+ "packageSubjectRoot": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
143
+ "versionTargetRoot": null,
144
+ "evidenceRoot": "sha256:1313131313131313131313131313131313131313131313131313131313131313"
145
+ }
146
+ }
147
+ ],
148
+ "neutralSamples": [
149
+ {
150
+ "schema": "buildchain-v4-provider-readback-sample/v1",
151
+ "operationRoot": "sha256:da9d7ae530da8b1294af799429a57fbff55b47132e6c4c8530c4d638618dd613",
152
+ "attemptRoot": "sha256:d18336f1647795f8efd0751b5a2c933b59c47dbbcd0ffc1a7e8be97cb4ee0497",
153
+ "state": "not-found",
154
+ "observedTargetRoot": null,
155
+ "evidenceRoots": [
156
+ "sha256:1313131313131313131313131313131313131313131313131313131313131313"
157
+ ],
158
+ "sampleRoot": "sha256:91eae57f0f80297af1450dd0ae76875ee2e16a6ab6003fb219236a98f3bcb0a3"
159
+ }
160
+ ]
161
+ },
162
+ {
163
+ "id": "npm-eventually-visible",
164
+ "readbacks": [
165
+ {
166
+ "provider": "npm",
167
+ "response": {
168
+ "schema": "buildchain-v4-npm-publication-readback/v1",
169
+ "status": "processing",
170
+ "packageSubjectRoot": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
171
+ "versionTargetRoot": null,
172
+ "evidenceRoot": "sha256:1414141414141414141414141414141414141414141414141414141414141414"
173
+ }
174
+ }
175
+ ],
176
+ "neutralSamples": [
177
+ {
178
+ "schema": "buildchain-v4-provider-readback-sample/v1",
179
+ "operationRoot": "sha256:da9d7ae530da8b1294af799429a57fbff55b47132e6c4c8530c4d638618dd613",
180
+ "attemptRoot": "sha256:d18336f1647795f8efd0751b5a2c933b59c47dbbcd0ffc1a7e8be97cb4ee0497",
181
+ "state": "eventually-visible",
182
+ "observedTargetRoot": null,
183
+ "evidenceRoots": [
184
+ "sha256:1414141414141414141414141414141414141414141414141414141414141414"
185
+ ],
186
+ "sampleRoot": "sha256:76918adca6bb1d0dba86979e68559e3ef9599df3a63cc7c91f8d7f4e7195d4b6"
187
+ }
188
+ ]
189
+ },
190
+ {
191
+ "id": "npm-already-applied",
192
+ "readbacks": [
193
+ {
194
+ "provider": "npm",
195
+ "response": {
196
+ "schema": "buildchain-v4-npm-publication-readback/v1",
197
+ "status": "published",
198
+ "packageSubjectRoot": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
199
+ "versionTargetRoot": "sha256:3333333333333333333333333333333333333333333333333333333333333333",
200
+ "evidenceRoot": "sha256:1515151515151515151515151515151515151515151515151515151515151515"
201
+ }
202
+ }
203
+ ],
204
+ "neutralSamples": [
205
+ {
206
+ "schema": "buildchain-v4-provider-readback-sample/v1",
207
+ "operationRoot": "sha256:da9d7ae530da8b1294af799429a57fbff55b47132e6c4c8530c4d638618dd613",
208
+ "attemptRoot": "sha256:d18336f1647795f8efd0751b5a2c933b59c47dbbcd0ffc1a7e8be97cb4ee0497",
209
+ "state": "already-applied",
210
+ "observedTargetRoot": "sha256:3333333333333333333333333333333333333333333333333333333333333333",
211
+ "evidenceRoots": [
212
+ "sha256:1515151515151515151515151515151515151515151515151515151515151515"
213
+ ],
214
+ "sampleRoot": "sha256:20978debf5eec5a25ab542640b30a488c0679f29f08c494477258cf9351547f6"
215
+ }
216
+ ]
217
+ },
218
+ {
219
+ "id": "oci-not-found",
220
+ "readbacks": [
221
+ {
222
+ "provider": "oci",
223
+ "response": {
224
+ "schema": "buildchain-v4-oci-manifest-readback/v1",
225
+ "status": 404,
226
+ "repositorySubjectRoot": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
227
+ "manifestTargetRoot": null,
228
+ "evidenceRoot": "sha256:1616161616161616161616161616161616161616161616161616161616161616"
229
+ }
230
+ }
231
+ ],
232
+ "neutralSamples": [
233
+ {
234
+ "schema": "buildchain-v4-provider-readback-sample/v1",
235
+ "operationRoot": "sha256:da9d7ae530da8b1294af799429a57fbff55b47132e6c4c8530c4d638618dd613",
236
+ "attemptRoot": "sha256:d18336f1647795f8efd0751b5a2c933b59c47dbbcd0ffc1a7e8be97cb4ee0497",
237
+ "state": "not-found",
238
+ "observedTargetRoot": null,
239
+ "evidenceRoots": [
240
+ "sha256:1616161616161616161616161616161616161616161616161616161616161616"
241
+ ],
242
+ "sampleRoot": "sha256:f66e7316df3dcafaa22975b3e82275d4ab5d16d19fa1b572df9c860d4e91c3c6"
243
+ }
244
+ ]
245
+ },
246
+ {
247
+ "id": "oci-eventually-visible",
248
+ "readbacks": [
249
+ {
250
+ "provider": "oci",
251
+ "response": {
252
+ "schema": "buildchain-v4-oci-manifest-readback/v1",
253
+ "status": 202,
254
+ "repositorySubjectRoot": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
255
+ "manifestTargetRoot": null,
256
+ "evidenceRoot": "sha256:1717171717171717171717171717171717171717171717171717171717171717"
257
+ }
258
+ }
259
+ ],
260
+ "neutralSamples": [
261
+ {
262
+ "schema": "buildchain-v4-provider-readback-sample/v1",
263
+ "operationRoot": "sha256:da9d7ae530da8b1294af799429a57fbff55b47132e6c4c8530c4d638618dd613",
264
+ "attemptRoot": "sha256:d18336f1647795f8efd0751b5a2c933b59c47dbbcd0ffc1a7e8be97cb4ee0497",
265
+ "state": "eventually-visible",
266
+ "observedTargetRoot": null,
267
+ "evidenceRoots": [
268
+ "sha256:1717171717171717171717171717171717171717171717171717171717171717"
269
+ ],
270
+ "sampleRoot": "sha256:06295e5d13ebb2f6767b4c82e1aee9c386aff7d33ed6591c692df3561d3b6346"
271
+ }
272
+ ]
273
+ },
274
+ {
275
+ "id": "oci-already-applied",
276
+ "readbacks": [
277
+ {
278
+ "provider": "oci",
279
+ "response": {
280
+ "schema": "buildchain-v4-oci-manifest-readback/v1",
281
+ "status": 200,
282
+ "repositorySubjectRoot": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
283
+ "manifestTargetRoot": "sha256:3333333333333333333333333333333333333333333333333333333333333333",
284
+ "evidenceRoot": "sha256:1818181818181818181818181818181818181818181818181818181818181818"
285
+ }
286
+ }
287
+ ],
288
+ "neutralSamples": [
289
+ {
290
+ "schema": "buildchain-v4-provider-readback-sample/v1",
291
+ "operationRoot": "sha256:da9d7ae530da8b1294af799429a57fbff55b47132e6c4c8530c4d638618dd613",
292
+ "attemptRoot": "sha256:d18336f1647795f8efd0751b5a2c933b59c47dbbcd0ffc1a7e8be97cb4ee0497",
293
+ "state": "already-applied",
294
+ "observedTargetRoot": "sha256:3333333333333333333333333333333333333333333333333333333333333333",
295
+ "evidenceRoots": [
296
+ "sha256:1818181818181818181818181818181818181818181818181818181818181818"
297
+ ],
298
+ "sampleRoot": "sha256:3e11ce8b7e7f106f2db92a14f0db3ff3d1206579599b8caf14c00e741965104d"
299
+ }
300
+ ]
301
+ },
302
+ {
303
+ "id": "duplicate-readback-is-idempotent",
304
+ "readbacks": [
305
+ {
306
+ "provider": "github",
307
+ "response": {
308
+ "schema": "buildchain-v4-github-release-readback/v1",
309
+ "status": 200,
310
+ "assetSubjectRoot": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
311
+ "assetTargetRoot": "sha256:3333333333333333333333333333333333333333333333333333333333333333",
312
+ "evidenceRoot": "sha256:1212121212121212121212121212121212121212121212121212121212121212"
313
+ }
314
+ },
315
+ {
316
+ "provider": "github",
317
+ "response": {
318
+ "schema": "buildchain-v4-github-release-readback/v1",
319
+ "status": 200,
320
+ "assetSubjectRoot": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
321
+ "assetTargetRoot": "sha256:3333333333333333333333333333333333333333333333333333333333333333",
322
+ "evidenceRoot": "sha256:1212121212121212121212121212121212121212121212121212121212121212"
323
+ }
324
+ }
325
+ ],
326
+ "neutralSamples": [
327
+ {
328
+ "schema": "buildchain-v4-provider-readback-sample/v1",
329
+ "operationRoot": "sha256:da9d7ae530da8b1294af799429a57fbff55b47132e6c4c8530c4d638618dd613",
330
+ "attemptRoot": "sha256:d18336f1647795f8efd0751b5a2c933b59c47dbbcd0ffc1a7e8be97cb4ee0497",
331
+ "state": "already-applied",
332
+ "observedTargetRoot": "sha256:3333333333333333333333333333333333333333333333333333333333333333",
333
+ "evidenceRoots": [
334
+ "sha256:1212121212121212121212121212121212121212121212121212121212121212"
335
+ ],
336
+ "sampleRoot": "sha256:6d9f760eea5877f76e7f0b1a6ee2d9570d7a07bc6982584295000e7653ea61f5"
337
+ },
338
+ {
339
+ "schema": "buildchain-v4-provider-readback-sample/v1",
340
+ "operationRoot": "sha256:da9d7ae530da8b1294af799429a57fbff55b47132e6c4c8530c4d638618dd613",
341
+ "attemptRoot": "sha256:d18336f1647795f8efd0751b5a2c933b59c47dbbcd0ffc1a7e8be97cb4ee0497",
342
+ "state": "already-applied",
343
+ "observedTargetRoot": "sha256:3333333333333333333333333333333333333333333333333333333333333333",
344
+ "evidenceRoots": [
345
+ "sha256:1212121212121212121212121212121212121212121212121212121212121212"
346
+ ],
347
+ "sampleRoot": "sha256:6d9f760eea5877f76e7f0b1a6ee2d9570d7a07bc6982584295000e7653ea61f5"
348
+ }
349
+ ]
350
+ },
351
+ {
352
+ "id": "reordered-readbacks-are-idempotent",
353
+ "readbacks": [
354
+ {
355
+ "provider": "github",
356
+ "response": {
357
+ "schema": "buildchain-v4-github-release-readback/v1",
358
+ "status": 202,
359
+ "assetSubjectRoot": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
360
+ "assetTargetRoot": null,
361
+ "evidenceRoot": "sha256:1111111111111111111111111111111111111111111111111111111111111111"
362
+ }
363
+ },
364
+ {
365
+ "provider": "github",
366
+ "response": {
367
+ "schema": "buildchain-v4-github-release-readback/v1",
368
+ "status": 404,
369
+ "assetSubjectRoot": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
370
+ "assetTargetRoot": null,
371
+ "evidenceRoot": "sha256:1010101010101010101010101010101010101010101010101010101010101010"
372
+ }
373
+ }
374
+ ],
375
+ "neutralSamples": [
376
+ {
377
+ "schema": "buildchain-v4-provider-readback-sample/v1",
378
+ "operationRoot": "sha256:da9d7ae530da8b1294af799429a57fbff55b47132e6c4c8530c4d638618dd613",
379
+ "attemptRoot": "sha256:d18336f1647795f8efd0751b5a2c933b59c47dbbcd0ffc1a7e8be97cb4ee0497",
380
+ "state": "eventually-visible",
381
+ "observedTargetRoot": null,
382
+ "evidenceRoots": [
383
+ "sha256:1111111111111111111111111111111111111111111111111111111111111111"
384
+ ],
385
+ "sampleRoot": "sha256:8795b7fae8c27ba4a76a9eaf5194b4003cc5e0ba9e1e0f688da3cf96e9ae4adb"
386
+ },
387
+ {
388
+ "schema": "buildchain-v4-provider-readback-sample/v1",
389
+ "operationRoot": "sha256:da9d7ae530da8b1294af799429a57fbff55b47132e6c4c8530c4d638618dd613",
390
+ "attemptRoot": "sha256:d18336f1647795f8efd0751b5a2c933b59c47dbbcd0ffc1a7e8be97cb4ee0497",
391
+ "state": "not-found",
392
+ "observedTargetRoot": null,
393
+ "evidenceRoots": [
394
+ "sha256:1010101010101010101010101010101010101010101010101010101010101010"
395
+ ],
396
+ "sampleRoot": "sha256:8545497295c5ee42aa6068875fb3fd3bea0b8f16c2131cc294730121448d1bf1"
397
+ }
398
+ ]
399
+ }
400
+ ],
401
+ "invalidCases": [
402
+ {
403
+ "id": "github-conflicting-target",
404
+ "readbacks": [
405
+ {
406
+ "provider": "github",
407
+ "response": {
408
+ "schema": "buildchain-v4-github-release-readback/v1",
409
+ "status": 409,
410
+ "assetSubjectRoot": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
411
+ "assetTargetRoot": "sha256:9999999999999999999999999999999999999999999999999999999999999999",
412
+ "evidenceRoot": "sha256:1919191919191919191919191919191919191919191919191919191919191919"
413
+ }
414
+ }
415
+ ],
416
+ "neutralSamples": [
417
+ {
418
+ "schema": "buildchain-v4-provider-readback-sample/v1",
419
+ "operationRoot": "sha256:da9d7ae530da8b1294af799429a57fbff55b47132e6c4c8530c4d638618dd613",
420
+ "attemptRoot": "sha256:d18336f1647795f8efd0751b5a2c933b59c47dbbcd0ffc1a7e8be97cb4ee0497",
421
+ "state": "already-applied",
422
+ "observedTargetRoot": "sha256:3333333333333333333333333333333333333333333333333333333333333333",
423
+ "evidenceRoots": [
424
+ "sha256:1212121212121212121212121212121212121212121212121212121212121212"
425
+ ],
426
+ "sampleRoot": "sha256:6d9f760eea5877f76e7f0b1a6ee2d9570d7a07bc6982584295000e7653ea61f5"
427
+ },
428
+ {
429
+ "schema": "buildchain-v4-provider-readback-sample/v1",
430
+ "operationRoot": "sha256:da9d7ae530da8b1294af799429a57fbff55b47132e6c4c8530c4d638618dd613",
431
+ "attemptRoot": "sha256:d18336f1647795f8efd0751b5a2c933b59c47dbbcd0ffc1a7e8be97cb4ee0497",
432
+ "state": "not-found",
433
+ "observedTargetRoot": null,
434
+ "evidenceRoots": [
435
+ "sha256:1010101010101010101010101010101010101010101010101010101010101010"
436
+ ],
437
+ "sampleRoot": "sha256:8545497295c5ee42aa6068875fb3fd3bea0b8f16c2131cc294730121448d1bf1"
438
+ }
439
+ ]
440
+ },
441
+ {
442
+ "id": "github-malformed",
443
+ "readbacks": [
444
+ {
445
+ "provider": "github",
446
+ "response": {
447
+ "schema": "buildchain-v4-github-release-readback/v1",
448
+ "status": 404,
449
+ "assetSubjectRoot": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
450
+ "assetTargetRoot": null
451
+ }
452
+ }
453
+ ],
454
+ "neutralSamples": [
455
+ {
456
+ "schema": "buildchain-v4-provider-readback-sample/v1",
457
+ "operationRoot": "sha256:da9d7ae530da8b1294af799429a57fbff55b47132e6c4c8530c4d638618dd613",
458
+ "attemptRoot": "sha256:d18336f1647795f8efd0751b5a2c933b59c47dbbcd0ffc1a7e8be97cb4ee0497",
459
+ "state": "not-found",
460
+ "observedTargetRoot": null,
461
+ "evidenceRoots": [
462
+ "sha256:1010101010101010101010101010101010101010101010101010101010101010"
463
+ ]
464
+ }
465
+ ]
466
+ },
467
+ {
468
+ "id": "github-root-mismatch",
469
+ "readbacks": [
470
+ {
471
+ "provider": "github",
472
+ "response": {
473
+ "schema": "buildchain-v4-github-release-readback/v1",
474
+ "status": 200,
475
+ "assetSubjectRoot": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
476
+ "assetTargetRoot": "sha256:9999999999999999999999999999999999999999999999999999999999999999",
477
+ "evidenceRoot": "sha256:2020202020202020202020202020202020202020202020202020202020202020"
478
+ }
479
+ }
480
+ ],
481
+ "neutralSamples": [
482
+ {
483
+ "schema": "buildchain-v4-provider-readback-sample/v1",
484
+ "operationRoot": "sha256:da9d7ae530da8b1294af799429a57fbff55b47132e6c4c8530c4d638618dd613",
485
+ "attemptRoot": "sha256:d18336f1647795f8efd0751b5a2c933b59c47dbbcd0ffc1a7e8be97cb4ee0497",
486
+ "state": "not-found",
487
+ "observedTargetRoot": null,
488
+ "evidenceRoots": [
489
+ "sha256:1010101010101010101010101010101010101010101010101010101010101010"
490
+ ],
491
+ "sampleRoot": "sha256:0000000000000000000000000000000000000000000000000000000000000000"
492
+ }
493
+ ]
494
+ },
495
+ {
496
+ "id": "npm-conflicting-target",
497
+ "readbacks": [
498
+ {
499
+ "provider": "npm",
500
+ "response": {
501
+ "schema": "buildchain-v4-npm-publication-readback/v1",
502
+ "status": "conflict",
503
+ "packageSubjectRoot": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
504
+ "versionTargetRoot": "sha256:9999999999999999999999999999999999999999999999999999999999999999",
505
+ "evidenceRoot": "sha256:2121212121212121212121212121212121212121212121212121212121212121"
506
+ }
507
+ }
508
+ ],
509
+ "neutralSamples": [
510
+ {
511
+ "schema": "buildchain-v4-provider-readback-sample/v1",
512
+ "operationRoot": "sha256:da9d7ae530da8b1294af799429a57fbff55b47132e6c4c8530c4d638618dd613",
513
+ "attemptRoot": "sha256:d18336f1647795f8efd0751b5a2c933b59c47dbbcd0ffc1a7e8be97cb4ee0497",
514
+ "state": "already-applied",
515
+ "observedTargetRoot": "sha256:3333333333333333333333333333333333333333333333333333333333333333",
516
+ "evidenceRoots": [
517
+ "sha256:1515151515151515151515151515151515151515151515151515151515151515"
518
+ ],
519
+ "sampleRoot": "sha256:20978debf5eec5a25ab542640b30a488c0679f29f08c494477258cf9351547f6"
520
+ },
521
+ {
522
+ "schema": "buildchain-v4-provider-readback-sample/v1",
523
+ "operationRoot": "sha256:da9d7ae530da8b1294af799429a57fbff55b47132e6c4c8530c4d638618dd613",
524
+ "attemptRoot": "sha256:d18336f1647795f8efd0751b5a2c933b59c47dbbcd0ffc1a7e8be97cb4ee0497",
525
+ "state": "not-found",
526
+ "observedTargetRoot": null,
527
+ "evidenceRoots": [
528
+ "sha256:1313131313131313131313131313131313131313131313131313131313131313"
529
+ ],
530
+ "sampleRoot": "sha256:91eae57f0f80297af1450dd0ae76875ee2e16a6ab6003fb219236a98f3bcb0a3"
531
+ }
532
+ ]
533
+ },
534
+ {
535
+ "id": "npm-malformed",
536
+ "readbacks": [
537
+ {
538
+ "provider": "npm",
539
+ "response": {
540
+ "schema": "buildchain-v4-npm-publication-readback/v1",
541
+ "status": "not-found",
542
+ "packageSubjectRoot": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
543
+ "versionTargetRoot": null
544
+ }
545
+ }
546
+ ],
547
+ "neutralSamples": [
548
+ {
549
+ "schema": "buildchain-v4-provider-readback-sample/v1",
550
+ "operationRoot": "sha256:da9d7ae530da8b1294af799429a57fbff55b47132e6c4c8530c4d638618dd613",
551
+ "attemptRoot": "sha256:d18336f1647795f8efd0751b5a2c933b59c47dbbcd0ffc1a7e8be97cb4ee0497",
552
+ "state": "not-found",
553
+ "observedTargetRoot": null,
554
+ "evidenceRoots": [
555
+ "sha256:1313131313131313131313131313131313131313131313131313131313131313"
556
+ ]
557
+ }
558
+ ]
559
+ },
560
+ {
561
+ "id": "npm-root-mismatch",
562
+ "readbacks": [
563
+ {
564
+ "provider": "npm",
565
+ "response": {
566
+ "schema": "buildchain-v4-npm-publication-readback/v1",
567
+ "status": "published",
568
+ "packageSubjectRoot": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
569
+ "versionTargetRoot": "sha256:9999999999999999999999999999999999999999999999999999999999999999",
570
+ "evidenceRoot": "sha256:2222222222222222222222222222222222222222222222222222222222222222"
571
+ }
572
+ }
573
+ ],
574
+ "neutralSamples": [
575
+ {
576
+ "schema": "buildchain-v4-provider-readback-sample/v1",
577
+ "operationRoot": "sha256:da9d7ae530da8b1294af799429a57fbff55b47132e6c4c8530c4d638618dd613",
578
+ "attemptRoot": "sha256:d18336f1647795f8efd0751b5a2c933b59c47dbbcd0ffc1a7e8be97cb4ee0497",
579
+ "state": "not-found",
580
+ "observedTargetRoot": null,
581
+ "evidenceRoots": [
582
+ "sha256:1313131313131313131313131313131313131313131313131313131313131313"
583
+ ],
584
+ "sampleRoot": "sha256:0000000000000000000000000000000000000000000000000000000000000000"
585
+ }
586
+ ]
587
+ },
588
+ {
589
+ "id": "oci-conflicting-target",
590
+ "readbacks": [
591
+ {
592
+ "provider": "oci",
593
+ "response": {
594
+ "schema": "buildchain-v4-oci-manifest-readback/v1",
595
+ "status": 409,
596
+ "repositorySubjectRoot": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
597
+ "manifestTargetRoot": "sha256:9999999999999999999999999999999999999999999999999999999999999999",
598
+ "evidenceRoot": "sha256:2323232323232323232323232323232323232323232323232323232323232323"
599
+ }
600
+ }
601
+ ],
602
+ "neutralSamples": [
603
+ {
604
+ "schema": "buildchain-v4-provider-readback-sample/v1",
605
+ "operationRoot": "sha256:da9d7ae530da8b1294af799429a57fbff55b47132e6c4c8530c4d638618dd613",
606
+ "attemptRoot": "sha256:d18336f1647795f8efd0751b5a2c933b59c47dbbcd0ffc1a7e8be97cb4ee0497",
607
+ "state": "already-applied",
608
+ "observedTargetRoot": "sha256:3333333333333333333333333333333333333333333333333333333333333333",
609
+ "evidenceRoots": [
610
+ "sha256:1818181818181818181818181818181818181818181818181818181818181818"
611
+ ],
612
+ "sampleRoot": "sha256:3e11ce8b7e7f106f2db92a14f0db3ff3d1206579599b8caf14c00e741965104d"
613
+ },
614
+ {
615
+ "schema": "buildchain-v4-provider-readback-sample/v1",
616
+ "operationRoot": "sha256:da9d7ae530da8b1294af799429a57fbff55b47132e6c4c8530c4d638618dd613",
617
+ "attemptRoot": "sha256:d18336f1647795f8efd0751b5a2c933b59c47dbbcd0ffc1a7e8be97cb4ee0497",
618
+ "state": "not-found",
619
+ "observedTargetRoot": null,
620
+ "evidenceRoots": [
621
+ "sha256:1616161616161616161616161616161616161616161616161616161616161616"
622
+ ],
623
+ "sampleRoot": "sha256:f66e7316df3dcafaa22975b3e82275d4ab5d16d19fa1b572df9c860d4e91c3c6"
624
+ }
625
+ ]
626
+ },
627
+ {
628
+ "id": "oci-malformed",
629
+ "readbacks": [
630
+ {
631
+ "provider": "oci",
632
+ "response": {
633
+ "schema": "buildchain-v4-oci-manifest-readback/v1",
634
+ "status": 404,
635
+ "repositorySubjectRoot": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
636
+ "manifestTargetRoot": null
637
+ }
638
+ }
639
+ ],
640
+ "neutralSamples": [
641
+ {
642
+ "schema": "buildchain-v4-provider-readback-sample/v1",
643
+ "operationRoot": "sha256:da9d7ae530da8b1294af799429a57fbff55b47132e6c4c8530c4d638618dd613",
644
+ "attemptRoot": "sha256:d18336f1647795f8efd0751b5a2c933b59c47dbbcd0ffc1a7e8be97cb4ee0497",
645
+ "state": "not-found",
646
+ "observedTargetRoot": null,
647
+ "evidenceRoots": [
648
+ "sha256:1616161616161616161616161616161616161616161616161616161616161616"
649
+ ]
650
+ }
651
+ ]
652
+ },
653
+ {
654
+ "id": "oci-root-mismatch",
655
+ "readbacks": [
656
+ {
657
+ "provider": "oci",
658
+ "response": {
659
+ "schema": "buildchain-v4-oci-manifest-readback/v1",
660
+ "status": 200,
661
+ "repositorySubjectRoot": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
662
+ "manifestTargetRoot": "sha256:9999999999999999999999999999999999999999999999999999999999999999",
663
+ "evidenceRoot": "sha256:2424242424242424242424242424242424242424242424242424242424242424"
664
+ }
665
+ }
666
+ ],
667
+ "neutralSamples": [
668
+ {
669
+ "schema": "buildchain-v4-provider-readback-sample/v1",
670
+ "operationRoot": "sha256:da9d7ae530da8b1294af799429a57fbff55b47132e6c4c8530c4d638618dd613",
671
+ "attemptRoot": "sha256:d18336f1647795f8efd0751b5a2c933b59c47dbbcd0ffc1a7e8be97cb4ee0497",
672
+ "state": "not-found",
673
+ "observedTargetRoot": null,
674
+ "evidenceRoots": [
675
+ "sha256:1616161616161616161616161616161616161616161616161616161616161616"
676
+ ],
677
+ "sampleRoot": "sha256:0000000000000000000000000000000000000000000000000000000000000000"
678
+ }
679
+ ]
680
+ }
681
+ ]
682
+ }