@kungfu-tech/buildchain 4.0.1-alpha.2 → 4.0.1-alpha.21

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 (203) 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/decisions/0003-two-phase-delivery-warrant.md +152 -0
  5. package/architecture/internal-capabilities.json +211 -8
  6. package/architecture/maintainability-policy.json +113 -28
  7. package/architecture/release-tail-contract-inventory.json +5 -2
  8. package/architecture/v3-core-mechanism-inventory.json +91 -0
  9. package/architecture/v4-adopter-delivery-parity.json +32 -5
  10. package/architecture/v4-capability-state-machine-manifest.json +73 -0
  11. package/architecture/v4-compatibility-facts-parity.json +77 -0
  12. package/architecture/v4-delivery-authority-parity.json +250 -0
  13. package/architecture/v4-delivery-warrant-shadow-fixtures.json +41 -9
  14. package/architecture/v4-floating-consumer-policy.json +6 -0
  15. package/architecture/v4-next-development-parity.json +192 -0
  16. package/architecture/v4-publication-rehearsal-parity.json +84 -0
  17. package/architecture/v4-release-train-parity.json +1 -0
  18. package/architecture/v4-tail-reseal-parity.json +150 -0
  19. package/bin/buildchain.mjs +32 -3
  20. package/bin/internal/adopter-delivery-cli.mjs +70 -0
  21. package/bin/internal/command-registry.mjs +3 -0
  22. package/bin/internal/compatibility-facts-cli.mjs +101 -0
  23. package/contracts/dev-delivery-authority-v2.schema.json +662 -0
  24. package/contracts/fixtures/next-development-transition-v1/anchored-manual-waiting.json +47 -0
  25. package/contracts/fixtures/next-development-transition-v1/semver-auto-planned.json +47 -0
  26. package/contracts/fixtures/next-development-transition-v1/version-model-cases.json +40 -0
  27. package/contracts/fixtures/v4-adopter-delivery-v1/archive-template.json +19 -0
  28. package/contracts/fixtures/v4-adopter-delivery-v1/bootstrap-positive.json +93 -0
  29. package/contracts/fixtures/v4-adopter-delivery-v1/gate-positive.json +29 -0
  30. package/contracts/fixtures/v4-adopter-delivery-v1/gate-unknown-selector.json +26 -0
  31. package/contracts/fixtures/v4-adopter-delivery-v1/offline-vectors.json +50 -0
  32. package/contracts/fixtures/v4-compatibility-facts-v1/shared.json +1129 -0
  33. package/contracts/fixtures/v4-floating-consumer-policy-v1/cases.json +7 -1
  34. package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/artifacts/product.bin +1 -0
  35. package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/config/buildchain.toml +5 -0
  36. package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/documents/release-activation.json +1 -0
  37. package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/documents/signed-channel.json +1 -0
  38. package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/evidence/qualification.json +1 -0
  39. package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/manifests/candidate.json +5 -0
  40. package/contracts/fixtures/v4-publication-rehearsal-v1/candidate/manifests/release-passport.json +1 -0
  41. package/contracts/fixtures/v4-publication-rehearsal-v1/capsule.json +707 -0
  42. package/contracts/fixtures/v4-publication-rehearsal-v1/offline-vectors.json +27 -0
  43. package/contracts/fixtures/v4-tail-reseal-v1/valid.json +229 -0
  44. package/contracts/next-development-request-v1.schema.json +66 -0
  45. package/contracts/next-development-transition-v1.schema.json +292 -0
  46. package/contracts/v4-adopter-delivery-v1.schema.json +81 -0
  47. package/contracts/v4-compatibility-facts-v1.schema.json +230 -0
  48. package/contracts/v4-floating-consumer-policy-receipt-v1.schema.json +4 -2
  49. package/contracts/v4-publication-rehearsal-capsule-v1.schema.json +233 -0
  50. package/contracts/v4-tail-reseal-v1.schema.json +276 -0
  51. package/dist/site/agent-index.json +5 -0
  52. package/dist/site/artifact-schemas.json +10 -0
  53. package/dist/site/buildchain-contract.json +1475 -27
  54. package/dist/site/buildchain-site.json +627 -31
  55. package/dist/site/capability-registry.json +17 -14
  56. package/dist/site/cli-registry.json +205 -3
  57. package/dist/site/kfd-claims.json +490 -16
  58. package/dist/site/kfd-upstream-aggregate.json +1 -1
  59. package/dist/site/manual-registry.json +52 -6
  60. package/dist/site/node-api-registry.json +14736 -8851
  61. package/dist/site/page-registry.json +593 -21
  62. package/dist/site/public-surface-audit.json +837 -48
  63. package/dist/site/publication-authority-registry.json +44 -8
  64. package/dist/site/publication-registry.json +4 -4
  65. package/dist/site/release-provenance.json +24 -0
  66. package/dist/site/schemas/dev-delivery-authority-v2.schema.json +662 -0
  67. package/dist/site/schemas/release-tail-capabilities-v1.schema.json +199 -0
  68. package/dist/site/schemas/v4-adopter-delivery-v1.schema.json +81 -0
  69. package/dist/site/schemas/v4-compatibility-facts-v1.schema.json +230 -0
  70. package/dist/site/schemas/v4-publication-rehearsal-capsule-v1.schema.json +233 -0
  71. package/dist/site/site-manifest.json +34 -10
  72. package/dist/site/workflow-registry.json +160 -10
  73. package/docs/MAP.md +8 -2
  74. package/docs/cli-reference.md +404 -13
  75. package/docs/cli.md +8 -0
  76. package/docs/dev-alpha-candidate-patrol.md +8 -0
  77. package/docs/dev-delivery-qualification-landing-adr.md +251 -0
  78. package/docs/dev-delivery-warrant.md +351 -38
  79. package/docs/next-development-transition.md +118 -0
  80. package/docs/node-api-reference.md +646 -293
  81. package/docs/release-tail-provider-plane.md +30 -0
  82. package/docs/v4-adopter-delivery.md +133 -0
  83. package/docs/v4-compatibility-facts.md +91 -0
  84. package/docs/v4-publication-rehearsal.md +130 -0
  85. package/docs/v4-tail-reseal.md +73 -0
  86. package/docs/versioning.md +4 -3
  87. package/package.json +34 -6
  88. package/packages/core/adopter-delivery-passport.js +259 -0
  89. package/packages/core/adopter-delivery-vectors.js +158 -0
  90. package/packages/core/adopter-delivery-vectors.json +77 -0
  91. package/packages/core/buildchain-agent-manuals.js +3 -0
  92. package/packages/core/buildchain-compatibility-authority.js +336 -0
  93. package/packages/core/buildchain-compatibility-fact.js +394 -0
  94. package/packages/core/buildchain-compatibility-facts.json +217 -0
  95. package/packages/core/buildchain-compatibility-proof.js +566 -0
  96. package/packages/core/buildchain-config.js +84 -0
  97. package/packages/core/buildchain-contract.js +96 -143
  98. package/packages/core/buildchain-delivery-bootstrap.js +240 -0
  99. package/packages/core/buildchain-delivery-infrastructure.js +164 -0
  100. package/packages/core/buildchain-delivery-self-dogfood.js +395 -0
  101. package/packages/core/buildchain-publication-authority.js +1 -0
  102. package/packages/core/channel-candidate.js +8 -0
  103. package/packages/core/channel-promotion-baseline.js +55 -0
  104. package/packages/core/ci-lane-change-budget.js +247 -0
  105. package/packages/core/dev-alpha-candidate-selection.js +10 -2
  106. package/packages/core/dev-delivery-authority-candidate.js +270 -0
  107. package/packages/core/dev-delivery-authority-evidence.js +146 -0
  108. package/packages/core/dev-delivery-authority-landing.js +461 -0
  109. package/packages/core/dev-delivery-authority-observation.js +48 -0
  110. package/packages/core/dev-delivery-authority-qualification.js +591 -0
  111. package/packages/core/dev-delivery-authority-settlement.js +213 -0
  112. package/packages/core/dev-delivery-authority-state.js +583 -0
  113. package/packages/core/dev-delivery-candidate-identity.js +13 -0
  114. package/packages/core/dev-delivery-contract-surface.js +76 -0
  115. package/packages/core/dev-delivery-execution-failure.js +133 -0
  116. package/packages/core/dev-delivery-execution-transfer.js +592 -0
  117. package/packages/core/dev-delivery-landing-admission-core.js +119 -0
  118. package/packages/core/dev-delivery-landing-readback.js +598 -0
  119. package/packages/core/dev-delivery-landing-terminal-evidence.js +271 -0
  120. package/packages/core/dev-delivery-landing-testing-port.js +6 -0
  121. package/packages/core/dev-delivery-native-execution.js +110 -0
  122. package/packages/core/dev-delivery-native-proof.js +562 -0
  123. package/packages/core/dev-delivery-process-boundary.js +563 -0
  124. package/packages/core/dev-delivery-provider-attempt.js +127 -0
  125. package/packages/core/dev-delivery-provider-heartbeat.js +382 -0
  126. package/packages/core/dev-delivery-warrant-cancellation.js +1 -0
  127. package/packages/core/dev-delivery-warrant-qualification.js +145 -0
  128. package/packages/core/dev-delivery-warrant-settlement.js +237 -36
  129. package/packages/core/dev-delivery-warrant-state.js +587 -0
  130. package/packages/core/dev-delivery-warrant.js +328 -370
  131. package/packages/core/github-governance-authority.js +1 -0
  132. package/packages/core/index.js +5 -0
  133. package/packages/core/kungfu-temporal-fact.js +557 -0
  134. package/packages/core/legacy-kfd-adopter-driver.js +167 -0
  135. package/packages/core/next-development-candidate-reservation.js +186 -0
  136. package/packages/core/next-development-controller.js +728 -0
  137. package/packages/core/next-development-projection.js +287 -0
  138. package/packages/core/next-development-transition.js +738 -0
  139. package/packages/core/paper-agent-entry.js +11 -5
  140. package/packages/core/paper.js +16 -5
  141. package/packages/core/published-delivery-authority.js +266 -0
  142. package/packages/core/release-candidate-recovery.js +70 -15
  143. package/packages/core/release-candidate.js +2 -2
  144. package/packages/core/release-passport.js +36 -9
  145. package/packages/core/v4-adopter-delivery-parity.js +3 -3
  146. package/packages/core/v4-adopter-delivery.js +359 -0
  147. package/packages/core/v4-canonical-contracts.js +5 -0
  148. package/packages/core/v4-delivery-warrant-read-candidate.js +10 -3
  149. package/packages/core/v4-floating-consumer-evidence.js +18 -4
  150. package/packages/core/v4-floating-consumer-policy.js +143 -20
  151. package/packages/core/v4-floating-consumer-release-passport.js +32 -5
  152. package/packages/core/v4-publication-rehearsal-capsule.js +468 -0
  153. package/packages/core/v4-publication-rehearsal-provider-bindings.js +212 -0
  154. package/packages/core/v4-publication-rehearsal.js +481 -0
  155. package/packages/core/v4-tail-reseal-contract.js +26 -0
  156. package/packages/core/v4-tail-reseal-github.js +178 -0
  157. package/packages/core/v4-tail-reseal-receipt.js +225 -0
  158. package/packages/core/v4-tail-reseal.js +594 -0
  159. package/packages/core/workflow-yaml-contract.js +24 -2
  160. package/scripts/buildchain-cli-help.mjs +41 -2
  161. package/scripts/check-ci-lane-change-budget.mjs +100 -0
  162. package/scripts/check-inventory.mjs +14 -3
  163. package/scripts/check-v4-floating-consumer-policy-contract.mjs +23 -4
  164. package/scripts/dev-alpha-candidate-patrol.mjs +22 -1
  165. package/scripts/dev-delivery-authority-command-adapters.mjs +206 -0
  166. package/scripts/dev-delivery-authority-provider.mjs +28 -0
  167. package/scripts/dev-delivery-authority.mjs +490 -0
  168. package/scripts/dev-delivery-native-run.mjs +177 -0
  169. package/scripts/dev-delivery-process-boundary.mjs +260 -0
  170. package/scripts/dev-delivery-proof.mjs +67 -2
  171. package/scripts/dev-delivery-provider-heartbeat.mjs +215 -0
  172. package/scripts/dev-delivery-source-proof-replay.mjs +153 -0
  173. package/scripts/dev-delivery-source-proof-reuse.mjs +13 -97
  174. package/scripts/dev-delivery-two-phase-resume.mjs +345 -0
  175. package/scripts/dev-delivery-two-phase.mjs +573 -0
  176. package/scripts/dev-delivery-warrant-options.mjs +266 -0
  177. package/scripts/dev-delivery-warrant-store.mjs +231 -0
  178. package/scripts/dev-delivery-warrant.mjs +232 -194
  179. package/scripts/dev-pr-auto-merge.mjs +1 -1
  180. package/scripts/dev-pr-delivery-warrant.mjs +11 -0
  181. package/scripts/dev-qualification-patrol.mjs +9 -9
  182. package/scripts/dispatch-artifact-signing-authority.mjs +1 -1
  183. package/scripts/generate-channel-promotion-workflow.mjs +2 -2
  184. package/scripts/generate-next-development-guidance.mjs +49 -0
  185. package/scripts/generate-release-candidate-passport.mjs +152 -0
  186. package/scripts/generate-site-bundle.mjs +69 -4
  187. package/scripts/init-repo.mjs +22 -4
  188. package/scripts/next-development-self-dogfood-harness.mjs +460 -0
  189. package/scripts/next-development-self-dogfood.mjs +597 -0
  190. package/scripts/next-development-transition.mjs +47 -0
  191. package/scripts/npm-publish-transaction.mjs +2 -2
  192. package/scripts/promotion-channel-router.mjs +4 -4
  193. package/scripts/release-candidate-anchor-provenance.mjs +99 -0
  194. package/scripts/release-tail.mjs +51 -3
  195. package/scripts/release-train-self-dogfood.mjs +94 -92
  196. package/scripts/resume-from-candidate-run.mjs +557 -30
  197. package/scripts/site-capability-metadata.mjs +41 -0
  198. package/scripts/stable-candidate-qualification.mjs +9 -10
  199. package/scripts/v4-consumer-policy.mjs +5 -5
  200. package/scripts/v4-publication-rehearsal-fixture.mjs +144 -0
  201. package/scripts/v4-tail-reseal-macos-rehearsal.mjs +134 -0
  202. package/scripts/v4-tail-reseal.mjs +416 -0
  203. package/templates/native-dev-delivery.yml +143 -0
