@lapxo/bound 0.2.3 → 0.2.5

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 (242) hide show
  1. package/CITATION.cff +19 -0
  2. package/TARGET.bound +95 -39
  3. package/dist/cli/accept.js +72 -558
  4. package/dist/cli/act-result.js +3 -103
  5. package/dist/cli/args.js +3 -44
  6. package/dist/cli/custodian.js +2 -29
  7. package/dist/cli/host.js +4 -32
  8. package/dist/cli/names.js +1 -12
  9. package/dist/cli/native-descendant.js +1 -19
  10. package/dist/cli/native.js +3 -60
  11. package/dist/cli/observe.js +1 -13
  12. package/dist/cli/owner.js +3 -139
  13. package/dist/cli/pass.js +21 -321
  14. package/dist/cli/place.js +6 -281
  15. package/dist/cli/release-result.js +3 -80
  16. package/dist/cli/retained-judgment.js +1 -25
  17. package/dist/cli/standing-result.js +4 -21
  18. package/dist/cli/takes.js +10 -111
  19. package/dist/cli/verb.d.ts +1 -2
  20. package/dist/cli/verb.js +83 -683
  21. package/dist/engine/computation.js +2 -0
  22. package/dist/engine/conformance.js +4 -0
  23. package/dist/engine/encoding.js +1 -2
  24. package/dist/engine/index.d.ts +1 -13
  25. package/dist/engine/index.js +2 -11
  26. package/dist/engine/object.js +1 -38
  27. package/dist/engine/ports.js +2 -103
  28. package/dist/fold/admission-history.js +1 -17
  29. package/dist/fold/bootstrap-anchor.js +1 -28
  30. package/dist/fold/ceilings.js +1 -142
  31. package/dist/fold/claims.js +2 -131
  32. package/dist/fold/closed.js +24 -234
  33. package/dist/fold/configures.js +1 -25
  34. package/dist/fold/digests.js +10 -226
  35. package/dist/fold/evidence.js +1 -22
  36. package/dist/fold/fold-worker.js +1 -13
  37. package/dist/fold/kept.js +12 -173
  38. package/dist/fold/keys.js +3 -91
  39. package/dist/fold/laid.js +3 -90
  40. package/dist/fold/nos.js +1 -48
  41. package/dist/fold/object.js +1 -2
  42. package/dist/fold/observed.js +27 -534
  43. package/dist/fold/opened.js +1 -33
  44. package/dist/fold/own.js +3 -217
  45. package/dist/fold/paid.js +1 -92
  46. package/dist/fold/place-inputs.js +1 -70
  47. package/dist/fold/places.js +3 -100
  48. package/dist/fold/rank.js +1 -9
  49. package/dist/fold/reach.js +1 -83
  50. package/dist/fold/readers.js +6 -142
  51. package/dist/fold/receipts.js +1 -47
  52. package/dist/fold/region-declarations.js +1 -13
  53. package/dist/fold/region.js +8 -286
  54. package/dist/fold/release-policy.js +1 -101
  55. package/dist/fold/resolved.js +6 -145
  56. package/dist/fold/roles.js +2 -59
  57. package/dist/fold/second.js +4 -71
  58. package/dist/fold/shards.js +12 -100
  59. package/dist/fold/signed.js +3 -81
  60. package/dist/fold/signers.js +1 -54
  61. package/dist/fold/stranger.js +6 -24
  62. package/dist/fold/views.js +1 -66
  63. package/dist/fold/wire.js +1 -46
  64. package/dist/fold/zoom.js +3 -81
  65. package/dist/host/act-cost.js +1 -25
  66. package/dist/host/adapters/keys/ed25519.js +1 -30
  67. package/dist/host/adapters/modules/javascript.js +1 -50
  68. package/dist/host/adapters/transport/http.js +1 -28
  69. package/dist/host/admitted-place.js +1 -63
  70. package/dist/host/archive.js +1 -152
  71. package/dist/host/call-context.js +1 -0
  72. package/dist/host/capsule-process.js +2 -61
  73. package/dist/host/capsule.js +9 -168
  74. package/dist/host/cell-receipts.js +12 -128
  75. package/dist/host/commit-result.js +1 -0
  76. package/dist/host/content-needed.js +1 -8
  77. package/dist/host/content-store.js +1 -31
  78. package/dist/host/contextual-place.js +2 -77
  79. package/dist/host/digest.js +2 -15
  80. package/dist/host/hash.js +1 -9
  81. package/dist/host/host-controls.js +1 -0
  82. package/dist/host/in-process-act.js +3 -0
  83. package/dist/host/in-process-context.js +3 -0
  84. package/dist/host/in-process-root.js +6 -0
  85. package/dist/host/in-process.js +4 -0
  86. package/dist/host/index.d.ts +1 -0
  87. package/dist/host/index.js +1 -0
  88. package/dist/host/io.js +1 -11
  89. package/dist/host/lifetime.js +1 -79
  90. package/dist/host/located.js +6 -105
  91. package/dist/host/native/bounded-file.js +1 -32
  92. package/dist/host/native/command.js +1 -91
  93. package/dist/host/native/control-bridge-worker.js +2 -88
  94. package/dist/host/native/control-bridge.js +1 -110
  95. package/dist/host/native/control-selection.js +1 -32
  96. package/dist/host/native/custody.js +1 -91
  97. package/dist/host/native/deadline.js +1 -28
  98. package/dist/host/native/descendants.js +1 -528
  99. package/dist/host/native/generated-custodian.js +5 -267
  100. package/dist/host/native/generated.js +1 -379
  101. package/dist/host/native/image.js +1 -45
  102. package/dist/host/native/jobs.js +2 -148
  103. package/dist/host/native/loader.js +1 -269
  104. package/dist/host/native/materialize.js +1 -175
  105. package/dist/host/native/module-closure.js +1 -130
  106. package/dist/host/native/module-delivery.d.ts +1 -62
  107. package/dist/host/native/module-delivery.js +1 -151
  108. package/dist/host/native/module-syntax.js +1 -69
  109. package/dist/host/native/native-binary.js +1 -115
  110. package/dist/host/native/native-program.js +1 -72
  111. package/dist/host/native/node-jobs.js +3 -187
  112. package/dist/host/native/node-launch.js +1 -159
  113. package/dist/host/native/preload.js +1 -45
  114. package/dist/host/native/reading.js +1 -249
  115. package/dist/host/native/receipt-environment.js +1 -41
  116. package/dist/host/native/references.js +1 -30
  117. package/dist/host/native/root.js +1 -37
  118. package/dist/host/native/route.js +1 -216
  119. package/dist/host/native/runtime.js +1 -9
  120. package/dist/host/native-reader-context.js +1 -8
  121. package/dist/host/native-receiver.js +1 -0
  122. package/dist/host/objects.js +1 -38
  123. package/dist/host/order.js +1 -2
  124. package/dist/host/place-act-transaction.js +4 -0
  125. package/dist/host/place-clock-selection.js +5 -124
  126. package/dist/host/ports/ingress.js +2 -57
  127. package/dist/host/ports/local-act.js +5 -172
  128. package/dist/host/ports/place-act.js +1 -169
  129. package/dist/host/ports/publication.js +1 -56
  130. package/dist/host/ports/signing.js +1 -74
  131. package/dist/host/ports/store.js +1 -18
  132. package/dist/host/ports/transport.js +1 -48
  133. package/dist/host/process-lifetime.js +1 -17
  134. package/dist/host/provide.js +1 -183
  135. package/dist/host/read-only.js +1 -9
  136. package/dist/host/reading-closures.js +7 -227
  137. package/dist/host/reading-context.js +1 -53
  138. package/dist/host/reading-identity-types.js +0 -0
  139. package/dist/host/reading-identity.js +3 -0
  140. package/dist/host/reading-preparation.js +6 -0
  141. package/dist/host/reference-authenticated.d.ts +1 -40
  142. package/dist/host/reference-authenticated.js +3 -100
  143. package/dist/host/reference-contracts.js +1 -6
  144. package/dist/host/reference-export.js +6 -81
  145. package/dist/host/reference-native-api.d.ts +1 -3
  146. package/dist/host/reference-native-api.js +1 -3
  147. package/dist/host/reference-native.js +1 -74
  148. package/dist/host/reference-profile.js +1 -63
  149. package/dist/host/reference-standing.js +2 -18
  150. package/dist/host/reference.js +1 -24
  151. package/dist/host/refusals.js +2 -43
  152. package/dist/host/release.js +4 -256
  153. package/dist/host/root-clock-source.js +1 -305
  154. package/dist/host/selected-capsules.js +1 -50
  155. package/dist/host/selected-topos.js +1 -80
  156. package/dist/host/signature-era.js +1 -0
  157. package/dist/host/signing.js +2 -48
  158. package/dist/host/source-content.js +2 -110
  159. package/dist/host/standing-carrier.js +1 -0
  160. package/dist/host/standing-projection.js +1 -0
  161. package/dist/host/timing.js +1 -7
  162. package/dist/host/walk.js +20 -193
  163. package/dist/judge/late.js +1 -33
  164. package/dist/judge/take.js +2 -75
  165. package/dist/judge/widening.js +1 -25
  166. package/dist/land/act.js +8 -302
  167. package/dist/land/alias.js +1 -41
  168. package/dist/land/held.js +1 -23
  169. package/dist/land/inert.js +1 -33
  170. package/dist/land/leaving.js +1 -55
  171. package/dist/land/ledger.js +7 -188
  172. package/dist/land/owned.js +4 -66
  173. package/dist/land/sign.js +1 -53
  174. package/dist/land/standing-pin.js +1 -49
  175. package/dist/land/vouched.js +1 -112
  176. package/dist/land/withdraw.js +1 -24
  177. package/dist/observe/files.js +1 -88
  178. package/dist/observe/identity.js +1 -61
  179. package/dist/observe/match.js +1 -8
  180. package/dist/observe/regions.js +7 -306
  181. package/dist/observe/run.js +2 -40
  182. package/dist/observe/runner.js +4 -93
  183. package/dist/public-types.d.ts +1114 -0
  184. package/dist/render/capsule.js +1 -30
  185. package/dist/render/field.js +1 -40
  186. package/dist/render/names.js +1 -4
  187. package/dist/render/open.js +1 -61
  188. package/dist/render/page.js +1 -7
  189. package/dist/render/receipts.js +1 -47
  190. package/dist/render/shape.js +1 -74
  191. package/dist/render/target.js +4 -52
  192. package/dist/render/view.js +7 -197
  193. package/dist/vendor/50086958553b9376d600583f7dff354196bfeb41170fc6d1482ca7bea7c493e2.LICENSE +21 -0
  194. package/dist/vendor/b3e938d28f88a1851af303a40c749e12ebd5a686daac4f0b343b5cdd2e040419.LICENSE +21 -0
  195. package/dist/vendor/bundle.json +1 -0
  196. package/dist/vendor/library11.js +1 -0
  197. package/dist/vendor/object-provider.js +42 -0
  198. package/dist/vendor/runtime.js +38 -0
  199. package/dist/vendor/sources.json +1 -0
  200. package/dist/wasm/adapter.d.ts +1 -51
  201. package/dist/wasm/adapter.js +1 -180
  202. package/dist/wasm/node-worker.js +1 -13
  203. package/dist/wasm/object.js +1 -76
  204. package/dist/wasm/worker.js +1 -7
  205. package/docs/contracts/closure-delivery.md +1 -1
  206. package/docs/contracts/closure-delivery.publication.json +1 -1
  207. package/docs/contracts/conformance.json +142 -0
  208. package/docs/contracts/determinism.bound +9 -0
  209. package/docs/contracts/engine-object-projection.publication.json +1 -1
  210. package/docs/contracts/engine.md +21 -1
  211. package/docs/contracts/native-host.md +21 -0
  212. package/docs/contracts/native-host.publication.json +25 -0
  213. package/docs/contracts/native-publication.inventory.json +3 -1
  214. package/docs/contracts/optional-wasm-adapter.publication.json +1 -1
  215. package/docs/contracts/publication.inventory.json +29 -0
  216. package/docs/contracts/reading-identity.md +37 -0
  217. package/docs/contracts/reading-identity.publication.json +25 -0
  218. package/docs/contracts/refusals.bound +51 -0
  219. package/docs/contracts/refusals.md +18 -3
  220. package/docs/contracts/refusals.publication.json +2 -2
  221. package/docs/contracts/views.md +8 -0
  222. package/docs/guide.md +10 -0
  223. package/docs/reference.md +40 -0
  224. package/docs/why.md +109 -0
  225. package/package.json +37 -18
  226. package/receipts.bound +11675 -9725
  227. package/samples/native-host/no.json +10 -0
  228. package/samples/native-host/yes.json +20 -0
  229. package/samples/reading-identity/no.json +20 -0
  230. package/samples/reading-identity/yes.json +46 -0
  231. package/vectors/native/native-host.vector.json +62 -0
  232. package/vectors/native/reading-identity.vector.json +101 -0
  233. package/vectors/native/refusals.vector.json +104 -0
  234. package/vendor/syntax/LICENSE.md +7 -0
  235. package/vendor/syntax/parser.js +1 -0
  236. package/dist/engine/object.d.ts +0 -17
  237. package/dist/engine/ports.d.ts +0 -32
  238. package/dist/host/native/module-closure.d.ts +0 -35
  239. package/dist/host/reference-export.d.ts +0 -33
  240. package/dist/host/reference-native.d.ts +0 -30
  241. package/dist/host/reference-profile.d.ts +0 -23
  242. package/dist/host/refusals.d.ts +0 -14
