@lapxo/bound 0.2.0 → 0.2.1

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 (225) hide show
  1. package/README.md +40 -121
  2. package/TARGET.bound +51 -23
  3. package/dist/cli/standing-result.js +4 -3
  4. package/dist/cli/verb.js +36 -3
  5. package/dist/engine/encoding.js +2 -0
  6. package/dist/engine/index.d.ts +2 -0
  7. package/dist/engine/index.js +2 -0
  8. package/dist/engine/ports.d.ts +32 -0
  9. package/dist/engine/ports.js +103 -0
  10. package/dist/host/admitted-place.js +6 -0
  11. package/dist/host/contextual-place.js +2 -2
  12. package/dist/host/io.js +2 -2
  13. package/dist/host/reference-authenticated.d.ts +12 -0
  14. package/dist/host/reference-authenticated.js +47 -31
  15. package/dist/host/reference-contracts.js +6 -0
  16. package/dist/host/reference-export.d.ts +33 -0
  17. package/dist/host/reference-export.js +81 -0
  18. package/dist/host/reference-native-api.d.ts +3 -0
  19. package/dist/host/reference-native-api.js +3 -0
  20. package/dist/host/reference-native.d.ts +21 -1
  21. package/dist/host/reference-native.js +34 -10
  22. package/dist/host/reference-profile.js +2 -1
  23. package/dist/host/reference-standing.js +18 -0
  24. package/dist/host/refusals.d.ts +14 -0
  25. package/dist/host/refusals.js +43 -0
  26. package/dist/host/signing.js +7 -1
  27. package/dist/observe/files.js +11 -1
  28. package/dist/wasm/object.js +2 -2
  29. package/docs/contracts/authenticated-reference.publication.json +2 -2
  30. package/docs/contracts/host-ports.md +23 -0
  31. package/docs/contracts/host-ports.publication.json +25 -0
  32. package/docs/contracts/native-publication.inventory.json +7 -1
  33. package/docs/contracts/optional-wasm-adapter.publication.json +1 -1
  34. package/docs/contracts/readme.publication.json +25 -0
  35. package/docs/contracts/reference-backend.md +24 -0
  36. package/docs/contracts/reference-backend.publication.json +25 -0
  37. package/docs/contracts/reference-export.md +31 -0
  38. package/docs/contracts/reference-export.publication.json +25 -0
  39. package/docs/contracts/reference-port.md +8 -1
  40. package/docs/contracts/reference-port.publication.json +1 -1
  41. package/docs/contracts/refusals.bound +94 -0
  42. package/docs/contracts/refusals.md +47 -0
  43. package/docs/contracts/refusals.publication.json +25 -0
  44. package/docs/contracts/standing.bound +9 -0
  45. package/docs/contracts/standing.md +24 -0
  46. package/docs/contracts/standing.publication.json +25 -0
  47. package/package.json +49 -4
  48. package/receipts.bound +9550 -7668
  49. package/samples/authenticated-reference/compatibility.json +306 -0
  50. package/samples/authenticated-reference/yes.json +2 -2
  51. package/samples/host-ports/no.json +16 -0
  52. package/samples/host-ports/yes.json +9 -0
  53. package/samples/readme/no.json +1 -0
  54. package/samples/readme/yes.json +1 -0
  55. package/samples/reference-backend/no.json +1 -0
  56. package/samples/reference-backend/world-fixture.json +8 -0
  57. package/samples/reference-backend/yes.json +1 -0
  58. package/samples/reference-export/no.json +5 -0
  59. package/samples/reference-export/yes.json +15 -0
  60. package/samples/reference-port/no/catalog/TARGET.bound +33 -0
  61. package/samples/reference-port/no/route-notes/TARGET.bound +33 -0
  62. package/samples/refusals/no.json +4 -0
  63. package/samples/refusals/yes.json +9 -0
  64. package/samples/standing/no.json +4 -0
  65. package/samples/standing/yes.json +21 -0
  66. package/vectors/native/authenticated-reference-formation.vector.json +55 -1
  67. package/vectors/native/authenticated-reference.vector.json +32 -396
  68. package/vectors/native/host-ports.vector.json +107 -0
  69. package/vectors/native/readme.vector.json +76 -0
  70. package/vectors/native/reference-backend.vector.json +84 -0
  71. package/vectors/native/reference-export.vector.json +78 -0
  72. package/vectors/native/refusals.vector.json +95 -0
  73. package/vectors/native/standing.vector.json +116 -0
  74. package/vectors/wasm-object.cli.json +16 -61
  75. package/dist/cli/accept.d.ts +0 -28
  76. package/dist/cli/act-result.d.ts +0 -12
  77. package/dist/cli/args.d.ts +0 -11
  78. package/dist/cli/custodian.d.ts +0 -1
  79. package/dist/cli/host.d.ts +0 -1
  80. package/dist/cli/names.d.ts +0 -25
  81. package/dist/cli/native-descendant.d.ts +0 -1
  82. package/dist/cli/native.d.ts +0 -1
  83. package/dist/cli/observe.d.ts +0 -1
  84. package/dist/cli/owner.d.ts +0 -37
  85. package/dist/cli/pass.d.ts +0 -6
  86. package/dist/cli/place.d.ts +0 -76
  87. package/dist/cli/release-result.d.ts +0 -5
  88. package/dist/cli/standing-result.d.ts +0 -5
  89. package/dist/cli/takes.d.ts +0 -30
  90. package/dist/fold/admission-history.d.ts +0 -6
  91. package/dist/fold/ceilings.d.ts +0 -24
  92. package/dist/fold/claims.d.ts +0 -29
  93. package/dist/fold/closed.d.ts +0 -15
  94. package/dist/fold/configures.d.ts +0 -4
  95. package/dist/fold/digests.d.ts +0 -29
  96. package/dist/fold/evidence.d.ts +0 -32
  97. package/dist/fold/fold-worker.d.ts +0 -1
  98. package/dist/fold/kept.d.ts +0 -29
  99. package/dist/fold/keys.d.ts +0 -17
  100. package/dist/fold/laid.d.ts +0 -17
  101. package/dist/fold/nos.d.ts +0 -8
  102. package/dist/fold/object.d.ts +0 -3
  103. package/dist/fold/observed.d.ts +0 -35
  104. package/dist/fold/opened.d.ts +0 -5
  105. package/dist/fold/own.d.ts +0 -24
  106. package/dist/fold/paid.d.ts +0 -11
  107. package/dist/fold/place-inputs.d.ts +0 -17
  108. package/dist/fold/places.d.ts +0 -24
  109. package/dist/fold/rank.d.ts +0 -3
  110. package/dist/fold/reach.d.ts +0 -18
  111. package/dist/fold/readers.d.ts +0 -47
  112. package/dist/fold/receipts.d.ts +0 -8
  113. package/dist/fold/region-declarations.d.ts +0 -2
  114. package/dist/fold/region.d.ts +0 -72
  115. package/dist/fold/release-policy.d.ts +0 -67
  116. package/dist/fold/resolved.d.ts +0 -18
  117. package/dist/fold/roles.d.ts +0 -17
  118. package/dist/fold/second.d.ts +0 -18
  119. package/dist/fold/shards.d.ts +0 -29
  120. package/dist/fold/signed.d.ts +0 -23
  121. package/dist/fold/signers.d.ts +0 -24
  122. package/dist/fold/stranger.d.ts +0 -3
  123. package/dist/fold/views.d.ts +0 -27
  124. package/dist/fold/wire.d.ts +0 -19
  125. package/dist/fold/zoom.d.ts +0 -16
  126. package/dist/host/act-cost.d.ts +0 -13
  127. package/dist/host/adapters/keys/ed25519.d.ts +0 -7
  128. package/dist/host/adapters/modules/javascript.d.ts +0 -3
  129. package/dist/host/adapters/transport/http.d.ts +0 -5
  130. package/dist/host/admitted-place.d.ts +0 -5
  131. package/dist/host/archive.d.ts +0 -11
  132. package/dist/host/capsule-process.d.ts +0 -21
  133. package/dist/host/capsule.d.ts +0 -19
  134. package/dist/host/cell-receipts.d.ts +0 -2
  135. package/dist/host/content-needed.d.ts +0 -5
  136. package/dist/host/content-store.d.ts +0 -8
  137. package/dist/host/contextual-place.d.ts +0 -59
  138. package/dist/host/digest.d.ts +0 -3
  139. package/dist/host/hash.d.ts +0 -9
  140. package/dist/host/io.d.ts +0 -11
  141. package/dist/host/lifetime.d.ts +0 -1
  142. package/dist/host/located.d.ts +0 -4
  143. package/dist/host/native/bounded-file.d.ts +0 -8
  144. package/dist/host/native/command.d.ts +0 -36
  145. package/dist/host/native/control-bridge-worker.d.ts +0 -1
  146. package/dist/host/native/control-bridge.d.ts +0 -30
  147. package/dist/host/native/control-selection.d.ts +0 -29
  148. package/dist/host/native/custody.d.ts +0 -5
  149. package/dist/host/native/deadline.d.ts +0 -12
  150. package/dist/host/native/descendants.d.ts +0 -1
  151. package/dist/host/native/generated-custodian.d.ts +0 -122
  152. package/dist/host/native/generated.d.ts +0 -217
  153. package/dist/host/native/image.d.ts +0 -36
  154. package/dist/host/native/jobs.d.ts +0 -75
  155. package/dist/host/native/loader.d.ts +0 -80
  156. package/dist/host/native/materialize.d.ts +0 -22
  157. package/dist/host/native/module-closure.d.ts +0 -27
  158. package/dist/host/native/module-syntax.d.ts +0 -8
  159. package/dist/host/native/native-binary.d.ts +0 -54
  160. package/dist/host/native/native-program.d.ts +0 -56
  161. package/dist/host/native/node-jobs.d.ts +0 -84
  162. package/dist/host/native/node-launch.d.ts +0 -72
  163. package/dist/host/native/preload.d.ts +0 -1
  164. package/dist/host/native/reading.d.ts +0 -91
  165. package/dist/host/native/receipt-environment.d.ts +0 -3
  166. package/dist/host/native/references.d.ts +0 -5
  167. package/dist/host/native/root.d.ts +0 -17
  168. package/dist/host/native/route.d.ts +0 -66
  169. package/dist/host/native/runtime.d.ts +0 -4
  170. package/dist/host/native-reader-context.d.ts +0 -3
  171. package/dist/host/objects.d.ts +0 -6
  172. package/dist/host/place-clock-selection.d.ts +0 -55
  173. package/dist/host/ports/ingress.d.ts +0 -24
  174. package/dist/host/ports/local-act.d.ts +0 -44
  175. package/dist/host/ports/place-act.d.ts +0 -46
  176. package/dist/host/ports/publication.d.ts +0 -10
  177. package/dist/host/ports/signing.d.ts +0 -31
  178. package/dist/host/ports/store.d.ts +0 -2
  179. package/dist/host/ports/transport.d.ts +0 -1
  180. package/dist/host/process-lifetime.d.ts +0 -11
  181. package/dist/host/provide.d.ts +0 -48
  182. package/dist/host/read-only.d.ts +0 -3
  183. package/dist/host/reading-closures.d.ts +0 -47
  184. package/dist/host/reading-context.d.ts +0 -29
  185. package/dist/host/reference.d.ts +0 -6
  186. package/dist/host/release.d.ts +0 -14
  187. package/dist/host/root-clock-source.d.ts +0 -85
  188. package/dist/host/selected-capsules.d.ts +0 -8
  189. package/dist/host/selected-topos.d.ts +0 -24
  190. package/dist/host/signing.d.ts +0 -3
  191. package/dist/host/source-content.d.ts +0 -12
  192. package/dist/host/timing.d.ts +0 -2
  193. package/dist/host/walk.d.ts +0 -6
  194. package/dist/judge/late.d.ts +0 -7
  195. package/dist/judge/take.d.ts +0 -59
  196. package/dist/judge/widening.d.ts +0 -1
  197. package/dist/land/act.d.ts +0 -30
  198. package/dist/land/alias.d.ts +0 -10
  199. package/dist/land/held.d.ts +0 -7
  200. package/dist/land/inert.d.ts +0 -26
  201. package/dist/land/leaving.d.ts +0 -14
  202. package/dist/land/ledger.d.ts +0 -33
  203. package/dist/land/owned.d.ts +0 -23
  204. package/dist/land/sign.d.ts +0 -15
  205. package/dist/land/standing-pin.d.ts +0 -3
  206. package/dist/land/vouched.d.ts +0 -21
  207. package/dist/land/withdraw.d.ts +0 -14
  208. package/dist/observe/files.d.ts +0 -14
  209. package/dist/observe/identity.d.ts +0 -21
  210. package/dist/observe/match.d.ts +0 -1
  211. package/dist/observe/regions.d.ts +0 -33
  212. package/dist/observe/run.d.ts +0 -31
  213. package/dist/observe/runner.d.ts +0 -20
  214. package/dist/render/capsule.d.ts +0 -24
  215. package/dist/render/field.d.ts +0 -3
  216. package/dist/render/names.d.ts +0 -3
  217. package/dist/render/open.d.ts +0 -27
  218. package/dist/render/page.d.ts +0 -3
  219. package/dist/render/receipts.d.ts +0 -3
  220. package/dist/render/shape.d.ts +0 -16
  221. package/dist/render/target.d.ts +0 -18
  222. package/dist/render/view.d.ts +0 -22
  223. package/dist/wasm/node-worker.d.ts +0 -1
  224. package/dist/wasm/object.d.ts +0 -8
  225. package/dist/wasm/worker.d.ts +0 -1
