@lapxo/bound 0.2.4 → 0.2.6

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 (333) hide show
  1. package/CITATION.cff +1 -1
  2. package/README.md +20 -3
  3. package/TARGET.bound +85 -47
  4. package/dist/cli/accept.js +61 -590
  5. package/dist/cli/act-result.js +3 -103
  6. package/dist/cli/args.js +3 -44
  7. package/dist/cli/custodian.js +2 -29
  8. package/dist/cli/host.js +4 -32
  9. package/dist/cli/names.js +1 -12
  10. package/dist/cli/native-descendant.js +1 -19
  11. package/dist/cli/native.js +3 -60
  12. package/dist/cli/observe.js +1 -13
  13. package/dist/cli/owner.js +3 -139
  14. package/dist/cli/pass.js +22 -321
  15. package/dist/cli/place.js +6 -282
  16. package/dist/cli/release-result.js +3 -80
  17. package/dist/cli/retained-judgment.js +1 -25
  18. package/dist/cli/standing-result.js +4 -19
  19. package/dist/cli/takes.js +10 -112
  20. package/dist/cli/verb.d.ts +1 -2
  21. package/dist/cli/verb.js +85 -684
  22. package/dist/engine/computation.js +2 -0
  23. package/dist/engine/conformance.js +4 -0
  24. package/dist/engine/encoding.js +1 -2
  25. package/dist/engine/index.d.ts +1 -13
  26. package/dist/engine/index.js +2 -11
  27. package/dist/engine/object.js +1 -38
  28. package/dist/engine/ports.js +2 -117
  29. package/dist/fold/admission-history.js +1 -17
  30. package/dist/fold/bootstrap-anchor.js +1 -28
  31. package/dist/fold/ceilings.js +1 -142
  32. package/dist/fold/claims.js +2 -132
  33. package/dist/fold/closed.js +24 -235
  34. package/dist/fold/configures.js +1 -25
  35. package/dist/fold/digests.js +10 -226
  36. package/dist/fold/evidence.js +1 -22
  37. package/dist/fold/fold-worker.js +1 -13
  38. package/dist/fold/kept.js +12 -173
  39. package/dist/fold/keys.js +3 -91
  40. package/dist/fold/laid.js +3 -90
  41. package/dist/fold/nos.js +1 -48
  42. package/dist/fold/object.js +1 -2
  43. package/dist/fold/observed.js +28 -534
  44. package/dist/fold/opened.js +1 -33
  45. package/dist/fold/own.js +3 -217
  46. package/dist/fold/paid.js +1 -92
  47. package/dist/fold/place-inputs.js +1 -70
  48. package/dist/fold/places.js +3 -100
  49. package/dist/fold/rank.js +1 -9
  50. package/dist/fold/reach.js +1 -83
  51. package/dist/fold/readers.js +6 -142
  52. package/dist/fold/receipts.js +1 -47
  53. package/dist/fold/region-declarations.js +1 -13
  54. package/dist/fold/region.js +8 -286
  55. package/dist/fold/release-policy.js +1 -101
  56. package/dist/fold/resolved.js +6 -145
  57. package/dist/fold/roles.js +2 -59
  58. package/dist/fold/second.js +4 -71
  59. package/dist/fold/shards.js +12 -100
  60. package/dist/fold/signed.js +3 -81
  61. package/dist/fold/signers.js +1 -54
  62. package/dist/fold/stranger.js +6 -24
  63. package/dist/fold/views.js +1 -66
  64. package/dist/fold/wire.js +1 -46
  65. package/dist/fold/zoom.js +3 -81
  66. package/dist/host/act-cost.js +1 -25
  67. package/dist/host/adapters/keys/ed25519.js +1 -30
  68. package/dist/host/adapters/modules/javascript.js +1 -50
  69. package/dist/host/adapters/transport/http.js +1 -28
  70. package/dist/host/admitted-place.js +1 -35
  71. package/dist/host/archive.js +1 -152
  72. package/dist/host/call-context.js +1 -14
  73. package/dist/host/capsule-process.js +2 -62
  74. package/dist/host/capsule.js +9 -171
  75. package/dist/host/cell-receipts.js +12 -128
  76. package/dist/host/command-server.js +4 -0
  77. package/dist/host/commit-result.js +1 -5
  78. package/dist/host/content-needed.js +1 -8
  79. package/dist/host/content-store.js +1 -31
  80. package/dist/host/contextual-place.js +2 -72
  81. package/dist/host/digest.js +2 -15
  82. package/dist/host/hash.js +1 -9
  83. package/dist/host/host-controls.js +1 -19
  84. package/dist/host/in-process-act.js +3 -84
  85. package/dist/host/in-process-context.js +3 -91
  86. package/dist/host/in-process-root.js +6 -84
  87. package/dist/host/in-process.js +4 -55
  88. package/dist/host/index.d.ts +1 -15
  89. package/dist/host/index.js +1 -7
  90. package/dist/host/io.js +1 -11
  91. package/dist/host/lifetime.js +1 -79
  92. package/dist/host/located.js +6 -105
  93. package/dist/host/native/authority-card-view.js +5 -0
  94. package/dist/host/native/authority-card.js +1 -0
  95. package/dist/host/native/bounded-file.js +1 -32
  96. package/dist/host/native/command.js +1 -91
  97. package/dist/host/native/control-bridge-worker.js +2 -88
  98. package/dist/host/native/control-bridge.js +1 -110
  99. package/dist/host/native/control-selection.js +1 -32
  100. package/dist/host/native/custody.js +1 -91
  101. package/dist/host/native/deadline.js +1 -28
  102. package/dist/host/native/descendants.js +1 -528
  103. package/dist/host/native/generated-custodian.js +5 -267
  104. package/dist/host/native/generated.js +1 -379
  105. package/dist/host/native/image.js +1 -45
  106. package/dist/host/native/installed-package.d.ts +1 -0
  107. package/dist/host/native/installed-package.js +5 -0
  108. package/dist/host/native/jobs.js +2 -148
  109. package/dist/host/native/loader.js +1 -269
  110. package/dist/host/native/materialize.js +1 -175
  111. package/dist/host/native/module-closure.js +1 -130
  112. package/dist/host/native/module-delivery.d.ts +1 -62
  113. package/dist/host/native/module-delivery.js +1 -151
  114. package/dist/host/native/module-inventory.js +2 -0
  115. package/dist/host/native/module-syntax.js +1 -69
  116. package/dist/host/native/native-binary.js +1 -115
  117. package/dist/host/native/native-program.js +1 -72
  118. package/dist/host/native/node-jobs.js +3 -187
  119. package/dist/host/native/node-launch.js +1 -159
  120. package/dist/host/native/preload.js +1 -45
  121. package/dist/host/native/probes.js +1 -0
  122. package/dist/host/native/reading-witness-admission.js +5 -0
  123. package/dist/host/native/reading.js +1 -249
  124. package/dist/host/native/receipt-environment.js +1 -41
  125. package/dist/host/native/references.js +1 -30
  126. package/dist/host/native/root.js +1 -37
  127. package/dist/host/native/route.js +1 -216
  128. package/dist/host/native/runtime.js +1 -9
  129. package/dist/host/native-place-state.js +1 -0
  130. package/dist/host/native-reader-context.js +1 -8
  131. package/dist/host/native-receiver.js +1 -25
  132. package/dist/host/objects.js +1 -38
  133. package/dist/host/order.js +1 -2
  134. package/dist/host/persistent-host.js +1 -0
  135. package/dist/host/physical-lines.d.ts +1 -0
  136. package/dist/host/physical-lines.js +1 -0
  137. package/dist/host/place-act-transaction.js +4 -78
  138. package/dist/host/place-clock-selection.js +5 -124
  139. package/dist/host/ports/ingress.js +2 -57
  140. package/dist/host/ports/local-act.js +5 -183
  141. package/dist/host/ports/place-act.js +1 -134
  142. package/dist/host/ports/publication.js +1 -56
  143. package/dist/host/ports/signing.js +1 -74
  144. package/dist/host/ports/store.js +1 -18
  145. package/dist/host/ports/transport.js +1 -48
  146. package/dist/host/process-lifetime.js +1 -17
  147. package/dist/host/profile-composition.d.ts +1 -0
  148. package/dist/host/profile-composition.js +2 -0
  149. package/dist/host/provide.js +1 -183
  150. package/dist/host/read-only.js +1 -9
  151. package/dist/host/reading-closures.js +7 -227
  152. package/dist/host/reading-context.js +1 -53
  153. package/dist/host/reading-identity-types.js +0 -0
  154. package/dist/host/reading-identity.js +3 -0
  155. package/dist/host/reading-preparation.js +6 -0
  156. package/dist/host/reference-authenticated.d.ts +1 -40
  157. package/dist/host/reference-authenticated.js +3 -100
  158. package/dist/host/reference-contracts.js +1 -6
  159. package/dist/host/reference-export.js +6 -81
  160. package/dist/host/reference-native-api.d.ts +1 -3
  161. package/dist/host/reference-native-api.js +1 -3
  162. package/dist/host/reference-native.js +1 -74
  163. package/dist/host/reference-profile.js +1 -63
  164. package/dist/host/reference-standing.js +2 -18
  165. package/dist/host/reference.js +1 -24
  166. package/dist/host/refusals.js +2 -43
  167. package/dist/host/release.js +4 -256
  168. package/dist/host/root-clock-source.js +1 -307
  169. package/dist/host/selected-capsules.js +1 -50
  170. package/dist/host/selected-topos.js +1 -80
  171. package/dist/host/signature-era.js +1 -12
  172. package/dist/host/signing.js +2 -48
  173. package/dist/host/source-content.js +2 -111
  174. package/dist/host/standing-carrier.js +1 -18
  175. package/dist/host/standing-projection.js +1 -50
  176. package/dist/host/timing.js +1 -7
  177. package/dist/host/walk.js +20 -193
  178. package/dist/host/work-trace.js +1 -0
  179. package/dist/judge/late.js +1 -33
  180. package/dist/judge/take.js +2 -75
  181. package/dist/judge/widening.js +1 -25
  182. package/dist/land/act.js +8 -336
  183. package/dist/land/alias.js +1 -41
  184. package/dist/land/held.js +1 -23
  185. package/dist/land/inert.js +1 -33
  186. package/dist/land/leaving.js +1 -55
  187. package/dist/land/ledger.js +6 -188
  188. package/dist/land/owned.js +4 -66
  189. package/dist/land/sign.js +1 -53
  190. package/dist/land/standing-pin.js +1 -49
  191. package/dist/land/vouched.js +1 -112
  192. package/dist/land/withdraw.js +1 -24
  193. package/dist/observe/files.js +1 -88
  194. package/dist/observe/identity.js +1 -61
  195. package/dist/observe/match.js +1 -8
  196. package/dist/observe/regions.js +7 -306
  197. package/dist/observe/run.js +1 -41
  198. package/dist/observe/runner.js +4 -101
  199. package/dist/public-types.d.ts +2019 -0
  200. package/dist/render/capsule.js +1 -30
  201. package/dist/render/field.js +1 -40
  202. package/dist/render/names.js +1 -4
  203. package/dist/render/open.js +1 -61
  204. package/dist/render/page.js +1 -7
  205. package/dist/render/receipt-projection.js +1 -0
  206. package/dist/render/receipts.js +1 -47
  207. package/dist/render/shape.js +1 -74
  208. package/dist/render/target.js +4 -52
  209. package/dist/render/view.js +7 -197
  210. package/dist/vendor/bundle.json +1 -0
  211. package/dist/vendor/library14.js +1 -0
  212. package/dist/vendor/object-provider.js +42 -0
  213. package/dist/vendor/runtime.js +61 -0
  214. package/dist/wasm/adapter.d.ts +1 -51
  215. package/dist/wasm/adapter.js +1 -180
  216. package/dist/wasm/node-worker.js +1 -13
  217. package/dist/wasm/object.js +1 -76
  218. package/dist/wasm/worker.js +1 -7
  219. package/docs/contracts/authenticated-reference.publication.json +1 -1
  220. package/docs/contracts/authority-preflight.md +17 -0
  221. package/docs/contracts/authority-preflight.publication.json +25 -0
  222. package/docs/contracts/closure-delivery.md +1 -1
  223. package/docs/contracts/closure-delivery.publication.json +1 -1
  224. package/docs/contracts/conformance.json +142 -0
  225. package/docs/contracts/determinism.bound +9 -0
  226. package/docs/contracts/engine-object-projection.publication.json +1 -1
  227. package/docs/contracts/engine.md +21 -1
  228. package/docs/contracts/installed-package.md +21 -0
  229. package/docs/contracts/installed-package.publication.json +25 -0
  230. package/docs/contracts/materialized-leaf-sequence.md +15 -0
  231. package/docs/contracts/materialized-leaf-sequence.publication.json +25 -0
  232. package/docs/contracts/module-inventory.md +15 -0
  233. package/docs/contracts/module-inventory.publication.json +25 -0
  234. package/docs/contracts/native-host.md +29 -1
  235. package/docs/contracts/native-host.publication.json +4 -4
  236. package/docs/contracts/native-probes.md +13 -0
  237. package/docs/contracts/native-probes.publication.json +25 -0
  238. package/docs/contracts/native-publication.inventory.json +10 -1
  239. package/docs/contracts/native-view-batch.md +17 -0
  240. package/docs/contracts/native-view-batch.publication.json +25 -0
  241. package/docs/contracts/optional-wasm-adapter.publication.json +1 -1
  242. package/docs/contracts/physical-lines.md +19 -0
  243. package/docs/contracts/physical-lines.publication.json +25 -0
  244. package/docs/contracts/profile-composition.md +17 -0
  245. package/docs/contracts/profile-composition.publication.json +25 -0
  246. package/docs/contracts/profile-preparation-native-meaning.md +9 -0
  247. package/docs/contracts/publication.md +12 -0
  248. package/docs/contracts/reading-identity.md +61 -0
  249. package/docs/contracts/reading-identity.publication.json +25 -0
  250. package/docs/contracts/reading-witness-admission.md +49 -0
  251. package/docs/contracts/readme.publication.json +1 -1
  252. package/docs/contracts/reference-port.md +11 -0
  253. package/docs/contracts/reference-port.publication.json +1 -1
  254. package/docs/contracts/refusals.bound +346 -94
  255. package/docs/contracts/refusals.md +119 -39
  256. package/docs/contracts/refusals.publication.json +2 -2
  257. package/docs/contracts/views.md +8 -0
  258. package/docs/reference.md +9 -0
  259. package/licenses/wasm/{fast-text-encoding.txt → NOTICE.txt} +111 -0
  260. package/package.json +84 -34
  261. package/receipts.bound +12952 -10449
  262. package/samples/authority-preflight/no.json +6 -0
  263. package/samples/authority-preflight/yes.json +30 -0
  264. package/samples/engine-alphabet/reader.js +3 -1457
  265. package/samples/engine-alphabet/receipts.bound +7 -7
  266. package/samples/engine-interval/reader.js +3 -1457
  267. package/samples/engine-interval/receipts.bound +7 -7
  268. package/samples/installed-package/consumer.mjs +29 -0
  269. package/samples/installed-package/fixture.json +48 -0
  270. package/samples/installed-package/no.json +10 -0
  271. package/samples/installed-package/yes.json +52 -0
  272. package/samples/materialized-leaf-sequence/no.json +11 -0
  273. package/samples/materialized-leaf-sequence/yes.json +10 -0
  274. package/samples/module-inventory/yes.json +28 -0
  275. package/samples/native/physical-line-reader.mjs +1 -0
  276. package/samples/native/physical-line-reader.source.mjs +13 -0
  277. package/samples/native-host/no.json +6 -1
  278. package/samples/native-host/yes.json +18 -1
  279. package/samples/native-probes/inputs/inspection.json +28 -0
  280. package/samples/native-probes/no.json +7 -0
  281. package/samples/native-probes/yes.json +28 -0
  282. package/samples/native-view-batch/no.json +14 -0
  283. package/samples/native-view-batch/yes.json +10 -0
  284. package/samples/no/engine-order/reader.js +3 -1457
  285. package/samples/no/module-inventory/no.json +10 -0
  286. package/samples/physical-lines/no.json +5 -0
  287. package/samples/physical-lines/yes.json +9 -0
  288. package/samples/profile-composition/no.json +6 -0
  289. package/samples/profile-composition/yes.json +14 -0
  290. package/samples/reading-identity/no.json +26 -0
  291. package/samples/reading-identity/yes.json +69 -0
  292. package/vectors/native/authority-preflight.vector.json +55 -0
  293. package/vectors/native/installed-package.vector.json +31 -0
  294. package/vectors/native/materialized-leaf-sequence.vector.json +31 -0
  295. package/vectors/native/module-inventory.vector.json +56 -0
  296. package/vectors/native/native-host.vector.json +214 -0
  297. package/vectors/native/native-probes.vector.json +31 -0
  298. package/vectors/native/native-view-batch.vector.json +31 -0
  299. package/vectors/native/physical-lines.vector.json +105 -0
  300. package/vectors/native/profile-composition.vector.json +53 -0
  301. package/vectors/native/reading-identity.vector.json +139 -0
  302. package/vectors/native/refusals.vector.json +138 -0
  303. package/vendor/syntax/LICENSE.md +7 -0
  304. package/vendor/syntax/parser.js +1 -0
  305. package/.github/workflows/release.yml +0 -67
  306. package/.github/workflows/test.yml +0 -35
  307. package/dist/engine/object.d.ts +0 -17
  308. package/dist/engine/ports.d.ts +0 -37
  309. package/dist/fold/claims.d.ts +0 -29
  310. package/dist/host/call-context.d.ts +0 -20
  311. package/dist/host/commit-result.d.ts +0 -6
  312. package/dist/host/in-process-act.d.ts +0 -82
  313. package/dist/host/in-process-context.d.ts +0 -46
  314. package/dist/host/in-process-root.d.ts +0 -117
  315. package/dist/host/in-process.d.ts +0 -41
  316. package/dist/host/native/module-closure.d.ts +0 -35
  317. package/dist/host/native-receiver.d.ts +0 -19
  318. package/dist/host/place-act-transaction.d.ts +0 -24
  319. package/dist/host/place-clock-selection.d.ts +0 -55
  320. package/dist/host/ports/local-act.d.ts +0 -44
  321. package/dist/host/ports/place-act.d.ts +0 -49
  322. package/dist/host/ports/publication.d.ts +0 -10
  323. package/dist/host/reference-export.d.ts +0 -33
  324. package/dist/host/reference-native.d.ts +0 -30
  325. package/dist/host/reference-profile.d.ts +0 -23
  326. package/dist/host/refusals.d.ts +0 -14
  327. package/dist/host/root-clock-source.d.ts +0 -86
  328. package/licenses/wasm/jitl-quickjs-ffi-types.txt +0 -21
  329. package/licenses/wasm/jitl-quickjs-wasmfile-release-sync.txt +0 -47
  330. package/licenses/wasm/quickjs-emscripten-core.txt +0 -21
  331. package/licenses/wasm/topos.txt +0 -21
  332. /package/{licenses/wasm/bound.txt → dist/vendor/28cba430228db1c04f446c93f81b09a2705d6bf3e222d35adbe5a4cee4061884.LICENSE} +0 -0
  333. /package/{licenses/wasm/obligations.txt → dist/vendor/7aca161279d14bc0e054dcc281cd110aeb95be2e026b42fdf527a260e58b2aae.LICENSE} +0 -0