@@ -0,0 +1,1129 @@
1
+ {
2
+ "schema": "buildchain.v4.compatibility-facts-fixture/v1",
3
+ "cases": [
4
+ {
5
+ "id": "positive-direct",
6
+ "bundle": {
7
+ "schema": "kungfu.fact.temporal-bundle/v1",
8
+ "cuts": [
9
+ {
10
+ "root": "sha256:0e9d39f3e26aa15ea70080e7e3f90f5493154aaa12c94327d35a4e9d1ba56d69",
11
+ "parentCutRoots": [],
12
+ "activeRelationRoots": [
13
+ "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a"
14
+ ],
15
+ "declarationRoots": [
16
+ "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9"
17
+ ]
18
+ },
19
+ {
20
+ "root": "sha256:dfeda9c45fcdf11b388e4a578d831e9b2264610242d6d3d2a8d9b10f1744e20f",
21
+ "parentCutRoots": [],
22
+ "activeRelationRoots": [
23
+ "sha256:744c62e5416efa96104d95cfb4f92a862ab9efc475b7db0dc54398067b9cc652"
24
+ ],
25
+ "declarationRoots": [
26
+ "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9"
27
+ ]
28
+ },
29
+ {
30
+ "root": "sha256:81ece7d739cf3817ad97a13e281373ffc79a57d470041d4caacbfb6760f362f8",
31
+ "parentCutRoots": [
32
+ "sha256:0e9d39f3e26aa15ea70080e7e3f90f5493154aaa12c94327d35a4e9d1ba56d69",
33
+ "sha256:dfeda9c45fcdf11b388e4a578d831e9b2264610242d6d3d2a8d9b10f1744e20f"
34
+ ],
35
+ "activeRelationRoots": [
36
+ "sha256:744c62e5416efa96104d95cfb4f92a862ab9efc475b7db0dc54398067b9cc652",
37
+ "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a"
38
+ ],
39
+ "declarationRoots": [
40
+ "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9"
41
+ ]
42
+ }
43
+ ],
44
+ "predicates": [
45
+ {
46
+ "root": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
47
+ "record": {
48
+ "schema": "kungfu.fact.temporal-predicate/v1",
49
+ "predicateId": "kungfu.buildchain.compatibility:accept-contract-lock/v1",
50
+ "operations": ["accept-contract-lock"],
51
+ "direction": "source-to-target",
52
+ "pathPolicy": "explicit-bounded",
53
+ "cyclePolicy": "forbid",
54
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea"
55
+ }
56
+ }
57
+ ],
58
+ "relations": [
59
+ {
60
+ "root": "sha256:744c62e5416efa96104d95cfb4f92a862ab9efc475b7db0dc54398067b9cc652",
61
+ "record": {
62
+ "schema": "kungfu.fact.temporal-relation/v1",
63
+ "relationId": "buildchain:compatibility:b-to-c",
64
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
65
+ "sourceRoot": "sha256:862426b0548c1fa90345be926271048d7004d69bc679f323c9ae62fa5923e43c",
66
+ "targetRoot": "sha256:b2ad75d880decb5d314fd0ae052be4f4f6043462458341ffe1970c745cf69c67",
67
+ "validFromCutRoot": "sha256:dfeda9c45fcdf11b388e4a578d831e9b2264610242d6d3d2a8d9b10f1744e20f",
68
+ "scopeRoot": "sha256:17b3f22dd33206584de823a2e1c3a28e0311d310bdd051dc19c7b471eb6d408c",
69
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
70
+ "admissionRoots": [
71
+ "sha256:6c174a96ab2c9f80cca4b582b86b4e364ad92db9f7129de4419e309266f9dda6"
72
+ ]
73
+ }
74
+ },
75
+ {
76
+ "root": "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a",
77
+ "record": {
78
+ "schema": "kungfu.fact.temporal-relation/v1",
79
+ "relationId": "buildchain:compatibility:a-to-b",
80
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
81
+ "sourceRoot": "sha256:382917ca73a691e304d223121a6051f45eb81c8f23e9ce94bd0efde0e606317b",
82
+ "targetRoot": "sha256:862426b0548c1fa90345be926271048d7004d69bc679f323c9ae62fa5923e43c",
83
+ "validFromCutRoot": "sha256:0e9d39f3e26aa15ea70080e7e3f90f5493154aaa12c94327d35a4e9d1ba56d69",
84
+ "scopeRoot": "sha256:17b3f22dd33206584de823a2e1c3a28e0311d310bdd051dc19c7b471eb6d408c",
85
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
86
+ "admissionRoots": [
87
+ "sha256:2b01191b03fa98e63f80c44ddc91f7ad0cece3c59990b1e02b1a8bf1a5fe63ac"
88
+ ]
89
+ }
90
+ }
91
+ ],
92
+ "supersessions": [],
93
+ "revocations": [],
94
+ "authorityProofs": [],
95
+ "provenanceObjects": []
96
+ },
97
+ "query": {
98
+ "schema": "kungfu.fact.temporal-path-query/v1",
99
+ "queryId": "direct-a-b",
100
+ "operation": "accept-contract-lock",
101
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
102
+ "sourceRoot": "sha256:382917ca73a691e304d223121a6051f45eb81c8f23e9ce94bd0efde0e606317b",
103
+ "targetRoot": "sha256:862426b0548c1fa90345be926271048d7004d69bc679f323c9ae62fa5923e43c",
104
+ "cutRoot": "sha256:81ece7d739cf3817ad97a13e281373ffc79a57d470041d4caacbfb6760f362f8",
105
+ "relationPathRoots": [
106
+ "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a"
107
+ ],
108
+ "requiredAuthorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
109
+ "maxDepth": 1
110
+ }
111
+ },
112
+ {
113
+ "id": "positive-explicit-bounded-composition",
114
+ "bundle": {
115
+ "schema": "kungfu.fact.temporal-bundle/v1",
116
+ "cuts": [
117
+ {
118
+ "root": "sha256:0e9d39f3e26aa15ea70080e7e3f90f5493154aaa12c94327d35a4e9d1ba56d69",
119
+ "parentCutRoots": [],
120
+ "activeRelationRoots": [
121
+ "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a"
122
+ ],
123
+ "declarationRoots": [
124
+ "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9"
125
+ ]
126
+ },
127
+ {
128
+ "root": "sha256:dfeda9c45fcdf11b388e4a578d831e9b2264610242d6d3d2a8d9b10f1744e20f",
129
+ "parentCutRoots": [],
130
+ "activeRelationRoots": [
131
+ "sha256:744c62e5416efa96104d95cfb4f92a862ab9efc475b7db0dc54398067b9cc652"
132
+ ],
133
+ "declarationRoots": [
134
+ "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9"
135
+ ]
136
+ },
137
+ {
138
+ "root": "sha256:81ece7d739cf3817ad97a13e281373ffc79a57d470041d4caacbfb6760f362f8",
139
+ "parentCutRoots": [
140
+ "sha256:0e9d39f3e26aa15ea70080e7e3f90f5493154aaa12c94327d35a4e9d1ba56d69",
141
+ "sha256:dfeda9c45fcdf11b388e4a578d831e9b2264610242d6d3d2a8d9b10f1744e20f"
142
+ ],
143
+ "activeRelationRoots": [
144
+ "sha256:744c62e5416efa96104d95cfb4f92a862ab9efc475b7db0dc54398067b9cc652",
145
+ "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a"
146
+ ],
147
+ "declarationRoots": [
148
+ "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9"
149
+ ]
150
+ }
151
+ ],
152
+ "predicates": [
153
+ {
154
+ "root": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
155
+ "record": {
156
+ "schema": "kungfu.fact.temporal-predicate/v1",
157
+ "predicateId": "kungfu.buildchain.compatibility:accept-contract-lock/v1",
158
+ "operations": ["accept-contract-lock"],
159
+ "direction": "source-to-target",
160
+ "pathPolicy": "explicit-bounded",
161
+ "cyclePolicy": "forbid",
162
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea"
163
+ }
164
+ }
165
+ ],
166
+ "relations": [
167
+ {
168
+ "root": "sha256:744c62e5416efa96104d95cfb4f92a862ab9efc475b7db0dc54398067b9cc652",
169
+ "record": {
170
+ "schema": "kungfu.fact.temporal-relation/v1",
171
+ "relationId": "buildchain:compatibility:b-to-c",
172
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
173
+ "sourceRoot": "sha256:862426b0548c1fa90345be926271048d7004d69bc679f323c9ae62fa5923e43c",
174
+ "targetRoot": "sha256:b2ad75d880decb5d314fd0ae052be4f4f6043462458341ffe1970c745cf69c67",
175
+ "validFromCutRoot": "sha256:dfeda9c45fcdf11b388e4a578d831e9b2264610242d6d3d2a8d9b10f1744e20f",
176
+ "scopeRoot": "sha256:17b3f22dd33206584de823a2e1c3a28e0311d310bdd051dc19c7b471eb6d408c",
177
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
178
+ "admissionRoots": [
179
+ "sha256:6c174a96ab2c9f80cca4b582b86b4e364ad92db9f7129de4419e309266f9dda6"
180
+ ]
181
+ }
182
+ },
183
+ {
184
+ "root": "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a",
185
+ "record": {
186
+ "schema": "kungfu.fact.temporal-relation/v1",
187
+ "relationId": "buildchain:compatibility:a-to-b",
188
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
189
+ "sourceRoot": "sha256:382917ca73a691e304d223121a6051f45eb81c8f23e9ce94bd0efde0e606317b",
190
+ "targetRoot": "sha256:862426b0548c1fa90345be926271048d7004d69bc679f323c9ae62fa5923e43c",
191
+ "validFromCutRoot": "sha256:0e9d39f3e26aa15ea70080e7e3f90f5493154aaa12c94327d35a4e9d1ba56d69",
192
+ "scopeRoot": "sha256:17b3f22dd33206584de823a2e1c3a28e0311d310bdd051dc19c7b471eb6d408c",
193
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
194
+ "admissionRoots": [
195
+ "sha256:2b01191b03fa98e63f80c44ddc91f7ad0cece3c59990b1e02b1a8bf1a5fe63ac"
196
+ ]
197
+ }
198
+ }
199
+ ],
200
+ "supersessions": [],
201
+ "revocations": [],
202
+ "authorityProofs": [],
203
+ "provenanceObjects": []
204
+ },
205
+ "query": {
206
+ "schema": "kungfu.fact.temporal-path-query/v1",
207
+ "queryId": "explicit-a-c",
208
+ "operation": "accept-contract-lock",
209
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
210
+ "sourceRoot": "sha256:382917ca73a691e304d223121a6051f45eb81c8f23e9ce94bd0efde0e606317b",
211
+ "targetRoot": "sha256:b2ad75d880decb5d314fd0ae052be4f4f6043462458341ffe1970c745cf69c67",
212
+ "cutRoot": "sha256:81ece7d739cf3817ad97a13e281373ffc79a57d470041d4caacbfb6760f362f8",
213
+ "relationPathRoots": [
214
+ "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a",
215
+ "sha256:744c62e5416efa96104d95cfb4f92a862ab9efc475b7db0dc54398067b9cc652"
216
+ ],
217
+ "requiredAuthorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
218
+ "maxDepth": 2
219
+ }
220
+ },
221
+ {
222
+ "id": "negative-wrong-direction",
223
+ "bundle": {
224
+ "schema": "kungfu.fact.temporal-bundle/v1",
225
+ "cuts": [
226
+ {
227
+ "root": "sha256:0e9d39f3e26aa15ea70080e7e3f90f5493154aaa12c94327d35a4e9d1ba56d69",
228
+ "parentCutRoots": [],
229
+ "activeRelationRoots": [
230
+ "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a"
231
+ ],
232
+ "declarationRoots": [
233
+ "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9"
234
+ ]
235
+ },
236
+ {
237
+ "root": "sha256:dfeda9c45fcdf11b388e4a578d831e9b2264610242d6d3d2a8d9b10f1744e20f",
238
+ "parentCutRoots": [],
239
+ "activeRelationRoots": [
240
+ "sha256:744c62e5416efa96104d95cfb4f92a862ab9efc475b7db0dc54398067b9cc652"
241
+ ],
242
+ "declarationRoots": [
243
+ "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9"
244
+ ]
245
+ },
246
+ {
247
+ "root": "sha256:81ece7d739cf3817ad97a13e281373ffc79a57d470041d4caacbfb6760f362f8",
248
+ "parentCutRoots": [
249
+ "sha256:0e9d39f3e26aa15ea70080e7e3f90f5493154aaa12c94327d35a4e9d1ba56d69",
250
+ "sha256:dfeda9c45fcdf11b388e4a578d831e9b2264610242d6d3d2a8d9b10f1744e20f"
251
+ ],
252
+ "activeRelationRoots": [
253
+ "sha256:744c62e5416efa96104d95cfb4f92a862ab9efc475b7db0dc54398067b9cc652",
254
+ "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a"
255
+ ],
256
+ "declarationRoots": [
257
+ "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9"
258
+ ]
259
+ }
260
+ ],
261
+ "predicates": [
262
+ {
263
+ "root": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
264
+ "record": {
265
+ "schema": "kungfu.fact.temporal-predicate/v1",
266
+ "predicateId": "kungfu.buildchain.compatibility:accept-contract-lock/v1",
267
+ "operations": ["accept-contract-lock"],
268
+ "direction": "source-to-target",
269
+ "pathPolicy": "explicit-bounded",
270
+ "cyclePolicy": "forbid",
271
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea"
272
+ }
273
+ }
274
+ ],
275
+ "relations": [
276
+ {
277
+ "root": "sha256:744c62e5416efa96104d95cfb4f92a862ab9efc475b7db0dc54398067b9cc652",
278
+ "record": {
279
+ "schema": "kungfu.fact.temporal-relation/v1",
280
+ "relationId": "buildchain:compatibility:b-to-c",
281
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
282
+ "sourceRoot": "sha256:862426b0548c1fa90345be926271048d7004d69bc679f323c9ae62fa5923e43c",
283
+ "targetRoot": "sha256:b2ad75d880decb5d314fd0ae052be4f4f6043462458341ffe1970c745cf69c67",
284
+ "validFromCutRoot": "sha256:dfeda9c45fcdf11b388e4a578d831e9b2264610242d6d3d2a8d9b10f1744e20f",
285
+ "scopeRoot": "sha256:17b3f22dd33206584de823a2e1c3a28e0311d310bdd051dc19c7b471eb6d408c",
286
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
287
+ "admissionRoots": [
288
+ "sha256:6c174a96ab2c9f80cca4b582b86b4e364ad92db9f7129de4419e309266f9dda6"
289
+ ]
290
+ }
291
+ },
292
+ {
293
+ "root": "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a",
294
+ "record": {
295
+ "schema": "kungfu.fact.temporal-relation/v1",
296
+ "relationId": "buildchain:compatibility:a-to-b",
297
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
298
+ "sourceRoot": "sha256:382917ca73a691e304d223121a6051f45eb81c8f23e9ce94bd0efde0e606317b",
299
+ "targetRoot": "sha256:862426b0548c1fa90345be926271048d7004d69bc679f323c9ae62fa5923e43c",
300
+ "validFromCutRoot": "sha256:0e9d39f3e26aa15ea70080e7e3f90f5493154aaa12c94327d35a4e9d1ba56d69",
301
+ "scopeRoot": "sha256:17b3f22dd33206584de823a2e1c3a28e0311d310bdd051dc19c7b471eb6d408c",
302
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
303
+ "admissionRoots": [
304
+ "sha256:2b01191b03fa98e63f80c44ddc91f7ad0cece3c59990b1e02b1a8bf1a5fe63ac"
305
+ ]
306
+ }
307
+ }
308
+ ],
309
+ "supersessions": [],
310
+ "revocations": [],
311
+ "authorityProofs": [],
312
+ "provenanceObjects": []
313
+ },
314
+ "query": {
315
+ "schema": "kungfu.fact.temporal-path-query/v1",
316
+ "queryId": "wrong-direction",
317
+ "operation": "accept-contract-lock",
318
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
319
+ "sourceRoot": "sha256:862426b0548c1fa90345be926271048d7004d69bc679f323c9ae62fa5923e43c",
320
+ "targetRoot": "sha256:382917ca73a691e304d223121a6051f45eb81c8f23e9ce94bd0efde0e606317b",
321
+ "cutRoot": "sha256:81ece7d739cf3817ad97a13e281373ffc79a57d470041d4caacbfb6760f362f8",
322
+ "relationPathRoots": [
323
+ "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a"
324
+ ],
325
+ "requiredAuthorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
326
+ "maxDepth": 1
327
+ }
328
+ },
329
+ {
330
+ "id": "negative-wrong-cut",
331
+ "bundle": {
332
+ "schema": "kungfu.fact.temporal-bundle/v1",
333
+ "cuts": [
334
+ {
335
+ "root": "sha256:0e9d39f3e26aa15ea70080e7e3f90f5493154aaa12c94327d35a4e9d1ba56d69",
336
+ "parentCutRoots": [],
337
+ "activeRelationRoots": [
338
+ "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a"
339
+ ],
340
+ "declarationRoots": [
341
+ "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9"
342
+ ]
343
+ },
344
+ {
345
+ "root": "sha256:dfeda9c45fcdf11b388e4a578d831e9b2264610242d6d3d2a8d9b10f1744e20f",
346
+ "parentCutRoots": [],
347
+ "activeRelationRoots": [
348
+ "sha256:744c62e5416efa96104d95cfb4f92a862ab9efc475b7db0dc54398067b9cc652"
349
+ ],
350
+ "declarationRoots": [
351
+ "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9"
352
+ ]
353
+ },
354
+ {
355
+ "root": "sha256:81ece7d739cf3817ad97a13e281373ffc79a57d470041d4caacbfb6760f362f8",
356
+ "parentCutRoots": [
357
+ "sha256:0e9d39f3e26aa15ea70080e7e3f90f5493154aaa12c94327d35a4e9d1ba56d69",
358
+ "sha256:dfeda9c45fcdf11b388e4a578d831e9b2264610242d6d3d2a8d9b10f1744e20f"
359
+ ],
360
+ "activeRelationRoots": [
361
+ "sha256:744c62e5416efa96104d95cfb4f92a862ab9efc475b7db0dc54398067b9cc652",
362
+ "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a"
363
+ ],
364
+ "declarationRoots": [
365
+ "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9"
366
+ ]
367
+ }
368
+ ],
369
+ "predicates": [
370
+ {
371
+ "root": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
372
+ "record": {
373
+ "schema": "kungfu.fact.temporal-predicate/v1",
374
+ "predicateId": "kungfu.buildchain.compatibility:accept-contract-lock/v1",
375
+ "operations": ["accept-contract-lock"],
376
+ "direction": "source-to-target",
377
+ "pathPolicy": "explicit-bounded",
378
+ "cyclePolicy": "forbid",
379
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea"
380
+ }
381
+ }
382
+ ],
383
+ "relations": [
384
+ {
385
+ "root": "sha256:744c62e5416efa96104d95cfb4f92a862ab9efc475b7db0dc54398067b9cc652",
386
+ "record": {
387
+ "schema": "kungfu.fact.temporal-relation/v1",
388
+ "relationId": "buildchain:compatibility:b-to-c",
389
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
390
+ "sourceRoot": "sha256:862426b0548c1fa90345be926271048d7004d69bc679f323c9ae62fa5923e43c",
391
+ "targetRoot": "sha256:b2ad75d880decb5d314fd0ae052be4f4f6043462458341ffe1970c745cf69c67",
392
+ "validFromCutRoot": "sha256:dfeda9c45fcdf11b388e4a578d831e9b2264610242d6d3d2a8d9b10f1744e20f",
393
+ "scopeRoot": "sha256:17b3f22dd33206584de823a2e1c3a28e0311d310bdd051dc19c7b471eb6d408c",
394
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
395
+ "admissionRoots": [
396
+ "sha256:6c174a96ab2c9f80cca4b582b86b4e364ad92db9f7129de4419e309266f9dda6"
397
+ ]
398
+ }
399
+ },
400
+ {
401
+ "root": "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a",
402
+ "record": {
403
+ "schema": "kungfu.fact.temporal-relation/v1",
404
+ "relationId": "buildchain:compatibility:a-to-b",
405
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
406
+ "sourceRoot": "sha256:382917ca73a691e304d223121a6051f45eb81c8f23e9ce94bd0efde0e606317b",
407
+ "targetRoot": "sha256:862426b0548c1fa90345be926271048d7004d69bc679f323c9ae62fa5923e43c",
408
+ "validFromCutRoot": "sha256:0e9d39f3e26aa15ea70080e7e3f90f5493154aaa12c94327d35a4e9d1ba56d69",
409
+ "scopeRoot": "sha256:17b3f22dd33206584de823a2e1c3a28e0311d310bdd051dc19c7b471eb6d408c",
410
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
411
+ "admissionRoots": [
412
+ "sha256:2b01191b03fa98e63f80c44ddc91f7ad0cece3c59990b1e02b1a8bf1a5fe63ac"
413
+ ]
414
+ }
415
+ }
416
+ ],
417
+ "supersessions": [],
418
+ "revocations": [],
419
+ "authorityProofs": [],
420
+ "provenanceObjects": []
421
+ },
422
+ "query": {
423
+ "schema": "kungfu.fact.temporal-path-query/v1",
424
+ "queryId": "wrong-cut",
425
+ "operation": "accept-contract-lock",
426
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
427
+ "sourceRoot": "sha256:382917ca73a691e304d223121a6051f45eb81c8f23e9ce94bd0efde0e606317b",
428
+ "targetRoot": "sha256:862426b0548c1fa90345be926271048d7004d69bc679f323c9ae62fa5923e43c",
429
+ "cutRoot": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
430
+ "relationPathRoots": [
431
+ "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a"
432
+ ],
433
+ "requiredAuthorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
434
+ "maxDepth": 1
435
+ }
436
+ },
437
+ {
438
+ "id": "negative-disconnected-path",
439
+ "bundle": {
440
+ "schema": "kungfu.fact.temporal-bundle/v1",
441
+ "cuts": [
442
+ {
443
+ "root": "sha256:0e9d39f3e26aa15ea70080e7e3f90f5493154aaa12c94327d35a4e9d1ba56d69",
444
+ "parentCutRoots": [],
445
+ "activeRelationRoots": [
446
+ "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a"
447
+ ],
448
+ "declarationRoots": [
449
+ "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9"
450
+ ]
451
+ },
452
+ {
453
+ "root": "sha256:dfeda9c45fcdf11b388e4a578d831e9b2264610242d6d3d2a8d9b10f1744e20f",
454
+ "parentCutRoots": [],
455
+ "activeRelationRoots": [
456
+ "sha256:744c62e5416efa96104d95cfb4f92a862ab9efc475b7db0dc54398067b9cc652"
457
+ ],
458
+ "declarationRoots": [
459
+ "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9"
460
+ ]
461
+ },
462
+ {
463
+ "root": "sha256:81ece7d739cf3817ad97a13e281373ffc79a57d470041d4caacbfb6760f362f8",
464
+ "parentCutRoots": [
465
+ "sha256:0e9d39f3e26aa15ea70080e7e3f90f5493154aaa12c94327d35a4e9d1ba56d69",
466
+ "sha256:dfeda9c45fcdf11b388e4a578d831e9b2264610242d6d3d2a8d9b10f1744e20f"
467
+ ],
468
+ "activeRelationRoots": [
469
+ "sha256:744c62e5416efa96104d95cfb4f92a862ab9efc475b7db0dc54398067b9cc652",
470
+ "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a"
471
+ ],
472
+ "declarationRoots": [
473
+ "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9"
474
+ ]
475
+ }
476
+ ],
477
+ "predicates": [
478
+ {
479
+ "root": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
480
+ "record": {
481
+ "schema": "kungfu.fact.temporal-predicate/v1",
482
+ "predicateId": "kungfu.buildchain.compatibility:accept-contract-lock/v1",
483
+ "operations": ["accept-contract-lock"],
484
+ "direction": "source-to-target",
485
+ "pathPolicy": "explicit-bounded",
486
+ "cyclePolicy": "forbid",
487
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea"
488
+ }
489
+ }
490
+ ],
491
+ "relations": [
492
+ {
493
+ "root": "sha256:744c62e5416efa96104d95cfb4f92a862ab9efc475b7db0dc54398067b9cc652",
494
+ "record": {
495
+ "schema": "kungfu.fact.temporal-relation/v1",
496
+ "relationId": "buildchain:compatibility:b-to-c",
497
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
498
+ "sourceRoot": "sha256:862426b0548c1fa90345be926271048d7004d69bc679f323c9ae62fa5923e43c",
499
+ "targetRoot": "sha256:b2ad75d880decb5d314fd0ae052be4f4f6043462458341ffe1970c745cf69c67",
500
+ "validFromCutRoot": "sha256:dfeda9c45fcdf11b388e4a578d831e9b2264610242d6d3d2a8d9b10f1744e20f",
501
+ "scopeRoot": "sha256:17b3f22dd33206584de823a2e1c3a28e0311d310bdd051dc19c7b471eb6d408c",
502
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
503
+ "admissionRoots": [
504
+ "sha256:6c174a96ab2c9f80cca4b582b86b4e364ad92db9f7129de4419e309266f9dda6"
505
+ ]
506
+ }
507
+ },
508
+ {
509
+ "root": "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a",
510
+ "record": {
511
+ "schema": "kungfu.fact.temporal-relation/v1",
512
+ "relationId": "buildchain:compatibility:a-to-b",
513
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
514
+ "sourceRoot": "sha256:382917ca73a691e304d223121a6051f45eb81c8f23e9ce94bd0efde0e606317b",
515
+ "targetRoot": "sha256:862426b0548c1fa90345be926271048d7004d69bc679f323c9ae62fa5923e43c",
516
+ "validFromCutRoot": "sha256:0e9d39f3e26aa15ea70080e7e3f90f5493154aaa12c94327d35a4e9d1ba56d69",
517
+ "scopeRoot": "sha256:17b3f22dd33206584de823a2e1c3a28e0311d310bdd051dc19c7b471eb6d408c",
518
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
519
+ "admissionRoots": [
520
+ "sha256:2b01191b03fa98e63f80c44ddc91f7ad0cece3c59990b1e02b1a8bf1a5fe63ac"
521
+ ]
522
+ }
523
+ }
524
+ ],
525
+ "supersessions": [],
526
+ "revocations": [],
527
+ "authorityProofs": [],
528
+ "provenanceObjects": []
529
+ },
530
+ "query": {
531
+ "schema": "kungfu.fact.temporal-path-query/v1",
532
+ "queryId": "disconnected",
533
+ "operation": "accept-contract-lock",
534
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
535
+ "sourceRoot": "sha256:382917ca73a691e304d223121a6051f45eb81c8f23e9ce94bd0efde0e606317b",
536
+ "targetRoot": "sha256:862426b0548c1fa90345be926271048d7004d69bc679f323c9ae62fa5923e43c",
537
+ "cutRoot": "sha256:81ece7d739cf3817ad97a13e281373ffc79a57d470041d4caacbfb6760f362f8",
538
+ "relationPathRoots": [],
539
+ "requiredAuthorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
540
+ "maxDepth": 1
541
+ }
542
+ },
543
+ {
544
+ "id": "negative-unscoped-operation",
545
+ "bundle": {
546
+ "schema": "kungfu.fact.temporal-bundle/v1",
547
+ "cuts": [
548
+ {
549
+ "root": "sha256:0e9d39f3e26aa15ea70080e7e3f90f5493154aaa12c94327d35a4e9d1ba56d69",
550
+ "parentCutRoots": [],
551
+ "activeRelationRoots": [
552
+ "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a"
553
+ ],
554
+ "declarationRoots": [
555
+ "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9"
556
+ ]
557
+ },
558
+ {
559
+ "root": "sha256:dfeda9c45fcdf11b388e4a578d831e9b2264610242d6d3d2a8d9b10f1744e20f",
560
+ "parentCutRoots": [],
561
+ "activeRelationRoots": [
562
+ "sha256:744c62e5416efa96104d95cfb4f92a862ab9efc475b7db0dc54398067b9cc652"
563
+ ],
564
+ "declarationRoots": [
565
+ "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9"
566
+ ]
567
+ },
568
+ {
569
+ "root": "sha256:81ece7d739cf3817ad97a13e281373ffc79a57d470041d4caacbfb6760f362f8",
570
+ "parentCutRoots": [
571
+ "sha256:0e9d39f3e26aa15ea70080e7e3f90f5493154aaa12c94327d35a4e9d1ba56d69",
572
+ "sha256:dfeda9c45fcdf11b388e4a578d831e9b2264610242d6d3d2a8d9b10f1744e20f"
573
+ ],
574
+ "activeRelationRoots": [
575
+ "sha256:744c62e5416efa96104d95cfb4f92a862ab9efc475b7db0dc54398067b9cc652",
576
+ "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a"
577
+ ],
578
+ "declarationRoots": [
579
+ "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9"
580
+ ]
581
+ }
582
+ ],
583
+ "predicates": [
584
+ {
585
+ "root": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
586
+ "record": {
587
+ "schema": "kungfu.fact.temporal-predicate/v1",
588
+ "predicateId": "kungfu.buildchain.compatibility:accept-contract-lock/v1",
589
+ "operations": ["accept-contract-lock"],
590
+ "direction": "source-to-target",
591
+ "pathPolicy": "explicit-bounded",
592
+ "cyclePolicy": "forbid",
593
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea"
594
+ }
595
+ }
596
+ ],
597
+ "relations": [
598
+ {
599
+ "root": "sha256:744c62e5416efa96104d95cfb4f92a862ab9efc475b7db0dc54398067b9cc652",
600
+ "record": {
601
+ "schema": "kungfu.fact.temporal-relation/v1",
602
+ "relationId": "buildchain:compatibility:b-to-c",
603
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
604
+ "sourceRoot": "sha256:862426b0548c1fa90345be926271048d7004d69bc679f323c9ae62fa5923e43c",
605
+ "targetRoot": "sha256:b2ad75d880decb5d314fd0ae052be4f4f6043462458341ffe1970c745cf69c67",
606
+ "validFromCutRoot": "sha256:dfeda9c45fcdf11b388e4a578d831e9b2264610242d6d3d2a8d9b10f1744e20f",
607
+ "scopeRoot": "sha256:17b3f22dd33206584de823a2e1c3a28e0311d310bdd051dc19c7b471eb6d408c",
608
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
609
+ "admissionRoots": [
610
+ "sha256:6c174a96ab2c9f80cca4b582b86b4e364ad92db9f7129de4419e309266f9dda6"
611
+ ]
612
+ }
613
+ },
614
+ {
615
+ "root": "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a",
616
+ "record": {
617
+ "schema": "kungfu.fact.temporal-relation/v1",
618
+ "relationId": "buildchain:compatibility:a-to-b",
619
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
620
+ "sourceRoot": "sha256:382917ca73a691e304d223121a6051f45eb81c8f23e9ce94bd0efde0e606317b",
621
+ "targetRoot": "sha256:862426b0548c1fa90345be926271048d7004d69bc679f323c9ae62fa5923e43c",
622
+ "validFromCutRoot": "sha256:0e9d39f3e26aa15ea70080e7e3f90f5493154aaa12c94327d35a4e9d1ba56d69",
623
+ "scopeRoot": "sha256:17b3f22dd33206584de823a2e1c3a28e0311d310bdd051dc19c7b471eb6d408c",
624
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
625
+ "admissionRoots": [
626
+ "sha256:2b01191b03fa98e63f80c44ddc91f7ad0cece3c59990b1e02b1a8bf1a5fe63ac"
627
+ ]
628
+ }
629
+ }
630
+ ],
631
+ "supersessions": [],
632
+ "revocations": [],
633
+ "authorityProofs": [],
634
+ "provenanceObjects": []
635
+ },
636
+ "query": {
637
+ "schema": "kungfu.fact.temporal-path-query/v1",
638
+ "queryId": "wrong-operation",
639
+ "operation": "publish-release",
640
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
641
+ "sourceRoot": "sha256:382917ca73a691e304d223121a6051f45eb81c8f23e9ce94bd0efde0e606317b",
642
+ "targetRoot": "sha256:862426b0548c1fa90345be926271048d7004d69bc679f323c9ae62fa5923e43c",
643
+ "cutRoot": "sha256:81ece7d739cf3817ad97a13e281373ffc79a57d470041d4caacbfb6760f362f8",
644
+ "relationPathRoots": [
645
+ "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a"
646
+ ],
647
+ "requiredAuthorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
648
+ "maxDepth": 1
649
+ }
650
+ },
651
+ {
652
+ "id": "temporal-not-yet-valid",
653
+ "bundle": {
654
+ "schema": "kungfu.fact.temporal-bundle/v1",
655
+ "cuts": [
656
+ {
657
+ "root": "sha256:0e9d39f3e26aa15ea70080e7e3f90f5493154aaa12c94327d35a4e9d1ba56d69",
658
+ "parentCutRoots": [],
659
+ "activeRelationRoots": [
660
+ "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a"
661
+ ],
662
+ "declarationRoots": [
663
+ "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9"
664
+ ]
665
+ },
666
+ {
667
+ "root": "sha256:dfeda9c45fcdf11b388e4a578d831e9b2264610242d6d3d2a8d9b10f1744e20f",
668
+ "parentCutRoots": [],
669
+ "activeRelationRoots": [
670
+ "sha256:744c62e5416efa96104d95cfb4f92a862ab9efc475b7db0dc54398067b9cc652"
671
+ ],
672
+ "declarationRoots": [
673
+ "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9"
674
+ ]
675
+ },
676
+ {
677
+ "root": "sha256:81ece7d739cf3817ad97a13e281373ffc79a57d470041d4caacbfb6760f362f8",
678
+ "parentCutRoots": [
679
+ "sha256:0e9d39f3e26aa15ea70080e7e3f90f5493154aaa12c94327d35a4e9d1ba56d69",
680
+ "sha256:dfeda9c45fcdf11b388e4a578d831e9b2264610242d6d3d2a8d9b10f1744e20f"
681
+ ],
682
+ "activeRelationRoots": [
683
+ "sha256:744c62e5416efa96104d95cfb4f92a862ab9efc475b7db0dc54398067b9cc652",
684
+ "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a"
685
+ ],
686
+ "declarationRoots": [
687
+ "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9"
688
+ ]
689
+ }
690
+ ],
691
+ "predicates": [
692
+ {
693
+ "root": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
694
+ "record": {
695
+ "schema": "kungfu.fact.temporal-predicate/v1",
696
+ "predicateId": "kungfu.buildchain.compatibility:accept-contract-lock/v1",
697
+ "operations": ["accept-contract-lock"],
698
+ "direction": "source-to-target",
699
+ "pathPolicy": "explicit-bounded",
700
+ "cyclePolicy": "forbid",
701
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea"
702
+ }
703
+ }
704
+ ],
705
+ "relations": [
706
+ {
707
+ "root": "sha256:744c62e5416efa96104d95cfb4f92a862ab9efc475b7db0dc54398067b9cc652",
708
+ "record": {
709
+ "schema": "kungfu.fact.temporal-relation/v1",
710
+ "relationId": "buildchain:compatibility:b-to-c",
711
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
712
+ "sourceRoot": "sha256:862426b0548c1fa90345be926271048d7004d69bc679f323c9ae62fa5923e43c",
713
+ "targetRoot": "sha256:b2ad75d880decb5d314fd0ae052be4f4f6043462458341ffe1970c745cf69c67",
714
+ "validFromCutRoot": "sha256:dfeda9c45fcdf11b388e4a578d831e9b2264610242d6d3d2a8d9b10f1744e20f",
715
+ "scopeRoot": "sha256:17b3f22dd33206584de823a2e1c3a28e0311d310bdd051dc19c7b471eb6d408c",
716
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
717
+ "admissionRoots": [
718
+ "sha256:6c174a96ab2c9f80cca4b582b86b4e364ad92db9f7129de4419e309266f9dda6"
719
+ ]
720
+ }
721
+ },
722
+ {
723
+ "root": "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a",
724
+ "record": {
725
+ "schema": "kungfu.fact.temporal-relation/v1",
726
+ "relationId": "buildchain:compatibility:a-to-b",
727
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
728
+ "sourceRoot": "sha256:382917ca73a691e304d223121a6051f45eb81c8f23e9ce94bd0efde0e606317b",
729
+ "targetRoot": "sha256:862426b0548c1fa90345be926271048d7004d69bc679f323c9ae62fa5923e43c",
730
+ "validFromCutRoot": "sha256:0e9d39f3e26aa15ea70080e7e3f90f5493154aaa12c94327d35a4e9d1ba56d69",
731
+ "scopeRoot": "sha256:17b3f22dd33206584de823a2e1c3a28e0311d310bdd051dc19c7b471eb6d408c",
732
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
733
+ "admissionRoots": [
734
+ "sha256:2b01191b03fa98e63f80c44ddc91f7ad0cece3c59990b1e02b1a8bf1a5fe63ac"
735
+ ]
736
+ }
737
+ }
738
+ ],
739
+ "supersessions": [],
740
+ "revocations": [],
741
+ "authorityProofs": [],
742
+ "provenanceObjects": []
743
+ },
744
+ "query": {
745
+ "schema": "kungfu.fact.temporal-path-query/v1",
746
+ "queryId": "not-yet-valid",
747
+ "operation": "accept-contract-lock",
748
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
749
+ "sourceRoot": "sha256:862426b0548c1fa90345be926271048d7004d69bc679f323c9ae62fa5923e43c",
750
+ "targetRoot": "sha256:b2ad75d880decb5d314fd0ae052be4f4f6043462458341ffe1970c745cf69c67",
751
+ "cutRoot": "sha256:0e9d39f3e26aa15ea70080e7e3f90f5493154aaa12c94327d35a4e9d1ba56d69",
752
+ "relationPathRoots": [
753
+ "sha256:744c62e5416efa96104d95cfb4f92a862ab9efc475b7db0dc54398067b9cc652"
754
+ ],
755
+ "requiredAuthorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
756
+ "maxDepth": 1
757
+ }
758
+ },
759
+ {
760
+ "id": "temporal-superseded",
761
+ "bundle": {
762
+ "schema": "kungfu.fact.temporal-bundle/v1",
763
+ "cuts": [
764
+ {
765
+ "root": "sha256:0e9d39f3e26aa15ea70080e7e3f90f5493154aaa12c94327d35a4e9d1ba56d69",
766
+ "parentCutRoots": [],
767
+ "activeRelationRoots": [
768
+ "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a"
769
+ ],
770
+ "declarationRoots": [
771
+ "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9"
772
+ ]
773
+ },
774
+ {
775
+ "root": "sha256:dfeda9c45fcdf11b388e4a578d831e9b2264610242d6d3d2a8d9b10f1744e20f",
776
+ "parentCutRoots": [],
777
+ "activeRelationRoots": [
778
+ "sha256:744c62e5416efa96104d95cfb4f92a862ab9efc475b7db0dc54398067b9cc652"
779
+ ],
780
+ "declarationRoots": [
781
+ "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9"
782
+ ]
783
+ },
784
+ {
785
+ "root": "sha256:81ece7d739cf3817ad97a13e281373ffc79a57d470041d4caacbfb6760f362f8",
786
+ "parentCutRoots": [
787
+ "sha256:0e9d39f3e26aa15ea70080e7e3f90f5493154aaa12c94327d35a4e9d1ba56d69",
788
+ "sha256:dfeda9c45fcdf11b388e4a578d831e9b2264610242d6d3d2a8d9b10f1744e20f"
789
+ ],
790
+ "activeRelationRoots": [
791
+ "sha256:744c62e5416efa96104d95cfb4f92a862ab9efc475b7db0dc54398067b9cc652",
792
+ "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a"
793
+ ],
794
+ "declarationRoots": [
795
+ "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9"
796
+ ]
797
+ }
798
+ ],
799
+ "predicates": [
800
+ {
801
+ "root": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
802
+ "record": {
803
+ "schema": "kungfu.fact.temporal-predicate/v1",
804
+ "predicateId": "kungfu.buildchain.compatibility:accept-contract-lock/v1",
805
+ "operations": ["accept-contract-lock"],
806
+ "direction": "source-to-target",
807
+ "pathPolicy": "explicit-bounded",
808
+ "cyclePolicy": "forbid",
809
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea"
810
+ }
811
+ }
812
+ ],
813
+ "relations": [
814
+ {
815
+ "root": "sha256:744c62e5416efa96104d95cfb4f92a862ab9efc475b7db0dc54398067b9cc652",
816
+ "record": {
817
+ "schema": "kungfu.fact.temporal-relation/v1",
818
+ "relationId": "buildchain:compatibility:b-to-c",
819
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
820
+ "sourceRoot": "sha256:862426b0548c1fa90345be926271048d7004d69bc679f323c9ae62fa5923e43c",
821
+ "targetRoot": "sha256:b2ad75d880decb5d314fd0ae052be4f4f6043462458341ffe1970c745cf69c67",
822
+ "validFromCutRoot": "sha256:dfeda9c45fcdf11b388e4a578d831e9b2264610242d6d3d2a8d9b10f1744e20f",
823
+ "scopeRoot": "sha256:17b3f22dd33206584de823a2e1c3a28e0311d310bdd051dc19c7b471eb6d408c",
824
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
825
+ "admissionRoots": [
826
+ "sha256:6c174a96ab2c9f80cca4b582b86b4e364ad92db9f7129de4419e309266f9dda6"
827
+ ]
828
+ }
829
+ },
830
+ {
831
+ "root": "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a",
832
+ "record": {
833
+ "schema": "kungfu.fact.temporal-relation/v1",
834
+ "relationId": "buildchain:compatibility:a-to-b",
835
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
836
+ "sourceRoot": "sha256:382917ca73a691e304d223121a6051f45eb81c8f23e9ce94bd0efde0e606317b",
837
+ "targetRoot": "sha256:862426b0548c1fa90345be926271048d7004d69bc679f323c9ae62fa5923e43c",
838
+ "validFromCutRoot": "sha256:0e9d39f3e26aa15ea70080e7e3f90f5493154aaa12c94327d35a4e9d1ba56d69",
839
+ "scopeRoot": "sha256:17b3f22dd33206584de823a2e1c3a28e0311d310bdd051dc19c7b471eb6d408c",
840
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
841
+ "admissionRoots": [
842
+ "sha256:2b01191b03fa98e63f80c44ddc91f7ad0cece3c59990b1e02b1a8bf1a5fe63ac"
843
+ ]
844
+ }
845
+ }
846
+ ],
847
+ "supersessions": [
848
+ {
849
+ "root": "sha256:297db996e6323dc00dffdac86453767d3e260c0687d2dfb663f137e40edc1b71",
850
+ "record": {
851
+ "schema": "kungfu.fact.temporal-supersession/v1",
852
+ "priorRelationRoot": "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a",
853
+ "successorRelationRoot": "sha256:744c62e5416efa96104d95cfb4f92a862ab9efc475b7db0dc54398067b9cc652",
854
+ "effectiveCutRoot": "sha256:81ece7d739cf3817ad97a13e281373ffc79a57d470041d4caacbfb6760f362f8",
855
+ "reasonRoot": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd",
856
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
857
+ "admissionRoots": [
858
+ "sha256:2b01191b03fa98e63f80c44ddc91f7ad0cece3c59990b1e02b1a8bf1a5fe63ac"
859
+ ]
860
+ }
861
+ }
862
+ ],
863
+ "revocations": [],
864
+ "authorityProofs": [],
865
+ "provenanceObjects": []
866
+ },
867
+ "query": {
868
+ "schema": "kungfu.fact.temporal-path-query/v1",
869
+ "queryId": "superseded",
870
+ "operation": "accept-contract-lock",
871
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
872
+ "sourceRoot": "sha256:382917ca73a691e304d223121a6051f45eb81c8f23e9ce94bd0efde0e606317b",
873
+ "targetRoot": "sha256:862426b0548c1fa90345be926271048d7004d69bc679f323c9ae62fa5923e43c",
874
+ "cutRoot": "sha256:81ece7d739cf3817ad97a13e281373ffc79a57d470041d4caacbfb6760f362f8",
875
+ "relationPathRoots": [
876
+ "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a"
877
+ ],
878
+ "requiredAuthorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
879
+ "maxDepth": 1
880
+ }
881
+ },
882
+ {
883
+ "id": "temporal-expired-by-revocation",
884
+ "bundle": {
885
+ "schema": "kungfu.fact.temporal-bundle/v1",
886
+ "cuts": [
887
+ {
888
+ "root": "sha256:0e9d39f3e26aa15ea70080e7e3f90f5493154aaa12c94327d35a4e9d1ba56d69",
889
+ "parentCutRoots": [],
890
+ "activeRelationRoots": [
891
+ "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a"
892
+ ],
893
+ "declarationRoots": [
894
+ "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9"
895
+ ]
896
+ },
897
+ {
898
+ "root": "sha256:dfeda9c45fcdf11b388e4a578d831e9b2264610242d6d3d2a8d9b10f1744e20f",
899
+ "parentCutRoots": [],
900
+ "activeRelationRoots": [
901
+ "sha256:744c62e5416efa96104d95cfb4f92a862ab9efc475b7db0dc54398067b9cc652"
902
+ ],
903
+ "declarationRoots": [
904
+ "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9"
905
+ ]
906
+ },
907
+ {
908
+ "root": "sha256:81ece7d739cf3817ad97a13e281373ffc79a57d470041d4caacbfb6760f362f8",
909
+ "parentCutRoots": [
910
+ "sha256:0e9d39f3e26aa15ea70080e7e3f90f5493154aaa12c94327d35a4e9d1ba56d69",
911
+ "sha256:dfeda9c45fcdf11b388e4a578d831e9b2264610242d6d3d2a8d9b10f1744e20f"
912
+ ],
913
+ "activeRelationRoots": [
914
+ "sha256:744c62e5416efa96104d95cfb4f92a862ab9efc475b7db0dc54398067b9cc652",
915
+ "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a"
916
+ ],
917
+ "declarationRoots": [
918
+ "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9"
919
+ ]
920
+ }
921
+ ],
922
+ "predicates": [
923
+ {
924
+ "root": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
925
+ "record": {
926
+ "schema": "kungfu.fact.temporal-predicate/v1",
927
+ "predicateId": "kungfu.buildchain.compatibility:accept-contract-lock/v1",
928
+ "operations": ["accept-contract-lock"],
929
+ "direction": "source-to-target",
930
+ "pathPolicy": "explicit-bounded",
931
+ "cyclePolicy": "forbid",
932
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea"
933
+ }
934
+ }
935
+ ],
936
+ "relations": [
937
+ {
938
+ "root": "sha256:744c62e5416efa96104d95cfb4f92a862ab9efc475b7db0dc54398067b9cc652",
939
+ "record": {
940
+ "schema": "kungfu.fact.temporal-relation/v1",
941
+ "relationId": "buildchain:compatibility:b-to-c",
942
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
943
+ "sourceRoot": "sha256:862426b0548c1fa90345be926271048d7004d69bc679f323c9ae62fa5923e43c",
944
+ "targetRoot": "sha256:b2ad75d880decb5d314fd0ae052be4f4f6043462458341ffe1970c745cf69c67",
945
+ "validFromCutRoot": "sha256:dfeda9c45fcdf11b388e4a578d831e9b2264610242d6d3d2a8d9b10f1744e20f",
946
+ "scopeRoot": "sha256:17b3f22dd33206584de823a2e1c3a28e0311d310bdd051dc19c7b471eb6d408c",
947
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
948
+ "admissionRoots": [
949
+ "sha256:6c174a96ab2c9f80cca4b582b86b4e364ad92db9f7129de4419e309266f9dda6"
950
+ ]
951
+ }
952
+ },
953
+ {
954
+ "root": "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a",
955
+ "record": {
956
+ "schema": "kungfu.fact.temporal-relation/v1",
957
+ "relationId": "buildchain:compatibility:a-to-b",
958
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
959
+ "sourceRoot": "sha256:382917ca73a691e304d223121a6051f45eb81c8f23e9ce94bd0efde0e606317b",
960
+ "targetRoot": "sha256:862426b0548c1fa90345be926271048d7004d69bc679f323c9ae62fa5923e43c",
961
+ "validFromCutRoot": "sha256:0e9d39f3e26aa15ea70080e7e3f90f5493154aaa12c94327d35a4e9d1ba56d69",
962
+ "scopeRoot": "sha256:17b3f22dd33206584de823a2e1c3a28e0311d310bdd051dc19c7b471eb6d408c",
963
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
964
+ "admissionRoots": [
965
+ "sha256:2b01191b03fa98e63f80c44ddc91f7ad0cece3c59990b1e02b1a8bf1a5fe63ac"
966
+ ]
967
+ }
968
+ }
969
+ ],
970
+ "supersessions": [],
971
+ "revocations": [
972
+ {
973
+ "root": "sha256:b1dbc0df8c211a048b4599651efbb6820d26d26e73c410e40d1f14180f5bd98e",
974
+ "record": {
975
+ "schema": "kungfu.fact.temporal-revocation/v1",
976
+ "relationRoot": "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a",
977
+ "effectiveCutRoot": "sha256:81ece7d739cf3817ad97a13e281373ffc79a57d470041d4caacbfb6760f362f8",
978
+ "reasonRoot": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd",
979
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
980
+ "admissionRoots": [
981
+ "sha256:2b01191b03fa98e63f80c44ddc91f7ad0cece3c59990b1e02b1a8bf1a5fe63ac"
982
+ ]
983
+ }
984
+ }
985
+ ],
986
+ "authorityProofs": [],
987
+ "provenanceObjects": []
988
+ },
989
+ "query": {
990
+ "schema": "kungfu.fact.temporal-path-query/v1",
991
+ "queryId": "expired",
992
+ "operation": "accept-contract-lock",
993
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
994
+ "sourceRoot": "sha256:382917ca73a691e304d223121a6051f45eb81c8f23e9ce94bd0efde0e606317b",
995
+ "targetRoot": "sha256:862426b0548c1fa90345be926271048d7004d69bc679f323c9ae62fa5923e43c",
996
+ "cutRoot": "sha256:81ece7d739cf3817ad97a13e281373ffc79a57d470041d4caacbfb6760f362f8",
997
+ "relationPathRoots": [
998
+ "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a"
999
+ ],
1000
+ "requiredAuthorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
1001
+ "maxDepth": 1
1002
+ }
1003
+ },
1004
+ {
1005
+ "id": "corruption-ambiguous-root",
1006
+ "bundle": {
1007
+ "schema": "kungfu.fact.temporal-bundle/v1",
1008
+ "cuts": [
1009
+ {
1010
+ "root": "sha256:0e9d39f3e26aa15ea70080e7e3f90f5493154aaa12c94327d35a4e9d1ba56d69",
1011
+ "parentCutRoots": [],
1012
+ "activeRelationRoots": [
1013
+ "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a"
1014
+ ],
1015
+ "declarationRoots": [
1016
+ "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9"
1017
+ ]
1018
+ },
1019
+ {
1020
+ "root": "sha256:dfeda9c45fcdf11b388e4a578d831e9b2264610242d6d3d2a8d9b10f1744e20f",
1021
+ "parentCutRoots": [],
1022
+ "activeRelationRoots": [
1023
+ "sha256:744c62e5416efa96104d95cfb4f92a862ab9efc475b7db0dc54398067b9cc652"
1024
+ ],
1025
+ "declarationRoots": [
1026
+ "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9"
1027
+ ]
1028
+ },
1029
+ {
1030
+ "root": "sha256:81ece7d739cf3817ad97a13e281373ffc79a57d470041d4caacbfb6760f362f8",
1031
+ "parentCutRoots": [
1032
+ "sha256:0e9d39f3e26aa15ea70080e7e3f90f5493154aaa12c94327d35a4e9d1ba56d69",
1033
+ "sha256:dfeda9c45fcdf11b388e4a578d831e9b2264610242d6d3d2a8d9b10f1744e20f"
1034
+ ],
1035
+ "activeRelationRoots": [
1036
+ "sha256:744c62e5416efa96104d95cfb4f92a862ab9efc475b7db0dc54398067b9cc652",
1037
+ "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a"
1038
+ ],
1039
+ "declarationRoots": [
1040
+ "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9"
1041
+ ]
1042
+ }
1043
+ ],
1044
+ "predicates": [
1045
+ {
1046
+ "root": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
1047
+ "record": {
1048
+ "schema": "kungfu.fact.temporal-predicate/v1",
1049
+ "predicateId": "kungfu.buildchain.compatibility:accept-contract-lock/v1",
1050
+ "operations": ["accept-contract-lock"],
1051
+ "direction": "source-to-target",
1052
+ "pathPolicy": "explicit-bounded",
1053
+ "cyclePolicy": "forbid",
1054
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea"
1055
+ }
1056
+ }
1057
+ ],
1058
+ "relations": [
1059
+ {
1060
+ "root": "sha256:744c62e5416efa96104d95cfb4f92a862ab9efc475b7db0dc54398067b9cc652",
1061
+ "record": {
1062
+ "schema": "kungfu.fact.temporal-relation/v1",
1063
+ "relationId": "buildchain:compatibility:b-to-c",
1064
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
1065
+ "sourceRoot": "sha256:862426b0548c1fa90345be926271048d7004d69bc679f323c9ae62fa5923e43c",
1066
+ "targetRoot": "sha256:b2ad75d880decb5d314fd0ae052be4f4f6043462458341ffe1970c745cf69c67",
1067
+ "validFromCutRoot": "sha256:dfeda9c45fcdf11b388e4a578d831e9b2264610242d6d3d2a8d9b10f1744e20f",
1068
+ "scopeRoot": "sha256:17b3f22dd33206584de823a2e1c3a28e0311d310bdd051dc19c7b471eb6d408c",
1069
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
1070
+ "admissionRoots": [
1071
+ "sha256:6c174a96ab2c9f80cca4b582b86b4e364ad92db9f7129de4419e309266f9dda6"
1072
+ ]
1073
+ }
1074
+ },
1075
+ {
1076
+ "root": "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a",
1077
+ "record": {
1078
+ "schema": "kungfu.fact.temporal-relation/v1",
1079
+ "relationId": "buildchain:compatibility:a-to-b",
1080
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
1081
+ "sourceRoot": "sha256:382917ca73a691e304d223121a6051f45eb81c8f23e9ce94bd0efde0e606317b",
1082
+ "targetRoot": "sha256:862426b0548c1fa90345be926271048d7004d69bc679f323c9ae62fa5923e43c",
1083
+ "validFromCutRoot": "sha256:0e9d39f3e26aa15ea70080e7e3f90f5493154aaa12c94327d35a4e9d1ba56d69",
1084
+ "scopeRoot": "sha256:17b3f22dd33206584de823a2e1c3a28e0311d310bdd051dc19c7b471eb6d408c",
1085
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
1086
+ "admissionRoots": [
1087
+ "sha256:2b01191b03fa98e63f80c44ddc91f7ad0cece3c59990b1e02b1a8bf1a5fe63ac"
1088
+ ]
1089
+ }
1090
+ },
1091
+ {
1092
+ "root": "sha256:744c62e5416efa96104d95cfb4f92a862ab9efc475b7db0dc54398067b9cc652",
1093
+ "record": {
1094
+ "schema": "kungfu.fact.temporal-relation/v1",
1095
+ "relationId": "buildchain:compatibility:b-to-c",
1096
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
1097
+ "sourceRoot": "sha256:862426b0548c1fa90345be926271048d7004d69bc679f323c9ae62fa5923e43c",
1098
+ "targetRoot": "sha256:b2ad75d880decb5d314fd0ae052be4f4f6043462458341ffe1970c745cf69c67",
1099
+ "validFromCutRoot": "sha256:dfeda9c45fcdf11b388e4a578d831e9b2264610242d6d3d2a8d9b10f1744e20f",
1100
+ "scopeRoot": "sha256:17b3f22dd33206584de823a2e1c3a28e0311d310bdd051dc19c7b471eb6d408c",
1101
+ "authorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
1102
+ "admissionRoots": [
1103
+ "sha256:6c174a96ab2c9f80cca4b582b86b4e364ad92db9f7129de4419e309266f9dda6"
1104
+ ]
1105
+ }
1106
+ }
1107
+ ],
1108
+ "supersessions": [],
1109
+ "revocations": [],
1110
+ "authorityProofs": [],
1111
+ "provenanceObjects": []
1112
+ },
1113
+ "query": {
1114
+ "schema": "kungfu.fact.temporal-path-query/v1",
1115
+ "queryId": "direct-a-b",
1116
+ "operation": "accept-contract-lock",
1117
+ "predicateRoot": "sha256:2b211f8251b0410b178f1f579d9bda9aa707877cc05c1ee839a3343f0f2307c9",
1118
+ "sourceRoot": "sha256:382917ca73a691e304d223121a6051f45eb81c8f23e9ce94bd0efde0e606317b",
1119
+ "targetRoot": "sha256:862426b0548c1fa90345be926271048d7004d69bc679f323c9ae62fa5923e43c",
1120
+ "cutRoot": "sha256:81ece7d739cf3817ad97a13e281373ffc79a57d470041d4caacbfb6760f362f8",
1121
+ "relationPathRoots": [
1122
+ "sha256:cdfb0c794b30dcd3a2e9bf57d21152d1d7eff2b28a86cb641053bf226f49503a"
1123
+ ],
1124
+ "requiredAuthorityRoot": "sha256:6908bf14a35e1ad7d0b865cb776744b789d1b41a0920d2160ef374febb4e24ea",
1125
+ "maxDepth": 1
1126
+ }
1127
+ }
1128
+ ]
1129
+ }