@@ -0,0 +1,306 @@
1
+ {
2
+ "profile": "authenticated-standing-compatibility@1",
3
+ "carrierPolicy": "original bytes and signatures unchanged",
4
+ "publicInspection": "legacy trust supplied independently; no contracts@2 identity inferred",
5
+ "nativeReceiver": "explicit backend absent: reference/backend before transport; no fallback",
6
+ "places": [
7
+ {
8
+ "place": "weather-reading",
9
+ "cases": [
10
+ {
11
+ "name": "yes",
12
+ "reference": "#bound:1?class=standing&algorithm=sha256&digest=6bb526807d02f1072556d3dea7cb05227e4cdeb1747219c93c3fc950b2617fd8&blob=sha256%3Af285a014cc9e9453aebd4c4ed94354fba5cac55c05929f4ad7cdd1b3348a9717&source=fixture%3A%2F%2Fcarrier%2Fyes",
13
+ "inputs": [
14
+ "samples/authenticated-reference/yes/weather-reading/TARGET.bound",
15
+ "samples/authenticated-reference/yes/weather-reading/inputs/yes.json",
16
+ "samples/authenticated-reference/yes/weather-reading/inputs/transport.yes.json"
17
+ ],
18
+ "exit": 0,
19
+ "matches": [
20
+ {
21
+ "stream": "stdout",
22
+ "pattern": "AUTHENTICATED standing sha256:6bb526807d02f1072556d3dea7cb05227e4cdeb1747219c93c3fc950b2617fd8"
23
+ },
24
+ {
25
+ "stream": "stdout",
26
+ "pattern": "CELL \\{\"cell\":\"weather/temperature\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":2,\"hi\":3\\},\"ceiling\":\\{\"lo\":2,\"hi\":3\\},\"origins\":\\[\\{\"id\":\"claim-first\",\"at\":3,\"origin\":\"origin-one\",\"span\":\\{\"lo\":2,\"hi\":3\\}\\}\\],\"rest\":\\[\\],\"required\":\\{\"lo\":0,\"hi\":10\\},\"signed\":\\{\"lo\":0,\"hi\":6\\}\\},\"rest\":\\[\\],\"ownMarks\":\\[\"parent-ceiling\"\\],\"ownClaims\":\\[\\{\"id\":\"claim-first\",\"origin\":\"origin-one\"\\}\\],\"marks\":\\[\\{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":\\{\"lo\":0,\"hi\":6\\},\"id\":\"parent-ceiling\",\"at\":3\\}\\],\"claims\":\\[\\{\"id\":\"claim-first\",\"at\":3,\"origin\":\"origin-one\",\"span\":\\{\"lo\":2,\"hi\":3\\}\\}\\]\\}"
27
+ },
28
+ {
29
+ "stream": "stdout",
30
+ "pattern": "CELL \\{\"cell\":\"weather/indoor\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":0,\"hi\":10\\},\"ceiling\":\\{\"lo\":0,\"hi\":9\\},\"origins\":\\[\\],\"rest\":\\[\"weather/temperature\"\\],\"required\":\\{\"lo\":0,\"hi\":10\\},\"signed\":\\{\"lo\":0,\"hi\":9\\}\\},\"rest\":\\[\"weather/temperature\"\\],\"ownMarks\":\\[\"child-join\"\\],\"ownClaims\":\\[\\],\"marks\":\\[\\{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":\\{\"lo\":0,\"hi\":9\\},\"widens\":\"parent-ceiling\",\"at\":4,\"id\":\"child-join\"\\}\\],\"claims\":\\[\\]\\}"
31
+ }
32
+ ]
33
+ },
34
+ {
35
+ "name": "signature",
36
+ "reference": "#bound:1?class=standing&algorithm=sha256&digest=6bb526807d02f1072556d3dea7cb05227e4cdeb1747219c93c3fc950b2617fd8&blob=sha256%3A2049bbbf88077727911a0cfec3193ab6ce7bccb8d4e3bb22fc537c59f5addf58&source=fixture%3A%2F%2Fcarrier%2Fsignature",
37
+ "inputs": [
38
+ "samples/authenticated-reference/yes/weather-reading/TARGET.bound",
39
+ "samples/authenticated-reference/yes/weather-reading/inputs/signature.json",
40
+ "samples/authenticated-reference/yes/weather-reading/inputs/transport.signature.json"
41
+ ],
42
+ "exit": 1,
43
+ "matches": [
44
+ {
45
+ "stream": "stderr",
46
+ "pattern": "signature"
47
+ }
48
+ ]
49
+ },
50
+ {
51
+ "name": "coverage",
52
+ "reference": "#bound:1?class=standing&algorithm=sha256&digest=6bb526807d02f1072556d3dea7cb05227e4cdeb1747219c93c3fc950b2617fd8&blob=sha256%3Ae313d0de2c5676093f6c7fff023a923fd489c122f241b1e211dd1ff6bf10e335&source=fixture%3A%2F%2Fcarrier%2Fcoverage",
53
+ "inputs": [
54
+ "samples/authenticated-reference/yes/weather-reading/TARGET.bound",
55
+ "samples/authenticated-reference/yes/weather-reading/inputs/coverage.json",
56
+ "samples/authenticated-reference/yes/weather-reading/inputs/transport.coverage.json"
57
+ ],
58
+ "exit": 1,
59
+ "matches": [
60
+ {
61
+ "stream": "stderr",
62
+ "pattern": "cover"
63
+ }
64
+ ]
65
+ },
66
+ {
67
+ "name": "era",
68
+ "reference": "#bound:1?class=standing&algorithm=sha256&digest=6bb526807d02f1072556d3dea7cb05227e4cdeb1747219c93c3fc950b2617fd8&blob=sha256%3Ab51f57e7433bfce9e31496552ea5dd9445eaedab3fc3d6a2093e9bb1763b5442&source=fixture%3A%2F%2Fcarrier%2Fera",
69
+ "inputs": [
70
+ "samples/authenticated-reference/yes/weather-reading/TARGET.bound",
71
+ "samples/authenticated-reference/yes/weather-reading/inputs/era.json",
72
+ "samples/authenticated-reference/yes/weather-reading/inputs/transport.era.json"
73
+ ],
74
+ "exit": 1,
75
+ "matches": [
76
+ {
77
+ "stream": "stderr",
78
+ "pattern": "signature"
79
+ }
80
+ ]
81
+ },
82
+ {
83
+ "name": "order",
84
+ "reference": "#bound:1?class=standing&algorithm=sha256&digest=6bb526807d02f1072556d3dea7cb05227e4cdeb1747219c93c3fc950b2617fd8&blob=sha256%3Ac9ce0f452ac4b0465993c2c4997a30d2a95c0d1f71c5cc2485b95c06c1b995ef&source=fixture%3A%2F%2Fcarrier%2Forder",
85
+ "inputs": [
86
+ "samples/authenticated-reference/yes/weather-reading/TARGET.bound",
87
+ "samples/authenticated-reference/yes/weather-reading/inputs/order.json",
88
+ "samples/authenticated-reference/yes/weather-reading/inputs/transport.order.json"
89
+ ],
90
+ "exit": 1,
91
+ "matches": [
92
+ {
93
+ "stream": "stderr",
94
+ "pattern": "cell not declared before claim-first"
95
+ }
96
+ ]
97
+ },
98
+ {
99
+ "name": "arrival",
100
+ "reference": "#bound:1?class=standing&algorithm=sha256&digest=6bb526807d02f1072556d3dea7cb05227e4cdeb1747219c93c3fc950b2617fd8&blob=sha256%3A7543cb2f595484527ac15fb5787cc2ca1ac37e580b6a0b0de577466bb185fb90&source=fixture%3A%2F%2Fcarrier%2Farrival",
101
+ "inputs": [
102
+ "samples/authenticated-reference/yes/weather-reading/TARGET.bound",
103
+ "samples/authenticated-reference/yes/weather-reading/inputs/arrival.json",
104
+ "samples/authenticated-reference/yes/weather-reading/inputs/transport.arrival.json"
105
+ ],
106
+ "exit": 0,
107
+ "matches": [
108
+ {
109
+ "stream": "stdout",
110
+ "pattern": "AUTHENTICATED standing sha256:6bb526807d02f1072556d3dea7cb05227e4cdeb1747219c93c3fc950b2617fd8"
111
+ },
112
+ {
113
+ "stream": "stdout",
114
+ "pattern": "CELL \\{\"cell\":\"weather/temperature\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":2,\"hi\":3\\},\"ceiling\":\\{\"lo\":2,\"hi\":3\\},\"origins\":\\[\\{\"id\":\"claim-first\",\"at\":3,\"origin\":\"origin-one\",\"span\":\\{\"lo\":2,\"hi\":3\\}\\}\\],\"rest\":\\[\\],\"required\":\\{\"lo\":0,\"hi\":10\\},\"signed\":\\{\"lo\":0,\"hi\":6\\}\\},\"rest\":\\[\\],\"ownMarks\":\\[\"parent-ceiling\"\\],\"ownClaims\":\\[\\{\"id\":\"claim-first\",\"origin\":\"origin-one\"\\}\\],\"marks\":\\[\\{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":\\{\"lo\":0,\"hi\":6\\},\"id\":\"parent-ceiling\",\"at\":3\\}\\],\"claims\":\\[\\{\"id\":\"claim-first\",\"at\":3,\"origin\":\"origin-one\",\"span\":\\{\"lo\":2,\"hi\":3\\}\\}\\]\\}"
115
+ },
116
+ {
117
+ "stream": "stdout",
118
+ "pattern": "CELL \\{\"cell\":\"weather/indoor\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"lo\":0,\"hi\":10\\},\"ceiling\":\\{\"lo\":0,\"hi\":9\\},\"origins\":\\[\\],\"rest\":\\[\"weather/temperature\"\\],\"required\":\\{\"lo\":0,\"hi\":10\\},\"signed\":\\{\"lo\":0,\"hi\":9\\}\\},\"rest\":\\[\"weather/temperature\"\\],\"ownMarks\":\\[\"child-join\"\\],\"ownClaims\":\\[\\],\"marks\":\\[\\{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":\\{\"lo\":0,\"hi\":9\\},\"widens\":\"parent-ceiling\",\"at\":4,\"id\":\"child-join\"\\}\\],\"claims\":\\[\\]\\}"
119
+ }
120
+ ]
121
+ },
122
+ {
123
+ "name": "blob",
124
+ "reference": "#bound:1?class=standing&algorithm=sha256&digest=6bb526807d02f1072556d3dea7cb05227e4cdeb1747219c93c3fc950b2617fd8&blob=sha256%3A0000000000000000000000000000000000000000000000000000000000000000&source=fixture%3A%2F%2Fcarrier%2Fyes",
125
+ "inputs": [
126
+ "samples/authenticated-reference/yes/weather-reading/TARGET.bound",
127
+ "samples/authenticated-reference/yes/weather-reading/inputs/yes.json",
128
+ "samples/authenticated-reference/yes/weather-reading/inputs/transport.yes.json"
129
+ ],
130
+ "exit": 1,
131
+ "matches": [
132
+ {
133
+ "stream": "stderr",
134
+ "pattern": "blob integrity"
135
+ }
136
+ ]
137
+ },
138
+ {
139
+ "name": "standing",
140
+ "reference": "#bound:1?class=standing&algorithm=sha256&digest=0000000000000000000000000000000000000000000000000000000000000000&blob=sha256%3Af285a014cc9e9453aebd4c4ed94354fba5cac55c05929f4ad7cdd1b3348a9717&source=fixture%3A%2F%2Fcarrier%2Fyes",
141
+ "inputs": [
142
+ "samples/authenticated-reference/yes/weather-reading/TARGET.bound",
143
+ "samples/authenticated-reference/yes/weather-reading/inputs/yes.json",
144
+ "samples/authenticated-reference/yes/weather-reading/inputs/transport.yes.json"
145
+ ],
146
+ "exit": 1,
147
+ "matches": [
148
+ {
149
+ "stream": "stderr",
150
+ "pattern": "standing identity"
151
+ }
152
+ ]
153
+ }
154
+ ]
155
+ },
156
+ {
157
+ "place": "editorial-state",
158
+ "cases": [
159
+ {
160
+ "name": "yes",
161
+ "reference": "#bound:1?class=standing&algorithm=sha256&digest=48ed60f5bc98aaed5a0818087e2b5b1d0e63000bb3b8dbd1e97bd250b097106c&blob=sha256%3Ad0c251889330c27f3eac8066c59556f1ea95fba907ce083bcca5f0fab4061931&source=fixture%3A%2F%2Fcarrier%2Fyes",
162
+ "inputs": [
163
+ "samples/authenticated-reference/yes/editorial-state/TARGET.bound",
164
+ "samples/authenticated-reference/yes/editorial-state/inputs/yes.json",
165
+ "samples/authenticated-reference/yes/editorial-state/inputs/transport.yes.json"
166
+ ],
167
+ "exit": 0,
168
+ "matches": [
169
+ {
170
+ "stream": "stdout",
171
+ "pattern": "AUTHENTICATED standing sha256:48ed60f5bc98aaed5a0818087e2b5b1d0e63000bb3b8dbd1e97bd250b097106c"
172
+ },
173
+ {
174
+ "stream": "stdout",
175
+ "pattern": "CELL \\{\"cell\":\"editorial/state\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"words\":\\{\"0\":1\\},\"width\":3\\},\"ceiling\":\\{\"words\":\\{\"0\":1\\},\"width\":3\\},\"origins\":\\[\\{\"id\":\"claim-first\",\"at\":3,\"origin\":\"origin-one\",\"span\":\\{\"words\":\\{\"0\":1\\},\"width\":3\\}\\}\\],\"rest\":\\[\\],\"required\":\\{\"words\":\\{\"0\":7\\},\"width\":3\\},\"signed\":\\{\"words\":\\{\"0\":3\\},\"width\":3\\}\\},\"rest\":\\[\\],\"ownMarks\":\\[\"parent-ceiling\"\\],\"ownClaims\":\\[\\{\"id\":\"claim-first\",\"origin\":\"origin-one\"\\}\\],\"marks\":\\[\\{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":\\{\"words\":\\{\"0\":3\\},\"width\":3\\},\"id\":\"parent-ceiling\",\"at\":3\\}\\],\"claims\":\\[\\{\"id\":\"claim-first\",\"at\":3,\"origin\":\"origin-one\",\"span\":\\{\"words\":\\{\"0\":1\\},\"width\":3\\}\\}\\]\\}"
176
+ },
177
+ {
178
+ "stream": "stdout",
179
+ "pattern": "CELL \\{\"cell\":\"editorial/review\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"words\":\\{\"0\":7\\},\"width\":3\\},\"ceiling\":\\{\"words\":\\{\"0\":7\\},\"width\":3\\},\"origins\":\\[\\],\"rest\":\\[\"editorial/state\"\\],\"required\":\\{\"words\":\\{\"0\":7\\},\"width\":3\\},\"signed\":\\{\"words\":\\{\"0\":7\\},\"width\":3\\}\\},\"rest\":\\[\"editorial/state\"\\],\"ownMarks\":\\[\"child-join\"\\],\"ownClaims\":\\[\\],\"marks\":\\[\\{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":\\{\"words\":\\{\"0\":7\\},\"width\":3\\},\"widens\":\"parent-ceiling\",\"at\":4,\"id\":\"child-join\"\\}\\],\"claims\":\\[\\]\\}"
180
+ }
181
+ ]
182
+ },
183
+ {
184
+ "name": "signature",
185
+ "reference": "#bound:1?class=standing&algorithm=sha256&digest=48ed60f5bc98aaed5a0818087e2b5b1d0e63000bb3b8dbd1e97bd250b097106c&blob=sha256%3A839091ff13acc4695b1f0d41afd7bccb808b8ade6e2f51cae8c698ed1f52ac3f&source=fixture%3A%2F%2Fcarrier%2Fsignature",
186
+ "inputs": [
187
+ "samples/authenticated-reference/yes/editorial-state/TARGET.bound",
188
+ "samples/authenticated-reference/yes/editorial-state/inputs/signature.json",
189
+ "samples/authenticated-reference/yes/editorial-state/inputs/transport.signature.json"
190
+ ],
191
+ "exit": 1,
192
+ "matches": [
193
+ {
194
+ "stream": "stderr",
195
+ "pattern": "signature"
196
+ }
197
+ ]
198
+ },
199
+ {
200
+ "name": "coverage",
201
+ "reference": "#bound:1?class=standing&algorithm=sha256&digest=48ed60f5bc98aaed5a0818087e2b5b1d0e63000bb3b8dbd1e97bd250b097106c&blob=sha256%3A5e134fbce70c50f5f777c5e8c52929187699dc6f7e2b7c054caba4d59e98137e&source=fixture%3A%2F%2Fcarrier%2Fcoverage",
202
+ "inputs": [
203
+ "samples/authenticated-reference/yes/editorial-state/TARGET.bound",
204
+ "samples/authenticated-reference/yes/editorial-state/inputs/coverage.json",
205
+ "samples/authenticated-reference/yes/editorial-state/inputs/transport.coverage.json"
206
+ ],
207
+ "exit": 1,
208
+ "matches": [
209
+ {
210
+ "stream": "stderr",
211
+ "pattern": "cover"
212
+ }
213
+ ]
214
+ },
215
+ {
216
+ "name": "era",
217
+ "reference": "#bound:1?class=standing&algorithm=sha256&digest=48ed60f5bc98aaed5a0818087e2b5b1d0e63000bb3b8dbd1e97bd250b097106c&blob=sha256%3Aa6802fb8be3d954a9551d22d94c58d974bffd432746443b08be7da63442f0169&source=fixture%3A%2F%2Fcarrier%2Fera",
218
+ "inputs": [
219
+ "samples/authenticated-reference/yes/editorial-state/TARGET.bound",
220
+ "samples/authenticated-reference/yes/editorial-state/inputs/era.json",
221
+ "samples/authenticated-reference/yes/editorial-state/inputs/transport.era.json"
222
+ ],
223
+ "exit": 1,
224
+ "matches": [
225
+ {
226
+ "stream": "stderr",
227
+ "pattern": "signature"
228
+ }
229
+ ]
230
+ },
231
+ {
232
+ "name": "order",
233
+ "reference": "#bound:1?class=standing&algorithm=sha256&digest=48ed60f5bc98aaed5a0818087e2b5b1d0e63000bb3b8dbd1e97bd250b097106c&blob=sha256%3A6e3dcacb310fd2a631c739b1f0fa198259c086f690a27cedd952c57bd20f49d2&source=fixture%3A%2F%2Fcarrier%2Forder",
234
+ "inputs": [
235
+ "samples/authenticated-reference/yes/editorial-state/TARGET.bound",
236
+ "samples/authenticated-reference/yes/editorial-state/inputs/order.json",
237
+ "samples/authenticated-reference/yes/editorial-state/inputs/transport.order.json"
238
+ ],
239
+ "exit": 1,
240
+ "matches": [
241
+ {
242
+ "stream": "stderr",
243
+ "pattern": "cell not declared before claim-first"
244
+ }
245
+ ]
246
+ },
247
+ {
248
+ "name": "arrival",
249
+ "reference": "#bound:1?class=standing&algorithm=sha256&digest=48ed60f5bc98aaed5a0818087e2b5b1d0e63000bb3b8dbd1e97bd250b097106c&blob=sha256%3A5602a5247fde99b2295faa26523ef3134bc18eef87ea31e1289db297d2278e7e&source=fixture%3A%2F%2Fcarrier%2Farrival",
250
+ "inputs": [
251
+ "samples/authenticated-reference/yes/editorial-state/TARGET.bound",
252
+ "samples/authenticated-reference/yes/editorial-state/inputs/arrival.json",
253
+ "samples/authenticated-reference/yes/editorial-state/inputs/transport.arrival.json"
254
+ ],
255
+ "exit": 0,
256
+ "matches": [
257
+ {
258
+ "stream": "stdout",
259
+ "pattern": "AUTHENTICATED standing sha256:48ed60f5bc98aaed5a0818087e2b5b1d0e63000bb3b8dbd1e97bd250b097106c"
260
+ },
261
+ {
262
+ "stream": "stdout",
263
+ "pattern": "CELL \\{\"cell\":\"editorial/state\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"words\":\\{\"0\":1\\},\"width\":3\\},\"ceiling\":\\{\"words\":\\{\"0\":1\\},\"width\":3\\},\"origins\":\\[\\{\"id\":\"claim-first\",\"at\":3,\"origin\":\"origin-one\",\"span\":\\{\"words\":\\{\"0\":1\\},\"width\":3\\}\\}\\],\"rest\":\\[\\],\"required\":\\{\"words\":\\{\"0\":7\\},\"width\":3\\},\"signed\":\\{\"words\":\\{\"0\":3\\},\"width\":3\\}\\},\"rest\":\\[\\],\"ownMarks\":\\[\"parent-ceiling\"\\],\"ownClaims\":\\[\\{\"id\":\"claim-first\",\"origin\":\"origin-one\"\\}\\],\"marks\":\\[\\{\"pole\":\"ceiling\",\"reach\":\"travels\",\"span\":\\{\"words\":\\{\"0\":3\\},\"width\":3\\},\"id\":\"parent-ceiling\",\"at\":3\\}\\],\"claims\":\\[\\{\"id\":\"claim-first\",\"at\":3,\"origin\":\"origin-one\",\"span\":\\{\"words\":\\{\"0\":1\\},\"width\":3\\}\\}\\]\\}"
264
+ },
265
+ {
266
+ "stream": "stdout",
267
+ "pattern": "CELL \\{\"cell\":\"editorial/review\",\"state\":\"REQUIRED\",\"parts\":\\{\"floor\":\\{\"words\":\\{\"0\":7\\},\"width\":3\\},\"ceiling\":\\{\"words\":\\{\"0\":7\\},\"width\":3\\},\"origins\":\\[\\],\"rest\":\\[\"editorial/state\"\\],\"required\":\\{\"words\":\\{\"0\":7\\},\"width\":3\\},\"signed\":\\{\"words\":\\{\"0\":7\\},\"width\":3\\}\\},\"rest\":\\[\"editorial/state\"\\],\"ownMarks\":\\[\"child-join\"\\],\"ownClaims\":\\[\\],\"marks\":\\[\\{\"pole\":\"ceiling\",\"reach\":\"local\",\"span\":\\{\"words\":\\{\"0\":7\\},\"width\":3\\},\"widens\":\"parent-ceiling\",\"at\":4,\"id\":\"child-join\"\\}\\],\"claims\":\\[\\]\\}"
268
+ }
269
+ ]
270
+ },
271
+ {
272
+ "name": "blob",
273
+ "reference": "#bound:1?class=standing&algorithm=sha256&digest=48ed60f5bc98aaed5a0818087e2b5b1d0e63000bb3b8dbd1e97bd250b097106c&blob=sha256%3A0000000000000000000000000000000000000000000000000000000000000000&source=fixture%3A%2F%2Fcarrier%2Fyes",
274
+ "inputs": [
275
+ "samples/authenticated-reference/yes/editorial-state/TARGET.bound",
276
+ "samples/authenticated-reference/yes/editorial-state/inputs/yes.json",
277
+ "samples/authenticated-reference/yes/editorial-state/inputs/transport.yes.json"
278
+ ],
279
+ "exit": 1,
280
+ "matches": [
281
+ {
282
+ "stream": "stderr",
283
+ "pattern": "blob integrity"
284
+ }
285
+ ]
286
+ },
287
+ {
288
+ "name": "standing",
289
+ "reference": "#bound:1?class=standing&algorithm=sha256&digest=0000000000000000000000000000000000000000000000000000000000000000&blob=sha256%3Ad0c251889330c27f3eac8066c59556f1ea95fba907ce083bcca5f0fab4061931&source=fixture%3A%2F%2Fcarrier%2Fyes",
290
+ "inputs": [
291
+ "samples/authenticated-reference/yes/editorial-state/TARGET.bound",
292
+ "samples/authenticated-reference/yes/editorial-state/inputs/yes.json",
293
+ "samples/authenticated-reference/yes/editorial-state/inputs/transport.yes.json"
294
+ ],
295
+ "exit": 1,
296
+ "matches": [
297
+ {
298
+ "stream": "stderr",
299
+ "pattern": "standing identity"
300
+ }
301
+ ]
302
+ }
303
+ ]
304
+ }
305
+ ]
306
+ }
@@ -5,14 +5,14 @@
5
5
  "place": "yes/weather-reading",
6
6
  "target": "yes/weather-reading/TARGET.bound",
7
7
  "data": "yes/weather-reading/inputs/yes.json",
8
- "procedure": "keyless native land preparation, then public CLI fold of declared #bound reference",
8
+ "procedure": "public inspectAuthenticatedReference against independently prepared admitted authority; original carrier bytes retained; native receiver without explicit backend refuses reference/backend",
9
9
  "expected": "AUTHENTICATED with standing identity and two REQUIRED cells"
10
10
  },
11
11
  {
12
12
  "place": "yes/editorial-state",
13
13
  "target": "yes/editorial-state/TARGET.bound",
14
14
  "data": "yes/editorial-state/inputs/yes.json",
15
- "procedure": "keyless native land preparation, then public CLI fold of declared #bound reference",
15
+ "procedure": "public inspectAuthenticatedReference against independently prepared admitted authority; original carrier bytes retained; native receiver without explicit backend refuses reference/backend",
16
16
  "expected": "AUTHENTICATED with standing identity and two REQUIRED cells"
17
17
  }
18
18
  ]
@@ -0,0 +1,16 @@
1
+ {
2
+ "codes": [
3
+ "budget",
4
+ "cancelled",
5
+ "timeout",
6
+ "failed",
7
+ "integrity",
8
+ "response"
9
+ ],
10
+ "ports": [
11
+ "signer",
12
+ "content",
13
+ "persistence"
14
+ ],
15
+ "authority": "never-created"
16
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "places": [
3
+ "host-sensor",
4
+ "host-editorial"
5
+ ],
6
+ "state": "REQUIRED",
7
+ "commit": false,
8
+ "retention": "bytes-only"
9
+ }
@@ -0,0 +1 @@
1
+ {"mutation":"append-one-carrier-byte","refusal":"blob integrity"}
@@ -0,0 +1 @@
1
+ {"places":["sensor","editorial"],"state":"REQUIRED"}
@@ -0,0 +1 @@
1
+ {"mutation":"append-one-carrier-byte","expectedCode":"authenticated-reference/integrity","commit":false}
@@ -0,0 +1,8 @@
1
+ {
2
+ "profile": "reference-world-fixture@1",
3
+ "source": "https://github.com/Lapxo/bound/releases/download/v0.2.0/native-publication-readings.tgz",
4
+ "blob": "sha256:859a3684c434e66ee963ff13f6028863caa2c0d6864cdcde27718034a8730e58",
5
+ "bytes": 932057,
6
+ "timeoutMs": 15000,
7
+ "standing": "sha256:13ee36d217833cb78bc180a62303e3335f4f1020d120914d1ef7d674ae38f67e"
8
+ }
@@ -0,0 +1 @@
1
+ {"places":["water-level-reference","editorial-reference"],"backends":["esm@1","wasm@1"],"expectedState":"REQUIRED","projection":"byte-equal","commit":false}
@@ -0,0 +1,5 @@
1
+ {
2
+ "mutation": "flip-one-carrier-byte",
3
+ "expectedRefusal": "blob integrity",
4
+ "expectedResult": "no projection; no successful receipt"
5
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "source": "https://example.test/place/carrier.json",
3
+ "cell": {
4
+ "scope": "sample/value",
5
+ "params": {
6
+ "lo": 0,
7
+ "hi": 10
8
+ }
9
+ },
10
+ "claim": {
11
+ "origin": "one",
12
+ "value": "2..3"
13
+ },
14
+ "expectedState": "REQUIRED"
15
+ }
@@ -0,0 +1,33 @@
1
+ bound-lock/1 at=policy:conformance by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy
2
+ bound-lock/1 at=policy:conformance by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256
3
+ bound-lock/1 at=policy:conformance by=target form=alphabet measure=id role=writes scope=wire/era value=sample
4
+ bound-lock/1 at=policy:conformance by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|conformance|vector|sample|cost|source|class|pipeline|host
5
+ bound-lock/1 at=policy:conformance by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|needs|sig|epoch|shape|restsOn|condition|about|kind|view
6
+ bound-lock/1 at=policy:conformance by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval
7
+ bound-lock/1 at=policy:conformance by=target form=alphabet measure=id role=writes scope=wire/reader-empty value=declared-empty@1
8
+ bound-lock/1 at=policy:conformance by=target form=alphabet measure=id role=writes scope=wire/reader-inputs value=declared-presence@1
9
+ bound-lock/1 at=policy:conformance by=target form=alphabet measure=id role=writes scope=wire/reader-lifetime value=bounded-process@2
10
+ bound-lock/1 at=policy:conformance by=target form=alphabet measure=id role=writes scope=wire/receipt-fields value=scope|role|form|measure|value|by|at
11
+ bound-lock/1 at=policy:conformance by=target form=alphabet measure=id role=writes scope=wire/region-coordinate value=coordinates
12
+ bound-lock/1 at=policy:conformance by=target form=alphabet measure=id role=writes scope=wire/region-measures value=coordinates
13
+ bound-lock/1 at=policy:conformance by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at
14
+ bound-lock/1 at=policy:conformance by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands
15
+ bound-lock/1 at=policy:conformance by=target form=alphabet measure=id role=writes scope=wire/shapes value=run|sample.json
16
+ bound-lock/1 at=policy:conformance by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample
17
+ bound-lock/1 at=policy:reference-sample by=owner epoch=1 form=alphabet measure=public-key role=writes scope=keys/owner sig="ed25519:sample:OfZHc70C2a63W+Ss/qNPC7DnW9DK+QyPTnsOYZ/v5/RoRDdV/5sCSF8wBbPANW5dqvDMl5tTCgdeV80Ump38AQ==" value="MCowBQYDK2VwAyEAgzRfZFzMTVGnWAhu/mKptNmltXexEOzJ5JuXGDqMXG8="
18
+ bound-lock/1 at=policy:reference-sample by=target form=alphabet measure=class role=writes scope=keys/folder value=fold
19
+ bound-lock/1 at=policy:reference-sample by=target form=alphabet measure=class role=writes scope=keys/owner value=authorize
20
+ bound-lock/1 at=policy:reference-sample by=target form=alphabet measure=class role=writes scope=keys/reader value=read
21
+ bound-lock/1 at=policy:reference-sample by=target form=alphabet measure=coverage role=writes scope=keys/owner value=*
22
+ bound-lock/1 at=policy:reference-sample by=target form=alphabet measure=id role=demands scope=view/receipts shape=receipts.bound value=receipts@8|receipts@0|receipts@1
23
+ bound-lock/1 at=policy:reference-sample by=target form=alphabet measure=id role=writes scope=reader/inputs value=required
24
+ bound-lock/1 at=policy:reference-sample by=target form=alphabet measure=reader needs=inputs/ role=writes scope=reader/conformance shape=sample.json value=reader.js
25
+ bound-lock/1 at=policy:reference-sample by=target form=alphabet measure=signer role=writes scope=keys/owner value=file
26
+ bound-lock/1 at=policy:reference-sample by=target form=interval measure=bytes role=writes scope=reader/response-bytes value=0..65536
27
+ bound-lock/1 at=policy:reference-sample by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536
28
+ bound-lock/1 at=policy:reference-sample by=target form=interval measure=milliseconds role=writes scope=reader/timeout value=0..5000
29
+ bound-lock/1 at=policy:reference-sample by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000
30
+ bound-lock/1 form=alphabet measure=id role=writes scope=wire/transport value=content-request/1
31
+ bound-lock/1 form=alphabet measure=id role=writes scope=transport/http value=fetch
32
+ bound-lock/1 form=interval measure=milliseconds role=writes scope=transport/timeout value=0..300
33
+ bound-lock/1 form=interval measure=bytes role=writes scope=transport/response-bytes value=0..8192
@@ -0,0 +1,33 @@
1
+ bound-lock/1 at=policy:conformance by=target form=alphabet measure=id role=writes scope=wire/at-classes value=origin|place|receipt|witness|policy
2
+ bound-lock/1 at=policy:conformance by=target form=alphabet measure=id role=writes scope=wire/digest-algorithms value=sha256
3
+ bound-lock/1 at=policy:conformance by=target form=alphabet measure=id role=writes scope=wire/era value=sample
4
+ bound-lock/1 at=policy:conformance by=target form=alphabet measure=id role=writes scope=wire/families value=keys|signer|wire|tree|write|leaf|reader|read|fold|receipts|rendered|resolved|beat|view|region|conformance|vector|sample|cost|source|class|pipeline|host
5
+ bound-lock/1 at=policy:conformance by=target form=alphabet measure=id role=writes scope=wire/fields value=scope|role|form|measure|value|by|at|needs|sig|epoch|shape|restsOn|condition|about|kind|view
6
+ bound-lock/1 at=policy:conformance by=target form=alphabet measure=id role=writes scope=wire/forms value=alphabet|interval
7
+ bound-lock/1 at=policy:conformance by=target form=alphabet measure=id role=writes scope=wire/reader-empty value=declared-empty@1
8
+ bound-lock/1 at=policy:conformance by=target form=alphabet measure=id role=writes scope=wire/reader-inputs value=declared-presence@1
9
+ bound-lock/1 at=policy:conformance by=target form=alphabet measure=id role=writes scope=wire/reader-lifetime value=bounded-process@2
10
+ bound-lock/1 at=policy:conformance by=target form=alphabet measure=id role=writes scope=wire/receipt-fields value=scope|role|form|measure|value|by|at
11
+ bound-lock/1 at=policy:conformance by=target form=alphabet measure=id role=writes scope=wire/region-coordinate value=coordinates
12
+ bound-lock/1 at=policy:conformance by=target form=alphabet measure=id role=writes scope=wire/region-measures value=coordinates
13
+ bound-lock/1 at=policy:conformance by=target form=alphabet measure=id role=writes scope=wire/required value=scope|role|form|measure|value|by|at
14
+ bound-lock/1 at=policy:conformance by=target form=alphabet measure=id role=writes scope=wire/roles value=reads|writes|demands
15
+ bound-lock/1 at=policy:conformance by=target form=alphabet measure=id role=writes scope=wire/shapes value=run|sample.json
16
+ bound-lock/1 at=policy:conformance by=target form=alphabet measure=id role=writes scope=wire/signature-algorithms value=ed25519:sample
17
+ bound-lock/1 at=policy:reference-sample by=owner epoch=1 form=alphabet measure=public-key role=writes scope=keys/owner sig="ed25519:sample:XCWMBdyYOt3H3sTjX+A6YXirK3JMoVkagUOLxKBw+U4rQr+pOhAVKW0Va8MDBLQ4cN/sXk+N8Ob5CPDVHIXSDQ==" value="MCowBQYDK2VwAyEA7cXQUTJ0F/6tJ8v/zL+ORgdkaKPE3pQ7D4VzGdhhb4I="
18
+ bound-lock/1 at=policy:reference-sample by=target form=alphabet measure=class role=writes scope=keys/folder value=fold
19
+ bound-lock/1 at=policy:reference-sample by=target form=alphabet measure=class role=writes scope=keys/owner value=authorize
20
+ bound-lock/1 at=policy:reference-sample by=target form=alphabet measure=class role=writes scope=keys/reader value=read
21
+ bound-lock/1 at=policy:reference-sample by=target form=alphabet measure=coverage role=writes scope=keys/owner value=*
22
+ bound-lock/1 at=policy:reference-sample by=target form=alphabet measure=id role=demands scope=view/receipts shape=receipts.bound value=receipts@8|receipts@0|receipts@1
23
+ bound-lock/1 at=policy:reference-sample by=target form=alphabet measure=id role=writes scope=reader/inputs value=required
24
+ bound-lock/1 at=policy:reference-sample by=target form=alphabet measure=reader needs=inputs/ role=writes scope=reader/conformance shape=sample.json value=reader.js
25
+ bound-lock/1 at=policy:reference-sample by=target form=alphabet measure=signer role=writes scope=keys/owner value=file
26
+ bound-lock/1 at=policy:reference-sample by=target form=interval measure=bytes role=writes scope=reader/response-bytes value=0..65536
27
+ bound-lock/1 at=policy:reference-sample by=target form=interval measure=bytes role=writes scope=signer/response-bytes value=65536..65536
28
+ bound-lock/1 at=policy:reference-sample by=target form=interval measure=milliseconds role=writes scope=reader/timeout value=0..5000
29
+ bound-lock/1 at=policy:reference-sample by=target form=interval measure=milliseconds role=writes scope=signer/timeout value=5000..5000
30
+ bound-lock/1 form=alphabet measure=id role=writes scope=wire/transport value=content-request/1
31
+ bound-lock/1 form=alphabet measure=id role=writes scope=transport/http value=fetch
32
+ bound-lock/1 form=interval measure=milliseconds role=writes scope=transport/timeout value=0..300
33
+ bound-lock/1 form=interval measure=bytes role=writes scope=transport/response-bytes value=0..8192
@@ -0,0 +1,4 @@
1
+ {
2
+ "mutation": "duplicate-one-catalog-record",
3
+ "code": "catalog/invalid"
4
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "profile": "bound-refusals@1",
3
+ "required": [
4
+ "code",
5
+ "class",
6
+ "next"
7
+ ],
8
+ "expect": "catalog-bound"
9
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "mutation": "replace-admitted-value-without-resigning",
3
+ "expect": "forged-line-excluded"
4
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "classes": [
3
+ "authorize",
4
+ "attest",
5
+ "read",
6
+ "fold"
7
+ ],
8
+ "delivery": [
9
+ "journal",
10
+ "act"
11
+ ],
12
+ "places": [
13
+ "observations",
14
+ "inventory"
15
+ ],
16
+ "expect": [
17
+ "collisions-retained",
18
+ "exact-withdrawals",
19
+ "replay-identical"
20
+ ]
21
+ }
@@ -3,7 +3,7 @@
3
3
  "measure": "count",
4
4
  "result": "failures",
5
5
  "execution": "independent",
6
- "phase": "preparation before timed reference readings",
6
+ "phase": "fixture preparation before independent timed readings; existing public signed places, no private key",
7
7
  "cases": [
8
8
  {
9
9
  "program": "/usr/bin/env",
@@ -48,6 +48,60 @@
48
48
  "pattern": "FACT landed 56 unique lines from 56 in TARGET \u00b7 0 of 56 signed lines fail admission by declared authority"
49
49
  }
50
50
  ]
51
+ },
52
+ {
53
+ "program": "runtime",
54
+ "args": [
55
+ "../../../dist/cli/verb.js",
56
+ "land"
57
+ ],
58
+ "cwd": "samples/wasm/water-level",
59
+ "inputs": [
60
+ "dist/cli/verb.js",
61
+ "dist/wasm/node-worker.js",
62
+ "package.json",
63
+ "assets/wasm/manifest.json",
64
+ "assets/wasm/runtime.js",
65
+ "assets/wasm/runtime.wasm",
66
+ "assets/wasm/guest.js",
67
+ "samples/wasm/water-level/TARGET.bound"
68
+ ],
69
+ "timeoutMs": 20000,
70
+ "maxBytes": 1048576,
71
+ "exit": 0,
72
+ "matches": [
73
+ {
74
+ "stream": "stdout",
75
+ "pattern": "FACT\\s+landed"
76
+ }
77
+ ]
78
+ },
79
+ {
80
+ "program": "runtime",
81
+ "args": [
82
+ "../../../dist/cli/verb.js",
83
+ "land"
84
+ ],
85
+ "cwd": "samples/wasm/editorial-notes",
86
+ "inputs": [
87
+ "dist/cli/verb.js",
88
+ "dist/wasm/node-worker.js",
89
+ "package.json",
90
+ "assets/wasm/manifest.json",
91
+ "assets/wasm/runtime.js",
92
+ "assets/wasm/runtime.wasm",
93
+ "assets/wasm/guest.js",
94
+ "samples/wasm/editorial-notes/TARGET.bound"
95
+ ],
96
+ "timeoutMs": 20000,
97
+ "maxBytes": 1048576,
98
+ "exit": 0,
99
+ "matches": [
100
+ {
101
+ "stream": "stdout",
102
+ "pattern": "FACT\\s+landed"
103
+ }
104
+ ]
51
105
  }
52
106
  ]
53
107
  }