@@ -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
+ # Native in-process host
2
+
3
+ The public `@lapxo/bound/host` entry offers authenticated Root and contextual standing reads, Root-lot and contextual-act admission, historical recovery, and explicit native instrument and receiver adapters. Node is required for this native host. The pure `/engine` and reference backends retain their separate contracts.
4
+
5
+ ## Classic Root lot
6
+
7
+ `landRootLotInProcess(context, ports)` accepts LF-framed, canonical, unsigned target configuration records. The receiver supplies the admitted place, exact history snapshot, implementation runtime, reading identity, byte/record/time bounds, content port and canonical-line signer. The lot cannot choose those capabilities. It calls the same admission judges and atomic result implementation as the CLI; a signed line is not automatically an admitted line.
8
+
9
+ The snapshot is checked before acquisition and before admission. Coverage is checked before invoking the signer. A change while signing refuses instead of rebasing. A fresh repeated held lot does not acquire another signature. `rootLotSnapshot` names complete admission history; it is not a signature or permission.
10
+
11
+ ## Effects and recovery
12
+
13
+ Cancellation before visibility leaves no partial act. A publication error whose visibility is unknown returns `uncertain` with the native act identity. A failure after commit retains that identity and reports incomplete conformance, not rollback. `recoverRootActInProcess` authenticates the historical result without signing or reviving current grants. Root and contextual admission remain distinct operations; the latter consumes already signed contextual originals and acquires receiver receipts.
14
+
15
+ The host selects context explicitly on every call. Calls do not interpret consumer argv or print to its console. Diagnostics are bounded returned data. Native storage shares the CLI exclusion protocol. Returned reading commitments are unsigned data and do not pay release demands.
16
+
17
+ ## Public quartet
18
+
19
+ The two positive places are a seed accession library and a coastal tide survey. Each installs the public host boundary, bootstraps disposable fixture authority through the real CLI, admits a domain-specific Root lot, compares native result recovery and repeats the held lot without signing again. Negatives alter bytes, remove signer coverage, cancel before commit and offer a noncanonical lot; no negative may create a visible act. Test keys are created only for the disposable fixture, never shipped.
20
+
21
+ The executable vector captures the instrument output. The quartet proves this declared public boundary; it does not certify all remaining host views, another machine, a release policy or an owner admission. Head, browser hosts, algebra, wire and ceilings are outside this change.
@@ -0,0 +1,25 @@
1
+ {
2
+ "scope": "contract/published/native-host",
3
+ "members": [
4
+ {
5
+ "role": "contract",
6
+ "path": "docs/contracts/native-host.md",
7
+ "digest": "sha256:e7821cd2641caa4725aa20095027d903693756a8568a2163a79d7bb665b7643b"
8
+ },
9
+ {
10
+ "role": "yes",
11
+ "path": "samples/native-host/yes.json",
12
+ "digest": "sha256:6c02edaea00db315e20b15f96b281cf605db2c7499f3d1b9839096a704492c44"
13
+ },
14
+ {
15
+ "role": "vector",
16
+ "path": "vectors/native/native-host.vector.json",
17
+ "digest": "sha256:b62d77a3de11d960657fa9e7b58d4e88c68d0c389d683937bba4fa6c04a9d952"
18
+ },
19
+ {
20
+ "role": "no",
21
+ "path": "samples/native-host/no.json",
22
+ "digest": "sha256:27f323ca2a0d1547197e6beab3427bdcda45c0318fac52bc58b2b0164a2df38d"
23
+ }
24
+ ]
25
+ }