@@ -0,0 +1,142 @@
1
+ {
2
+ "profile": "bound-conformance@1",
3
+ "contract": "sha256:7097713afcfb5859850d96b66aced8ea6ea09f738b34f79a87bb77938fa1c6e6",
4
+ "cases": [
5
+ {
6
+ "id": "yes/compatible",
7
+ "covers": [
8
+ "rule/compatible"
9
+ ],
10
+ "request": "[\"bound-object-request@1\",[{\"record\":\"cell\",\"fields\":{\"scope\":\"B\",\"restsOn\":\"none\",\"type\":\"cell\",\"id\":\"def-B\",\"form\":\"interval\",\"measure\":\"count\",\"params\":\"{\\\"lo\\\":0,\\\"hi\\\":100}\",\"topos\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"by\":\"test\",\"epoch\":\"1\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"C\",\"restsOn\":\"B\",\"type\":\"cell\",\"id\":\"def-C\",\"form\":\"interval\",\"measure\":\"count\",\"params\":\"{\\\"lo\\\":0,\\\"hi\\\":100}\",\"topos\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"by\":\"test\",\"epoch\":\"2\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"G\",\"restsOn\":\"C\",\"type\":\"cell\",\"id\":\"def-G\",\"form\":\"interval\",\"measure\":\"count\",\"params\":\"{\\\"lo\\\":0,\\\"hi\\\":100}\",\"topos\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"by\":\"test\",\"epoch\":\"3\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"D\",\"restsOn\":\"none\",\"type\":\"cell\",\"id\":\"def-D\",\"form\":\"interval\",\"measure\":\"count\",\"params\":\"{\\\"lo\\\":0,\\\"hi\\\":100}\",\"topos\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"by\":\"test\",\"epoch\":\"4\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"s-B\",\"sign\":\"+1\",\"pole\":\"ceiling\",\"reach\":\"travels\",\"value\":\"0..50\",\"by\":\"test\",\"epoch\":\"5\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"j-B\",\"sign\":\"+1\",\"pole\":\"ceiling\",\"reach\":\"local\",\"widens\":\"local-opening\",\"value\":\"0..100\",\"by\":\"test\",\"epoch\":\"6\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"r-B\",\"sign\":\"+1\",\"pole\":\"floor\",\"reach\":\"travels\",\"value\":\"40..*\",\"by\":\"test\",\"epoch\":\"7\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"c-C\",\"sign\":\"+1\",\"origin\":\"ana\",\"value\":\"42..48\",\"by\":\"test\",\"epoch\":\"8\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"c-L\",\"sign\":\"+1\",\"origin\":\"luis\",\"value\":\"44..47\",\"by\":\"test\",\"epoch\":\"9\"}}]]",
11
+ "expected": "[\"fact\",[{\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[\"s-B\",\"j-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"lo\":0,\"hi\":50},\"id\":\"s-B\",\"at\":5},{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":{\"lo\":0,\"hi\":100},\"widens\":\"local-opening\",\"at\":6,\"id\":\"j-B\"},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":40,\"hi\":100},\"id\":\"r-B\",\"at\":7}],\"claims\":[]},{\"cell\":\"C\",\"state\":\"FREE\",\"parts\":{\"floor\":{\"lo\":44,\"hi\":47},\"ceiling\":{\"lo\":44,\"hi\":47},\"origins\":[{\"id\":\"c-C\",\"at\":8,\"origin\":\"ana\",\"span\":{\"lo\":42,\"hi\":48}},{\"id\":\"c-L\",\"at\":9,\"origin\":\"luis\",\"span\":{\"lo\":44,\"hi\":47}}],\"rest\":[\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[{\"id\":\"c-C\",\"origin\":\"ana\"},{\"id\":\"c-L\",\"origin\":\"luis\"}],\"marks\":[],\"claims\":[{\"id\":\"c-C\",\"at\":8,\"origin\":\"ana\",\"span\":{\"lo\":42,\"hi\":48}},{\"id\":\"c-L\",\"at\":9,\"origin\":\"luis\",\"span\":{\"lo\":44,\"hi\":47}}]},{\"cell\":\"G\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]},{\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":0,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":0,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}]]\n"
12
+ },
13
+ {
14
+ "id": "yes/incompatible-origins",
15
+ "covers": [
16
+ "rule/incompatible-origins"
17
+ ],
18
+ "request": "[\"bound-object-request@1\",[{\"record\":\"cell\",\"fields\":{\"scope\":\"B\",\"restsOn\":\"none\",\"type\":\"cell\",\"id\":\"def-B\",\"form\":\"interval\",\"measure\":\"count\",\"params\":\"{\\\"lo\\\":0,\\\"hi\\\":100}\",\"topos\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"by\":\"test\",\"epoch\":\"1\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"C\",\"restsOn\":\"B\",\"type\":\"cell\",\"id\":\"def-C\",\"form\":\"interval\",\"measure\":\"count\",\"params\":\"{\\\"lo\\\":0,\\\"hi\\\":100}\",\"topos\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"by\":\"test\",\"epoch\":\"2\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"G\",\"restsOn\":\"C\",\"type\":\"cell\",\"id\":\"def-G\",\"form\":\"interval\",\"measure\":\"count\",\"params\":\"{\\\"lo\\\":0,\\\"hi\\\":100}\",\"topos\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"by\":\"test\",\"epoch\":\"3\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"D\",\"restsOn\":\"none\",\"type\":\"cell\",\"id\":\"def-D\",\"form\":\"interval\",\"measure\":\"count\",\"params\":\"{\\\"lo\\\":0,\\\"hi\\\":100}\",\"topos\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"by\":\"test\",\"epoch\":\"4\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"s-B\",\"sign\":\"+1\",\"pole\":\"ceiling\",\"reach\":\"travels\",\"value\":\"0..50\",\"by\":\"test\",\"epoch\":\"5\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"j-B\",\"sign\":\"+1\",\"pole\":\"ceiling\",\"reach\":\"local\",\"widens\":\"local-opening\",\"value\":\"0..100\",\"by\":\"test\",\"epoch\":\"6\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"r-B\",\"sign\":\"+1\",\"pole\":\"floor\",\"reach\":\"travels\",\"value\":\"40..*\",\"by\":\"test\",\"epoch\":\"7\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"c-C\",\"sign\":\"+1\",\"origin\":\"ana\",\"value\":\"42..48\",\"by\":\"test\",\"epoch\":\"8\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"c-L\",\"sign\":\"+1\",\"origin\":\"luis\",\"value\":\"44..47\",\"by\":\"test\",\"epoch\":\"9\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"disagreement\",\"sign\":\"+1\",\"origin\":\"ana\",\"value\":\"40..43\",\"by\":\"test\",\"epoch\":\"10\"}}]]",
19
+ "expected": "[\"fact\",[{\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[\"s-B\",\"j-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"lo\":0,\"hi\":50},\"id\":\"s-B\",\"at\":5},{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":{\"lo\":0,\"hi\":100},\"widens\":\"local-opening\",\"at\":6,\"id\":\"j-B\"},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":40,\"hi\":100},\"id\":\"r-B\",\"at\":7}],\"claims\":[]},{\"cell\":\"C\",\"state\":\"CONFLICT\",\"parts\":{\"floor\":{\"lo\":44,\"hi\":43},\"ceiling\":{\"lo\":44,\"hi\":43},\"origins\":[{\"id\":\"c-C\",\"at\":8,\"origin\":\"ana\",\"span\":{\"lo\":42,\"hi\":48}},{\"id\":\"c-L\",\"at\":9,\"origin\":\"luis\",\"span\":{\"lo\":44,\"hi\":47}},{\"id\":\"disagreement\",\"at\":10,\"origin\":\"ana\",\"span\":{\"lo\":40,\"hi\":43}}],\"rest\":[\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[{\"id\":\"c-C\",\"origin\":\"ana\"},{\"id\":\"c-L\",\"origin\":\"luis\"},{\"id\":\"disagreement\",\"origin\":\"ana\"}],\"marks\":[],\"claims\":[{\"id\":\"c-C\",\"at\":8,\"origin\":\"ana\",\"span\":{\"lo\":42,\"hi\":48}},{\"id\":\"c-L\",\"at\":9,\"origin\":\"luis\",\"span\":{\"lo\":44,\"hi\":47}},{\"id\":\"disagreement\",\"at\":10,\"origin\":\"ana\",\"span\":{\"lo\":40,\"hi\":43}}]},{\"cell\":\"G\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]},{\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":0,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":0,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}]]\n"
20
+ },
21
+ {
22
+ "id": "yes/withdrawn-claims",
23
+ "covers": [
24
+ "rule/withdrawn-claims"
25
+ ],
26
+ "request": "[\"bound-object-request@1\",[{\"record\":\"cell\",\"fields\":{\"scope\":\"B\",\"restsOn\":\"none\",\"type\":\"cell\",\"id\":\"def-B\",\"form\":\"interval\",\"measure\":\"count\",\"params\":\"{\\\"lo\\\":0,\\\"hi\\\":100}\",\"topos\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"by\":\"test\",\"epoch\":\"1\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"C\",\"restsOn\":\"B\",\"type\":\"cell\",\"id\":\"def-C\",\"form\":\"interval\",\"measure\":\"count\",\"params\":\"{\\\"lo\\\":0,\\\"hi\\\":100}\",\"topos\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"by\":\"test\",\"epoch\":\"2\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"G\",\"restsOn\":\"C\",\"type\":\"cell\",\"id\":\"def-G\",\"form\":\"interval\",\"measure\":\"count\",\"params\":\"{\\\"lo\\\":0,\\\"hi\\\":100}\",\"topos\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"by\":\"test\",\"epoch\":\"3\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"D\",\"restsOn\":\"none\",\"type\":\"cell\",\"id\":\"def-D\",\"form\":\"interval\",\"measure\":\"count\",\"params\":\"{\\\"lo\\\":0,\\\"hi\\\":100}\",\"topos\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"by\":\"test\",\"epoch\":\"4\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"s-B\",\"sign\":\"+1\",\"pole\":\"ceiling\",\"reach\":\"travels\",\"value\":\"0..50\",\"by\":\"test\",\"epoch\":\"5\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"j-B\",\"sign\":\"+1\",\"pole\":\"ceiling\",\"reach\":\"local\",\"widens\":\"local-opening\",\"value\":\"0..100\",\"by\":\"test\",\"epoch\":\"6\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"r-B\",\"sign\":\"+1\",\"pole\":\"floor\",\"reach\":\"travels\",\"value\":\"40..*\",\"by\":\"test\",\"epoch\":\"7\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"c-C\",\"sign\":\"+1\",\"origin\":\"ana\",\"value\":\"42..48\",\"by\":\"test\",\"epoch\":\"8\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"c-L\",\"sign\":\"+1\",\"origin\":\"luis\",\"value\":\"44..47\",\"by\":\"test\",\"epoch\":\"9\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"disagreement\",\"sign\":\"+1\",\"origin\":\"ana\",\"value\":\"40..43\",\"by\":\"test\",\"epoch\":\"10\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"withdraw-disagreement\",\"sign\":\"-1\",\"takes\":\"disagreement\",\"by\":\"test\",\"epoch\":\"11\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"withdraw-c-C\",\"sign\":\"-1\",\"takes\":\"c-C\",\"by\":\"test\",\"epoch\":\"12\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"withdraw-c-L\",\"sign\":\"-1\",\"takes\":\"c-L\",\"by\":\"test\",\"epoch\":\"13\"}}]]",
27
+ "expected": "[\"fact\",[{\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[\"s-B\",\"j-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"lo\":0,\"hi\":50},\"id\":\"s-B\",\"at\":5},{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":{\"lo\":0,\"hi\":100},\"widens\":\"local-opening\",\"at\":6,\"id\":\"j-B\"},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":40,\"hi\":100},\"id\":\"r-B\",\"at\":7}],\"claims\":[]},{\"cell\":\"C\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]},{\"cell\":\"G\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]},{\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":0,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":0,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}]]\n"
28
+ },
29
+ {
30
+ "id": "yes/outside-ceiling",
31
+ "covers": [
32
+ "rule/outside-ceiling"
33
+ ],
34
+ "request": "[\"bound-object-request@1\",[{\"record\":\"cell\",\"fields\":{\"scope\":\"B\",\"restsOn\":\"none\",\"type\":\"cell\",\"id\":\"def-B\",\"form\":\"interval\",\"measure\":\"count\",\"params\":\"{\\\"lo\\\":0,\\\"hi\\\":100}\",\"topos\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"by\":\"test\",\"epoch\":\"1\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"C\",\"restsOn\":\"B\",\"type\":\"cell\",\"id\":\"def-C\",\"form\":\"interval\",\"measure\":\"count\",\"params\":\"{\\\"lo\\\":0,\\\"hi\\\":100}\",\"topos\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"by\":\"test\",\"epoch\":\"2\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"G\",\"restsOn\":\"C\",\"type\":\"cell\",\"id\":\"def-G\",\"form\":\"interval\",\"measure\":\"count\",\"params\":\"{\\\"lo\\\":0,\\\"hi\\\":100}\",\"topos\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"by\":\"test\",\"epoch\":\"3\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"D\",\"restsOn\":\"none\",\"type\":\"cell\",\"id\":\"def-D\",\"form\":\"interval\",\"measure\":\"count\",\"params\":\"{\\\"lo\\\":0,\\\"hi\\\":100}\",\"topos\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"by\":\"test\",\"epoch\":\"4\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"s-B\",\"sign\":\"+1\",\"pole\":\"ceiling\",\"reach\":\"travels\",\"value\":\"0..50\",\"by\":\"test\",\"epoch\":\"5\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"j-B\",\"sign\":\"+1\",\"pole\":\"ceiling\",\"reach\":\"local\",\"widens\":\"local-opening\",\"value\":\"0..100\",\"by\":\"test\",\"epoch\":\"6\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"r-B\",\"sign\":\"+1\",\"pole\":\"floor\",\"reach\":\"travels\",\"value\":\"40..*\",\"by\":\"test\",\"epoch\":\"7\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"c-C\",\"sign\":\"+1\",\"origin\":\"ana\",\"value\":\"42..48\",\"by\":\"test\",\"epoch\":\"8\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"c-L\",\"sign\":\"+1\",\"origin\":\"luis\",\"value\":\"44..47\",\"by\":\"test\",\"epoch\":\"9\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"disagreement\",\"sign\":\"+1\",\"origin\":\"ana\",\"value\":\"40..43\",\"by\":\"test\",\"epoch\":\"10\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"withdraw-disagreement\",\"sign\":\"-1\",\"takes\":\"disagreement\",\"by\":\"test\",\"epoch\":\"11\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"withdraw-c-C\",\"sign\":\"-1\",\"takes\":\"c-C\",\"by\":\"test\",\"epoch\":\"12\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"withdraw-c-L\",\"sign\":\"-1\",\"takes\":\"c-L\",\"by\":\"test\",\"epoch\":\"13\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"outside-a\",\"sign\":\"+1\",\"origin\":\"ana\",\"value\":\"65..75\",\"by\":\"test\",\"epoch\":\"14\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"outside-b\",\"sign\":\"+1\",\"origin\":\"luis\",\"value\":\"65..75\",\"by\":\"test\",\"epoch\":\"15\"}}]]",
35
+ "expected": "[\"fact\",[{\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[\"s-B\",\"j-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"lo\":0,\"hi\":50},\"id\":\"s-B\",\"at\":5},{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":{\"lo\":0,\"hi\":100},\"widens\":\"local-opening\",\"at\":6,\"id\":\"j-B\"},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":40,\"hi\":100},\"id\":\"r-B\",\"at\":7}],\"claims\":[]},{\"cell\":\"C\",\"state\":\"FORBIDDEN\",\"parts\":{\"floor\":{\"lo\":65,\"hi\":75},\"ceiling\":{\"lo\":65,\"hi\":50},\"origins\":[{\"id\":\"outside-a\",\"at\":14,\"origin\":\"ana\",\"span\":{\"lo\":65,\"hi\":75}},{\"id\":\"outside-b\",\"at\":15,\"origin\":\"luis\",\"span\":{\"lo\":65,\"hi\":75}}],\"rest\":[\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[{\"id\":\"outside-a\",\"origin\":\"ana\"},{\"id\":\"outside-b\",\"origin\":\"luis\"}],\"marks\":[],\"claims\":[{\"id\":\"outside-a\",\"at\":14,\"origin\":\"ana\",\"span\":{\"lo\":65,\"hi\":75}},{\"id\":\"outside-b\",\"at\":15,\"origin\":\"luis\",\"span\":{\"lo\":65,\"hi\":75}}]},{\"cell\":\"G\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]},{\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":0,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":0,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}]]\n"
36
+ },
37
+ {
38
+ "id": "yes/incompatible-bounds",
39
+ "covers": [
40
+ "rule/incompatible-bounds"
41
+ ],
42
+ "request": "[\"bound-object-request@1\",[{\"record\":\"cell\",\"fields\":{\"scope\":\"B\",\"restsOn\":\"none\",\"type\":\"cell\",\"id\":\"def-B\",\"form\":\"interval\",\"measure\":\"count\",\"params\":\"{\\\"lo\\\":0,\\\"hi\\\":100}\",\"topos\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"by\":\"test\",\"epoch\":\"1\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"C\",\"restsOn\":\"B\",\"type\":\"cell\",\"id\":\"def-C\",\"form\":\"interval\",\"measure\":\"count\",\"params\":\"{\\\"lo\\\":0,\\\"hi\\\":100}\",\"topos\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"by\":\"test\",\"epoch\":\"2\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"G\",\"restsOn\":\"C\",\"type\":\"cell\",\"id\":\"def-G\",\"form\":\"interval\",\"measure\":\"count\",\"params\":\"{\\\"lo\\\":0,\\\"hi\\\":100}\",\"topos\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"by\":\"test\",\"epoch\":\"3\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"D\",\"restsOn\":\"none\",\"type\":\"cell\",\"id\":\"def-D\",\"form\":\"interval\",\"measure\":\"count\",\"params\":\"{\\\"lo\\\":0,\\\"hi\\\":100}\",\"topos\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"by\":\"test\",\"epoch\":\"4\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"s-B\",\"sign\":\"+1\",\"pole\":\"ceiling\",\"reach\":\"travels\",\"value\":\"0..50\",\"by\":\"test\",\"epoch\":\"5\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"j-B\",\"sign\":\"+1\",\"pole\":\"ceiling\",\"reach\":\"local\",\"widens\":\"local-opening\",\"value\":\"0..100\",\"by\":\"test\",\"epoch\":\"6\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"r-B\",\"sign\":\"+1\",\"pole\":\"floor\",\"reach\":\"travels\",\"value\":\"40..*\",\"by\":\"test\",\"epoch\":\"7\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"c-C\",\"sign\":\"+1\",\"origin\":\"ana\",\"value\":\"42..48\",\"by\":\"test\",\"epoch\":\"8\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"c-L\",\"sign\":\"+1\",\"origin\":\"luis\",\"value\":\"44..47\",\"by\":\"test\",\"epoch\":\"9\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"disagreement\",\"sign\":\"+1\",\"origin\":\"ana\",\"value\":\"40..43\",\"by\":\"test\",\"epoch\":\"10\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"withdraw-disagreement\",\"sign\":\"-1\",\"takes\":\"disagreement\",\"by\":\"test\",\"epoch\":\"11\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"withdraw-c-C\",\"sign\":\"-1\",\"takes\":\"c-C\",\"by\":\"test\",\"epoch\":\"12\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"withdraw-c-L\",\"sign\":\"-1\",\"takes\":\"c-L\",\"by\":\"test\",\"epoch\":\"13\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"outside-a\",\"sign\":\"+1\",\"origin\":\"ana\",\"value\":\"65..75\",\"by\":\"test\",\"epoch\":\"14\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"outside-b\",\"sign\":\"+1\",\"origin\":\"luis\",\"value\":\"65..75\",\"by\":\"test\",\"epoch\":\"15\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"G\",\"id\":\"incompatible-floor\",\"sign\":\"+1\",\"pole\":\"floor\",\"reach\":\"travels\",\"value\":\"60..*\",\"by\":\"test\",\"epoch\":\"16\"}}]]",
43
+ "expected": "[\"fact\",[{\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[\"s-B\",\"j-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"lo\":0,\"hi\":50},\"id\":\"s-B\",\"at\":5},{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":{\"lo\":0,\"hi\":100},\"widens\":\"local-opening\",\"at\":6,\"id\":\"j-B\"},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":40,\"hi\":100},\"id\":\"r-B\",\"at\":7}],\"claims\":[]},{\"cell\":\"C\",\"state\":\"FORBIDDEN\",\"parts\":{\"floor\":{\"lo\":65,\"hi\":75},\"ceiling\":{\"lo\":65,\"hi\":50},\"origins\":[{\"id\":\"outside-a\",\"at\":14,\"origin\":\"ana\",\"span\":{\"lo\":65,\"hi\":75}},{\"id\":\"outside-b\",\"at\":15,\"origin\":\"luis\",\"span\":{\"lo\":65,\"hi\":75}}],\"rest\":[\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[{\"id\":\"outside-a\",\"origin\":\"ana\"},{\"id\":\"outside-b\",\"origin\":\"luis\"}],\"marks\":[],\"claims\":[{\"id\":\"outside-a\",\"at\":14,\"origin\":\"ana\",\"span\":{\"lo\":65,\"hi\":75}},{\"id\":\"outside-b\",\"at\":15,\"origin\":\"luis\",\"span\":{\"lo\":65,\"hi\":75}}]},{\"cell\":\"G\",\"state\":\"CONFLICT\",\"parts\":{\"floor\":{\"lo\":60,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"lo\":60,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[\"incompatible-floor\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":60,\"hi\":100},\"id\":\"incompatible-floor\",\"at\":16}],\"claims\":[]},{\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":0,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":0,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}]]\n"
44
+ },
45
+ {
46
+ "id": "yes/withdrawn-opening",
47
+ "covers": [
48
+ "rule/withdrawn-opening"
49
+ ],
50
+ "request": "[\"bound-object-request@1\",[{\"record\":\"cell\",\"fields\":{\"scope\":\"B\",\"restsOn\":\"none\",\"type\":\"cell\",\"id\":\"def-B\",\"form\":\"interval\",\"measure\":\"count\",\"params\":\"{\\\"lo\\\":0,\\\"hi\\\":100}\",\"topos\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"by\":\"test\",\"epoch\":\"1\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"C\",\"restsOn\":\"B\",\"type\":\"cell\",\"id\":\"def-C\",\"form\":\"interval\",\"measure\":\"count\",\"params\":\"{\\\"lo\\\":0,\\\"hi\\\":100}\",\"topos\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"by\":\"test\",\"epoch\":\"2\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"G\",\"restsOn\":\"C\",\"type\":\"cell\",\"id\":\"def-G\",\"form\":\"interval\",\"measure\":\"count\",\"params\":\"{\\\"lo\\\":0,\\\"hi\\\":100}\",\"topos\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"by\":\"test\",\"epoch\":\"3\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"D\",\"restsOn\":\"none\",\"type\":\"cell\",\"id\":\"def-D\",\"form\":\"interval\",\"measure\":\"count\",\"params\":\"{\\\"lo\\\":0,\\\"hi\\\":100}\",\"topos\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"by\":\"test\",\"epoch\":\"4\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"s-B\",\"sign\":\"+1\",\"pole\":\"ceiling\",\"reach\":\"travels\",\"value\":\"0..50\",\"by\":\"test\",\"epoch\":\"5\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"j-B\",\"sign\":\"+1\",\"pole\":\"ceiling\",\"reach\":\"local\",\"widens\":\"local-opening\",\"value\":\"0..100\",\"by\":\"test\",\"epoch\":\"6\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"r-B\",\"sign\":\"+1\",\"pole\":\"floor\",\"reach\":\"travels\",\"value\":\"40..*\",\"by\":\"test\",\"epoch\":\"7\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"c-C\",\"sign\":\"+1\",\"origin\":\"ana\",\"value\":\"42..48\",\"by\":\"test\",\"epoch\":\"8\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"c-L\",\"sign\":\"+1\",\"origin\":\"luis\",\"value\":\"44..47\",\"by\":\"test\",\"epoch\":\"9\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"disagreement\",\"sign\":\"+1\",\"origin\":\"ana\",\"value\":\"40..43\",\"by\":\"test\",\"epoch\":\"10\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"withdraw-disagreement\",\"sign\":\"-1\",\"takes\":\"disagreement\",\"by\":\"test\",\"epoch\":\"11\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"withdraw-c-C\",\"sign\":\"-1\",\"takes\":\"c-C\",\"by\":\"test\",\"epoch\":\"12\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"withdraw-c-L\",\"sign\":\"-1\",\"takes\":\"c-L\",\"by\":\"test\",\"epoch\":\"13\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"outside-a\",\"sign\":\"+1\",\"origin\":\"ana\",\"value\":\"65..75\",\"by\":\"test\",\"epoch\":\"14\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"outside-b\",\"sign\":\"+1\",\"origin\":\"luis\",\"value\":\"65..75\",\"by\":\"test\",\"epoch\":\"15\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"G\",\"id\":\"incompatible-floor\",\"sign\":\"+1\",\"pole\":\"floor\",\"reach\":\"travels\",\"value\":\"60..*\",\"by\":\"test\",\"epoch\":\"16\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"withdraw-j\",\"sign\":\"-1\",\"takes\":\"j-B\",\"by\":\"test\",\"epoch\":\"17\"}}]]",
51
+ "expected": "[\"fact\",[{\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[],\"ownMarks\":[\"s-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"lo\":0,\"hi\":50},\"id\":\"s-B\",\"at\":5},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":40,\"hi\":100},\"id\":\"r-B\",\"at\":7}],\"claims\":[]},{\"cell\":\"C\",\"state\":\"FORBIDDEN\",\"parts\":{\"floor\":{\"lo\":65,\"hi\":75},\"ceiling\":{\"lo\":65,\"hi\":50},\"origins\":[{\"id\":\"outside-a\",\"at\":14,\"origin\":\"ana\",\"span\":{\"lo\":65,\"hi\":75}},{\"id\":\"outside-b\",\"at\":15,\"origin\":\"luis\",\"span\":{\"lo\":65,\"hi\":75}}],\"rest\":[\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[{\"id\":\"outside-a\",\"origin\":\"ana\"},{\"id\":\"outside-b\",\"origin\":\"luis\"}],\"marks\":[],\"claims\":[{\"id\":\"outside-a\",\"at\":14,\"origin\":\"ana\",\"span\":{\"lo\":65,\"hi\":75}},{\"id\":\"outside-b\",\"at\":15,\"origin\":\"luis\",\"span\":{\"lo\":65,\"hi\":75}}]},{\"cell\":\"G\",\"state\":\"CONFLICT\",\"parts\":{\"floor\":{\"lo\":60,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"lo\":60,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[\"incompatible-floor\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":60,\"hi\":100},\"id\":\"incompatible-floor\",\"at\":16}],\"claims\":[]},{\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":0,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":0,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}]]\n"
52
+ },
53
+ {
54
+ "id": "yes/invalid-withdrawal",
55
+ "covers": [
56
+ "refusal/engine/context"
57
+ ],
58
+ "request": "[\"bound-object-request@1\",[{\"record\":\"cell\",\"fields\":{\"scope\":\"B\",\"restsOn\":\"none\",\"type\":\"cell\",\"id\":\"def-B\",\"form\":\"interval\",\"measure\":\"count\",\"params\":\"{\\\"lo\\\":0,\\\"hi\\\":100}\",\"topos\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"by\":\"test\",\"epoch\":\"1\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"C\",\"restsOn\":\"B\",\"type\":\"cell\",\"id\":\"def-C\",\"form\":\"interval\",\"measure\":\"count\",\"params\":\"{\\\"lo\\\":0,\\\"hi\\\":100}\",\"topos\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"by\":\"test\",\"epoch\":\"2\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"G\",\"restsOn\":\"C\",\"type\":\"cell\",\"id\":\"def-G\",\"form\":\"interval\",\"measure\":\"count\",\"params\":\"{\\\"lo\\\":0,\\\"hi\\\":100}\",\"topos\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"by\":\"test\",\"epoch\":\"3\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"D\",\"restsOn\":\"none\",\"type\":\"cell\",\"id\":\"def-D\",\"form\":\"interval\",\"measure\":\"count\",\"params\":\"{\\\"lo\\\":0,\\\"hi\\\":100}\",\"topos\":\"sha256:0000000000000000000000000000000000000000000000000000000000000000\",\"by\":\"test\",\"epoch\":\"4\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"s-B\",\"sign\":\"+1\",\"pole\":\"ceiling\",\"reach\":\"travels\",\"value\":\"0..50\",\"by\":\"test\",\"epoch\":\"5\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"j-B\",\"sign\":\"+1\",\"pole\":\"ceiling\",\"reach\":\"local\",\"widens\":\"local-opening\",\"value\":\"0..100\",\"by\":\"test\",\"epoch\":\"6\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"r-B\",\"sign\":\"+1\",\"pole\":\"floor\",\"reach\":\"travels\",\"value\":\"40..*\",\"by\":\"test\",\"epoch\":\"7\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"c-C\",\"sign\":\"+1\",\"origin\":\"ana\",\"value\":\"42..48\",\"by\":\"test\",\"epoch\":\"8\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"c-L\",\"sign\":\"+1\",\"origin\":\"luis\",\"value\":\"44..47\",\"by\":\"test\",\"epoch\":\"9\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"disagreement\",\"sign\":\"+1\",\"origin\":\"ana\",\"value\":\"40..43\",\"by\":\"test\",\"epoch\":\"10\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"withdraw-disagreement\",\"sign\":\"-1\",\"takes\":\"disagreement\",\"by\":\"test\",\"epoch\":\"11\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"withdraw-c-C\",\"sign\":\"-1\",\"takes\":\"c-C\",\"by\":\"test\",\"epoch\":\"12\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"withdraw-c-L\",\"sign\":\"-1\",\"takes\":\"c-L\",\"by\":\"test\",\"epoch\":\"13\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"outside-a\",\"sign\":\"+1\",\"origin\":\"ana\",\"value\":\"65..75\",\"by\":\"test\",\"epoch\":\"14\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"outside-b\",\"sign\":\"+1\",\"origin\":\"luis\",\"value\":\"65..75\",\"by\":\"test\",\"epoch\":\"15\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"G\",\"id\":\"incompatible-floor\",\"sign\":\"+1\",\"pole\":\"floor\",\"reach\":\"travels\",\"value\":\"60..*\",\"by\":\"test\",\"epoch\":\"16\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"withdraw-j\",\"sign\":\"-1\",\"takes\":\"j-B\",\"by\":\"test\",\"epoch\":\"17\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"invalid-withdrawal\",\"sign\":\"-1\",\"takes\":\"not-present\",\"by\":\"test\",\"epoch\":\"18\"}}]]",
59
+ "expected": "[\"refuse\",\"engine/context\"]\n"
60
+ },
61
+ {
62
+ "id": "artifacts/compatible",
63
+ "covers": [
64
+ "rule/compatible"
65
+ ],
66
+ "request": "[\"bound-object-request@1\",[{\"record\":\"cell\",\"fields\":{\"scope\":\"B\",\"restsOn\":\"none\",\"type\":\"cell\",\"id\":\"def-B\",\"form\":\"alphabet\",\"measure\":\"artifact\",\"params\":\"{\\\"tokens\\\":[\\\"lock\\\",\\\"readme\\\",\\\"source\\\"]}\",\"topos\":\"sha256:1111111111111111111111111111111111111111111111111111111111111111\",\"by\":\"test\",\"epoch\":\"1\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"C\",\"restsOn\":\"B\",\"type\":\"cell\",\"id\":\"def-C\",\"form\":\"alphabet\",\"measure\":\"artifact\",\"params\":\"{\\\"tokens\\\":[\\\"lock\\\",\\\"readme\\\",\\\"source\\\"]}\",\"topos\":\"sha256:1111111111111111111111111111111111111111111111111111111111111111\",\"by\":\"test\",\"epoch\":\"2\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"G\",\"restsOn\":\"C\",\"type\":\"cell\",\"id\":\"def-G\",\"form\":\"alphabet\",\"measure\":\"artifact\",\"params\":\"{\\\"tokens\\\":[\\\"lock\\\",\\\"readme\\\",\\\"source\\\"]}\",\"topos\":\"sha256:1111111111111111111111111111111111111111111111111111111111111111\",\"by\":\"test\",\"epoch\":\"3\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"D\",\"restsOn\":\"none\",\"type\":\"cell\",\"id\":\"def-D\",\"form\":\"alphabet\",\"measure\":\"artifact\",\"params\":\"{\\\"tokens\\\":[\\\"lock\\\",\\\"readme\\\",\\\"source\\\"]}\",\"topos\":\"sha256:1111111111111111111111111111111111111111111111111111111111111111\",\"by\":\"test\",\"epoch\":\"4\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"s-B\",\"sign\":\"+1\",\"pole\":\"ceiling\",\"reach\":\"travels\",\"value\":\"lock|readme\",\"by\":\"test\",\"epoch\":\"5\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"j-B\",\"sign\":\"+1\",\"pole\":\"ceiling\",\"reach\":\"local\",\"widens\":\"local-opening\",\"value\":\"lock|readme|source\",\"by\":\"test\",\"epoch\":\"6\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"r-B\",\"sign\":\"+1\",\"pole\":\"floor\",\"reach\":\"travels\",\"value\":\"lock\",\"by\":\"test\",\"epoch\":\"7\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"c-C\",\"sign\":\"+1\",\"origin\":\"ana\",\"value\":\"lock|readme\",\"by\":\"test\",\"epoch\":\"8\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"c-L\",\"sign\":\"+1\",\"origin\":\"luis\",\"value\":\"lock\",\"by\":\"test\",\"epoch\":\"9\"}}]]",
67
+ "expected": "[\"fact\",[{\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":1},\"width\":3},\"ceiling\":{\"words\":{\"0\":7},\"width\":3},\"origins\":[],\"rest\":[],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":7},\"width\":3}},\"rest\":[],\"ownMarks\":[\"s-B\",\"j-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"words\":{\"0\":3},\"width\":3},\"id\":\"s-B\",\"at\":5},{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":{\"words\":{\"0\":7},\"width\":3},\"widens\":\"local-opening\",\"at\":6,\"id\":\"j-B\"},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"words\":{\"0\":1},\"width\":3},\"id\":\"r-B\",\"at\":7}],\"claims\":[]},{\"cell\":\"C\",\"state\":\"FREE\",\"parts\":{\"floor\":{\"words\":{\"0\":1},\"width\":3},\"ceiling\":{\"words\":{\"0\":1},\"width\":3},\"origins\":[{\"id\":\"c-C\",\"at\":8,\"origin\":\"ana\",\"span\":{\"words\":{\"0\":3},\"width\":3}},{\"id\":\"c-L\",\"at\":9,\"origin\":\"luis\",\"span\":{\"words\":{\"0\":1},\"width\":3}}],\"rest\":[\"B\"],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":3},\"width\":3}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[{\"id\":\"c-C\",\"origin\":\"ana\"},{\"id\":\"c-L\",\"origin\":\"luis\"}],\"marks\":[],\"claims\":[{\"id\":\"c-C\",\"at\":8,\"origin\":\"ana\",\"span\":{\"words\":{\"0\":3},\"width\":3}},{\"id\":\"c-L\",\"at\":9,\"origin\":\"luis\",\"span\":{\"words\":{\"0\":1},\"width\":3}}]},{\"cell\":\"G\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":1},\"width\":3},\"ceiling\":{\"words\":{\"0\":3},\"width\":3},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":3},\"width\":3}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]},{\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":7},\"width\":3},\"ceiling\":{\"words\":{\"0\":7},\"width\":3},\"origins\":[],\"rest\":[],\"required\":{\"words\":{\"0\":7},\"width\":3},\"signed\":{\"words\":{\"0\":7},\"width\":3}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}]]\n"
68
+ },
69
+ {
70
+ "id": "artifacts/incompatible-origins",
71
+ "covers": [
72
+ "rule/incompatible-origins"
73
+ ],
74
+ "request": "[\"bound-object-request@1\",[{\"record\":\"cell\",\"fields\":{\"scope\":\"B\",\"restsOn\":\"none\",\"type\":\"cell\",\"id\":\"def-B\",\"form\":\"alphabet\",\"measure\":\"artifact\",\"params\":\"{\\\"tokens\\\":[\\\"lock\\\",\\\"readme\\\",\\\"source\\\"]}\",\"topos\":\"sha256:1111111111111111111111111111111111111111111111111111111111111111\",\"by\":\"test\",\"epoch\":\"1\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"C\",\"restsOn\":\"B\",\"type\":\"cell\",\"id\":\"def-C\",\"form\":\"alphabet\",\"measure\":\"artifact\",\"params\":\"{\\\"tokens\\\":[\\\"lock\\\",\\\"readme\\\",\\\"source\\\"]}\",\"topos\":\"sha256:1111111111111111111111111111111111111111111111111111111111111111\",\"by\":\"test\",\"epoch\":\"2\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"G\",\"restsOn\":\"C\",\"type\":\"cell\",\"id\":\"def-G\",\"form\":\"alphabet\",\"measure\":\"artifact\",\"params\":\"{\\\"tokens\\\":[\\\"lock\\\",\\\"readme\\\",\\\"source\\\"]}\",\"topos\":\"sha256:1111111111111111111111111111111111111111111111111111111111111111\",\"by\":\"test\",\"epoch\":\"3\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"D\",\"restsOn\":\"none\",\"type\":\"cell\",\"id\":\"def-D\",\"form\":\"alphabet\",\"measure\":\"artifact\",\"params\":\"{\\\"tokens\\\":[\\\"lock\\\",\\\"readme\\\",\\\"source\\\"]}\",\"topos\":\"sha256:1111111111111111111111111111111111111111111111111111111111111111\",\"by\":\"test\",\"epoch\":\"4\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"s-B\",\"sign\":\"+1\",\"pole\":\"ceiling\",\"reach\":\"travels\",\"value\":\"lock|readme\",\"by\":\"test\",\"epoch\":\"5\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"j-B\",\"sign\":\"+1\",\"pole\":\"ceiling\",\"reach\":\"local\",\"widens\":\"local-opening\",\"value\":\"lock|readme|source\",\"by\":\"test\",\"epoch\":\"6\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"r-B\",\"sign\":\"+1\",\"pole\":\"floor\",\"reach\":\"travels\",\"value\":\"lock\",\"by\":\"test\",\"epoch\":\"7\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"c-C\",\"sign\":\"+1\",\"origin\":\"ana\",\"value\":\"lock|readme\",\"by\":\"test\",\"epoch\":\"8\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"c-L\",\"sign\":\"+1\",\"origin\":\"luis\",\"value\":\"lock\",\"by\":\"test\",\"epoch\":\"9\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"disagreement\",\"sign\":\"+1\",\"origin\":\"ana\",\"value\":\"readme\",\"by\":\"test\",\"epoch\":\"10\"}}]]",
75
+ "expected": "[\"fact\",[{\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":1},\"width\":3},\"ceiling\":{\"words\":{\"0\":7},\"width\":3},\"origins\":[],\"rest\":[],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":7},\"width\":3}},\"rest\":[],\"ownMarks\":[\"s-B\",\"j-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"words\":{\"0\":3},\"width\":3},\"id\":\"s-B\",\"at\":5},{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":{\"words\":{\"0\":7},\"width\":3},\"widens\":\"local-opening\",\"at\":6,\"id\":\"j-B\"},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"words\":{\"0\":1},\"width\":3},\"id\":\"r-B\",\"at\":7}],\"claims\":[]},{\"cell\":\"C\",\"state\":\"CONFLICT\",\"parts\":{\"floor\":{\"words\":{\"0\":0},\"width\":3},\"ceiling\":{\"words\":{\"0\":0},\"width\":3},\"origins\":[{\"id\":\"c-C\",\"at\":8,\"origin\":\"ana\",\"span\":{\"words\":{\"0\":3},\"width\":3}},{\"id\":\"c-L\",\"at\":9,\"origin\":\"luis\",\"span\":{\"words\":{\"0\":1},\"width\":3}},{\"id\":\"disagreement\",\"at\":10,\"origin\":\"ana\",\"span\":{\"words\":{\"0\":2},\"width\":3}}],\"rest\":[\"B\"],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":3},\"width\":3}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[{\"id\":\"c-C\",\"origin\":\"ana\"},{\"id\":\"c-L\",\"origin\":\"luis\"},{\"id\":\"disagreement\",\"origin\":\"ana\"}],\"marks\":[],\"claims\":[{\"id\":\"c-C\",\"at\":8,\"origin\":\"ana\",\"span\":{\"words\":{\"0\":3},\"width\":3}},{\"id\":\"c-L\",\"at\":9,\"origin\":\"luis\",\"span\":{\"words\":{\"0\":1},\"width\":3}},{\"id\":\"disagreement\",\"at\":10,\"origin\":\"ana\",\"span\":{\"words\":{\"0\":2},\"width\":3}}]},{\"cell\":\"G\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":1},\"width\":3},\"ceiling\":{\"words\":{\"0\":3},\"width\":3},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":3},\"width\":3}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]},{\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":7},\"width\":3},\"ceiling\":{\"words\":{\"0\":7},\"width\":3},\"origins\":[],\"rest\":[],\"required\":{\"words\":{\"0\":7},\"width\":3},\"signed\":{\"words\":{\"0\":7},\"width\":3}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}]]\n"
76
+ },
77
+ {
78
+ "id": "artifacts/withdrawn-claims",
79
+ "covers": [
80
+ "rule/withdrawn-claims"
81
+ ],
82
+ "request": "[\"bound-object-request@1\",[{\"record\":\"cell\",\"fields\":{\"scope\":\"B\",\"restsOn\":\"none\",\"type\":\"cell\",\"id\":\"def-B\",\"form\":\"alphabet\",\"measure\":\"artifact\",\"params\":\"{\\\"tokens\\\":[\\\"lock\\\",\\\"readme\\\",\\\"source\\\"]}\",\"topos\":\"sha256:1111111111111111111111111111111111111111111111111111111111111111\",\"by\":\"test\",\"epoch\":\"1\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"C\",\"restsOn\":\"B\",\"type\":\"cell\",\"id\":\"def-C\",\"form\":\"alphabet\",\"measure\":\"artifact\",\"params\":\"{\\\"tokens\\\":[\\\"lock\\\",\\\"readme\\\",\\\"source\\\"]}\",\"topos\":\"sha256:1111111111111111111111111111111111111111111111111111111111111111\",\"by\":\"test\",\"epoch\":\"2\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"G\",\"restsOn\":\"C\",\"type\":\"cell\",\"id\":\"def-G\",\"form\":\"alphabet\",\"measure\":\"artifact\",\"params\":\"{\\\"tokens\\\":[\\\"lock\\\",\\\"readme\\\",\\\"source\\\"]}\",\"topos\":\"sha256:1111111111111111111111111111111111111111111111111111111111111111\",\"by\":\"test\",\"epoch\":\"3\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"D\",\"restsOn\":\"none\",\"type\":\"cell\",\"id\":\"def-D\",\"form\":\"alphabet\",\"measure\":\"artifact\",\"params\":\"{\\\"tokens\\\":[\\\"lock\\\",\\\"readme\\\",\\\"source\\\"]}\",\"topos\":\"sha256:1111111111111111111111111111111111111111111111111111111111111111\",\"by\":\"test\",\"epoch\":\"4\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"s-B\",\"sign\":\"+1\",\"pole\":\"ceiling\",\"reach\":\"travels\",\"value\":\"lock|readme\",\"by\":\"test\",\"epoch\":\"5\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"j-B\",\"sign\":\"+1\",\"pole\":\"ceiling\",\"reach\":\"local\",\"widens\":\"local-opening\",\"value\":\"lock|readme|source\",\"by\":\"test\",\"epoch\":\"6\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"r-B\",\"sign\":\"+1\",\"pole\":\"floor\",\"reach\":\"travels\",\"value\":\"lock\",\"by\":\"test\",\"epoch\":\"7\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"c-C\",\"sign\":\"+1\",\"origin\":\"ana\",\"value\":\"lock|readme\",\"by\":\"test\",\"epoch\":\"8\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"c-L\",\"sign\":\"+1\",\"origin\":\"luis\",\"value\":\"lock\",\"by\":\"test\",\"epoch\":\"9\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"disagreement\",\"sign\":\"+1\",\"origin\":\"ana\",\"value\":\"readme\",\"by\":\"test\",\"epoch\":\"10\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"withdraw-disagreement\",\"sign\":\"-1\",\"takes\":\"disagreement\",\"by\":\"test\",\"epoch\":\"11\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"withdraw-c-C\",\"sign\":\"-1\",\"takes\":\"c-C\",\"by\":\"test\",\"epoch\":\"12\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"withdraw-c-L\",\"sign\":\"-1\",\"takes\":\"c-L\",\"by\":\"test\",\"epoch\":\"13\"}}]]",
83
+ "expected": "[\"fact\",[{\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":1},\"width\":3},\"ceiling\":{\"words\":{\"0\":7},\"width\":3},\"origins\":[],\"rest\":[],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":7},\"width\":3}},\"rest\":[],\"ownMarks\":[\"s-B\",\"j-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"words\":{\"0\":3},\"width\":3},\"id\":\"s-B\",\"at\":5},{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":{\"words\":{\"0\":7},\"width\":3},\"widens\":\"local-opening\",\"at\":6,\"id\":\"j-B\"},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"words\":{\"0\":1},\"width\":3},\"id\":\"r-B\",\"at\":7}],\"claims\":[]},{\"cell\":\"C\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":1},\"width\":3},\"ceiling\":{\"words\":{\"0\":3},\"width\":3},\"origins\":[],\"rest\":[\"B\"],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":3},\"width\":3}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]},{\"cell\":\"G\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":1},\"width\":3},\"ceiling\":{\"words\":{\"0\":3},\"width\":3},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":3},\"width\":3}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]},{\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":7},\"width\":3},\"ceiling\":{\"words\":{\"0\":7},\"width\":3},\"origins\":[],\"rest\":[],\"required\":{\"words\":{\"0\":7},\"width\":3},\"signed\":{\"words\":{\"0\":7},\"width\":3}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}]]\n"
84
+ },
85
+ {
86
+ "id": "artifacts/outside-ceiling",
87
+ "covers": [
88
+ "rule/outside-ceiling"
89
+ ],
90
+ "request": "[\"bound-object-request@1\",[{\"record\":\"cell\",\"fields\":{\"scope\":\"B\",\"restsOn\":\"none\",\"type\":\"cell\",\"id\":\"def-B\",\"form\":\"alphabet\",\"measure\":\"artifact\",\"params\":\"{\\\"tokens\\\":[\\\"lock\\\",\\\"readme\\\",\\\"source\\\"]}\",\"topos\":\"sha256:1111111111111111111111111111111111111111111111111111111111111111\",\"by\":\"test\",\"epoch\":\"1\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"C\",\"restsOn\":\"B\",\"type\":\"cell\",\"id\":\"def-C\",\"form\":\"alphabet\",\"measure\":\"artifact\",\"params\":\"{\\\"tokens\\\":[\\\"lock\\\",\\\"readme\\\",\\\"source\\\"]}\",\"topos\":\"sha256:1111111111111111111111111111111111111111111111111111111111111111\",\"by\":\"test\",\"epoch\":\"2\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"G\",\"restsOn\":\"C\",\"type\":\"cell\",\"id\":\"def-G\",\"form\":\"alphabet\",\"measure\":\"artifact\",\"params\":\"{\\\"tokens\\\":[\\\"lock\\\",\\\"readme\\\",\\\"source\\\"]}\",\"topos\":\"sha256:1111111111111111111111111111111111111111111111111111111111111111\",\"by\":\"test\",\"epoch\":\"3\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"D\",\"restsOn\":\"none\",\"type\":\"cell\",\"id\":\"def-D\",\"form\":\"alphabet\",\"measure\":\"artifact\",\"params\":\"{\\\"tokens\\\":[\\\"lock\\\",\\\"readme\\\",\\\"source\\\"]}\",\"topos\":\"sha256:1111111111111111111111111111111111111111111111111111111111111111\",\"by\":\"test\",\"epoch\":\"4\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"s-B\",\"sign\":\"+1\",\"pole\":\"ceiling\",\"reach\":\"travels\",\"value\":\"lock|readme\",\"by\":\"test\",\"epoch\":\"5\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"j-B\",\"sign\":\"+1\",\"pole\":\"ceiling\",\"reach\":\"local\",\"widens\":\"local-opening\",\"value\":\"lock|readme|source\",\"by\":\"test\",\"epoch\":\"6\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"r-B\",\"sign\":\"+1\",\"pole\":\"floor\",\"reach\":\"travels\",\"value\":\"lock\",\"by\":\"test\",\"epoch\":\"7\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"c-C\",\"sign\":\"+1\",\"origin\":\"ana\",\"value\":\"lock|readme\",\"by\":\"test\",\"epoch\":\"8\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"c-L\",\"sign\":\"+1\",\"origin\":\"luis\",\"value\":\"lock\",\"by\":\"test\",\"epoch\":\"9\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"disagreement\",\"sign\":\"+1\",\"origin\":\"ana\",\"value\":\"readme\",\"by\":\"test\",\"epoch\":\"10\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"withdraw-disagreement\",\"sign\":\"-1\",\"takes\":\"disagreement\",\"by\":\"test\",\"epoch\":\"11\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"withdraw-c-C\",\"sign\":\"-1\",\"takes\":\"c-C\",\"by\":\"test\",\"epoch\":\"12\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"withdraw-c-L\",\"sign\":\"-1\",\"takes\":\"c-L\",\"by\":\"test\",\"epoch\":\"13\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"outside-a\",\"sign\":\"+1\",\"origin\":\"ana\",\"value\":\"source\",\"by\":\"test\",\"epoch\":\"14\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"outside-b\",\"sign\":\"+1\",\"origin\":\"luis\",\"value\":\"source\",\"by\":\"test\",\"epoch\":\"15\"}}]]",
91
+ "expected": "[\"fact\",[{\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":1},\"width\":3},\"ceiling\":{\"words\":{\"0\":7},\"width\":3},\"origins\":[],\"rest\":[],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":7},\"width\":3}},\"rest\":[],\"ownMarks\":[\"s-B\",\"j-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"words\":{\"0\":3},\"width\":3},\"id\":\"s-B\",\"at\":5},{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":{\"words\":{\"0\":7},\"width\":3},\"widens\":\"local-opening\",\"at\":6,\"id\":\"j-B\"},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"words\":{\"0\":1},\"width\":3},\"id\":\"r-B\",\"at\":7}],\"claims\":[]},{\"cell\":\"C\",\"state\":\"FORBIDDEN\",\"parts\":{\"floor\":{\"words\":{\"0\":0},\"width\":3},\"ceiling\":{\"words\":{\"0\":0},\"width\":3},\"origins\":[{\"id\":\"outside-a\",\"at\":14,\"origin\":\"ana\",\"span\":{\"words\":{\"0\":4},\"width\":3}},{\"id\":\"outside-b\",\"at\":15,\"origin\":\"luis\",\"span\":{\"words\":{\"0\":4},\"width\":3}}],\"rest\":[\"B\"],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":3},\"width\":3}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[{\"id\":\"outside-a\",\"origin\":\"ana\"},{\"id\":\"outside-b\",\"origin\":\"luis\"}],\"marks\":[],\"claims\":[{\"id\":\"outside-a\",\"at\":14,\"origin\":\"ana\",\"span\":{\"words\":{\"0\":4},\"width\":3}},{\"id\":\"outside-b\",\"at\":15,\"origin\":\"luis\",\"span\":{\"words\":{\"0\":4},\"width\":3}}]},{\"cell\":\"G\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":1},\"width\":3},\"ceiling\":{\"words\":{\"0\":3},\"width\":3},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":3},\"width\":3}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]},{\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":7},\"width\":3},\"ceiling\":{\"words\":{\"0\":7},\"width\":3},\"origins\":[],\"rest\":[],\"required\":{\"words\":{\"0\":7},\"width\":3},\"signed\":{\"words\":{\"0\":7},\"width\":3}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}]]\n"
92
+ },
93
+ {
94
+ "id": "artifacts/incompatible-bounds",
95
+ "covers": [
96
+ "rule/incompatible-bounds"
97
+ ],
98
+ "request": "[\"bound-object-request@1\",[{\"record\":\"cell\",\"fields\":{\"scope\":\"B\",\"restsOn\":\"none\",\"type\":\"cell\",\"id\":\"def-B\",\"form\":\"alphabet\",\"measure\":\"artifact\",\"params\":\"{\\\"tokens\\\":[\\\"lock\\\",\\\"readme\\\",\\\"source\\\"]}\",\"topos\":\"sha256:1111111111111111111111111111111111111111111111111111111111111111\",\"by\":\"test\",\"epoch\":\"1\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"C\",\"restsOn\":\"B\",\"type\":\"cell\",\"id\":\"def-C\",\"form\":\"alphabet\",\"measure\":\"artifact\",\"params\":\"{\\\"tokens\\\":[\\\"lock\\\",\\\"readme\\\",\\\"source\\\"]}\",\"topos\":\"sha256:1111111111111111111111111111111111111111111111111111111111111111\",\"by\":\"test\",\"epoch\":\"2\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"G\",\"restsOn\":\"C\",\"type\":\"cell\",\"id\":\"def-G\",\"form\":\"alphabet\",\"measure\":\"artifact\",\"params\":\"{\\\"tokens\\\":[\\\"lock\\\",\\\"readme\\\",\\\"source\\\"]}\",\"topos\":\"sha256:1111111111111111111111111111111111111111111111111111111111111111\",\"by\":\"test\",\"epoch\":\"3\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"D\",\"restsOn\":\"none\",\"type\":\"cell\",\"id\":\"def-D\",\"form\":\"alphabet\",\"measure\":\"artifact\",\"params\":\"{\\\"tokens\\\":[\\\"lock\\\",\\\"readme\\\",\\\"source\\\"]}\",\"topos\":\"sha256:1111111111111111111111111111111111111111111111111111111111111111\",\"by\":\"test\",\"epoch\":\"4\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"s-B\",\"sign\":\"+1\",\"pole\":\"ceiling\",\"reach\":\"travels\",\"value\":\"lock|readme\",\"by\":\"test\",\"epoch\":\"5\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"j-B\",\"sign\":\"+1\",\"pole\":\"ceiling\",\"reach\":\"local\",\"widens\":\"local-opening\",\"value\":\"lock|readme|source\",\"by\":\"test\",\"epoch\":\"6\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"r-B\",\"sign\":\"+1\",\"pole\":\"floor\",\"reach\":\"travels\",\"value\":\"lock\",\"by\":\"test\",\"epoch\":\"7\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"c-C\",\"sign\":\"+1\",\"origin\":\"ana\",\"value\":\"lock|readme\",\"by\":\"test\",\"epoch\":\"8\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"c-L\",\"sign\":\"+1\",\"origin\":\"luis\",\"value\":\"lock\",\"by\":\"test\",\"epoch\":\"9\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"disagreement\",\"sign\":\"+1\",\"origin\":\"ana\",\"value\":\"readme\",\"by\":\"test\",\"epoch\":\"10\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"withdraw-disagreement\",\"sign\":\"-1\",\"takes\":\"disagreement\",\"by\":\"test\",\"epoch\":\"11\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"withdraw-c-C\",\"sign\":\"-1\",\"takes\":\"c-C\",\"by\":\"test\",\"epoch\":\"12\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"withdraw-c-L\",\"sign\":\"-1\",\"takes\":\"c-L\",\"by\":\"test\",\"epoch\":\"13\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"outside-a\",\"sign\":\"+1\",\"origin\":\"ana\",\"value\":\"source\",\"by\":\"test\",\"epoch\":\"14\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"outside-b\",\"sign\":\"+1\",\"origin\":\"luis\",\"value\":\"source\",\"by\":\"test\",\"epoch\":\"15\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"G\",\"id\":\"incompatible-floor\",\"sign\":\"+1\",\"pole\":\"floor\",\"reach\":\"travels\",\"value\":\"source\",\"by\":\"test\",\"epoch\":\"16\"}}]]",
99
+ "expected": "[\"fact\",[{\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":1},\"width\":3},\"ceiling\":{\"words\":{\"0\":7},\"width\":3},\"origins\":[],\"rest\":[],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":7},\"width\":3}},\"rest\":[],\"ownMarks\":[\"s-B\",\"j-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"words\":{\"0\":3},\"width\":3},\"id\":\"s-B\",\"at\":5},{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":{\"words\":{\"0\":7},\"width\":3},\"widens\":\"local-opening\",\"at\":6,\"id\":\"j-B\"},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"words\":{\"0\":1},\"width\":3},\"id\":\"r-B\",\"at\":7}],\"claims\":[]},{\"cell\":\"C\",\"state\":\"FORBIDDEN\",\"parts\":{\"floor\":{\"words\":{\"0\":0},\"width\":3},\"ceiling\":{\"words\":{\"0\":0},\"width\":3},\"origins\":[{\"id\":\"outside-a\",\"at\":14,\"origin\":\"ana\",\"span\":{\"words\":{\"0\":4},\"width\":3}},{\"id\":\"outside-b\",\"at\":15,\"origin\":\"luis\",\"span\":{\"words\":{\"0\":4},\"width\":3}}],\"rest\":[\"B\"],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":3},\"width\":3}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[{\"id\":\"outside-a\",\"origin\":\"ana\"},{\"id\":\"outside-b\",\"origin\":\"luis\"}],\"marks\":[],\"claims\":[{\"id\":\"outside-a\",\"at\":14,\"origin\":\"ana\",\"span\":{\"words\":{\"0\":4},\"width\":3}},{\"id\":\"outside-b\",\"at\":15,\"origin\":\"luis\",\"span\":{\"words\":{\"0\":4},\"width\":3}}]},{\"cell\":\"G\",\"state\":\"CONFLICT\",\"parts\":{\"floor\":{\"words\":{\"0\":0},\"width\":3},\"ceiling\":{\"words\":{\"0\":3},\"width\":3},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"words\":{\"0\":0},\"width\":3},\"signed\":{\"words\":{\"0\":3},\"width\":3}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[\"incompatible-floor\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"words\":{\"0\":4},\"width\":3},\"id\":\"incompatible-floor\",\"at\":16}],\"claims\":[]},{\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":7},\"width\":3},\"ceiling\":{\"words\":{\"0\":7},\"width\":3},\"origins\":[],\"rest\":[],\"required\":{\"words\":{\"0\":7},\"width\":3},\"signed\":{\"words\":{\"0\":7},\"width\":3}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}]]\n"
100
+ },
101
+ {
102
+ "id": "artifacts/withdrawn-opening",
103
+ "covers": [
104
+ "rule/withdrawn-opening"
105
+ ],
106
+ "request": "[\"bound-object-request@1\",[{\"record\":\"cell\",\"fields\":{\"scope\":\"B\",\"restsOn\":\"none\",\"type\":\"cell\",\"id\":\"def-B\",\"form\":\"alphabet\",\"measure\":\"artifact\",\"params\":\"{\\\"tokens\\\":[\\\"lock\\\",\\\"readme\\\",\\\"source\\\"]}\",\"topos\":\"sha256:1111111111111111111111111111111111111111111111111111111111111111\",\"by\":\"test\",\"epoch\":\"1\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"C\",\"restsOn\":\"B\",\"type\":\"cell\",\"id\":\"def-C\",\"form\":\"alphabet\",\"measure\":\"artifact\",\"params\":\"{\\\"tokens\\\":[\\\"lock\\\",\\\"readme\\\",\\\"source\\\"]}\",\"topos\":\"sha256:1111111111111111111111111111111111111111111111111111111111111111\",\"by\":\"test\",\"epoch\":\"2\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"G\",\"restsOn\":\"C\",\"type\":\"cell\",\"id\":\"def-G\",\"form\":\"alphabet\",\"measure\":\"artifact\",\"params\":\"{\\\"tokens\\\":[\\\"lock\\\",\\\"readme\\\",\\\"source\\\"]}\",\"topos\":\"sha256:1111111111111111111111111111111111111111111111111111111111111111\",\"by\":\"test\",\"epoch\":\"3\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"D\",\"restsOn\":\"none\",\"type\":\"cell\",\"id\":\"def-D\",\"form\":\"alphabet\",\"measure\":\"artifact\",\"params\":\"{\\\"tokens\\\":[\\\"lock\\\",\\\"readme\\\",\\\"source\\\"]}\",\"topos\":\"sha256:1111111111111111111111111111111111111111111111111111111111111111\",\"by\":\"test\",\"epoch\":\"4\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"s-B\",\"sign\":\"+1\",\"pole\":\"ceiling\",\"reach\":\"travels\",\"value\":\"lock|readme\",\"by\":\"test\",\"epoch\":\"5\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"j-B\",\"sign\":\"+1\",\"pole\":\"ceiling\",\"reach\":\"local\",\"widens\":\"local-opening\",\"value\":\"lock|readme|source\",\"by\":\"test\",\"epoch\":\"6\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"r-B\",\"sign\":\"+1\",\"pole\":\"floor\",\"reach\":\"travels\",\"value\":\"lock\",\"by\":\"test\",\"epoch\":\"7\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"c-C\",\"sign\":\"+1\",\"origin\":\"ana\",\"value\":\"lock|readme\",\"by\":\"test\",\"epoch\":\"8\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"c-L\",\"sign\":\"+1\",\"origin\":\"luis\",\"value\":\"lock\",\"by\":\"test\",\"epoch\":\"9\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"disagreement\",\"sign\":\"+1\",\"origin\":\"ana\",\"value\":\"readme\",\"by\":\"test\",\"epoch\":\"10\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"withdraw-disagreement\",\"sign\":\"-1\",\"takes\":\"disagreement\",\"by\":\"test\",\"epoch\":\"11\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"withdraw-c-C\",\"sign\":\"-1\",\"takes\":\"c-C\",\"by\":\"test\",\"epoch\":\"12\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"withdraw-c-L\",\"sign\":\"-1\",\"takes\":\"c-L\",\"by\":\"test\",\"epoch\":\"13\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"outside-a\",\"sign\":\"+1\",\"origin\":\"ana\",\"value\":\"source\",\"by\":\"test\",\"epoch\":\"14\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"outside-b\",\"sign\":\"+1\",\"origin\":\"luis\",\"value\":\"source\",\"by\":\"test\",\"epoch\":\"15\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"G\",\"id\":\"incompatible-floor\",\"sign\":\"+1\",\"pole\":\"floor\",\"reach\":\"travels\",\"value\":\"source\",\"by\":\"test\",\"epoch\":\"16\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"withdraw-j\",\"sign\":\"-1\",\"takes\":\"j-B\",\"by\":\"test\",\"epoch\":\"17\"}}]]",
107
+ "expected": "[\"fact\",[{\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":1},\"width\":3},\"ceiling\":{\"words\":{\"0\":3},\"width\":3},\"origins\":[],\"rest\":[],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":3},\"width\":3}},\"rest\":[],\"ownMarks\":[\"s-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"words\":{\"0\":3},\"width\":3},\"id\":\"s-B\",\"at\":5},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"words\":{\"0\":1},\"width\":3},\"id\":\"r-B\",\"at\":7}],\"claims\":[]},{\"cell\":\"C\",\"state\":\"FORBIDDEN\",\"parts\":{\"floor\":{\"words\":{\"0\":0},\"width\":3},\"ceiling\":{\"words\":{\"0\":0},\"width\":3},\"origins\":[{\"id\":\"outside-a\",\"at\":14,\"origin\":\"ana\",\"span\":{\"words\":{\"0\":4},\"width\":3}},{\"id\":\"outside-b\",\"at\":15,\"origin\":\"luis\",\"span\":{\"words\":{\"0\":4},\"width\":3}}],\"rest\":[\"B\"],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":3},\"width\":3}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[{\"id\":\"outside-a\",\"origin\":\"ana\"},{\"id\":\"outside-b\",\"origin\":\"luis\"}],\"marks\":[],\"claims\":[{\"id\":\"outside-a\",\"at\":14,\"origin\":\"ana\",\"span\":{\"words\":{\"0\":4},\"width\":3}},{\"id\":\"outside-b\",\"at\":15,\"origin\":\"luis\",\"span\":{\"words\":{\"0\":4},\"width\":3}}]},{\"cell\":\"G\",\"state\":\"CONFLICT\",\"parts\":{\"floor\":{\"words\":{\"0\":0},\"width\":3},\"ceiling\":{\"words\":{\"0\":3},\"width\":3},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"words\":{\"0\":0},\"width\":3},\"signed\":{\"words\":{\"0\":3},\"width\":3}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[\"incompatible-floor\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"words\":{\"0\":4},\"width\":3},\"id\":\"incompatible-floor\",\"at\":16}],\"claims\":[]},{\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":7},\"width\":3},\"ceiling\":{\"words\":{\"0\":7},\"width\":3},\"origins\":[],\"rest\":[],\"required\":{\"words\":{\"0\":7},\"width\":3},\"signed\":{\"words\":{\"0\":7},\"width\":3}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}]]\n"
108
+ },
109
+ {
110
+ "id": "artifacts/invalid-withdrawal",
111
+ "covers": [
112
+ "refusal/engine/context"
113
+ ],
114
+ "request": "[\"bound-object-request@1\",[{\"record\":\"cell\",\"fields\":{\"scope\":\"B\",\"restsOn\":\"none\",\"type\":\"cell\",\"id\":\"def-B\",\"form\":\"alphabet\",\"measure\":\"artifact\",\"params\":\"{\\\"tokens\\\":[\\\"lock\\\",\\\"readme\\\",\\\"source\\\"]}\",\"topos\":\"sha256:1111111111111111111111111111111111111111111111111111111111111111\",\"by\":\"test\",\"epoch\":\"1\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"C\",\"restsOn\":\"B\",\"type\":\"cell\",\"id\":\"def-C\",\"form\":\"alphabet\",\"measure\":\"artifact\",\"params\":\"{\\\"tokens\\\":[\\\"lock\\\",\\\"readme\\\",\\\"source\\\"]}\",\"topos\":\"sha256:1111111111111111111111111111111111111111111111111111111111111111\",\"by\":\"test\",\"epoch\":\"2\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"G\",\"restsOn\":\"C\",\"type\":\"cell\",\"id\":\"def-G\",\"form\":\"alphabet\",\"measure\":\"artifact\",\"params\":\"{\\\"tokens\\\":[\\\"lock\\\",\\\"readme\\\",\\\"source\\\"]}\",\"topos\":\"sha256:1111111111111111111111111111111111111111111111111111111111111111\",\"by\":\"test\",\"epoch\":\"3\"}},{\"record\":\"cell\",\"fields\":{\"scope\":\"D\",\"restsOn\":\"none\",\"type\":\"cell\",\"id\":\"def-D\",\"form\":\"alphabet\",\"measure\":\"artifact\",\"params\":\"{\\\"tokens\\\":[\\\"lock\\\",\\\"readme\\\",\\\"source\\\"]}\",\"topos\":\"sha256:1111111111111111111111111111111111111111111111111111111111111111\",\"by\":\"test\",\"epoch\":\"4\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"s-B\",\"sign\":\"+1\",\"pole\":\"ceiling\",\"reach\":\"travels\",\"value\":\"lock|readme\",\"by\":\"test\",\"epoch\":\"5\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"j-B\",\"sign\":\"+1\",\"pole\":\"ceiling\",\"reach\":\"local\",\"widens\":\"local-opening\",\"value\":\"lock|readme|source\",\"by\":\"test\",\"epoch\":\"6\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"r-B\",\"sign\":\"+1\",\"pole\":\"floor\",\"reach\":\"travels\",\"value\":\"lock\",\"by\":\"test\",\"epoch\":\"7\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"c-C\",\"sign\":\"+1\",\"origin\":\"ana\",\"value\":\"lock|readme\",\"by\":\"test\",\"epoch\":\"8\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"c-L\",\"sign\":\"+1\",\"origin\":\"luis\",\"value\":\"lock\",\"by\":\"test\",\"epoch\":\"9\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"disagreement\",\"sign\":\"+1\",\"origin\":\"ana\",\"value\":\"readme\",\"by\":\"test\",\"epoch\":\"10\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"withdraw-disagreement\",\"sign\":\"-1\",\"takes\":\"disagreement\",\"by\":\"test\",\"epoch\":\"11\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"withdraw-c-C\",\"sign\":\"-1\",\"takes\":\"c-C\",\"by\":\"test\",\"epoch\":\"12\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"withdraw-c-L\",\"sign\":\"-1\",\"takes\":\"c-L\",\"by\":\"test\",\"epoch\":\"13\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"outside-a\",\"sign\":\"+1\",\"origin\":\"ana\",\"value\":\"source\",\"by\":\"test\",\"epoch\":\"14\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"outside-b\",\"sign\":\"+1\",\"origin\":\"luis\",\"value\":\"source\",\"by\":\"test\",\"epoch\":\"15\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"G\",\"id\":\"incompatible-floor\",\"sign\":\"+1\",\"pole\":\"floor\",\"reach\":\"travels\",\"value\":\"source\",\"by\":\"test\",\"epoch\":\"16\"}},{\"record\":\"mark\",\"fields\":{\"type\":\"mark\",\"scope\":\"B\",\"id\":\"withdraw-j\",\"sign\":\"-1\",\"takes\":\"j-B\",\"by\":\"test\",\"epoch\":\"17\"}},{\"record\":\"claim\",\"fields\":{\"type\":\"claim\",\"scope\":\"C\",\"id\":\"invalid-withdrawal\",\"sign\":\"-1\",\"takes\":\"not-present\",\"by\":\"test\",\"epoch\":\"18\"}}]]",
115
+ "expected": "[\"refuse\",\"engine/context\"]\n"
116
+ },
117
+ {
118
+ "id": "interval/four-states",
119
+ "covers": [
120
+ "rule/four-states"
121
+ ],
122
+ "request": "[\"bound-object-request@1\",[{\"record\":\"cell\",\"fields\":{\"by\":\"device\",\"epoch\":\"2\",\"form\":\"interval\",\"id\":\"def-B\",\"measure\":\"count\",\"params\":\"{\\\"lo\\\":0,\\\"hi\\\":100}\",\"restsOn\":\"none\",\"scope\":\"B\",\"sig\":\"ed25519:sample:S4pe4frNPs+YLcSjedV+ywnQqhl5d6nNvK45sGYoP5NbPh9PjrBGsmNwjtPYvBjfdOTw3Gm5WxscGABD4ERYCA==\",\"topos\":\"sha256:13ee36d217833cb78bc180a62303e3335f4f1020d120914d1ef7d674ae38f67e\",\"type\":\"cell\"}},{\"record\":\"cell\",\"fields\":{\"by\":\"device\",\"epoch\":\"2\",\"form\":\"interval\",\"id\":\"def-C\",\"measure\":\"count\",\"params\":\"{\\\"lo\\\":0,\\\"hi\\\":100}\",\"restsOn\":\"B\",\"scope\":\"C\",\"sig\":\"ed25519:sample:1PGeK6EErj1TRiINo16xKHzsdII5C2SMjgQmZdte4DRhG/XiUGeDCnQG+FxvenjlKRekFDjH8wQac1n3TAipBg==\",\"topos\":\"sha256:13ee36d217833cb78bc180a62303e3335f4f1020d120914d1ef7d674ae38f67e\",\"type\":\"cell\"}},{\"record\":\"cell\",\"fields\":{\"by\":\"device\",\"epoch\":\"2\",\"form\":\"interval\",\"id\":\"def-G\",\"measure\":\"count\",\"params\":\"{\\\"lo\\\":0,\\\"hi\\\":100}\",\"restsOn\":\"C\",\"scope\":\"G\",\"sig\":\"ed25519:sample:8AbUdO/j1aISerPj1aISw5wYO6G4JqYarS5gvdFGq/rWYeTM7VU6ma2mH5awv+qIsfKwGXQlCpOrKdozk5ZRDQ==\",\"topos\":\"sha256:13ee36d217833cb78bc180a62303e3335f4f1020d120914d1ef7d674ae38f67e\",\"type\":\"cell\"}},{\"record\":\"cell\",\"fields\":{\"by\":\"device\",\"epoch\":\"2\",\"form\":\"interval\",\"id\":\"def-D\",\"measure\":\"count\",\"params\":\"{\\\"lo\\\":0,\\\"hi\\\":100}\",\"restsOn\":\"none\",\"scope\":\"D\",\"sig\":\"ed25519:sample:qg28p5Dp3DM8UOmuGzfhR83ulLxfdb+lyf8EfopuFjLw9kxC5H2hQYdpCO2nOCDvOdQs4Aaun/7YoH4691w1DQ==\",\"topos\":\"sha256:13ee36d217833cb78bc180a62303e3335f4f1020d120914d1ef7d674ae38f67e\",\"type\":\"cell\"}},{\"record\":\"mark\",\"fields\":{\"by\":\"device\",\"epoch\":\"3\",\"id\":\"s-B\",\"pole\":\"ceiling\",\"reach\":\"travels\",\"scope\":\"B\",\"sig\":\"ed25519:sample:Eqy4A0sjOIYRamaY4lQipl2LeXoaPPpeA/kXFT2XDGtpmEcCapQgiKCxQQZ96XTXyJZ4h0zrHBlhH/k39jjSDQ==\",\"sign\":\"+1\",\"type\":\"mark\",\"value\":\"0..50\"}},{\"record\":\"mark\",\"fields\":{\"by\":\"device\",\"epoch\":\"4\",\"id\":\"j-B\",\"pole\":\"ceiling\",\"reach\":\"local\",\"scope\":\"B\",\"sig\":\"ed25519:sample:Xrgp+1lAjFZZz5WyLbapwSq022EYZTNv/AqvFMrJXyMV1ZynR2ekgc6dXsSJAEnk5OovlnKMdUgXOV9mcyjZAw==\",\"sign\":\"+1\",\"type\":\"mark\",\"value\":\"0..100\",\"widens\":\"local-opening\"}},{\"record\":\"mark\",\"fields\":{\"by\":\"device\",\"epoch\":\"5\",\"id\":\"r-B\",\"pole\":\"floor\",\"reach\":\"travels\",\"scope\":\"B\",\"sig\":\"ed25519:sample:QXfjr1hLj5GG22msTYwKl2eCr6Gc3FjKGrz0al/3q/ihohucMcLvnjgxrQjWTm9uRgnWQ6jFp6aS0voiKnWNCQ==\",\"sign\":\"+1\",\"type\":\"mark\",\"value\":\"40..*\"}},{\"record\":\"claim\",\"fields\":{\"by\":\"device\",\"epoch\":\"6\",\"id\":\"c-C\",\"origin\":\"ana\",\"scope\":\"C\",\"sig\":\"ed25519:sample:i8a6sDfUTtZV9AOSWKLLyZEyK0nuB2HlE2eKy7urthOFhHcGCTeRDJ9qR7xAHNhE8hhdrjU0cRHY6ZB2DUlFDA==\",\"sign\":\"+1\",\"type\":\"claim\",\"value\":\"42..48\"}},{\"record\":\"claim\",\"fields\":{\"by\":\"device\",\"epoch\":\"7\",\"id\":\"c-L\",\"origin\":\"luis\",\"scope\":\"C\",\"sig\":\"ed25519:sample:di/u/2okecnNluEPXu7OLxTgr9jtEnld3xrd9vNKi08FKV5dZ7kPpXcNZ6bkTiQqg1nnaNZtrq4MNQaq8QsOBA==\",\"sign\":\"+1\",\"type\":\"claim\",\"value\":\"44..47\"}},{\"record\":\"claim\",\"fields\":{\"by\":\"device\",\"epoch\":\"8\",\"id\":\"disagreement\",\"origin\":\"ana\",\"scope\":\"C\",\"sig\":\"ed25519:sample:yA6WrijIOJaLPoOgAYcljt+jfR925kUt66x7YgY9BnKnVFQNDsDJtI4S8ep47VH7mmVvFWqWceZJkDiRUwyFBQ==\",\"sign\":\"+1\",\"type\":\"claim\",\"value\":\"40..43\"}},{\"record\":\"claim\",\"fields\":{\"by\":\"device\",\"epoch\":\"9\",\"id\":\"withdraw-disagreement\",\"scope\":\"C\",\"sig\":\"ed25519:sample:y690WuB+ezg20vZYOQhA51+6a1qMMwfMYBq/LucFXqt9OfWWlRiWMC5PsHpnoa7No5MqYBhmC6XG/X1NEafHDg==\",\"sign\":\"-1\",\"takes\":\"disagreement\",\"type\":\"claim\"}},{\"record\":\"claim\",\"fields\":{\"by\":\"device\",\"epoch\":\"10\",\"id\":\"withdraw-c-C\",\"scope\":\"C\",\"sig\":\"ed25519:sample:8PwBEdkFOkmxM3+1PiEAoaFkYG5IRUyO5Q71AoVU59KEbZEx5M2fr2YfBxEwQOKVrN+xtWZVNNd7IQnrc1BECQ==\",\"sign\":\"-1\",\"takes\":\"c-C\",\"type\":\"claim\"}},{\"record\":\"claim\",\"fields\":{\"by\":\"device\",\"epoch\":\"11\",\"id\":\"withdraw-c-L\",\"scope\":\"C\",\"sig\":\"ed25519:sample:b0wnuXEk7nodAK60lfkIj6Q0BIcj/BsvL+cBy7aIPrHSd7nYg+ffUXKhI2VEX/ZdmlbvnpeWoQ9ErbMgql0MAA==\",\"sign\":\"-1\",\"takes\":\"c-L\",\"type\":\"claim\"}},{\"record\":\"claim\",\"fields\":{\"by\":\"device\",\"epoch\":\"12\",\"id\":\"outside-a\",\"origin\":\"ana\",\"scope\":\"C\",\"sig\":\"ed25519:sample:8ZuDtR3cUc0zT/PusdjfzloPe0kzOOJH82oh9Vz+HxHYVS6SsYvbDODgQ1IJbqCR11lovneStBJXFqy2Wo2CDg==\",\"sign\":\"+1\",\"type\":\"claim\",\"value\":\"65..75\"}},{\"record\":\"claim\",\"fields\":{\"by\":\"device\",\"epoch\":\"13\",\"id\":\"outside-b\",\"origin\":\"luis\",\"scope\":\"C\",\"sig\":\"ed25519:sample:Rr2NU85dRzq0dMRe4Zh39b9+hRtlByVb/tnvRY6i1bX2XwgMg1PHQpzuc+HS+nRFun992acORtj8PSO3ErcxDA==\",\"sign\":\"+1\",\"type\":\"claim\",\"value\":\"65..75\"}},{\"record\":\"mark\",\"fields\":{\"by\":\"device\",\"epoch\":\"14\",\"id\":\"incompatible-floor\",\"pole\":\"floor\",\"reach\":\"travels\",\"scope\":\"G\",\"sig\":\"ed25519:sample:GGhYrAetkENKl9kPKQ9L4TU2z3Qq14wLvsmdW9R8d84JuTETJrJa6sDTC1/0+7nQKONNZs1OR3M/yXov1xfpBg==\",\"sign\":\"+1\",\"type\":\"mark\",\"value\":\"60..*\"}},{\"record\":\"mark\",\"fields\":{\"by\":\"device\",\"epoch\":\"15\",\"id\":\"withdraw-j\",\"scope\":\"B\",\"sig\":\"ed25519:sample:qPRwi9MVIM8DPtW0dU6v7hywI+Yi1/HhsgP0pmROwrD7J2L88W8EUisBUoTBgRaj7c/8pXkNGsUrk+UM1qphCQ==\",\"sign\":\"-1\",\"takes\":\"j-B\",\"type\":\"mark\"}}]]",
123
+ "expected": "[\"fact\",[{\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":40,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[],\"ownMarks\":[\"s-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"lo\":0,\"hi\":50},\"id\":\"s-B\",\"at\":3},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":40,\"hi\":100},\"id\":\"r-B\",\"at\":5}],\"claims\":[]},{\"cell\":\"C\",\"state\":\"FORBIDDEN\",\"parts\":{\"floor\":{\"lo\":65,\"hi\":75},\"ceiling\":{\"lo\":65,\"hi\":50},\"origins\":[{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":{\"lo\":65,\"hi\":75}},{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":{\"lo\":65,\"hi\":75}}],\"rest\":[\"B\"],\"required\":{\"lo\":40,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[{\"id\":\"outside-a\",\"origin\":\"ana\"},{\"id\":\"outside-b\",\"origin\":\"luis\"}],\"marks\":[],\"claims\":[{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":{\"lo\":65,\"hi\":75}},{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":{\"lo\":65,\"hi\":75}}]},{\"cell\":\"G\",\"state\":\"CONFLICT\",\"parts\":{\"floor\":{\"lo\":60,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":50},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"lo\":60,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":50}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[\"incompatible-floor\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"lo\":60,\"hi\":100},\"id\":\"incompatible-floor\",\"at\":14}],\"claims\":[]},{\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"lo\":0,\"hi\":100},\"ceiling\":{\"lo\":0,\"hi\":100},\"origins\":[],\"rest\":[],\"required\":{\"lo\":0,\"hi\":100},\"signed\":{\"lo\":0,\"hi\":100}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}]]\n"
124
+ },
125
+ {
126
+ "id": "alphabet/four-states",
127
+ "covers": [
128
+ "rule/four-states"
129
+ ],
130
+ "request": "[\"bound-object-request@1\",[{\"record\":\"cell\",\"fields\":{\"by\":\"device\",\"epoch\":\"2\",\"form\":\"alphabet\",\"id\":\"def-B\",\"measure\":\"artifact\",\"params\":\"{\\\"tokens\\\":[\\\"lock\\\",\\\"readme\\\",\\\"source\\\"]}\",\"restsOn\":\"none\",\"scope\":\"B\",\"sig\":\"ed25519:sample:1Sbiy6HrZGDaN/0anPUcGy6IqqVLdCBnToo6S5kxDcSPwJGz+Tx+Z6JBs9/8ls/3TjgYjiG8lo3+aMF9Ql0aAg==\",\"topos\":\"sha256:7ca38123f88692b8c38cb7673fc1885d3324bd1b8558113173b4add055b06d28\",\"type\":\"cell\"}},{\"record\":\"cell\",\"fields\":{\"by\":\"device\",\"epoch\":\"2\",\"form\":\"alphabet\",\"id\":\"def-C\",\"measure\":\"artifact\",\"params\":\"{\\\"tokens\\\":[\\\"lock\\\",\\\"readme\\\",\\\"source\\\"]}\",\"restsOn\":\"B\",\"scope\":\"C\",\"sig\":\"ed25519:sample:gjI3EwxEcdUuBnDq02kQ4gn47pYJniy62gCNZz8rzn+8lOw5rOikT7wfkmRII4RntojTTzIlN2DEY/8ty/XEBw==\",\"topos\":\"sha256:7ca38123f88692b8c38cb7673fc1885d3324bd1b8558113173b4add055b06d28\",\"type\":\"cell\"}},{\"record\":\"cell\",\"fields\":{\"by\":\"device\",\"epoch\":\"2\",\"form\":\"alphabet\",\"id\":\"def-G\",\"measure\":\"artifact\",\"params\":\"{\\\"tokens\\\":[\\\"lock\\\",\\\"readme\\\",\\\"source\\\"]}\",\"restsOn\":\"C\",\"scope\":\"G\",\"sig\":\"ed25519:sample:EbSKgsbqCgH2yXxZVk++sxBRZjIeU5Q+V8uwiDfdenQ1diq7nn3NNupZQowNwbbijsTbreb9hMVkLPBcXKaLDQ==\",\"topos\":\"sha256:7ca38123f88692b8c38cb7673fc1885d3324bd1b8558113173b4add055b06d28\",\"type\":\"cell\"}},{\"record\":\"cell\",\"fields\":{\"by\":\"device\",\"epoch\":\"2\",\"form\":\"alphabet\",\"id\":\"def-D\",\"measure\":\"artifact\",\"params\":\"{\\\"tokens\\\":[\\\"lock\\\",\\\"readme\\\",\\\"source\\\"]}\",\"restsOn\":\"none\",\"scope\":\"D\",\"sig\":\"ed25519:sample:sk6645xwRNZM13ybqn13xojxFm86j+PzlwmNo5IIPX4b9oXoSjXl+wQMnwU5IXlY244HvT11jPVsHlCD/HwTAw==\",\"topos\":\"sha256:7ca38123f88692b8c38cb7673fc1885d3324bd1b8558113173b4add055b06d28\",\"type\":\"cell\"}},{\"record\":\"mark\",\"fields\":{\"by\":\"device\",\"epoch\":\"3\",\"id\":\"s-B\",\"pole\":\"ceiling\",\"reach\":\"travels\",\"scope\":\"B\",\"sig\":\"ed25519:sample:eZI4pHaa87UYMJbvnhy+0KAHsukqN+NyyjwprOA8JsVEIzGyYw0/E0d4BcJbuqjs6ciJCA7XdAUrhsMs5r8OCA==\",\"sign\":\"+1\",\"type\":\"mark\",\"value\":\"lock|readme\"}},{\"record\":\"mark\",\"fields\":{\"by\":\"device\",\"epoch\":\"4\",\"id\":\"j-B\",\"pole\":\"ceiling\",\"reach\":\"local\",\"scope\":\"B\",\"sig\":\"ed25519:sample:NF7LXLljUZfy5maTVs4tzIQi88KRDeoPSUzgmUKBflvtaQedsvSGpUFPl7fCOAqGcN1JquZmLy8xCR0SaI6nCw==\",\"sign\":\"+1\",\"type\":\"mark\",\"value\":\"lock|readme|source\",\"widens\":\"local-opening\"}},{\"record\":\"mark\",\"fields\":{\"by\":\"device\",\"epoch\":\"5\",\"id\":\"r-B\",\"pole\":\"floor\",\"reach\":\"travels\",\"scope\":\"B\",\"sig\":\"ed25519:sample:tyvpsBpbVNwcr9GDf8zSKT4NseVxOTVS9rI/1mm3yL0ApdgFBQpMJQcTuXKvOIwTEGNGzbyyQo152lYtGRPrCQ==\",\"sign\":\"+1\",\"type\":\"mark\",\"value\":\"lock\"}},{\"record\":\"claim\",\"fields\":{\"by\":\"device\",\"epoch\":\"6\",\"id\":\"c-C\",\"origin\":\"ana\",\"scope\":\"C\",\"sig\":\"ed25519:sample:Pqk+dSjj+PM2t+PsMbup7jPLHYM3lM4sJwe9hWH8cYKU+0rpcCc+QRL1dCjYJD+yJjcspTFzsvif4hbKmwanCA==\",\"sign\":\"+1\",\"type\":\"claim\",\"value\":\"lock|readme\"}},{\"record\":\"claim\",\"fields\":{\"by\":\"device\",\"epoch\":\"7\",\"id\":\"c-L\",\"origin\":\"luis\",\"scope\":\"C\",\"sig\":\"ed25519:sample:mldZsVhykAOWuPeoFJ0wXjKhU84LkPjt1UXcJxI3IKboG+WvahxmVasaGXHpo8310Be7gT/mbSB2qjbSu38UBg==\",\"sign\":\"+1\",\"type\":\"claim\",\"value\":\"lock\"}},{\"record\":\"claim\",\"fields\":{\"by\":\"device\",\"epoch\":\"8\",\"id\":\"disagreement\",\"origin\":\"ana\",\"scope\":\"C\",\"sig\":\"ed25519:sample:1dup6T1QrnYskUP442+I3rPMqwBw/ZMq8sETMZHHln/AGLP9kt2j53mAgTBGq94uy1FBmo+/Zs5ArPWMYX6QCQ==\",\"sign\":\"+1\",\"type\":\"claim\",\"value\":\"readme\"}},{\"record\":\"claim\",\"fields\":{\"by\":\"device\",\"epoch\":\"9\",\"id\":\"withdraw-disagreement\",\"scope\":\"C\",\"sig\":\"ed25519:sample:QqbbaLtGei1L90papzdmQPODN0741ajFXc7zOFpGJbGllFqpIDOR+fHd7dJBhuOXm683GJCO0mqGWiCsNYvKBQ==\",\"sign\":\"-1\",\"takes\":\"disagreement\",\"type\":\"claim\"}},{\"record\":\"claim\",\"fields\":{\"by\":\"device\",\"epoch\":\"10\",\"id\":\"withdraw-c-C\",\"scope\":\"C\",\"sig\":\"ed25519:sample:QtRFXHw8+waSnnkQNgBWWmqfPMgxjeDD04pvZW89yfGYgsJBEd2YLNf5z6t3ks3AUeeWBbyjSvLLFTcr6VpMBQ==\",\"sign\":\"-1\",\"takes\":\"c-C\",\"type\":\"claim\"}},{\"record\":\"claim\",\"fields\":{\"by\":\"device\",\"epoch\":\"11\",\"id\":\"withdraw-c-L\",\"scope\":\"C\",\"sig\":\"ed25519:sample:TV5/s+RtGsdFC6AAtpNEXIN+aLfelSFRBboChykb5/yFrhMggMUMuHx1rpa0nDJcMVPndnLc+0CfVF99r6r6AA==\",\"sign\":\"-1\",\"takes\":\"c-L\",\"type\":\"claim\"}},{\"record\":\"claim\",\"fields\":{\"by\":\"device\",\"epoch\":\"12\",\"id\":\"outside-a\",\"origin\":\"ana\",\"scope\":\"C\",\"sig\":\"ed25519:sample:6G7GtdlxnkHeppzrkyMGRe5vhQyG2FmdFUnGkmI60vdQWJxVV21QM0Zui5+ZCDn8HLvxrOnzGj4kxB6bQ+aXBg==\",\"sign\":\"+1\",\"type\":\"claim\",\"value\":\"source\"}},{\"record\":\"claim\",\"fields\":{\"by\":\"device\",\"epoch\":\"13\",\"id\":\"outside-b\",\"origin\":\"luis\",\"scope\":\"C\",\"sig\":\"ed25519:sample:mUmGZCsCw9Vu+DdjVqtCgmTR+8m15ZbCVyfA4zHWG2CpRSHonCDK7wWlaSpIOBgkbNWUzV8lr61eNcJiiyxIBw==\",\"sign\":\"+1\",\"type\":\"claim\",\"value\":\"source\"}},{\"record\":\"mark\",\"fields\":{\"by\":\"device\",\"epoch\":\"14\",\"id\":\"incompatible-floor\",\"pole\":\"floor\",\"reach\":\"travels\",\"scope\":\"G\",\"sig\":\"ed25519:sample:fg1grFhXbGj7AxxkgDZbzd+6gPo3L6VQeYPBoXEV3Q3QY7lY3a2NGpeAz6BZZQSZF0EMRKaYlwP7YOD9Bwl3Bg==\",\"sign\":\"+1\",\"type\":\"mark\",\"value\":\"source\"}},{\"record\":\"mark\",\"fields\":{\"by\":\"device\",\"epoch\":\"15\",\"id\":\"withdraw-j\",\"scope\":\"B\",\"sig\":\"ed25519:sample:lbemLrA6hcjW5fZ5Nh2gn5Oy04NbzCjXAmAfDAuwKo2GWL/Jp6+g7Hmomcbh0SXnQYVeIAkMfoP8zkVfipmwAg==\",\"sign\":\"-1\",\"takes\":\"j-B\",\"type\":\"mark\"}}]]",
131
+ "expected": "[\"fact\",[{\"cell\":\"B\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":1},\"width\":3},\"ceiling\":{\"words\":{\"0\":3},\"width\":3},\"origins\":[],\"rest\":[],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":3},\"width\":3}},\"rest\":[],\"ownMarks\":[\"s-B\",\"r-B\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":{\"words\":{\"0\":3},\"width\":3},\"id\":\"s-B\",\"at\":3},{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"words\":{\"0\":1},\"width\":3},\"id\":\"r-B\",\"at\":5}],\"claims\":[]},{\"cell\":\"C\",\"state\":\"FORBIDDEN\",\"parts\":{\"floor\":{\"words\":{\"0\":0},\"width\":3},\"ceiling\":{\"words\":{\"0\":0},\"width\":3},\"origins\":[{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":{\"words\":{\"0\":4},\"width\":3}},{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":{\"words\":{\"0\":4},\"width\":3}}],\"rest\":[\"B\"],\"required\":{\"words\":{\"0\":1},\"width\":3},\"signed\":{\"words\":{\"0\":3},\"width\":3}},\"rest\":[\"B\"],\"ownMarks\":[],\"ownClaims\":[{\"id\":\"outside-a\",\"origin\":\"ana\"},{\"id\":\"outside-b\",\"origin\":\"luis\"}],\"marks\":[],\"claims\":[{\"id\":\"outside-a\",\"at\":12,\"origin\":\"ana\",\"span\":{\"words\":{\"0\":4},\"width\":3}},{\"id\":\"outside-b\",\"at\":13,\"origin\":\"luis\",\"span\":{\"words\":{\"0\":4},\"width\":3}}]},{\"cell\":\"G\",\"state\":\"CONFLICT\",\"parts\":{\"floor\":{\"words\":{\"0\":0},\"width\":3},\"ceiling\":{\"words\":{\"0\":3},\"width\":3},\"origins\":[],\"rest\":[\"C\",\"B\"],\"required\":{\"words\":{\"0\":0},\"width\":3},\"signed\":{\"words\":{\"0\":3},\"width\":3}},\"rest\":[\"C\",\"B\"],\"ownMarks\":[\"incompatible-floor\"],\"ownClaims\":[],\"marks\":[{\"pole\":\"floor\",\"reach\":\"travels\",\"span\":{\"words\":{\"0\":4},\"width\":3},\"id\":\"incompatible-floor\",\"at\":14}],\"claims\":[]},{\"cell\":\"D\",\"state\":\"REQUIRED\",\"parts\":{\"floor\":{\"words\":{\"0\":7},\"width\":3},\"ceiling\":{\"words\":{\"0\":7},\"width\":3},\"origins\":[],\"rest\":[],\"required\":{\"words\":{\"0\":7},\"width\":3},\"signed\":{\"words\":{\"0\":7},\"width\":3}},\"rest\":[],\"ownMarks\":[],\"ownClaims\":[],\"marks\":[],\"claims\":[]}]]\n"
132
+ },
133
+ {
134
+ "id": "unsupported-request",
135
+ "covers": [
136
+ "refusal/engine/input"
137
+ ],
138
+ "request": "[\"unsupported\",[]]",
139
+ "expected": "[\"refuse\",\"engine/input\"]\n"
140
+ }
141
+ ]
142
+ }
@@ -0,0 +1,9 @@
1
+ bound-lock/1 at=policy:bound/determinism by=target form=alphabet measure=profile role=writes scope=law/determinism value=deterministic-object-projection@1
2
+ bound-lock/1 at=policy:bound/determinism by=target form=alphabet measure=inputs role=writes scope=law/determinism value=admitted-lines|effective-order|policy|selected-forms
3
+ bound-lock/1 at=policy:bound/determinism by=target form=alphabet measure=assumptions role=writes scope=law/determinism value=deterministic-context-callbacks|standard-intrinsics|finite-admitted-history
4
+ bound-lock/1 at=policy:bound/determinism by=target form=alphabet measure=semantic-exclusions role=writes scope=law/determinism value=wall-clock|randomness|locale|undeclared-environment
5
+ bound-lock/1 at=policy:bound/determinism by=target form=alphabet measure=numeric-policy role=writes scope=law/determinism value=the-explicit-selected-form-policy
6
+ bound-lock/1 at=policy:bound/determinism by=target form=alphabet measure=map-order role=writes scope=law/determinism value=lookup-by-declared-name|preserve-effective-record-order
7
+ bound-lock/1 at=policy:bound/determinism by=target form=alphabet measure=receipts role=writes scope=law/determinism value=implementation|policy|transitive-inputs|environment
8
+ bound-lock/1 at=policy:bound/determinism by=target form=alphabet measure=probes role=writes scope=law/determinism value=separate-operational-counter|not-semantic-input
9
+ bound-lock/1 at=policy:bound/determinism by=target form=alphabet measure=claim-boundary role=writes scope=law/determinism value=reference-projection-only|no-universal-JavaScript-proof
@@ -4,7 +4,7 @@
4
4
  {
5
5
  "role": "contract",
6
6
  "path": "docs/contracts/engine.md",
7
- "digest": "sha256:2d54ddc75386a0706a3bc500e36deedc85ca9e7dc965eff5c795f02b1a716078"
7
+ "digest": "sha256:7097713afcfb5859850d96b66aced8ea6ea09f738b34f79a87bb77938fa1c6e6"
8
8
  },
9
9
  {
10
10
  "role": "yes",
@@ -1,6 +1,6 @@
1
1
  # Pure object projection
2
2
 
3
- `@lapxo/bound/engine` exports `objectFold` and the existing `ObjectReading`, `ObjectRecord` and `ObjectContext` types. The CLI and receipt paths use that same implementation. Its Obligations 0.3.5 algebra is unchanged.
3
+ `@lapxo/bound/engine` exports `objectFold` and the existing `ObjectReading`, `ObjectRecord` and `ObjectContext` types. The CLI and receipt paths use that same implementation. Its vendored runtime consumes Obligations 0.4.4. The 111-module selected dependency closure is byte-identical to the previously selected 0.4.3 closure; this equivalence covers consumed code, not every theorem or published contract in the two archives.
4
4
 
5
5
  The input is authenticated and context-admitted effective history with selected deterministic forms and parameters. This function does not admit records, verify signatures, resolve content, run commands, select clocks or write storage. Applications must perform preparation before projection.
6
6
 
@@ -37,3 +37,23 @@ The place declares five interval limits: `engine/wasm/memory`, `engine/wasm/stac
37
37
  Context initialization is measured before place execution. If observed initialized guest memory exceeds the declared memory budget, the operation refuses without running place code. Host initialization memory is outside that guest execution limit; the worker lifetime bounds the entire attempt. During execution the unchanged declared memory, stack and execution limits apply. SIGINT reaches the worker cancellation port; cancellation or failure emits no successful object result.
38
38
 
39
39
  For the opt-in `wasm@1` profile, the host verifies the selected context implementation before importing it. Every SHA-256 member declared by the context offer’s `restsOn` is checked by digest, and the existing `moduleClosure` validates the imported closure. Missing, altered, undeclared or unresolved imported members refuse before context code executes. This establishes content identity and import closure, not correctness, authority or sandbox confinement. Admission still precedes projection, and this check grants no permission to reuse a retained answer as current.
40
+
41
+ ## Deterministic byte projection
42
+
43
+ `objectFoldBytes` consumes UTF-8 JSON `["bound-object-request@1", records]` and the receiver's selected `ObjectContext`. It validates that context with Topos and calls the same `objectFold`. Its successful output is `["fact", readings]` followed by one newline. It performs no clock, random, locale, filesystem, transport or environment lookup. The effective order and selected form implementations are inputs; an arbitrary transport permutation is not a new effective order. A callback supplied as a form implementation remains the receiver's responsibility. This contract does not declare arbitrary JavaScript programs deterministic.
44
+
45
+ Numbers use the selected form's existing numeric policy. No integer-width conversion, rounding rule or meet is introduced. Map construction order for input-reference maps does not select a form or reorder admitted records. Wall-clock deadlines stop host work; they do not enter this semantic result. Runtime and other relevant host inputs still belong to a native reading receipt's environment.
46
+
47
+ ## External conformance
48
+
49
+ `runConformance` accepts pinned suite bytes, receiver-selected contract and implementation identities, required rules and refusal codes, and a bounded byte evaluator. The suite cannot choose its verifier or declare its own coverage sufficient. A missing required rule or refusal rejects before evaluating the candidate. Every request, expected response and response digest is data; the protocol contains no Node paths. A false result is not a certificate, and a finite passing suite is not a proof of universal correctness.
50
+
51
+ `@lapxo/bound/conformance` delivers the reference projection vectors. Their twelve conflict and withdrawal results retain the previously captured projection identities; four-state samples and named input/context refusals are additional vectors. This suite covers the declared pure projection profile. Passing it alone does not certify the native host, cryptographic admission, or every code in the complete refusal catalog. Those producer vectors remain required in the release acceptance record.
52
+
53
+ ## Signed computations
54
+
55
+ `executeComputation` identifies the request before invoking the evaluator. It commits the contract, numeric policy, complete reading context, actual input bytes, implementation digest, result digest and receipt commitment. The digest names the implementation; it is not a signing key. The receiver supplies a signer and an independent signature-verification port. Evaluation, signature acquisition and verification have separate bounds.
56
+
57
+ `verifyComputation` reconstructs these commitments from the receiver's expected context and actual input/result bytes, then verifies the signature with the receiver's port. No key, verifier or authority is accepted from a returned statement. Distinct implementation digests are distinct origins; redelivery adds no origin. Agreement is not proof of correctness or statistical independence. A disagreement can be compared only under the same declared question and comparison form; no automatic conflict algebra is invented here.
58
+
59
+ Cancellation, failed evaluation, an invalid signer or an unverifiable signature produces no successful computation statement. The API signs an observation, not a Root admission or release approval. It does not persist a result automatically.
@@ -0,0 +1,21 @@
1
+ # Installed package identity
2
+
3
+ `installedPackageIdentity` reads a selected installed package directory. Its caller supplies the receiving instrument's admitted `pin-shape` value, a complete authenticated regular-file inventory, explicit package export selectors, authenticated dependency snapshots and bounded resources. As in the existing provider, the manifest is `<shape>.json`; an admitted shape of `package` selects `package.json`.
4
+
5
+ This is a content identity and a preparation result. Caller-supplied inventories and pins establish no authority by themselves. The API neither discovers a publisher nor admits a dependency, signs a lot, executes package code or pays an owner receipt.
6
+
7
+ Every regular file must occur once in the expected inventory with its exact SHA-256 digest. Missing, changed and extra files refuse. Symbolic links, special files and members outside the selected physical directory refuse. Empty directories, timestamps, filesystem locations, ownership and archive headers do not contribute bytes. Package names and versions come from exact manifest bytes; portable module delivery currently requires an ESM manifest and its existing supported member/edge forms.
8
+
9
+ The implementation reuses Topos `topos-inventory/1` to prove explicitly selected package exports, then Bound's existing `deliverModuleClosure` and `moduleInventory` to verify reached modules and consumed dependency pins. `parent: "self"` names the installed root snapshot in a dependency binding; other parents use exact authenticated snapshot identities. Unknown bare imports and computed or unsupported edges retain the existing closure refusals. A snapshot's expected identity is supplied by its authenticated host; this API does not create that authentication.
10
+
11
+ Module reachability is file reachability. A reached module retains all its bytes, including unused symbols. An unreachable local module is absent from the reached module inventory but remains part of the complete installed file identity. Altering that local file changes the installed identity when a correspondingly revised inventory is supplied. Unconsumed dependency pins cannot add modules or alter the consumed closure.
12
+
13
+ The returned `snapshot` hashes the existing canonical wire file-digest inventory, sorted by coordinate and terminated by newlines. The returned installed `digest` hashes sorted canonical wire lines followed by a final newline: the `installed/profile` id `bound-installed-package@1`, `installed/manifest` exact digest and declared shape/name/version, every `file/<coordinate>` digest, the canonical Topos export-inventory digest, the verified closure and delivery digests, and each consumed dependency binding's parent/specifier, snapshot and entry. All lines use the existing canonical wire encoder and shared host SHA-256 implementation. The complete preimage is returned as `lines` for review and independent comparison.
14
+
15
+ These identities name different bytes: a compressed `.tgz` digest commits the exact compressed archive; a tar digest commits the exact uncompressed tar representation; the installed digest commits the canonical installed-byte evidence above. Repacking identical files may change either archive digest while the installed identity stays equal. An installed directory cannot recover or certify the original `.tgz` digest. The result intentionally contains no `archiveDigest` claim.
16
+
17
+ Local stable refusals include `installed/resources`, `installed/cancelled`, `installed/inventory`, `installed/missing-member`, `installed/member-integrity`, `installed/uninventoried-member`, `installed/external-member`, `installed/manifest`, `installed/text-member`, `installed/export` and `installed/pin`. Existing module/export verifiers retain their named diagnostic causes. No observations, writes, compilation, installation or admission occur during this reading.
18
+
19
+ ## Declared native case inputs and outputs
20
+
21
+ The published yes/no JSON files are actual parameters read by `test/installed-package.test.ts`. Each native procedure retains its semantic assertions and unrelated disposable places. The vector invokes that procedure through the existing Node test reader. The input JSON declares exact case source strings and negative argument values; generated source, output and receipt bytes are read and checked by that same procedure. These public parameter fixtures contain no retained private authority history. Passing test output is not a real Root receipt or permission to admit a lot.