@sanning/proof 0.18.0 → 0.19.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.
@@ -0,0 +1,3186 @@
1
+ {
2
+ "rule": "sandbox-evidence",
3
+ "ruleVersion": 2,
4
+ "statement": "A pack or case holding any envelope signed environment dev is sandbox evidence, not production evidence (envelope-spec section 2). Both commands report environment_marker in --json, dev where every envelope is signed dev and mixed where only some are, and absent otherwise. Such a pack never prints VERIFIED: where it exits 5 verify prints the headline SANDBOX and case the title Sandbox, and wherever the marker is present it prints the line 'Sandbox evidence (environment dev): not production evidence'. It exits 5 where it would otherwise exit 0, and also where every envelope is signed dev and the only unsettled witnesses are simulated; everywhere else it keeps its code, so a failure still exits 1 and a production or mixed pack with a simulated witness still exits 3 (evidence-export.md section 5). No flag turns 5 into 0. A simulated witness (anchor_ref.kind simulated, a sandbox plane's) is never fetched and never counted as checked on a chain, and no line claims an on-chain look-up for a pack whose only witnesses are simulated. Wherever the marker is present, the reliance line case prints and writes gains one sentence directly after its first, for every verdict: 'The records in this drop are sandbox records, signed environment dev: they are not production evidence.' where it is dev, and 'Some records in this drop are sandbox records, signed environment dev: those are not production evidence.' where it is mixed (evidence-bundle.md section 5.5.6, A48). Each case's expect.case.reliance is that line in full.",
5
+ "home": "@sanning/proof: ts/vectors/sandbox-evidence.json, written by tools/gen-vectors/gen_sandbox_evidence_table.py. Held by ts/test/sandbox-evidence.test.ts and tests/test_sandbox_evidence.py, each against these bytes, and by cross-kernel/run_sandbox.sh, which runs both commands as child processes over every case.",
6
+ "howToUse": "For each case, write `pack` as bundle.json in a folder, and each entry of `logsHex` as logs/<event_id>.json holding the decoded bytes. Run verify on bundle.json (with --logs <folder>/logs where `logsHex` is not empty) and case on the folder, each with --gateways <url,...> where `gateways` is not empty, through a fetch seam that answers each URL in `serves` with its decoded bytes, answers any other URL 404, and records every URL asked. Assert `expect`.",
7
+ "sandboxLine": "Sandbox evidence (environment dev): not production evidence",
8
+ "realPack": {
9
+ "file": "ts/test/fixtures/sandbox/sandbox-simulated.zip",
10
+ "provenance": "ts/test/fixtures/sandbox/README.md"
11
+ },
12
+ "cases": [
13
+ {
14
+ "id": "all-dev-offline",
15
+ "why": "Every record is signed dev and every check passes: verified, printed SANDBOX with the sandbox line, exit 5, marker dev. Never VERIFIED.",
16
+ "pack": {
17
+ "spec_version": "sanning.evidence/v1",
18
+ "body_type": "sanning.stamp.evidence/v2",
19
+ "issuer": {
20
+ "kind": "assembler"
21
+ },
22
+ "generated_at": "2026-10-20T12:20:00.000Z",
23
+ "gateway": null,
24
+ "verdict": {
25
+ "status": "verified",
26
+ "summary": "sandbox evidence fixture"
27
+ },
28
+ "body": {
29
+ "stamps": [
30
+ {
31
+ "stamp_ref": "5fe384a275f4586167d1cf345ab3774d975312b6e1a961742b1f74ae217a5321",
32
+ "stamp_bytes": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538227d7d7d",
33
+ "anchor_ref": {
34
+ "kind": "arweave",
35
+ "id": "sandboxEvidenceFixtureAnchorId0000000000000"
36
+ }
37
+ },
38
+ {
39
+ "stamp_ref": "060156130bd7edb921ecebdbd8a1e7f2d4fa45f6b50448e4fbc9c1990806614b",
40
+ "stamp_bytes": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2232316335626433623761613032346438363438633936303239393362323132393638653231326231616263393239356530643036313463623666343364323930222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2232316335626433623761613032346438363438633936303239393362323132393638653231326231616263393239356530643036313463623666343364323930227d7d7d",
41
+ "anchor_ref": {
42
+ "kind": "arweave",
43
+ "id": "sandboxEvidenceFixtureAnchorId0000000000001"
44
+ }
45
+ }
46
+ ],
47
+ "events": [
48
+ {
49
+ "envelope": {
50
+ "spec_version": "sanning.events/v2",
51
+ "event_id": "5a4db0c0-0000-4000-8000-000000000000",
52
+ "payload_hash": "eec2e61e86306692c1ee3fa5b57a8a07c9c0d2af3a8399c643ac6ddd2635f08d",
53
+ "signed_at": "2026-10-20T12:00:00Z",
54
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
55
+ "environment": "dev",
56
+ "signature": "d739f1f26bae729f29e919692f3cf46ac27610e6a330183964c630c2b48dff1ef461e26b1af22880d6ac3946d9fc2f965c352f12f37eb55d894883dac0283f06"
57
+ },
58
+ "inclusion": {
59
+ "stamp_ref": "5fe384a275f4586167d1cf345ab3774d975312b6e1a961742b1f74ae217a5321",
60
+ "leaf_index": 0,
61
+ "leaf_count": 1,
62
+ "leaf_hash": "7961ff3d13e69d1f0b9e750f0d87221d0efe9b94fd3cd305ac14d1acca7845e8",
63
+ "audit_path": []
64
+ },
65
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2264363939343131333439313962323834313463376237353434316336343832313033613365666237663638643839396237386461303865336330333037633731227d7d"
66
+ },
67
+ {
68
+ "envelope": {
69
+ "spec_version": "sanning.events/v2",
70
+ "event_id": "5a4db0c0-0000-4000-8000-000000000001",
71
+ "payload_hash": "d961df36cc49a133936c5c895a012cdf9aa68d67735c397d9de595c8468d067b",
72
+ "signed_at": "2026-10-20T12:00:00Z",
73
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
74
+ "environment": "dev",
75
+ "signature": "844a2af081133e6e7a57aa492de5d1ffa4a212786e2821f24c158b3408cf1e2f117630e47123e19b779c3b9f17be068c3fe2f5db251102ce2a91676b66449b0d"
76
+ },
77
+ "inclusion": {
78
+ "stamp_ref": "060156130bd7edb921ecebdbd8a1e7f2d4fa45f6b50448e4fbc9c1990806614b",
79
+ "leaf_index": 0,
80
+ "leaf_count": 1,
81
+ "leaf_hash": "21c5bd3b7aa024d8648c9602993b212968e212b1abc9295e0d0614cb6f43d290",
82
+ "audit_path": []
83
+ },
84
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2234633033326636633963626165363032343064663862386335306161313735646533616535643563366163383330666261373965313766353164353965383437227d7d"
85
+ }
86
+ ]
87
+ },
88
+ "body_hash": "66742d271e15120a137a453d2224322f8eeb9f722ddd9fb4f7c5d9ebefaffc71",
89
+ "previous_hash": "GENESIS",
90
+ "signature_alg": "ed25519",
91
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
92
+ "signature": "47575629708206eaf7181c46e0eabe7bb58ae79e7a6a4af2b23001db529db349bd514d6f53c2cfd17fd3e3ffe6d22fbace1b4074296c7516f71a6567cb26e40a"
93
+ },
94
+ "logsHex": {
95
+ "5a4db0c0-0000-4000-8000-000000000000": "7b2273746570223a2273616e64626f782065766964656e636520666978747572652030227d",
96
+ "5a4db0c0-0000-4000-8000-000000000001": "7b2273746570223a2273616e64626f782065766964656e636520666978747572652031227d"
97
+ },
98
+ "gateways": [],
99
+ "serves": {},
100
+ "expect": {
101
+ "verify": {
102
+ "verdict": "verified",
103
+ "exit": 5,
104
+ "environmentMarker": "dev",
105
+ "headline": "SANDBOX",
106
+ "onChainChecked": false,
107
+ "claimsOnChain": false,
108
+ "simulatedSentence": false,
109
+ "fetched": []
110
+ },
111
+ "case": {
112
+ "verdict": "verified",
113
+ "exit": 5,
114
+ "environmentMarker": "dev",
115
+ "title": "Sandbox",
116
+ "reliance": "Every pack in this drop is genuine, unaltered, and matches its own signed declaration. The records in this drop are sandbox records, signed environment dev: they are not production evidence. Every record in it was signed by its holder's key. This was read offline, on this device. It does not say this drop holds everything that was recorded."
117
+ }
118
+ }
119
+ },
120
+ {
121
+ "id": "all-dev-gateway-confirms",
122
+ "why": "The same dev pack, its witnesses confirmed by a gateway: still SANDBOX and exit 5, with gateways as offline. The look-up really ran, so the on-chain claim is true here.",
123
+ "pack": {
124
+ "spec_version": "sanning.evidence/v1",
125
+ "body_type": "sanning.stamp.evidence/v2",
126
+ "issuer": {
127
+ "kind": "assembler"
128
+ },
129
+ "generated_at": "2026-10-20T12:20:00.000Z",
130
+ "gateway": null,
131
+ "verdict": {
132
+ "status": "verified",
133
+ "summary": "sandbox evidence fixture"
134
+ },
135
+ "body": {
136
+ "stamps": [
137
+ {
138
+ "stamp_ref": "5fe384a275f4586167d1cf345ab3774d975312b6e1a961742b1f74ae217a5321",
139
+ "stamp_bytes": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538227d7d7d",
140
+ "anchor_ref": {
141
+ "kind": "arweave",
142
+ "id": "sandboxEvidenceFixtureAnchorId0000000000000"
143
+ }
144
+ },
145
+ {
146
+ "stamp_ref": "060156130bd7edb921ecebdbd8a1e7f2d4fa45f6b50448e4fbc9c1990806614b",
147
+ "stamp_bytes": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2232316335626433623761613032346438363438633936303239393362323132393638653231326231616263393239356530643036313463623666343364323930222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2232316335626433623761613032346438363438633936303239393362323132393638653231326231616263393239356530643036313463623666343364323930227d7d7d",
148
+ "anchor_ref": {
149
+ "kind": "arweave",
150
+ "id": "sandboxEvidenceFixtureAnchorId0000000000001"
151
+ }
152
+ }
153
+ ],
154
+ "events": [
155
+ {
156
+ "envelope": {
157
+ "spec_version": "sanning.events/v2",
158
+ "event_id": "5a4db0c0-0000-4000-8000-000000000000",
159
+ "payload_hash": "eec2e61e86306692c1ee3fa5b57a8a07c9c0d2af3a8399c643ac6ddd2635f08d",
160
+ "signed_at": "2026-10-20T12:00:00Z",
161
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
162
+ "environment": "dev",
163
+ "signature": "d739f1f26bae729f29e919692f3cf46ac27610e6a330183964c630c2b48dff1ef461e26b1af22880d6ac3946d9fc2f965c352f12f37eb55d894883dac0283f06"
164
+ },
165
+ "inclusion": {
166
+ "stamp_ref": "5fe384a275f4586167d1cf345ab3774d975312b6e1a961742b1f74ae217a5321",
167
+ "leaf_index": 0,
168
+ "leaf_count": 1,
169
+ "leaf_hash": "7961ff3d13e69d1f0b9e750f0d87221d0efe9b94fd3cd305ac14d1acca7845e8",
170
+ "audit_path": []
171
+ },
172
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2264363939343131333439313962323834313463376237353434316336343832313033613365666237663638643839396237386461303865336330333037633731227d7d"
173
+ },
174
+ {
175
+ "envelope": {
176
+ "spec_version": "sanning.events/v2",
177
+ "event_id": "5a4db0c0-0000-4000-8000-000000000001",
178
+ "payload_hash": "d961df36cc49a133936c5c895a012cdf9aa68d67735c397d9de595c8468d067b",
179
+ "signed_at": "2026-10-20T12:00:00Z",
180
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
181
+ "environment": "dev",
182
+ "signature": "844a2af081133e6e7a57aa492de5d1ffa4a212786e2821f24c158b3408cf1e2f117630e47123e19b779c3b9f17be068c3fe2f5db251102ce2a91676b66449b0d"
183
+ },
184
+ "inclusion": {
185
+ "stamp_ref": "060156130bd7edb921ecebdbd8a1e7f2d4fa45f6b50448e4fbc9c1990806614b",
186
+ "leaf_index": 0,
187
+ "leaf_count": 1,
188
+ "leaf_hash": "21c5bd3b7aa024d8648c9602993b212968e212b1abc9295e0d0614cb6f43d290",
189
+ "audit_path": []
190
+ },
191
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2234633033326636633963626165363032343064663862386335306161313735646533616535643563366163383330666261373965313766353164353965383437227d7d"
192
+ }
193
+ ]
194
+ },
195
+ "body_hash": "66742d271e15120a137a453d2224322f8eeb9f722ddd9fb4f7c5d9ebefaffc71",
196
+ "previous_hash": "GENESIS",
197
+ "signature_alg": "ed25519",
198
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
199
+ "signature": "47575629708206eaf7181c46e0eabe7bb58ae79e7a6a4af2b23001db529db349bd514d6f53c2cfd17fd3e3ffe6d22fbace1b4074296c7516f71a6567cb26e40a"
200
+ },
201
+ "logsHex": {
202
+ "5a4db0c0-0000-4000-8000-000000000000": "7b2273746570223a2273616e64626f782065766964656e636520666978747572652030227d",
203
+ "5a4db0c0-0000-4000-8000-000000000001": "7b2273746570223a2273616e64626f782065766964656e636520666978747572652031227d"
204
+ },
205
+ "gateways": [
206
+ "http://gw.example"
207
+ ],
208
+ "serves": {
209
+ "http://gw.example/sandboxEvidenceFixtureAnchorId0000000000000": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538227d7d7d",
210
+ "http://gw.example/sandboxEvidenceFixtureAnchorId0000000000001": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2232316335626433623761613032346438363438633936303239393362323132393638653231326231616263393239356530643036313463623666343364323930222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2232316335626433623761613032346438363438633936303239393362323132393638653231326231616263393239356530643036313463623666343364323930227d7d7d"
211
+ },
212
+ "expect": {
213
+ "verify": {
214
+ "verdict": "verified",
215
+ "exit": 5,
216
+ "environmentMarker": "dev",
217
+ "headline": "SANDBOX",
218
+ "onChainChecked": true,
219
+ "claimsOnChain": true,
220
+ "simulatedSentence": false,
221
+ "fetched": [
222
+ "http://gw.example/sandboxEvidenceFixtureAnchorId0000000000000",
223
+ "http://gw.example/sandboxEvidenceFixtureAnchorId0000000000001"
224
+ ]
225
+ },
226
+ "case": {
227
+ "verdict": "verified",
228
+ "exit": 5,
229
+ "environmentMarker": "dev",
230
+ "title": "Sandbox",
231
+ "reliance": "Every pack in this drop is genuine, unaltered, and matches its own signed declaration. The records in this drop are sandbox records, signed environment dev: they are not production evidence. Every record in it was signed by its holder's key. This was read offline, on this device. It does not say this drop holds everything that was recorded."
232
+ }
233
+ }
234
+ },
235
+ {
236
+ "id": "mixed-dev-and-production-offline",
237
+ "why": "One record signed dev and one signed production: the marker is mixed, and the pack is still sandbox evidence, SANDBOX and exit 5.",
238
+ "pack": {
239
+ "spec_version": "sanning.evidence/v1",
240
+ "body_type": "sanning.stamp.evidence/v2",
241
+ "issuer": {
242
+ "kind": "assembler"
243
+ },
244
+ "generated_at": "2026-10-20T12:20:00.000Z",
245
+ "gateway": null,
246
+ "verdict": {
247
+ "status": "verified",
248
+ "summary": "sandbox evidence fixture"
249
+ },
250
+ "body": {
251
+ "stamps": [
252
+ {
253
+ "stamp_ref": "5fe384a275f4586167d1cf345ab3774d975312b6e1a961742b1f74ae217a5321",
254
+ "stamp_bytes": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538227d7d7d",
255
+ "anchor_ref": {
256
+ "kind": "arweave",
257
+ "id": "sandboxEvidenceFixtureAnchorId0000000000000"
258
+ }
259
+ },
260
+ {
261
+ "stamp_ref": "f2138076b5cbac321350ecd365cefc9e9c993b1b497ff0070dc688a8653aecf0",
262
+ "stamp_bytes": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2230313337663037623666306261643030623062353933373937376365326265396166336430616439613464666337663132373235633865343533333836616634222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2230313337663037623666306261643030623062353933373937376365326265396166336430616439613464666337663132373235633865343533333836616634227d7d7d",
263
+ "anchor_ref": {
264
+ "kind": "arweave",
265
+ "id": "sandboxEvidenceFixtureAnchorId0000000000001"
266
+ }
267
+ }
268
+ ],
269
+ "events": [
270
+ {
271
+ "envelope": {
272
+ "spec_version": "sanning.events/v2",
273
+ "event_id": "5a4db0c0-0000-4000-8000-000000000000",
274
+ "payload_hash": "eec2e61e86306692c1ee3fa5b57a8a07c9c0d2af3a8399c643ac6ddd2635f08d",
275
+ "signed_at": "2026-10-20T12:00:00Z",
276
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
277
+ "environment": "dev",
278
+ "signature": "d739f1f26bae729f29e919692f3cf46ac27610e6a330183964c630c2b48dff1ef461e26b1af22880d6ac3946d9fc2f965c352f12f37eb55d894883dac0283f06"
279
+ },
280
+ "inclusion": {
281
+ "stamp_ref": "5fe384a275f4586167d1cf345ab3774d975312b6e1a961742b1f74ae217a5321",
282
+ "leaf_index": 0,
283
+ "leaf_count": 1,
284
+ "leaf_hash": "7961ff3d13e69d1f0b9e750f0d87221d0efe9b94fd3cd305ac14d1acca7845e8",
285
+ "audit_path": []
286
+ },
287
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2264363939343131333439313962323834313463376237353434316336343832313033613365666237663638643839396237386461303865336330333037633731227d7d"
288
+ },
289
+ {
290
+ "envelope": {
291
+ "spec_version": "sanning.events/v2",
292
+ "event_id": "5a4db0c0-0000-4000-8000-000000000001",
293
+ "payload_hash": "d961df36cc49a133936c5c895a012cdf9aa68d67735c397d9de595c8468d067b",
294
+ "signed_at": "2026-10-20T12:00:00Z",
295
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
296
+ "environment": "production",
297
+ "signature": "dd8e14f824408d68fc4c215c93ca236549c35808180cfee55863ba1cdd484075b19e00cf6ff0c92fb583c6b04b410824a80c885bb9e94fcb80c8304ff8e8030c"
298
+ },
299
+ "inclusion": {
300
+ "stamp_ref": "f2138076b5cbac321350ecd365cefc9e9c993b1b497ff0070dc688a8653aecf0",
301
+ "leaf_index": 0,
302
+ "leaf_count": 1,
303
+ "leaf_hash": "0137f07b6f0bad00b0b5937977ce2be9af3d0ad9a4dfc7f12725c8e453386af4",
304
+ "audit_path": []
305
+ },
306
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2234633033326636633963626165363032343064663862386335306161313735646533616535643563366163383330666261373965313766353164353965383437227d7d"
307
+ }
308
+ ]
309
+ },
310
+ "body_hash": "19b89bfd06ff4f55747e397551f5f4ac03066f8cc786c1ce8da691128c3a44d8",
311
+ "previous_hash": "GENESIS",
312
+ "signature_alg": "ed25519",
313
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
314
+ "signature": "16ecb7555072aeccf9f74cec6b452679a94564d3a235645a174f34c675a8fe078fe23a5d327548af98dd3a5370bafb2a6a60ccc2126fd2db2d3d9e9894c15a00"
315
+ },
316
+ "logsHex": {
317
+ "5a4db0c0-0000-4000-8000-000000000000": "7b2273746570223a2273616e64626f782065766964656e636520666978747572652030227d",
318
+ "5a4db0c0-0000-4000-8000-000000000001": "7b2273746570223a2273616e64626f782065766964656e636520666978747572652031227d"
319
+ },
320
+ "gateways": [],
321
+ "serves": {},
322
+ "expect": {
323
+ "verify": {
324
+ "verdict": "verified",
325
+ "exit": 5,
326
+ "environmentMarker": "mixed",
327
+ "headline": "SANDBOX",
328
+ "onChainChecked": false,
329
+ "claimsOnChain": false,
330
+ "simulatedSentence": false,
331
+ "fetched": []
332
+ },
333
+ "case": {
334
+ "verdict": "verified",
335
+ "exit": 5,
336
+ "environmentMarker": "mixed",
337
+ "title": "Sandbox",
338
+ "reliance": "Every pack in this drop is genuine, unaltered, and matches its own signed declaration. Some records in this drop are sandbox records, signed environment dev: those are not production evidence. Every record in it was signed by its holder's key. This was read offline, on this device. It does not say this drop holds everything that was recorded."
339
+ }
340
+ }
341
+ },
342
+ {
343
+ "id": "mixed-dev-and-unspecified-offline",
344
+ "why": "A record with no environment is not a dev record (absent means unspecified, envelope-spec section 2), so one dev and one absent is mixed.",
345
+ "pack": {
346
+ "spec_version": "sanning.evidence/v1",
347
+ "body_type": "sanning.stamp.evidence/v2",
348
+ "issuer": {
349
+ "kind": "assembler"
350
+ },
351
+ "generated_at": "2026-10-20T12:20:00.000Z",
352
+ "gateway": null,
353
+ "verdict": {
354
+ "status": "verified",
355
+ "summary": "sandbox evidence fixture"
356
+ },
357
+ "body": {
358
+ "stamps": [
359
+ {
360
+ "stamp_ref": "5fe384a275f4586167d1cf345ab3774d975312b6e1a961742b1f74ae217a5321",
361
+ "stamp_bytes": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538227d7d7d",
362
+ "anchor_ref": {
363
+ "kind": "arweave",
364
+ "id": "sandboxEvidenceFixtureAnchorId0000000000000"
365
+ }
366
+ },
367
+ {
368
+ "stamp_ref": "fb26eae91544b17505f2ff1342349fbc01bcbdafb9b23598116f92afbd86cee2",
369
+ "stamp_bytes": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2235626235623262393764353263666136363262623633613132353331313435303132366534343434393232346438306563386364356332383238656435356232222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2235626235623262393764353263666136363262623633613132353331313435303132366534343434393232346438306563386364356332383238656435356232227d7d7d",
370
+ "anchor_ref": {
371
+ "kind": "arweave",
372
+ "id": "sandboxEvidenceFixtureAnchorId0000000000001"
373
+ }
374
+ }
375
+ ],
376
+ "events": [
377
+ {
378
+ "envelope": {
379
+ "spec_version": "sanning.events/v2",
380
+ "event_id": "5a4db0c0-0000-4000-8000-000000000000",
381
+ "payload_hash": "eec2e61e86306692c1ee3fa5b57a8a07c9c0d2af3a8399c643ac6ddd2635f08d",
382
+ "signed_at": "2026-10-20T12:00:00Z",
383
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
384
+ "environment": "dev",
385
+ "signature": "d739f1f26bae729f29e919692f3cf46ac27610e6a330183964c630c2b48dff1ef461e26b1af22880d6ac3946d9fc2f965c352f12f37eb55d894883dac0283f06"
386
+ },
387
+ "inclusion": {
388
+ "stamp_ref": "5fe384a275f4586167d1cf345ab3774d975312b6e1a961742b1f74ae217a5321",
389
+ "leaf_index": 0,
390
+ "leaf_count": 1,
391
+ "leaf_hash": "7961ff3d13e69d1f0b9e750f0d87221d0efe9b94fd3cd305ac14d1acca7845e8",
392
+ "audit_path": []
393
+ },
394
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2264363939343131333439313962323834313463376237353434316336343832313033613365666237663638643839396237386461303865336330333037633731227d7d"
395
+ },
396
+ {
397
+ "envelope": {
398
+ "spec_version": "sanning.events/v2",
399
+ "event_id": "5a4db0c0-0000-4000-8000-000000000001",
400
+ "payload_hash": "d961df36cc49a133936c5c895a012cdf9aa68d67735c397d9de595c8468d067b",
401
+ "signed_at": "2026-10-20T12:00:00Z",
402
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
403
+ "signature": "6972c150cbe0852e5627251fd83115cbf03699a136710a9507ddcc9c3a077950041320568b26155f70df50f71d1003f1719a30de6c50da69a2dc32763991d50d"
404
+ },
405
+ "inclusion": {
406
+ "stamp_ref": "fb26eae91544b17505f2ff1342349fbc01bcbdafb9b23598116f92afbd86cee2",
407
+ "leaf_index": 0,
408
+ "leaf_count": 1,
409
+ "leaf_hash": "5bb5b2b97d52cfa662bb63a125311450126e44449224d80ec8cd5c2828ed55b2",
410
+ "audit_path": []
411
+ },
412
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2234633033326636633963626165363032343064663862386335306161313735646533616535643563366163383330666261373965313766353164353965383437227d7d"
413
+ }
414
+ ]
415
+ },
416
+ "body_hash": "2d6261019612d46b0b2859ab4534915965af708f46c04b9cf6a4f276cc054d24",
417
+ "previous_hash": "GENESIS",
418
+ "signature_alg": "ed25519",
419
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
420
+ "signature": "85d25ce8013b2b3277d29172bb2ff1f630f41cb7431e0f5cd5e3c343133f1bbd6777e3c16781b2727982a02a4c8be76e6c16742494966fa4cb49a46648fae90a"
421
+ },
422
+ "logsHex": {
423
+ "5a4db0c0-0000-4000-8000-000000000000": "7b2273746570223a2273616e64626f782065766964656e636520666978747572652030227d",
424
+ "5a4db0c0-0000-4000-8000-000000000001": "7b2273746570223a2273616e64626f782065766964656e636520666978747572652031227d"
425
+ },
426
+ "gateways": [],
427
+ "serves": {},
428
+ "expect": {
429
+ "verify": {
430
+ "verdict": "verified",
431
+ "exit": 5,
432
+ "environmentMarker": "mixed",
433
+ "headline": "SANDBOX",
434
+ "onChainChecked": false,
435
+ "claimsOnChain": false,
436
+ "simulatedSentence": false,
437
+ "fetched": []
438
+ },
439
+ "case": {
440
+ "verdict": "verified",
441
+ "exit": 5,
442
+ "environmentMarker": "mixed",
443
+ "title": "Sandbox",
444
+ "reliance": "Every pack in this drop is genuine, unaltered, and matches its own signed declaration. Some records in this drop are sandbox records, signed environment dev: those are not production evidence. Every record in it was signed by its holder's key. This was read offline, on this device. It does not say this drop holds everything that was recorded."
445
+ }
446
+ }
447
+ },
448
+ {
449
+ "id": "all-production-offline",
450
+ "why": "Every record signed production: VERIFIED, exit 0, no marker. What a production pack printed before evidence-export v3.5, unchanged.",
451
+ "pack": {
452
+ "spec_version": "sanning.evidence/v1",
453
+ "body_type": "sanning.stamp.evidence/v2",
454
+ "issuer": {
455
+ "kind": "assembler"
456
+ },
457
+ "generated_at": "2026-10-20T12:20:00.000Z",
458
+ "gateway": null,
459
+ "verdict": {
460
+ "status": "verified",
461
+ "summary": "sandbox evidence fixture"
462
+ },
463
+ "body": {
464
+ "stamps": [
465
+ {
466
+ "stamp_ref": "cdd89fa030d660d8569c8bb578ed4264aa394d86756966ba31292d5667e03b9d",
467
+ "stamp_bytes": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2236316530313635343763363465643663323066623933616435313062396461613231343739633462393937303130363439366261646461386362663164636537222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2236316530313635343763363465643663323066623933616435313062396461613231343739633462393937303130363439366261646461386362663164636537227d7d7d",
468
+ "anchor_ref": {
469
+ "kind": "arweave",
470
+ "id": "sandboxEvidenceFixtureAnchorId0000000000000"
471
+ }
472
+ },
473
+ {
474
+ "stamp_ref": "f2138076b5cbac321350ecd365cefc9e9c993b1b497ff0070dc688a8653aecf0",
475
+ "stamp_bytes": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2230313337663037623666306261643030623062353933373937376365326265396166336430616439613464666337663132373235633865343533333836616634222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2230313337663037623666306261643030623062353933373937376365326265396166336430616439613464666337663132373235633865343533333836616634227d7d7d",
476
+ "anchor_ref": {
477
+ "kind": "arweave",
478
+ "id": "sandboxEvidenceFixtureAnchorId0000000000001"
479
+ }
480
+ }
481
+ ],
482
+ "events": [
483
+ {
484
+ "envelope": {
485
+ "spec_version": "sanning.events/v2",
486
+ "event_id": "5a4db0c0-0000-4000-8000-000000000000",
487
+ "payload_hash": "eec2e61e86306692c1ee3fa5b57a8a07c9c0d2af3a8399c643ac6ddd2635f08d",
488
+ "signed_at": "2026-10-20T12:00:00Z",
489
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
490
+ "environment": "production",
491
+ "signature": "9db8c69ee2ef8f61b288613de2d79ed759dacb5fbab3941bd2a3ab56fed576512d79bb175af78161992d59d79933286eecd634cfaa2132182cc363a6022b4e08"
492
+ },
493
+ "inclusion": {
494
+ "stamp_ref": "cdd89fa030d660d8569c8bb578ed4264aa394d86756966ba31292d5667e03b9d",
495
+ "leaf_index": 0,
496
+ "leaf_count": 1,
497
+ "leaf_hash": "61e016547c64ed6c20fb93ad510b9daa21479c4b9970106496badda8cbf1dce7",
498
+ "audit_path": []
499
+ },
500
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2264363939343131333439313962323834313463376237353434316336343832313033613365666237663638643839396237386461303865336330333037633731227d7d"
501
+ },
502
+ {
503
+ "envelope": {
504
+ "spec_version": "sanning.events/v2",
505
+ "event_id": "5a4db0c0-0000-4000-8000-000000000001",
506
+ "payload_hash": "d961df36cc49a133936c5c895a012cdf9aa68d67735c397d9de595c8468d067b",
507
+ "signed_at": "2026-10-20T12:00:00Z",
508
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
509
+ "environment": "production",
510
+ "signature": "dd8e14f824408d68fc4c215c93ca236549c35808180cfee55863ba1cdd484075b19e00cf6ff0c92fb583c6b04b410824a80c885bb9e94fcb80c8304ff8e8030c"
511
+ },
512
+ "inclusion": {
513
+ "stamp_ref": "f2138076b5cbac321350ecd365cefc9e9c993b1b497ff0070dc688a8653aecf0",
514
+ "leaf_index": 0,
515
+ "leaf_count": 1,
516
+ "leaf_hash": "0137f07b6f0bad00b0b5937977ce2be9af3d0ad9a4dfc7f12725c8e453386af4",
517
+ "audit_path": []
518
+ },
519
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2234633033326636633963626165363032343064663862386335306161313735646533616535643563366163383330666261373965313766353164353965383437227d7d"
520
+ }
521
+ ]
522
+ },
523
+ "body_hash": "3f65ad8f4dcad216bf8cee0090a5f4ec36880d8d5ca2935dd4d2821fd78ef071",
524
+ "previous_hash": "GENESIS",
525
+ "signature_alg": "ed25519",
526
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
527
+ "signature": "83a3d0d7b2a48eaa1485bbd46133fd2bbe2f881258192334c702dbbb4933b77f61e87d9b5f75bce3a62bb0c3419238a1d44169141613de5d765bc71ede9e3a0b"
528
+ },
529
+ "logsHex": {
530
+ "5a4db0c0-0000-4000-8000-000000000000": "7b2273746570223a2273616e64626f782065766964656e636520666978747572652030227d",
531
+ "5a4db0c0-0000-4000-8000-000000000001": "7b2273746570223a2273616e64626f782065766964656e636520666978747572652031227d"
532
+ },
533
+ "gateways": [],
534
+ "serves": {},
535
+ "expect": {
536
+ "verify": {
537
+ "verdict": "verified",
538
+ "exit": 0,
539
+ "environmentMarker": null,
540
+ "headline": "VERIFIED",
541
+ "onChainChecked": false,
542
+ "claimsOnChain": false,
543
+ "simulatedSentence": false,
544
+ "fetched": []
545
+ },
546
+ "case": {
547
+ "verdict": "verified",
548
+ "exit": 0,
549
+ "environmentMarker": null,
550
+ "title": "Verified",
551
+ "reliance": "Every pack in this drop is genuine, unaltered, and matches its own signed declaration. Every record in it was signed by its holder's key. This was read offline, on this device. It does not say this drop holds everything that was recorded."
552
+ }
553
+ }
554
+ },
555
+ {
556
+ "id": "all-production-gateway-confirms",
557
+ "why": "The production pack, its witnesses confirmed: VERIFIED, exit 0, checked on chain.",
558
+ "pack": {
559
+ "spec_version": "sanning.evidence/v1",
560
+ "body_type": "sanning.stamp.evidence/v2",
561
+ "issuer": {
562
+ "kind": "assembler"
563
+ },
564
+ "generated_at": "2026-10-20T12:20:00.000Z",
565
+ "gateway": null,
566
+ "verdict": {
567
+ "status": "verified",
568
+ "summary": "sandbox evidence fixture"
569
+ },
570
+ "body": {
571
+ "stamps": [
572
+ {
573
+ "stamp_ref": "cdd89fa030d660d8569c8bb578ed4264aa394d86756966ba31292d5667e03b9d",
574
+ "stamp_bytes": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2236316530313635343763363465643663323066623933616435313062396461613231343739633462393937303130363439366261646461386362663164636537222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2236316530313635343763363465643663323066623933616435313062396461613231343739633462393937303130363439366261646461386362663164636537227d7d7d",
575
+ "anchor_ref": {
576
+ "kind": "arweave",
577
+ "id": "sandboxEvidenceFixtureAnchorId0000000000000"
578
+ }
579
+ },
580
+ {
581
+ "stamp_ref": "f2138076b5cbac321350ecd365cefc9e9c993b1b497ff0070dc688a8653aecf0",
582
+ "stamp_bytes": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2230313337663037623666306261643030623062353933373937376365326265396166336430616439613464666337663132373235633865343533333836616634222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2230313337663037623666306261643030623062353933373937376365326265396166336430616439613464666337663132373235633865343533333836616634227d7d7d",
583
+ "anchor_ref": {
584
+ "kind": "arweave",
585
+ "id": "sandboxEvidenceFixtureAnchorId0000000000001"
586
+ }
587
+ }
588
+ ],
589
+ "events": [
590
+ {
591
+ "envelope": {
592
+ "spec_version": "sanning.events/v2",
593
+ "event_id": "5a4db0c0-0000-4000-8000-000000000000",
594
+ "payload_hash": "eec2e61e86306692c1ee3fa5b57a8a07c9c0d2af3a8399c643ac6ddd2635f08d",
595
+ "signed_at": "2026-10-20T12:00:00Z",
596
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
597
+ "environment": "production",
598
+ "signature": "9db8c69ee2ef8f61b288613de2d79ed759dacb5fbab3941bd2a3ab56fed576512d79bb175af78161992d59d79933286eecd634cfaa2132182cc363a6022b4e08"
599
+ },
600
+ "inclusion": {
601
+ "stamp_ref": "cdd89fa030d660d8569c8bb578ed4264aa394d86756966ba31292d5667e03b9d",
602
+ "leaf_index": 0,
603
+ "leaf_count": 1,
604
+ "leaf_hash": "61e016547c64ed6c20fb93ad510b9daa21479c4b9970106496badda8cbf1dce7",
605
+ "audit_path": []
606
+ },
607
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2264363939343131333439313962323834313463376237353434316336343832313033613365666237663638643839396237386461303865336330333037633731227d7d"
608
+ },
609
+ {
610
+ "envelope": {
611
+ "spec_version": "sanning.events/v2",
612
+ "event_id": "5a4db0c0-0000-4000-8000-000000000001",
613
+ "payload_hash": "d961df36cc49a133936c5c895a012cdf9aa68d67735c397d9de595c8468d067b",
614
+ "signed_at": "2026-10-20T12:00:00Z",
615
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
616
+ "environment": "production",
617
+ "signature": "dd8e14f824408d68fc4c215c93ca236549c35808180cfee55863ba1cdd484075b19e00cf6ff0c92fb583c6b04b410824a80c885bb9e94fcb80c8304ff8e8030c"
618
+ },
619
+ "inclusion": {
620
+ "stamp_ref": "f2138076b5cbac321350ecd365cefc9e9c993b1b497ff0070dc688a8653aecf0",
621
+ "leaf_index": 0,
622
+ "leaf_count": 1,
623
+ "leaf_hash": "0137f07b6f0bad00b0b5937977ce2be9af3d0ad9a4dfc7f12725c8e453386af4",
624
+ "audit_path": []
625
+ },
626
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2234633033326636633963626165363032343064663862386335306161313735646533616535643563366163383330666261373965313766353164353965383437227d7d"
627
+ }
628
+ ]
629
+ },
630
+ "body_hash": "3f65ad8f4dcad216bf8cee0090a5f4ec36880d8d5ca2935dd4d2821fd78ef071",
631
+ "previous_hash": "GENESIS",
632
+ "signature_alg": "ed25519",
633
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
634
+ "signature": "83a3d0d7b2a48eaa1485bbd46133fd2bbe2f881258192334c702dbbb4933b77f61e87d9b5f75bce3a62bb0c3419238a1d44169141613de5d765bc71ede9e3a0b"
635
+ },
636
+ "logsHex": {
637
+ "5a4db0c0-0000-4000-8000-000000000000": "7b2273746570223a2273616e64626f782065766964656e636520666978747572652030227d",
638
+ "5a4db0c0-0000-4000-8000-000000000001": "7b2273746570223a2273616e64626f782065766964656e636520666978747572652031227d"
639
+ },
640
+ "gateways": [
641
+ "http://gw.example"
642
+ ],
643
+ "serves": {
644
+ "http://gw.example/sandboxEvidenceFixtureAnchorId0000000000000": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2236316530313635343763363465643663323066623933616435313062396461613231343739633462393937303130363439366261646461386362663164636537222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2236316530313635343763363465643663323066623933616435313062396461613231343739633462393937303130363439366261646461386362663164636537227d7d7d",
645
+ "http://gw.example/sandboxEvidenceFixtureAnchorId0000000000001": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2230313337663037623666306261643030623062353933373937376365326265396166336430616439613464666337663132373235633865343533333836616634222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2230313337663037623666306261643030623062353933373937376365326265396166336430616439613464666337663132373235633865343533333836616634227d7d7d"
646
+ },
647
+ "expect": {
648
+ "verify": {
649
+ "verdict": "verified",
650
+ "exit": 0,
651
+ "environmentMarker": null,
652
+ "headline": "VERIFIED",
653
+ "onChainChecked": true,
654
+ "claimsOnChain": true,
655
+ "simulatedSentence": false,
656
+ "fetched": [
657
+ "http://gw.example/sandboxEvidenceFixtureAnchorId0000000000000",
658
+ "http://gw.example/sandboxEvidenceFixtureAnchorId0000000000001"
659
+ ]
660
+ },
661
+ "case": {
662
+ "verdict": "verified",
663
+ "exit": 0,
664
+ "environmentMarker": null,
665
+ "title": "Verified",
666
+ "reliance": "Every pack in this drop is genuine, unaltered, and matches its own signed declaration. Every record in it was signed by its holder's key. This was read offline, on this device. It does not say this drop holds everything that was recorded."
667
+ }
668
+ }
669
+ },
670
+ {
671
+ "id": "unspecified-offline",
672
+ "why": "No record says which environment it is: no marker, VERIFIED, exit 0. Only a signed dev moves anything.",
673
+ "pack": {
674
+ "spec_version": "sanning.evidence/v1",
675
+ "body_type": "sanning.stamp.evidence/v2",
676
+ "issuer": {
677
+ "kind": "assembler"
678
+ },
679
+ "generated_at": "2026-10-20T12:20:00.000Z",
680
+ "gateway": null,
681
+ "verdict": {
682
+ "status": "verified",
683
+ "summary": "sandbox evidence fixture"
684
+ },
685
+ "body": {
686
+ "stamps": [
687
+ {
688
+ "stamp_ref": "9147efa6b8f650047afc9408b0aad65d123d4627c1e88a755b1a978711490994",
689
+ "stamp_bytes": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2266626639326238306632643338346361366339333136656434613132393830666335333364316338353230313163393336303166363162363930316533646637222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2266626639326238306632643338346361366339333136656434613132393830666335333364316338353230313163393336303166363162363930316533646637227d7d7d",
690
+ "anchor_ref": {
691
+ "kind": "arweave",
692
+ "id": "sandboxEvidenceFixtureAnchorId0000000000000"
693
+ }
694
+ }
695
+ ],
696
+ "events": [
697
+ {
698
+ "envelope": {
699
+ "spec_version": "sanning.events/v2",
700
+ "event_id": "5a4db0c0-0000-4000-8000-000000000000",
701
+ "payload_hash": "eec2e61e86306692c1ee3fa5b57a8a07c9c0d2af3a8399c643ac6ddd2635f08d",
702
+ "signed_at": "2026-10-20T12:00:00Z",
703
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
704
+ "signature": "7ac40d907be96fb6d363792507aa5c5bfdf565b23fe5ff109d263043fd5a6563bead20c1007351b7a7fe7f677abce283364350b9a852f26e29cce12f820a980a"
705
+ },
706
+ "inclusion": {
707
+ "stamp_ref": "9147efa6b8f650047afc9408b0aad65d123d4627c1e88a755b1a978711490994",
708
+ "leaf_index": 0,
709
+ "leaf_count": 1,
710
+ "leaf_hash": "fbf92b80f2d384ca6c9316ed4a12980fc533d1c852011c93601f61b6901e3df7",
711
+ "audit_path": []
712
+ },
713
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2264363939343131333439313962323834313463376237353434316336343832313033613365666237663638643839396237386461303865336330333037633731227d7d"
714
+ }
715
+ ]
716
+ },
717
+ "body_hash": "f29a616df809cdfd54d2c7f07289dd19f334de45b5fea28eeafde187c3936356",
718
+ "previous_hash": "GENESIS",
719
+ "signature_alg": "ed25519",
720
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
721
+ "signature": "be2997a2cc0cd440a7f8b84037eeae906a8835330b7504dc3888ed19da24bd3f4a2429f923cf4a184ae99479c7531d5d59eb4e9f6a5eae3b00ec3f0f703fdb0d"
722
+ },
723
+ "logsHex": {
724
+ "5a4db0c0-0000-4000-8000-000000000000": "7b2273746570223a2273616e64626f782065766964656e636520666978747572652030227d"
725
+ },
726
+ "gateways": [],
727
+ "serves": {},
728
+ "expect": {
729
+ "verify": {
730
+ "verdict": "verified",
731
+ "exit": 0,
732
+ "environmentMarker": null,
733
+ "headline": "VERIFIED",
734
+ "onChainChecked": false,
735
+ "claimsOnChain": false,
736
+ "simulatedSentence": false,
737
+ "fetched": []
738
+ },
739
+ "case": {
740
+ "verdict": "verified",
741
+ "exit": 0,
742
+ "environmentMarker": null,
743
+ "title": "Verified",
744
+ "reliance": "Every pack in this drop is genuine, unaltered, and matches its own signed declaration. Every record in it was signed by its holder's key. This was read offline, on this device. It does not say this drop holds everything that was recorded."
745
+ }
746
+ }
747
+ },
748
+ {
749
+ "id": "dev-content-does-not-bind",
750
+ "why": "A dev pack whose handed-over bytes do not bind to the committed content_hash fails verify: exit 1, never 5. The case reading reads bytes beside a pack that do not bind as undetermined (evidence-bundle section 5.5), so case exits 3, never 5. The marker is still reported.",
751
+ "pack": {
752
+ "spec_version": "sanning.evidence/v1",
753
+ "body_type": "sanning.stamp.evidence/v2",
754
+ "issuer": {
755
+ "kind": "assembler"
756
+ },
757
+ "generated_at": "2026-10-20T12:20:00.000Z",
758
+ "gateway": null,
759
+ "verdict": {
760
+ "status": "verified",
761
+ "summary": "sandbox evidence fixture"
762
+ },
763
+ "body": {
764
+ "stamps": [
765
+ {
766
+ "stamp_ref": "5fe384a275f4586167d1cf345ab3774d975312b6e1a961742b1f74ae217a5321",
767
+ "stamp_bytes": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538227d7d7d",
768
+ "anchor_ref": {
769
+ "kind": "arweave",
770
+ "id": "sandboxEvidenceFixtureAnchorId0000000000000"
771
+ }
772
+ },
773
+ {
774
+ "stamp_ref": "060156130bd7edb921ecebdbd8a1e7f2d4fa45f6b50448e4fbc9c1990806614b",
775
+ "stamp_bytes": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2232316335626433623761613032346438363438633936303239393362323132393638653231326231616263393239356530643036313463623666343364323930222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2232316335626433623761613032346438363438633936303239393362323132393638653231326231616263393239356530643036313463623666343364323930227d7d7d",
776
+ "anchor_ref": {
777
+ "kind": "arweave",
778
+ "id": "sandboxEvidenceFixtureAnchorId0000000000001"
779
+ }
780
+ }
781
+ ],
782
+ "events": [
783
+ {
784
+ "envelope": {
785
+ "spec_version": "sanning.events/v2",
786
+ "event_id": "5a4db0c0-0000-4000-8000-000000000000",
787
+ "payload_hash": "eec2e61e86306692c1ee3fa5b57a8a07c9c0d2af3a8399c643ac6ddd2635f08d",
788
+ "signed_at": "2026-10-20T12:00:00Z",
789
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
790
+ "environment": "dev",
791
+ "signature": "d739f1f26bae729f29e919692f3cf46ac27610e6a330183964c630c2b48dff1ef461e26b1af22880d6ac3946d9fc2f965c352f12f37eb55d894883dac0283f06"
792
+ },
793
+ "inclusion": {
794
+ "stamp_ref": "5fe384a275f4586167d1cf345ab3774d975312b6e1a961742b1f74ae217a5321",
795
+ "leaf_index": 0,
796
+ "leaf_count": 1,
797
+ "leaf_hash": "7961ff3d13e69d1f0b9e750f0d87221d0efe9b94fd3cd305ac14d1acca7845e8",
798
+ "audit_path": []
799
+ },
800
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2264363939343131333439313962323834313463376237353434316336343832313033613365666237663638643839396237386461303865336330333037633731227d7d"
801
+ },
802
+ {
803
+ "envelope": {
804
+ "spec_version": "sanning.events/v2",
805
+ "event_id": "5a4db0c0-0000-4000-8000-000000000001",
806
+ "payload_hash": "d961df36cc49a133936c5c895a012cdf9aa68d67735c397d9de595c8468d067b",
807
+ "signed_at": "2026-10-20T12:00:00Z",
808
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
809
+ "environment": "dev",
810
+ "signature": "844a2af081133e6e7a57aa492de5d1ffa4a212786e2821f24c158b3408cf1e2f117630e47123e19b779c3b9f17be068c3fe2f5db251102ce2a91676b66449b0d"
811
+ },
812
+ "inclusion": {
813
+ "stamp_ref": "060156130bd7edb921ecebdbd8a1e7f2d4fa45f6b50448e4fbc9c1990806614b",
814
+ "leaf_index": 0,
815
+ "leaf_count": 1,
816
+ "leaf_hash": "21c5bd3b7aa024d8648c9602993b212968e212b1abc9295e0d0614cb6f43d290",
817
+ "audit_path": []
818
+ },
819
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2234633033326636633963626165363032343064663862386335306161313735646533616535643563366163383330666261373965313766353164353965383437227d7d"
820
+ }
821
+ ]
822
+ },
823
+ "body_hash": "66742d271e15120a137a453d2224322f8eeb9f722ddd9fb4f7c5d9ebefaffc71",
824
+ "previous_hash": "GENESIS",
825
+ "signature_alg": "ed25519",
826
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
827
+ "signature": "47575629708206eaf7181c46e0eabe7bb58ae79e7a6a4af2b23001db529db349bd514d6f53c2cfd17fd3e3ffe6d22fbace1b4074296c7516f71a6567cb26e40a"
828
+ },
829
+ "logsHex": {
830
+ "5a4db0c0-0000-4000-8000-000000000000": "7b2273746570223a2273616e64626f782065766964656e636520666978747572652030227d",
831
+ "5a4db0c0-0000-4000-8000-000000000001": "7b2273746570223a226e6f7420776861742077617320636f6d6d6974746564227d"
832
+ },
833
+ "gateways": [],
834
+ "serves": {},
835
+ "expect": {
836
+ "verify": {
837
+ "verdict": "failed",
838
+ "exit": 1,
839
+ "environmentMarker": "dev",
840
+ "headline": "FAILED",
841
+ "onChainChecked": false,
842
+ "claimsOnChain": false,
843
+ "simulatedSentence": false,
844
+ "fetched": []
845
+ },
846
+ "case": {
847
+ "verdict": "incomplete",
848
+ "exit": 3,
849
+ "environmentMarker": "dev",
850
+ "title": "Incomplete",
851
+ "reliance": "Nothing here was proven wrong, and part of it could not be checked: the other side of a hand-off is not in this drop, bytes were not handed over, or a claim could not be read. The records in this drop are sandbox records, signed environment dev: they are not production evidence. Each exception says what is missing and, where a key is known, whose pack would supply it."
852
+ }
853
+ }
854
+ },
855
+ {
856
+ "id": "dev-gateway-holds-other-bytes",
857
+ "why": "A dev pack whose gateway holds different bytes for a witness fails: exit 1, never 5.",
858
+ "pack": {
859
+ "spec_version": "sanning.evidence/v1",
860
+ "body_type": "sanning.stamp.evidence/v2",
861
+ "issuer": {
862
+ "kind": "assembler"
863
+ },
864
+ "generated_at": "2026-10-20T12:20:00.000Z",
865
+ "gateway": null,
866
+ "verdict": {
867
+ "status": "verified",
868
+ "summary": "sandbox evidence fixture"
869
+ },
870
+ "body": {
871
+ "stamps": [
872
+ {
873
+ "stamp_ref": "5fe384a275f4586167d1cf345ab3774d975312b6e1a961742b1f74ae217a5321",
874
+ "stamp_bytes": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538227d7d7d",
875
+ "anchor_ref": {
876
+ "kind": "arweave",
877
+ "id": "sandboxEvidenceFixtureAnchorId0000000000000"
878
+ }
879
+ }
880
+ ],
881
+ "events": [
882
+ {
883
+ "envelope": {
884
+ "spec_version": "sanning.events/v2",
885
+ "event_id": "5a4db0c0-0000-4000-8000-000000000000",
886
+ "payload_hash": "eec2e61e86306692c1ee3fa5b57a8a07c9c0d2af3a8399c643ac6ddd2635f08d",
887
+ "signed_at": "2026-10-20T12:00:00Z",
888
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
889
+ "environment": "dev",
890
+ "signature": "d739f1f26bae729f29e919692f3cf46ac27610e6a330183964c630c2b48dff1ef461e26b1af22880d6ac3946d9fc2f965c352f12f37eb55d894883dac0283f06"
891
+ },
892
+ "inclusion": {
893
+ "stamp_ref": "5fe384a275f4586167d1cf345ab3774d975312b6e1a961742b1f74ae217a5321",
894
+ "leaf_index": 0,
895
+ "leaf_count": 1,
896
+ "leaf_hash": "7961ff3d13e69d1f0b9e750f0d87221d0efe9b94fd3cd305ac14d1acca7845e8",
897
+ "audit_path": []
898
+ },
899
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2264363939343131333439313962323834313463376237353434316336343832313033613365666237663638643839396237386461303865336330333037633731227d7d"
900
+ }
901
+ ]
902
+ },
903
+ "body_hash": "f091fe3ebee7c0f7ca4c1f2977f035a09334d2b3cb47f3d6612ad134a21d4d48",
904
+ "previous_hash": "GENESIS",
905
+ "signature_alg": "ed25519",
906
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
907
+ "signature": "d70e8bc98eacebf3e82d60a8acc06656baeaae12d18fdfa98d5940a989a53b7631cf630bbad8cc0744edab5bca8476c6c7d14eb1d8088f127e9d5dca30de1508"
908
+ },
909
+ "logsHex": {
910
+ "5a4db0c0-0000-4000-8000-000000000000": "7b2273746570223a2273616e64626f782065766964656e636520666978747572652030227d"
911
+ },
912
+ "gateways": [
913
+ "http://gw.example"
914
+ ],
915
+ "serves": {
916
+ "http://gw.example/sandboxEvidenceFixtureAnchorId0000000000000": "7b226e6f74223a22746865207769746e6573736564207374616d70227d"
917
+ },
918
+ "expect": {
919
+ "verify": {
920
+ "verdict": "failed",
921
+ "exit": 1,
922
+ "environmentMarker": "dev",
923
+ "headline": "FAILED",
924
+ "onChainChecked": true,
925
+ "claimsOnChain": true,
926
+ "simulatedSentence": false,
927
+ "fetched": [
928
+ "http://gw.example/sandboxEvidenceFixtureAnchorId0000000000000"
929
+ ]
930
+ },
931
+ "case": {
932
+ "verdict": "verified",
933
+ "exit": 1,
934
+ "environmentMarker": "dev",
935
+ "title": "Sandbox",
936
+ "reliance": "Every pack in this drop is genuine, unaltered, and matches its own signed declaration. The records in this drop are sandbox records, signed environment dev: they are not production evidence. Every record in it was signed by its holder's key. This was read offline, on this device. It does not say this drop holds everything that was recorded."
937
+ }
938
+ }
939
+ },
940
+ {
941
+ "id": "simulated-dev-offline",
942
+ "why": "A sandbox plane's simulated witness, offline: the pack is sandbox evidence, SANDBOX and exit 5.",
943
+ "pack": {
944
+ "spec_version": "sanning.evidence/v1",
945
+ "body_type": "sanning.stamp.evidence/v2",
946
+ "issuer": {
947
+ "kind": "assembler"
948
+ },
949
+ "generated_at": "2026-10-20T12:20:00.000Z",
950
+ "gateway": null,
951
+ "verdict": {
952
+ "status": "verified",
953
+ "summary": "sandbox evidence fixture"
954
+ },
955
+ "body": {
956
+ "stamps": [
957
+ {
958
+ "stamp_ref": "5fe384a275f4586167d1cf345ab3774d975312b6e1a961742b1f74ae217a5321",
959
+ "stamp_bytes": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538227d7d7d",
960
+ "anchor_ref": {
961
+ "kind": "simulated",
962
+ "id": "sandboxEvidenceFixtureAnchorId0000000000000"
963
+ }
964
+ }
965
+ ],
966
+ "events": [
967
+ {
968
+ "envelope": {
969
+ "spec_version": "sanning.events/v2",
970
+ "event_id": "5a4db0c0-0000-4000-8000-000000000000",
971
+ "payload_hash": "eec2e61e86306692c1ee3fa5b57a8a07c9c0d2af3a8399c643ac6ddd2635f08d",
972
+ "signed_at": "2026-10-20T12:00:00Z",
973
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
974
+ "environment": "dev",
975
+ "signature": "d739f1f26bae729f29e919692f3cf46ac27610e6a330183964c630c2b48dff1ef461e26b1af22880d6ac3946d9fc2f965c352f12f37eb55d894883dac0283f06"
976
+ },
977
+ "inclusion": {
978
+ "stamp_ref": "5fe384a275f4586167d1cf345ab3774d975312b6e1a961742b1f74ae217a5321",
979
+ "leaf_index": 0,
980
+ "leaf_count": 1,
981
+ "leaf_hash": "7961ff3d13e69d1f0b9e750f0d87221d0efe9b94fd3cd305ac14d1acca7845e8",
982
+ "audit_path": []
983
+ },
984
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2264363939343131333439313962323834313463376237353434316336343832313033613365666237663638643839396237386461303865336330333037633731227d7d"
985
+ }
986
+ ]
987
+ },
988
+ "body_hash": "b1e15d183e8e34880b332b957c2e400a34af17c914dd27cd3359dc579daddc32",
989
+ "previous_hash": "GENESIS",
990
+ "signature_alg": "ed25519",
991
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
992
+ "signature": "d1337cf9ca7ed8a1fdd691f87b578915c162acb28f482a60507e7a53172f77170d44ba902d944531953f64245f676d347dc53c14bd8d45545fee42bf13169f07"
993
+ },
994
+ "logsHex": {
995
+ "5a4db0c0-0000-4000-8000-000000000000": "7b2273746570223a2273616e64626f782065766964656e636520666978747572652030227d"
996
+ },
997
+ "gateways": [],
998
+ "serves": {},
999
+ "expect": {
1000
+ "verify": {
1001
+ "verdict": "verified",
1002
+ "exit": 5,
1003
+ "environmentMarker": "dev",
1004
+ "headline": "SANDBOX",
1005
+ "onChainChecked": false,
1006
+ "claimsOnChain": false,
1007
+ "simulatedSentence": false,
1008
+ "fetched": []
1009
+ },
1010
+ "case": {
1011
+ "verdict": "verified",
1012
+ "exit": 5,
1013
+ "environmentMarker": "dev",
1014
+ "title": "Sandbox",
1015
+ "reliance": "Every pack in this drop is genuine, unaltered, and matches its own signed declaration. The records in this drop are sandbox records, signed environment dev: they are not production evidence. Every record in it was signed by its holder's key. This was read offline, on this device. It does not say this drop holds everything that was recorded."
1016
+ }
1017
+ }
1018
+ },
1019
+ {
1020
+ "id": "simulated-dev-gateways",
1021
+ "why": "The same pack with --gateways. A simulated witness is not on any chain, so nothing is fetched and nothing is counted as checked on one: onChainChecked false, no line says on-chain or looked up. The verdict word stays partial, for the witness was not checked. Every record is signed dev and the only unsettled witness is simulated, so it is sandbox evidence: SANDBOX and exit 5, as offline (evidence-export.md section 5).",
1022
+ "pack": {
1023
+ "spec_version": "sanning.evidence/v1",
1024
+ "body_type": "sanning.stamp.evidence/v2",
1025
+ "issuer": {
1026
+ "kind": "assembler"
1027
+ },
1028
+ "generated_at": "2026-10-20T12:20:00.000Z",
1029
+ "gateway": null,
1030
+ "verdict": {
1031
+ "status": "verified",
1032
+ "summary": "sandbox evidence fixture"
1033
+ },
1034
+ "body": {
1035
+ "stamps": [
1036
+ {
1037
+ "stamp_ref": "5fe384a275f4586167d1cf345ab3774d975312b6e1a961742b1f74ae217a5321",
1038
+ "stamp_bytes": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538227d7d7d",
1039
+ "anchor_ref": {
1040
+ "kind": "simulated",
1041
+ "id": "sandboxEvidenceFixtureAnchorId0000000000000"
1042
+ }
1043
+ }
1044
+ ],
1045
+ "events": [
1046
+ {
1047
+ "envelope": {
1048
+ "spec_version": "sanning.events/v2",
1049
+ "event_id": "5a4db0c0-0000-4000-8000-000000000000",
1050
+ "payload_hash": "eec2e61e86306692c1ee3fa5b57a8a07c9c0d2af3a8399c643ac6ddd2635f08d",
1051
+ "signed_at": "2026-10-20T12:00:00Z",
1052
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
1053
+ "environment": "dev",
1054
+ "signature": "d739f1f26bae729f29e919692f3cf46ac27610e6a330183964c630c2b48dff1ef461e26b1af22880d6ac3946d9fc2f965c352f12f37eb55d894883dac0283f06"
1055
+ },
1056
+ "inclusion": {
1057
+ "stamp_ref": "5fe384a275f4586167d1cf345ab3774d975312b6e1a961742b1f74ae217a5321",
1058
+ "leaf_index": 0,
1059
+ "leaf_count": 1,
1060
+ "leaf_hash": "7961ff3d13e69d1f0b9e750f0d87221d0efe9b94fd3cd305ac14d1acca7845e8",
1061
+ "audit_path": []
1062
+ },
1063
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2264363939343131333439313962323834313463376237353434316336343832313033613365666237663638643839396237386461303865336330333037633731227d7d"
1064
+ }
1065
+ ]
1066
+ },
1067
+ "body_hash": "b1e15d183e8e34880b332b957c2e400a34af17c914dd27cd3359dc579daddc32",
1068
+ "previous_hash": "GENESIS",
1069
+ "signature_alg": "ed25519",
1070
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
1071
+ "signature": "d1337cf9ca7ed8a1fdd691f87b578915c162acb28f482a60507e7a53172f77170d44ba902d944531953f64245f676d347dc53c14bd8d45545fee42bf13169f07"
1072
+ },
1073
+ "logsHex": {
1074
+ "5a4db0c0-0000-4000-8000-000000000000": "7b2273746570223a2273616e64626f782065766964656e636520666978747572652030227d"
1075
+ },
1076
+ "gateways": [
1077
+ "http://gw.example"
1078
+ ],
1079
+ "serves": {
1080
+ "http://gw.example/sandboxEvidenceFixtureAnchorId0000000000000": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538227d7d7d"
1081
+ },
1082
+ "expect": {
1083
+ "verify": {
1084
+ "verdict": "partial",
1085
+ "exit": 5,
1086
+ "environmentMarker": "dev",
1087
+ "headline": "SANDBOX",
1088
+ "onChainChecked": false,
1089
+ "claimsOnChain": false,
1090
+ "simulatedSentence": true,
1091
+ "fetched": []
1092
+ },
1093
+ "case": {
1094
+ "verdict": "verified",
1095
+ "exit": 5,
1096
+ "environmentMarker": "dev",
1097
+ "title": "Sandbox",
1098
+ "reliance": "Every pack in this drop is genuine, unaltered, and matches its own signed declaration. The records in this drop are sandbox records, signed environment dev: they are not production evidence. Every record in it was signed by its holder's key. This was read offline, on this device. It does not say this drop holds everything that was recorded."
1099
+ }
1100
+ }
1101
+ },
1102
+ {
1103
+ "id": "simulated-production-gateways",
1104
+ "why": "A simulated witness under production records, with --gateways: the on-chain claim is fixed whatever the environment says, and the run keeps exit 3, never 5. No marker.",
1105
+ "pack": {
1106
+ "spec_version": "sanning.evidence/v1",
1107
+ "body_type": "sanning.stamp.evidence/v2",
1108
+ "issuer": {
1109
+ "kind": "assembler"
1110
+ },
1111
+ "generated_at": "2026-10-20T12:20:00.000Z",
1112
+ "gateway": null,
1113
+ "verdict": {
1114
+ "status": "verified",
1115
+ "summary": "sandbox evidence fixture"
1116
+ },
1117
+ "body": {
1118
+ "stamps": [
1119
+ {
1120
+ "stamp_ref": "cdd89fa030d660d8569c8bb578ed4264aa394d86756966ba31292d5667e03b9d",
1121
+ "stamp_bytes": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2236316530313635343763363465643663323066623933616435313062396461613231343739633462393937303130363439366261646461386362663164636537222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2236316530313635343763363465643663323066623933616435313062396461613231343739633462393937303130363439366261646461386362663164636537227d7d7d",
1122
+ "anchor_ref": {
1123
+ "kind": "simulated",
1124
+ "id": "sandboxEvidenceFixtureAnchorId0000000000000"
1125
+ }
1126
+ }
1127
+ ],
1128
+ "events": [
1129
+ {
1130
+ "envelope": {
1131
+ "spec_version": "sanning.events/v2",
1132
+ "event_id": "5a4db0c0-0000-4000-8000-000000000000",
1133
+ "payload_hash": "eec2e61e86306692c1ee3fa5b57a8a07c9c0d2af3a8399c643ac6ddd2635f08d",
1134
+ "signed_at": "2026-10-20T12:00:00Z",
1135
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
1136
+ "environment": "production",
1137
+ "signature": "9db8c69ee2ef8f61b288613de2d79ed759dacb5fbab3941bd2a3ab56fed576512d79bb175af78161992d59d79933286eecd634cfaa2132182cc363a6022b4e08"
1138
+ },
1139
+ "inclusion": {
1140
+ "stamp_ref": "cdd89fa030d660d8569c8bb578ed4264aa394d86756966ba31292d5667e03b9d",
1141
+ "leaf_index": 0,
1142
+ "leaf_count": 1,
1143
+ "leaf_hash": "61e016547c64ed6c20fb93ad510b9daa21479c4b9970106496badda8cbf1dce7",
1144
+ "audit_path": []
1145
+ },
1146
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2264363939343131333439313962323834313463376237353434316336343832313033613365666237663638643839396237386461303865336330333037633731227d7d"
1147
+ }
1148
+ ]
1149
+ },
1150
+ "body_hash": "cfe2932d350f0e37fed8047291e3626b7c99690e61add648fbbd5787097cdcd7",
1151
+ "previous_hash": "GENESIS",
1152
+ "signature_alg": "ed25519",
1153
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
1154
+ "signature": "94c8b88bd0a376e28f05865b43936b59d105b4a623ab4082acb3ca4446a0e1cbfa5e388beed05be91656c07d670913ae4d638332409e53f625e1c55208ee7502"
1155
+ },
1156
+ "logsHex": {
1157
+ "5a4db0c0-0000-4000-8000-000000000000": "7b2273746570223a2273616e64626f782065766964656e636520666978747572652030227d"
1158
+ },
1159
+ "gateways": [
1160
+ "http://gw.example"
1161
+ ],
1162
+ "serves": {
1163
+ "http://gw.example/sandboxEvidenceFixtureAnchorId0000000000000": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2236316530313635343763363465643663323066623933616435313062396461613231343739633462393937303130363439366261646461386362663164636537222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2236316530313635343763363465643663323066623933616435313062396461613231343739633462393937303130363439366261646461386362663164636537227d7d7d"
1164
+ },
1165
+ "expect": {
1166
+ "verify": {
1167
+ "verdict": "partial",
1168
+ "exit": 3,
1169
+ "environmentMarker": null,
1170
+ "headline": "PARTIAL",
1171
+ "onChainChecked": false,
1172
+ "claimsOnChain": false,
1173
+ "simulatedSentence": true,
1174
+ "fetched": []
1175
+ },
1176
+ "case": {
1177
+ "verdict": "verified",
1178
+ "exit": 3,
1179
+ "environmentMarker": null,
1180
+ "title": "Verified",
1181
+ "reliance": "Every pack in this drop is genuine, unaltered, and matches its own signed declaration. Every record in it was signed by its holder's key. This was read offline, on this device. It does not say this drop holds everything that was recorded."
1182
+ }
1183
+ }
1184
+ },
1185
+ {
1186
+ "id": "simulated-beside-arweave-gateways",
1187
+ "why": "One simulated witness beside one arweave witness the gateway confirms, every record dev: the arweave one was checked on chain, so onChainChecked is true and the claim is true; the simulated one is not fetched and is the only unsettled witness, so the pack is sandbox evidence, exit 5.",
1188
+ "pack": {
1189
+ "spec_version": "sanning.evidence/v1",
1190
+ "body_type": "sanning.stamp.evidence/v2",
1191
+ "issuer": {
1192
+ "kind": "assembler"
1193
+ },
1194
+ "generated_at": "2026-10-20T12:20:00.000Z",
1195
+ "gateway": null,
1196
+ "verdict": {
1197
+ "status": "verified",
1198
+ "summary": "sandbox evidence fixture"
1199
+ },
1200
+ "body": {
1201
+ "stamps": [
1202
+ {
1203
+ "stamp_ref": "5fe384a275f4586167d1cf345ab3774d975312b6e1a961742b1f74ae217a5321",
1204
+ "stamp_bytes": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538227d7d7d",
1205
+ "anchor_ref": {
1206
+ "kind": "simulated",
1207
+ "id": "sandboxEvidenceFixtureAnchorId0000000000000"
1208
+ }
1209
+ },
1210
+ {
1211
+ "stamp_ref": "060156130bd7edb921ecebdbd8a1e7f2d4fa45f6b50448e4fbc9c1990806614b",
1212
+ "stamp_bytes": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2232316335626433623761613032346438363438633936303239393362323132393638653231326231616263393239356530643036313463623666343364323930222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2232316335626433623761613032346438363438633936303239393362323132393638653231326231616263393239356530643036313463623666343364323930227d7d7d",
1213
+ "anchor_ref": {
1214
+ "kind": "arweave",
1215
+ "id": "sandboxEvidenceFixtureAnchorId0000000000001"
1216
+ }
1217
+ }
1218
+ ],
1219
+ "events": [
1220
+ {
1221
+ "envelope": {
1222
+ "spec_version": "sanning.events/v2",
1223
+ "event_id": "5a4db0c0-0000-4000-8000-000000000000",
1224
+ "payload_hash": "eec2e61e86306692c1ee3fa5b57a8a07c9c0d2af3a8399c643ac6ddd2635f08d",
1225
+ "signed_at": "2026-10-20T12:00:00Z",
1226
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
1227
+ "environment": "dev",
1228
+ "signature": "d739f1f26bae729f29e919692f3cf46ac27610e6a330183964c630c2b48dff1ef461e26b1af22880d6ac3946d9fc2f965c352f12f37eb55d894883dac0283f06"
1229
+ },
1230
+ "inclusion": {
1231
+ "stamp_ref": "5fe384a275f4586167d1cf345ab3774d975312b6e1a961742b1f74ae217a5321",
1232
+ "leaf_index": 0,
1233
+ "leaf_count": 1,
1234
+ "leaf_hash": "7961ff3d13e69d1f0b9e750f0d87221d0efe9b94fd3cd305ac14d1acca7845e8",
1235
+ "audit_path": []
1236
+ },
1237
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2264363939343131333439313962323834313463376237353434316336343832313033613365666237663638643839396237386461303865336330333037633731227d7d"
1238
+ },
1239
+ {
1240
+ "envelope": {
1241
+ "spec_version": "sanning.events/v2",
1242
+ "event_id": "5a4db0c0-0000-4000-8000-000000000001",
1243
+ "payload_hash": "d961df36cc49a133936c5c895a012cdf9aa68d67735c397d9de595c8468d067b",
1244
+ "signed_at": "2026-10-20T12:00:00Z",
1245
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
1246
+ "environment": "dev",
1247
+ "signature": "844a2af081133e6e7a57aa492de5d1ffa4a212786e2821f24c158b3408cf1e2f117630e47123e19b779c3b9f17be068c3fe2f5db251102ce2a91676b66449b0d"
1248
+ },
1249
+ "inclusion": {
1250
+ "stamp_ref": "060156130bd7edb921ecebdbd8a1e7f2d4fa45f6b50448e4fbc9c1990806614b",
1251
+ "leaf_index": 0,
1252
+ "leaf_count": 1,
1253
+ "leaf_hash": "21c5bd3b7aa024d8648c9602993b212968e212b1abc9295e0d0614cb6f43d290",
1254
+ "audit_path": []
1255
+ },
1256
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2234633033326636633963626165363032343064663862386335306161313735646533616535643563366163383330666261373965313766353164353965383437227d7d"
1257
+ }
1258
+ ]
1259
+ },
1260
+ "body_hash": "d9a1c5d29ea4087298efbd501efa452ba81fe56b74abc6f7691ea29a39660671",
1261
+ "previous_hash": "GENESIS",
1262
+ "signature_alg": "ed25519",
1263
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
1264
+ "signature": "cc4631dae2b5328f369ae4199946eeedb2c1a85420fec43efa8194f9b041ffdf6dc0ef2930bb44ff5e697c8b76c07751829e4263e8c008d16a533b2a6e5b8f0b"
1265
+ },
1266
+ "logsHex": {
1267
+ "5a4db0c0-0000-4000-8000-000000000000": "7b2273746570223a2273616e64626f782065766964656e636520666978747572652030227d",
1268
+ "5a4db0c0-0000-4000-8000-000000000001": "7b2273746570223a2273616e64626f782065766964656e636520666978747572652031227d"
1269
+ },
1270
+ "gateways": [
1271
+ "http://gw.example"
1272
+ ],
1273
+ "serves": {
1274
+ "http://gw.example/sandboxEvidenceFixtureAnchorId0000000000000": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538227d7d7d",
1275
+ "http://gw.example/sandboxEvidenceFixtureAnchorId0000000000001": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2232316335626433623761613032346438363438633936303239393362323132393638653231326231616263393239356530643036313463623666343364323930222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2232316335626433623761613032346438363438633936303239393362323132393638653231326231616263393239356530643036313463623666343364323930227d7d7d"
1276
+ },
1277
+ "expect": {
1278
+ "verify": {
1279
+ "verdict": "partial",
1280
+ "exit": 5,
1281
+ "environmentMarker": "dev",
1282
+ "headline": "SANDBOX",
1283
+ "onChainChecked": true,
1284
+ "claimsOnChain": true,
1285
+ "simulatedSentence": false,
1286
+ "fetched": [
1287
+ "http://gw.example/sandboxEvidenceFixtureAnchorId0000000000001"
1288
+ ]
1289
+ },
1290
+ "case": {
1291
+ "verdict": "verified",
1292
+ "exit": 5,
1293
+ "environmentMarker": "dev",
1294
+ "title": "Sandbox",
1295
+ "reliance": "Every pack in this drop is genuine, unaltered, and matches its own signed declaration. The records in this drop are sandbox records, signed environment dev: they are not production evidence. Every record in it was signed by its holder's key. This was read offline, on this device. It does not say this drop holds everything that was recorded."
1296
+ }
1297
+ }
1298
+ },
1299
+ {
1300
+ "id": "simulated-mixed-gateways",
1301
+ "why": "A simulated witness under one dev record beside a production record whose arweave witness the gateway confirms: the marker is mixed, not dev, so the simulated gap keeps exit 3. Only a pack whose every record is dev gets 5 for a simulated witness.",
1302
+ "pack": {
1303
+ "spec_version": "sanning.evidence/v1",
1304
+ "body_type": "sanning.stamp.evidence/v2",
1305
+ "issuer": {
1306
+ "kind": "assembler"
1307
+ },
1308
+ "generated_at": "2026-10-20T12:20:00.000Z",
1309
+ "gateway": null,
1310
+ "verdict": {
1311
+ "status": "verified",
1312
+ "summary": "sandbox evidence fixture"
1313
+ },
1314
+ "body": {
1315
+ "stamps": [
1316
+ {
1317
+ "stamp_ref": "5fe384a275f4586167d1cf345ab3774d975312b6e1a961742b1f74ae217a5321",
1318
+ "stamp_bytes": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538227d7d7d",
1319
+ "anchor_ref": {
1320
+ "kind": "simulated",
1321
+ "id": "sandboxEvidenceFixtureAnchorId0000000000000"
1322
+ }
1323
+ },
1324
+ {
1325
+ "stamp_ref": "f2138076b5cbac321350ecd365cefc9e9c993b1b497ff0070dc688a8653aecf0",
1326
+ "stamp_bytes": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2230313337663037623666306261643030623062353933373937376365326265396166336430616439613464666337663132373235633865343533333836616634222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2230313337663037623666306261643030623062353933373937376365326265396166336430616439613464666337663132373235633865343533333836616634227d7d7d",
1327
+ "anchor_ref": {
1328
+ "kind": "arweave",
1329
+ "id": "sandboxEvidenceFixtureAnchorId0000000000001"
1330
+ }
1331
+ }
1332
+ ],
1333
+ "events": [
1334
+ {
1335
+ "envelope": {
1336
+ "spec_version": "sanning.events/v2",
1337
+ "event_id": "5a4db0c0-0000-4000-8000-000000000000",
1338
+ "payload_hash": "eec2e61e86306692c1ee3fa5b57a8a07c9c0d2af3a8399c643ac6ddd2635f08d",
1339
+ "signed_at": "2026-10-20T12:00:00Z",
1340
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
1341
+ "environment": "dev",
1342
+ "signature": "d739f1f26bae729f29e919692f3cf46ac27610e6a330183964c630c2b48dff1ef461e26b1af22880d6ac3946d9fc2f965c352f12f37eb55d894883dac0283f06"
1343
+ },
1344
+ "inclusion": {
1345
+ "stamp_ref": "5fe384a275f4586167d1cf345ab3774d975312b6e1a961742b1f74ae217a5321",
1346
+ "leaf_index": 0,
1347
+ "leaf_count": 1,
1348
+ "leaf_hash": "7961ff3d13e69d1f0b9e750f0d87221d0efe9b94fd3cd305ac14d1acca7845e8",
1349
+ "audit_path": []
1350
+ },
1351
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2264363939343131333439313962323834313463376237353434316336343832313033613365666237663638643839396237386461303865336330333037633731227d7d"
1352
+ },
1353
+ {
1354
+ "envelope": {
1355
+ "spec_version": "sanning.events/v2",
1356
+ "event_id": "5a4db0c0-0000-4000-8000-000000000001",
1357
+ "payload_hash": "d961df36cc49a133936c5c895a012cdf9aa68d67735c397d9de595c8468d067b",
1358
+ "signed_at": "2026-10-20T12:00:00Z",
1359
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
1360
+ "environment": "production",
1361
+ "signature": "dd8e14f824408d68fc4c215c93ca236549c35808180cfee55863ba1cdd484075b19e00cf6ff0c92fb583c6b04b410824a80c885bb9e94fcb80c8304ff8e8030c"
1362
+ },
1363
+ "inclusion": {
1364
+ "stamp_ref": "f2138076b5cbac321350ecd365cefc9e9c993b1b497ff0070dc688a8653aecf0",
1365
+ "leaf_index": 0,
1366
+ "leaf_count": 1,
1367
+ "leaf_hash": "0137f07b6f0bad00b0b5937977ce2be9af3d0ad9a4dfc7f12725c8e453386af4",
1368
+ "audit_path": []
1369
+ },
1370
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2234633033326636633963626165363032343064663862386335306161313735646533616535643563366163383330666261373965313766353164353965383437227d7d"
1371
+ }
1372
+ ]
1373
+ },
1374
+ "body_hash": "628dfaa316deced92a879216967d6cc6dc4e1981039c9403a703980886e5d2cb",
1375
+ "previous_hash": "GENESIS",
1376
+ "signature_alg": "ed25519",
1377
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
1378
+ "signature": "926000aad653e667e3c0cd985144299032ec9f3ecccb7cdf7ceecd6f2b4ce404de96ca8995473b6c53ef3e691486d71b1f4b8a2c7ab5d456c216eddb9eb7030d"
1379
+ },
1380
+ "logsHex": {
1381
+ "5a4db0c0-0000-4000-8000-000000000000": "7b2273746570223a2273616e64626f782065766964656e636520666978747572652030227d",
1382
+ "5a4db0c0-0000-4000-8000-000000000001": "7b2273746570223a2273616e64626f782065766964656e636520666978747572652031227d"
1383
+ },
1384
+ "gateways": [
1385
+ "http://gw.example"
1386
+ ],
1387
+ "serves": {
1388
+ "http://gw.example/sandboxEvidenceFixtureAnchorId0000000000000": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538227d7d7d",
1389
+ "http://gw.example/sandboxEvidenceFixtureAnchorId0000000000001": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2230313337663037623666306261643030623062353933373937376365326265396166336430616439613464666337663132373235633865343533333836616634222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2230313337663037623666306261643030623062353933373937376365326265396166336430616439613464666337663132373235633865343533333836616634227d7d7d"
1390
+ },
1391
+ "expect": {
1392
+ "verify": {
1393
+ "verdict": "partial",
1394
+ "exit": 3,
1395
+ "environmentMarker": "mixed",
1396
+ "headline": "PARTIAL",
1397
+ "onChainChecked": true,
1398
+ "claimsOnChain": true,
1399
+ "simulatedSentence": false,
1400
+ "fetched": [
1401
+ "http://gw.example/sandboxEvidenceFixtureAnchorId0000000000001"
1402
+ ]
1403
+ },
1404
+ "case": {
1405
+ "verdict": "verified",
1406
+ "exit": 3,
1407
+ "environmentMarker": "mixed",
1408
+ "title": "Sandbox",
1409
+ "reliance": "Every pack in this drop is genuine, unaltered, and matches its own signed declaration. Some records in this drop are sandbox records, signed environment dev: those are not production evidence. Every record in it was signed by its holder's key. This was read offline, on this device. It does not say this drop holds everything that was recorded."
1410
+ }
1411
+ }
1412
+ },
1413
+ {
1414
+ "id": "dev-gateway-unreachable",
1415
+ "why": "A dev pack whose real arweave witness the gateway does not hold (404, unreachable): undetermined, exit 3, never 5. Only a simulated witness is excused.",
1416
+ "pack": {
1417
+ "spec_version": "sanning.evidence/v1",
1418
+ "body_type": "sanning.stamp.evidence/v2",
1419
+ "issuer": {
1420
+ "kind": "assembler"
1421
+ },
1422
+ "generated_at": "2026-10-20T12:20:00.000Z",
1423
+ "gateway": null,
1424
+ "verdict": {
1425
+ "status": "verified",
1426
+ "summary": "sandbox evidence fixture"
1427
+ },
1428
+ "body": {
1429
+ "stamps": [
1430
+ {
1431
+ "stamp_ref": "5fe384a275f4586167d1cf345ab3774d975312b6e1a961742b1f74ae217a5321",
1432
+ "stamp_bytes": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538227d7d7d",
1433
+ "anchor_ref": {
1434
+ "kind": "arweave",
1435
+ "id": "sandboxEvidenceFixtureAnchorId0000000000000"
1436
+ }
1437
+ }
1438
+ ],
1439
+ "events": [
1440
+ {
1441
+ "envelope": {
1442
+ "spec_version": "sanning.events/v2",
1443
+ "event_id": "5a4db0c0-0000-4000-8000-000000000000",
1444
+ "payload_hash": "eec2e61e86306692c1ee3fa5b57a8a07c9c0d2af3a8399c643ac6ddd2635f08d",
1445
+ "signed_at": "2026-10-20T12:00:00Z",
1446
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
1447
+ "environment": "dev",
1448
+ "signature": "d739f1f26bae729f29e919692f3cf46ac27610e6a330183964c630c2b48dff1ef461e26b1af22880d6ac3946d9fc2f965c352f12f37eb55d894883dac0283f06"
1449
+ },
1450
+ "inclusion": {
1451
+ "stamp_ref": "5fe384a275f4586167d1cf345ab3774d975312b6e1a961742b1f74ae217a5321",
1452
+ "leaf_index": 0,
1453
+ "leaf_count": 1,
1454
+ "leaf_hash": "7961ff3d13e69d1f0b9e750f0d87221d0efe9b94fd3cd305ac14d1acca7845e8",
1455
+ "audit_path": []
1456
+ },
1457
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2264363939343131333439313962323834313463376237353434316336343832313033613365666237663638643839396237386461303865336330333037633731227d7d"
1458
+ }
1459
+ ]
1460
+ },
1461
+ "body_hash": "f091fe3ebee7c0f7ca4c1f2977f035a09334d2b3cb47f3d6612ad134a21d4d48",
1462
+ "previous_hash": "GENESIS",
1463
+ "signature_alg": "ed25519",
1464
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
1465
+ "signature": "d70e8bc98eacebf3e82d60a8acc06656baeaae12d18fdfa98d5940a989a53b7631cf630bbad8cc0744edab5bca8476c6c7d14eb1d8088f127e9d5dca30de1508"
1466
+ },
1467
+ "logsHex": {
1468
+ "5a4db0c0-0000-4000-8000-000000000000": "7b2273746570223a2273616e64626f782065766964656e636520666978747572652030227d"
1469
+ },
1470
+ "gateways": [
1471
+ "http://gw.example"
1472
+ ],
1473
+ "serves": {},
1474
+ "expect": {
1475
+ "verify": {
1476
+ "verdict": "partial",
1477
+ "exit": 3,
1478
+ "environmentMarker": "dev",
1479
+ "headline": "PARTIAL",
1480
+ "onChainChecked": true,
1481
+ "claimsOnChain": true,
1482
+ "simulatedSentence": false,
1483
+ "fetched": [
1484
+ "http://gw.example/sandboxEvidenceFixtureAnchorId0000000000000"
1485
+ ]
1486
+ },
1487
+ "case": {
1488
+ "verdict": "verified",
1489
+ "exit": 3,
1490
+ "environmentMarker": "dev",
1491
+ "title": "Sandbox",
1492
+ "reliance": "Every pack in this drop is genuine, unaltered, and matches its own signed declaration. The records in this drop are sandbox records, signed environment dev: they are not production evidence. Every record in it was signed by its holder's key. This was read offline, on this device. It does not say this drop holds everything that was recorded."
1493
+ }
1494
+ }
1495
+ },
1496
+ {
1497
+ "id": "simulated-beside-unreachable-arweave-gateways",
1498
+ "why": "A dev pack with a simulated witness beside a real arweave witness that fails to confirm: the arweave gap is not a simulated one, so the run keeps exit 3.",
1499
+ "pack": {
1500
+ "spec_version": "sanning.evidence/v1",
1501
+ "body_type": "sanning.stamp.evidence/v2",
1502
+ "issuer": {
1503
+ "kind": "assembler"
1504
+ },
1505
+ "generated_at": "2026-10-20T12:20:00.000Z",
1506
+ "gateway": null,
1507
+ "verdict": {
1508
+ "status": "verified",
1509
+ "summary": "sandbox evidence fixture"
1510
+ },
1511
+ "body": {
1512
+ "stamps": [
1513
+ {
1514
+ "stamp_ref": "5fe384a275f4586167d1cf345ab3774d975312b6e1a961742b1f74ae217a5321",
1515
+ "stamp_bytes": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538227d7d7d",
1516
+ "anchor_ref": {
1517
+ "kind": "simulated",
1518
+ "id": "sandboxEvidenceFixtureAnchorId0000000000000"
1519
+ }
1520
+ },
1521
+ {
1522
+ "stamp_ref": "060156130bd7edb921ecebdbd8a1e7f2d4fa45f6b50448e4fbc9c1990806614b",
1523
+ "stamp_bytes": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2232316335626433623761613032346438363438633936303239393362323132393638653231326231616263393239356530643036313463623666343364323930222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2232316335626433623761613032346438363438633936303239393362323132393638653231326231616263393239356530643036313463623666343364323930227d7d7d",
1524
+ "anchor_ref": {
1525
+ "kind": "arweave",
1526
+ "id": "sandboxEvidenceFixtureAnchorId0000000000001"
1527
+ }
1528
+ }
1529
+ ],
1530
+ "events": [
1531
+ {
1532
+ "envelope": {
1533
+ "spec_version": "sanning.events/v2",
1534
+ "event_id": "5a4db0c0-0000-4000-8000-000000000000",
1535
+ "payload_hash": "eec2e61e86306692c1ee3fa5b57a8a07c9c0d2af3a8399c643ac6ddd2635f08d",
1536
+ "signed_at": "2026-10-20T12:00:00Z",
1537
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
1538
+ "environment": "dev",
1539
+ "signature": "d739f1f26bae729f29e919692f3cf46ac27610e6a330183964c630c2b48dff1ef461e26b1af22880d6ac3946d9fc2f965c352f12f37eb55d894883dac0283f06"
1540
+ },
1541
+ "inclusion": {
1542
+ "stamp_ref": "5fe384a275f4586167d1cf345ab3774d975312b6e1a961742b1f74ae217a5321",
1543
+ "leaf_index": 0,
1544
+ "leaf_count": 1,
1545
+ "leaf_hash": "7961ff3d13e69d1f0b9e750f0d87221d0efe9b94fd3cd305ac14d1acca7845e8",
1546
+ "audit_path": []
1547
+ },
1548
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2264363939343131333439313962323834313463376237353434316336343832313033613365666237663638643839396237386461303865336330333037633731227d7d"
1549
+ },
1550
+ {
1551
+ "envelope": {
1552
+ "spec_version": "sanning.events/v2",
1553
+ "event_id": "5a4db0c0-0000-4000-8000-000000000001",
1554
+ "payload_hash": "d961df36cc49a133936c5c895a012cdf9aa68d67735c397d9de595c8468d067b",
1555
+ "signed_at": "2026-10-20T12:00:00Z",
1556
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
1557
+ "environment": "dev",
1558
+ "signature": "844a2af081133e6e7a57aa492de5d1ffa4a212786e2821f24c158b3408cf1e2f117630e47123e19b779c3b9f17be068c3fe2f5db251102ce2a91676b66449b0d"
1559
+ },
1560
+ "inclusion": {
1561
+ "stamp_ref": "060156130bd7edb921ecebdbd8a1e7f2d4fa45f6b50448e4fbc9c1990806614b",
1562
+ "leaf_index": 0,
1563
+ "leaf_count": 1,
1564
+ "leaf_hash": "21c5bd3b7aa024d8648c9602993b212968e212b1abc9295e0d0614cb6f43d290",
1565
+ "audit_path": []
1566
+ },
1567
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2234633033326636633963626165363032343064663862386335306161313735646533616535643563366163383330666261373965313766353164353965383437227d7d"
1568
+ }
1569
+ ]
1570
+ },
1571
+ "body_hash": "d9a1c5d29ea4087298efbd501efa452ba81fe56b74abc6f7691ea29a39660671",
1572
+ "previous_hash": "GENESIS",
1573
+ "signature_alg": "ed25519",
1574
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
1575
+ "signature": "cc4631dae2b5328f369ae4199946eeedb2c1a85420fec43efa8194f9b041ffdf6dc0ef2930bb44ff5e697c8b76c07751829e4263e8c008d16a533b2a6e5b8f0b"
1576
+ },
1577
+ "logsHex": {
1578
+ "5a4db0c0-0000-4000-8000-000000000000": "7b2273746570223a2273616e64626f782065766964656e636520666978747572652030227d",
1579
+ "5a4db0c0-0000-4000-8000-000000000001": "7b2273746570223a2273616e64626f782065766964656e636520666978747572652031227d"
1580
+ },
1581
+ "gateways": [
1582
+ "http://gw.example"
1583
+ ],
1584
+ "serves": {
1585
+ "http://gw.example/sandboxEvidenceFixtureAnchorId0000000000000": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538227d7d7d"
1586
+ },
1587
+ "expect": {
1588
+ "verify": {
1589
+ "verdict": "partial",
1590
+ "exit": 3,
1591
+ "environmentMarker": "dev",
1592
+ "headline": "PARTIAL",
1593
+ "onChainChecked": true,
1594
+ "claimsOnChain": true,
1595
+ "simulatedSentence": false,
1596
+ "fetched": [
1597
+ "http://gw.example/sandboxEvidenceFixtureAnchorId0000000000001"
1598
+ ]
1599
+ },
1600
+ "case": {
1601
+ "verdict": "verified",
1602
+ "exit": 3,
1603
+ "environmentMarker": "dev",
1604
+ "title": "Sandbox",
1605
+ "reliance": "Every pack in this drop is genuine, unaltered, and matches its own signed declaration. The records in this drop are sandbox records, signed environment dev: they are not production evidence. Every record in it was signed by its holder's key. This was read offline, on this device. It does not say this drop holds everything that was recorded."
1606
+ }
1607
+ }
1608
+ },
1609
+ {
1610
+ "id": "simulated-beside-unwitnessed-gateways",
1611
+ "why": "A dev pack with a simulated witness beside a stamp nothing has witnessed (no anchor_ref), with --gateways: a stamp witnessed by nobody is not a simulated gap, so the run keeps exit 3, never 5. Nothing is on a chain to look up, so nothing is fetched and onChainChecked is false, and the verify command says so. The case command's on-chain header still says 'looked up against 1 gateway(s)', as it does for any pack with a stamp witnessed by nobody: that header is left as it was, so claimsOnChain is true here.",
1612
+ "pack": {
1613
+ "spec_version": "sanning.evidence/v1",
1614
+ "body_type": "sanning.stamp.evidence/v2",
1615
+ "issuer": {
1616
+ "kind": "assembler"
1617
+ },
1618
+ "generated_at": "2026-10-20T12:20:00.000Z",
1619
+ "gateway": null,
1620
+ "verdict": {
1621
+ "status": "verified",
1622
+ "summary": "sandbox evidence fixture"
1623
+ },
1624
+ "body": {
1625
+ "stamps": [
1626
+ {
1627
+ "stamp_ref": "5fe384a275f4586167d1cf345ab3774d975312b6e1a961742b1f74ae217a5321",
1628
+ "stamp_bytes": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538227d7d7d",
1629
+ "anchor_ref": {
1630
+ "kind": "simulated",
1631
+ "id": "sandboxEvidenceFixtureAnchorId0000000000000"
1632
+ }
1633
+ },
1634
+ {
1635
+ "stamp_ref": "060156130bd7edb921ecebdbd8a1e7f2d4fa45f6b50448e4fbc9c1990806614b",
1636
+ "stamp_bytes": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2232316335626433623761613032346438363438633936303239393362323132393638653231326231616263393239356530643036313463623666343364323930222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2232316335626433623761613032346438363438633936303239393362323132393638653231326231616263393239356530643036313463623666343364323930227d7d7d"
1637
+ }
1638
+ ],
1639
+ "events": [
1640
+ {
1641
+ "envelope": {
1642
+ "spec_version": "sanning.events/v2",
1643
+ "event_id": "5a4db0c0-0000-4000-8000-000000000000",
1644
+ "payload_hash": "eec2e61e86306692c1ee3fa5b57a8a07c9c0d2af3a8399c643ac6ddd2635f08d",
1645
+ "signed_at": "2026-10-20T12:00:00Z",
1646
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
1647
+ "environment": "dev",
1648
+ "signature": "d739f1f26bae729f29e919692f3cf46ac27610e6a330183964c630c2b48dff1ef461e26b1af22880d6ac3946d9fc2f965c352f12f37eb55d894883dac0283f06"
1649
+ },
1650
+ "inclusion": {
1651
+ "stamp_ref": "5fe384a275f4586167d1cf345ab3774d975312b6e1a961742b1f74ae217a5321",
1652
+ "leaf_index": 0,
1653
+ "leaf_count": 1,
1654
+ "leaf_hash": "7961ff3d13e69d1f0b9e750f0d87221d0efe9b94fd3cd305ac14d1acca7845e8",
1655
+ "audit_path": []
1656
+ },
1657
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2264363939343131333439313962323834313463376237353434316336343832313033613365666237663638643839396237386461303865336330333037633731227d7d"
1658
+ },
1659
+ {
1660
+ "envelope": {
1661
+ "spec_version": "sanning.events/v2",
1662
+ "event_id": "5a4db0c0-0000-4000-8000-000000000001",
1663
+ "payload_hash": "d961df36cc49a133936c5c895a012cdf9aa68d67735c397d9de595c8468d067b",
1664
+ "signed_at": "2026-10-20T12:00:00Z",
1665
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
1666
+ "environment": "dev",
1667
+ "signature": "844a2af081133e6e7a57aa492de5d1ffa4a212786e2821f24c158b3408cf1e2f117630e47123e19b779c3b9f17be068c3fe2f5db251102ce2a91676b66449b0d"
1668
+ },
1669
+ "inclusion": {
1670
+ "stamp_ref": "060156130bd7edb921ecebdbd8a1e7f2d4fa45f6b50448e4fbc9c1990806614b",
1671
+ "leaf_index": 0,
1672
+ "leaf_count": 1,
1673
+ "leaf_hash": "21c5bd3b7aa024d8648c9602993b212968e212b1abc9295e0d0614cb6f43d290",
1674
+ "audit_path": []
1675
+ },
1676
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2234633033326636633963626165363032343064663862386335306161313735646533616535643563366163383330666261373965313766353164353965383437227d7d"
1677
+ }
1678
+ ]
1679
+ },
1680
+ "body_hash": "6216328e1e8eef4cd32e2eb5b5fe5334ac4f2f47841896d5ac05c29b99264885",
1681
+ "previous_hash": "GENESIS",
1682
+ "signature_alg": "ed25519",
1683
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
1684
+ "signature": "454c5ad309090db06a6f7d4ee56c47dd08b21d878c5e8ac39eabcf772cc89b4f4b0f0255892872fd2a4814841f639e6418ba7b6671d3ba3aa3817c9c75f3f70d"
1685
+ },
1686
+ "logsHex": {
1687
+ "5a4db0c0-0000-4000-8000-000000000000": "7b2273746570223a2273616e64626f782065766964656e636520666978747572652030227d",
1688
+ "5a4db0c0-0000-4000-8000-000000000001": "7b2273746570223a2273616e64626f782065766964656e636520666978747572652031227d"
1689
+ },
1690
+ "gateways": [
1691
+ "http://gw.example"
1692
+ ],
1693
+ "serves": {
1694
+ "http://gw.example/sandboxEvidenceFixtureAnchorId0000000000000": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2237393631666633643133653639643166306239653735306630643837323231643065666539623934666433636433303561633134643161636361373834356538227d7d7d"
1695
+ },
1696
+ "expect": {
1697
+ "verify": {
1698
+ "verdict": "partial",
1699
+ "exit": 3,
1700
+ "environmentMarker": "dev",
1701
+ "headline": "PARTIAL",
1702
+ "onChainChecked": false,
1703
+ "claimsOnChain": true,
1704
+ "simulatedSentence": true,
1705
+ "fetched": []
1706
+ },
1707
+ "case": {
1708
+ "verdict": "partial",
1709
+ "exit": 3,
1710
+ "environmentMarker": "dev",
1711
+ "title": "Partial",
1712
+ "reliance": "Nothing here was proven wrong, and a check could not be completed: a pack names no witness, or a pack in a hand-off reading does not say what it holds. The records in this drop are sandbox records, signed environment dev: they are not production evidence. The exceptions say which."
1713
+ }
1714
+ }
1715
+ },
1716
+ {
1717
+ "id": "trace-simulated-dev-offline",
1718
+ "why": "An anchor-trace pack, every envelope signed dev, its one checkpoint witnessed by a simulated witness, offline: SANDBOX and exit 5.",
1719
+ "pack": {
1720
+ "spec_version": "sanning.evidence/v1",
1721
+ "body_type": "sanning.anchor.trace/v3",
1722
+ "issuer": {
1723
+ "kind": "assembler"
1724
+ },
1725
+ "generated_at": "2026-10-20T12:20:00.000Z",
1726
+ "gateway": null,
1727
+ "verdict": {
1728
+ "status": "verified",
1729
+ "summary": "sandbox evidence fixture"
1730
+ },
1731
+ "body": {
1732
+ "checkpoints": [
1733
+ {
1734
+ "checkpoint_ref": "2f126b67b140cf7f8a862dd00ad471d28ff6df8e583c2dde6811bb52c365650d",
1735
+ "envelope": {
1736
+ "spec_version": "sanning.events/v2",
1737
+ "event_id": "5a4db0c0-0000-4000-8000-ffff00000000",
1738
+ "payload_hash": "2f126b67b140cf7f8a862dd00ad471d28ff6df8e583c2dde6811bb52c365650d",
1739
+ "signed_at": "2026-10-20T12:00:00Z",
1740
+ "environment": "dev",
1741
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
1742
+ "signature": "ef8985fef67fa12eb2739164482f10c544dafaf812062adffb0eccbe8bbe8ab9a64195c8e3368756e9df03dde9fbfdc2c356213146030ac9cd4566e481bad303"
1743
+ },
1744
+ "event_bytes": "7b226576656e74223a7b226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2236393831386639333838373932326464323632616162633731303363326336303965643634303539663062353463323030376361646630326430633131303734227d7d",
1745
+ "merkle_root": "69818f93887922dd262aabc7103c2c609ed64059f0b54c2007cadf02d0c11074",
1746
+ "anchor_ref": {
1747
+ "kind": "simulated",
1748
+ "id": "sandboxEvidenceFixtureAnchorId0000000000000"
1749
+ }
1750
+ }
1751
+ ],
1752
+ "events": [
1753
+ {
1754
+ "envelope": {
1755
+ "spec_version": "sanning.events/v2",
1756
+ "event_id": "5a4db0c0-0000-4000-8000-000000000000",
1757
+ "payload_hash": "320f4230bcb9519fe5e9284add08ec0a222d8fe73d7074dc91a350f6321871a8",
1758
+ "signed_at": "2026-10-20T12:00:00Z",
1759
+ "environment": "dev",
1760
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
1761
+ "signature": "f0bdfc9e67bfec32c97e24fba8e326c13024d46e69564e812cc464b1c96b908db0451654849c672a753c139ce5516adf852844deaa16a68286db81198d4bd50c"
1762
+ },
1763
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2265656163346339366165353932316461363564633038313865383437306637353838633464353138643363383331346233396263376135376131386466623435227d7d",
1764
+ "inclusion": {
1765
+ "leaf_hash": "69818f93887922dd262aabc7103c2c609ed64059f0b54c2007cadf02d0c11074",
1766
+ "leaf_index": 0,
1767
+ "leaf_count": 1,
1768
+ "audit_path": [],
1769
+ "checkpoint_ref": "2f126b67b140cf7f8a862dd00ad471d28ff6df8e583c2dde6811bb52c365650d"
1770
+ }
1771
+ }
1772
+ ]
1773
+ },
1774
+ "body_hash": "11b3623c89c2f1a78365d3c247606c6536f80887b20aa042e312b8f11db6e01a",
1775
+ "previous_hash": "GENESIS",
1776
+ "signature_alg": "ed25519",
1777
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
1778
+ "signature": "03fbd98f416ee8ff3f9cad0bf5411cbe332eb1bb72aac29c9ff10d5e8f819256f90b5f9b189621f32e25aff62a339b86bb967e6813bec5a07045797098b65c0e"
1779
+ },
1780
+ "logsHex": {
1781
+ "5a4db0c0-0000-4000-8000-000000000000": "7b2273746570223a2273616e64626f782065766964656e636520747261636520666978747572652030227d"
1782
+ },
1783
+ "gateways": [],
1784
+ "serves": {},
1785
+ "expect": {
1786
+ "verify": {
1787
+ "verdict": "verified",
1788
+ "exit": 5,
1789
+ "environmentMarker": "dev",
1790
+ "headline": "SANDBOX",
1791
+ "onChainChecked": false,
1792
+ "claimsOnChain": false,
1793
+ "simulatedSentence": false,
1794
+ "fetched": []
1795
+ },
1796
+ "case": {
1797
+ "verdict": "verified",
1798
+ "exit": 5,
1799
+ "environmentMarker": "dev",
1800
+ "title": "Sandbox",
1801
+ "reliance": "Every pack in this drop is genuine, unaltered, and matches its own signed declaration. The records in this drop are sandbox records, signed environment dev: they are not production evidence. Every record in it was signed by its holder's key. This was read offline, on this device. It does not say this drop holds everything that was recorded."
1802
+ }
1803
+ }
1804
+ },
1805
+ {
1806
+ "id": "trace-simulated-dev-gateways",
1807
+ "why": "The same anchor-trace pack with --gateways. The rule holds for a checkpoint's witness as for a stamp's (evidence-export.md section 5): the simulated checkpoint is not fetched and not counted as checked on a chain, onChainChecked false, and no line claims a look-up. Every envelope is dev and the only unsettled witness is simulated, so SANDBOX and exit 5. Before this rule it printed 'verified offline + on-chain against 1 gateway(s)' and exited 3.",
1808
+ "pack": {
1809
+ "spec_version": "sanning.evidence/v1",
1810
+ "body_type": "sanning.anchor.trace/v3",
1811
+ "issuer": {
1812
+ "kind": "assembler"
1813
+ },
1814
+ "generated_at": "2026-10-20T12:20:00.000Z",
1815
+ "gateway": null,
1816
+ "verdict": {
1817
+ "status": "verified",
1818
+ "summary": "sandbox evidence fixture"
1819
+ },
1820
+ "body": {
1821
+ "checkpoints": [
1822
+ {
1823
+ "checkpoint_ref": "2f126b67b140cf7f8a862dd00ad471d28ff6df8e583c2dde6811bb52c365650d",
1824
+ "envelope": {
1825
+ "spec_version": "sanning.events/v2",
1826
+ "event_id": "5a4db0c0-0000-4000-8000-ffff00000000",
1827
+ "payload_hash": "2f126b67b140cf7f8a862dd00ad471d28ff6df8e583c2dde6811bb52c365650d",
1828
+ "signed_at": "2026-10-20T12:00:00Z",
1829
+ "environment": "dev",
1830
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
1831
+ "signature": "ef8985fef67fa12eb2739164482f10c544dafaf812062adffb0eccbe8bbe8ab9a64195c8e3368756e9df03dde9fbfdc2c356213146030ac9cd4566e481bad303"
1832
+ },
1833
+ "event_bytes": "7b226576656e74223a7b226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2236393831386639333838373932326464323632616162633731303363326336303965643634303539663062353463323030376361646630326430633131303734227d7d",
1834
+ "merkle_root": "69818f93887922dd262aabc7103c2c609ed64059f0b54c2007cadf02d0c11074",
1835
+ "anchor_ref": {
1836
+ "kind": "simulated",
1837
+ "id": "sandboxEvidenceFixtureAnchorId0000000000000"
1838
+ }
1839
+ }
1840
+ ],
1841
+ "events": [
1842
+ {
1843
+ "envelope": {
1844
+ "spec_version": "sanning.events/v2",
1845
+ "event_id": "5a4db0c0-0000-4000-8000-000000000000",
1846
+ "payload_hash": "320f4230bcb9519fe5e9284add08ec0a222d8fe73d7074dc91a350f6321871a8",
1847
+ "signed_at": "2026-10-20T12:00:00Z",
1848
+ "environment": "dev",
1849
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
1850
+ "signature": "f0bdfc9e67bfec32c97e24fba8e326c13024d46e69564e812cc464b1c96b908db0451654849c672a753c139ce5516adf852844deaa16a68286db81198d4bd50c"
1851
+ },
1852
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2265656163346339366165353932316461363564633038313865383437306637353838633464353138643363383331346233396263376135376131386466623435227d7d",
1853
+ "inclusion": {
1854
+ "leaf_hash": "69818f93887922dd262aabc7103c2c609ed64059f0b54c2007cadf02d0c11074",
1855
+ "leaf_index": 0,
1856
+ "leaf_count": 1,
1857
+ "audit_path": [],
1858
+ "checkpoint_ref": "2f126b67b140cf7f8a862dd00ad471d28ff6df8e583c2dde6811bb52c365650d"
1859
+ }
1860
+ }
1861
+ ]
1862
+ },
1863
+ "body_hash": "11b3623c89c2f1a78365d3c247606c6536f80887b20aa042e312b8f11db6e01a",
1864
+ "previous_hash": "GENESIS",
1865
+ "signature_alg": "ed25519",
1866
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
1867
+ "signature": "03fbd98f416ee8ff3f9cad0bf5411cbe332eb1bb72aac29c9ff10d5e8f819256f90b5f9b189621f32e25aff62a339b86bb967e6813bec5a07045797098b65c0e"
1868
+ },
1869
+ "logsHex": {
1870
+ "5a4db0c0-0000-4000-8000-000000000000": "7b2273746570223a2273616e64626f782065766964656e636520747261636520666978747572652030227d"
1871
+ },
1872
+ "gateways": [
1873
+ "http://gw.example"
1874
+ ],
1875
+ "serves": {
1876
+ "http://gw.example/sandboxEvidenceFixtureAnchorId0000000000000": "7b22656e7669726f6e6d656e74223a22646576222c226576656e745f6964223a2235613464623063302d303030302d343030302d383030302d666666663030303030303030222c227061796c6f61645f68617368223a2232663132366236376231343063663766386138363264643030616434373164323866663664663865353833633264646536383131626235326333363536353064222c227075626c69635f6b6579223a2232303761303637383932383231653235643737306631666261306334376331316666346238313365353431363265636539656238333965303736323331616236222c227369676e6174757265223a226566383938356665663637666131326562323733393136343438326631306335343464616661663831323036326164666662306563636265386262653861623961363431393563386533333638373536653964663033646465396662666463326333353632313331343630333061633963643435363665343831626164333033222c227369676e65645f6174223a22323032362d31302d32305431323a30303a30305a222c22737065635f76657273696f6e223a2273616e6e696e672e6576656e74732f7632227d"
1877
+ },
1878
+ "expect": {
1879
+ "verify": {
1880
+ "verdict": "partial",
1881
+ "exit": 5,
1882
+ "environmentMarker": "dev",
1883
+ "headline": "SANDBOX",
1884
+ "onChainChecked": false,
1885
+ "claimsOnChain": false,
1886
+ "simulatedSentence": true,
1887
+ "fetched": []
1888
+ },
1889
+ "case": {
1890
+ "verdict": "verified",
1891
+ "exit": 5,
1892
+ "environmentMarker": "dev",
1893
+ "title": "Sandbox",
1894
+ "reliance": "Every pack in this drop is genuine, unaltered, and matches its own signed declaration. The records in this drop are sandbox records, signed environment dev: they are not production evidence. Every record in it was signed by its holder's key. This was read offline, on this device. It does not say this drop holds everything that was recorded."
1895
+ }
1896
+ }
1897
+ },
1898
+ {
1899
+ "id": "trace-simulated-beside-arweave-dev-gateways",
1900
+ "why": "An all-dev anchor-trace pack with one simulated checkpoint witness beside one arweave checkpoint witness the gateway confirms: the arweave one is fetched and checked on a chain, so onChainChecked is true and the claim is true; the simulated one is not fetched and is the only unsettled witness, so SANDBOX and exit 5.",
1901
+ "pack": {
1902
+ "spec_version": "sanning.evidence/v1",
1903
+ "body_type": "sanning.anchor.trace/v3",
1904
+ "issuer": {
1905
+ "kind": "assembler"
1906
+ },
1907
+ "generated_at": "2026-10-20T12:20:00.000Z",
1908
+ "gateway": null,
1909
+ "verdict": {
1910
+ "status": "verified",
1911
+ "summary": "sandbox evidence fixture"
1912
+ },
1913
+ "body": {
1914
+ "checkpoints": [
1915
+ {
1916
+ "checkpoint_ref": "2f126b67b140cf7f8a862dd00ad471d28ff6df8e583c2dde6811bb52c365650d",
1917
+ "envelope": {
1918
+ "spec_version": "sanning.events/v2",
1919
+ "event_id": "5a4db0c0-0000-4000-8000-ffff00000000",
1920
+ "payload_hash": "2f126b67b140cf7f8a862dd00ad471d28ff6df8e583c2dde6811bb52c365650d",
1921
+ "signed_at": "2026-10-20T12:00:00Z",
1922
+ "environment": "dev",
1923
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
1924
+ "signature": "ef8985fef67fa12eb2739164482f10c544dafaf812062adffb0eccbe8bbe8ab9a64195c8e3368756e9df03dde9fbfdc2c356213146030ac9cd4566e481bad303"
1925
+ },
1926
+ "event_bytes": "7b226576656e74223a7b226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2236393831386639333838373932326464323632616162633731303363326336303965643634303539663062353463323030376361646630326430633131303734227d7d",
1927
+ "merkle_root": "69818f93887922dd262aabc7103c2c609ed64059f0b54c2007cadf02d0c11074",
1928
+ "anchor_ref": {
1929
+ "kind": "simulated",
1930
+ "id": "sandboxEvidenceFixtureAnchorId0000000000000"
1931
+ }
1932
+ },
1933
+ {
1934
+ "checkpoint_ref": "7de653c1c87cc8408f3e86a33816557da6498a808e2a2b2b9c3c611324c835b1",
1935
+ "envelope": {
1936
+ "spec_version": "sanning.events/v2",
1937
+ "event_id": "5a4db0c0-0000-4000-8000-ffff00000001",
1938
+ "payload_hash": "7de653c1c87cc8408f3e86a33816557da6498a808e2a2b2b9c3c611324c835b1",
1939
+ "signed_at": "2026-10-20T12:00:00Z",
1940
+ "environment": "dev",
1941
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
1942
+ "signature": "81e3a56fff5e9fc186d54b315fef3afd25ca919b85964ee86f6b9b353f03bbd43eb7469264d2957499d22bb13a48cdd64a6749f06dd69108ad0a380c7e02c401"
1943
+ },
1944
+ "event_bytes": "7b226576656e74223a7b226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2235326661623032323232663335656565373935613935306263663232306534613230336633653034363839653932373264646136393564306666643963623832227d7d",
1945
+ "merkle_root": "52fab02222f35eee795a950bcf220e4a203f3e04689e9272dda695d0ffd9cb82",
1946
+ "anchor_ref": {
1947
+ "kind": "arweave",
1948
+ "id": "sandboxEvidenceFixtureAnchorId0000000000001"
1949
+ }
1950
+ }
1951
+ ],
1952
+ "events": [
1953
+ {
1954
+ "envelope": {
1955
+ "spec_version": "sanning.events/v2",
1956
+ "event_id": "5a4db0c0-0000-4000-8000-000000000000",
1957
+ "payload_hash": "320f4230bcb9519fe5e9284add08ec0a222d8fe73d7074dc91a350f6321871a8",
1958
+ "signed_at": "2026-10-20T12:00:00Z",
1959
+ "environment": "dev",
1960
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
1961
+ "signature": "f0bdfc9e67bfec32c97e24fba8e326c13024d46e69564e812cc464b1c96b908db0451654849c672a753c139ce5516adf852844deaa16a68286db81198d4bd50c"
1962
+ },
1963
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2265656163346339366165353932316461363564633038313865383437306637353838633464353138643363383331346233396263376135376131386466623435227d7d",
1964
+ "inclusion": {
1965
+ "leaf_hash": "69818f93887922dd262aabc7103c2c609ed64059f0b54c2007cadf02d0c11074",
1966
+ "leaf_index": 0,
1967
+ "leaf_count": 1,
1968
+ "audit_path": [],
1969
+ "checkpoint_ref": "2f126b67b140cf7f8a862dd00ad471d28ff6df8e583c2dde6811bb52c365650d"
1970
+ }
1971
+ },
1972
+ {
1973
+ "envelope": {
1974
+ "spec_version": "sanning.events/v2",
1975
+ "event_id": "5a4db0c0-0000-4000-8000-000000000001",
1976
+ "payload_hash": "49349ea07bf0e46d0e1ca522a9b7df04bca5b0e26084abd2baa3dc8ea1ac16ac",
1977
+ "signed_at": "2026-10-20T12:00:00Z",
1978
+ "environment": "dev",
1979
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
1980
+ "signature": "3c42af21029088e57fb0b6d13c8f63687bc74e2d2dc14bc7bf506a8d4d4bd0e0ff3be4227a3f0401ce7610ee8f78a227ae325e112c5b63509b76ff54e1a7c507"
1981
+ },
1982
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2265333633396638626265653164373430613333343931623338663965393534316438383039373136643365663135323434303635393562383261666432666266227d7d",
1983
+ "inclusion": {
1984
+ "leaf_hash": "52fab02222f35eee795a950bcf220e4a203f3e04689e9272dda695d0ffd9cb82",
1985
+ "leaf_index": 0,
1986
+ "leaf_count": 1,
1987
+ "audit_path": [],
1988
+ "checkpoint_ref": "7de653c1c87cc8408f3e86a33816557da6498a808e2a2b2b9c3c611324c835b1"
1989
+ }
1990
+ }
1991
+ ]
1992
+ },
1993
+ "body_hash": "ec57fcc0e0c7399211522ec5302d3509280855b7cba05404db082b60c56d3480",
1994
+ "previous_hash": "GENESIS",
1995
+ "signature_alg": "ed25519",
1996
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
1997
+ "signature": "6d498523f48b4311167b3faa6fec6d668e32af48d577a2cb1b8929bd763081580609839e15153198bd593be87f634794f3dea000a2b20bb40ef52b6970dffe00"
1998
+ },
1999
+ "logsHex": {
2000
+ "5a4db0c0-0000-4000-8000-000000000000": "7b2273746570223a2273616e64626f782065766964656e636520747261636520666978747572652030227d",
2001
+ "5a4db0c0-0000-4000-8000-000000000001": "7b2273746570223a2273616e64626f782065766964656e636520747261636520666978747572652031227d"
2002
+ },
2003
+ "gateways": [
2004
+ "http://gw.example"
2005
+ ],
2006
+ "serves": {
2007
+ "http://gw.example/sandboxEvidenceFixtureAnchorId0000000000000": "7b22656e7669726f6e6d656e74223a22646576222c226576656e745f6964223a2235613464623063302d303030302d343030302d383030302d666666663030303030303030222c227061796c6f61645f68617368223a2232663132366236376231343063663766386138363264643030616434373164323866663664663865353833633264646536383131626235326333363536353064222c227075626c69635f6b6579223a2232303761303637383932383231653235643737306631666261306334376331316666346238313365353431363265636539656238333965303736323331616236222c227369676e6174757265223a226566383938356665663637666131326562323733393136343438326631306335343464616661663831323036326164666662306563636265386262653861623961363431393563386533333638373536653964663033646465396662666463326333353632313331343630333061633963643435363665343831626164333033222c227369676e65645f6174223a22323032362d31302d32305431323a30303a30305a222c22737065635f76657273696f6e223a2273616e6e696e672e6576656e74732f7632227d",
2008
+ "http://gw.example/sandboxEvidenceFixtureAnchorId0000000000001": "7b22656e7669726f6e6d656e74223a22646576222c226576656e745f6964223a2235613464623063302d303030302d343030302d383030302d666666663030303030303031222c227061796c6f61645f68617368223a2237646536353363316338376363383430386633653836613333383136353537646136343938613830386532613262326239633363363131333234633833356231222c227075626c69635f6b6579223a2232303761303637383932383231653235643737306631666261306334376331316666346238313365353431363265636539656238333965303736323331616236222c227369676e6174757265223a223831653361353666666635653966633138366435346233313566656633616664323563613931396238353936346565383666366239623335336630336262643433656237343639323634643239353734393964323262623133613438636464363461363734396630366464363931303861643061333830633765303263343031222c227369676e65645f6174223a22323032362d31302d32305431323a30303a30305a222c22737065635f76657273696f6e223a2273616e6e696e672e6576656e74732f7632227d"
2009
+ },
2010
+ "expect": {
2011
+ "verify": {
2012
+ "verdict": "partial",
2013
+ "exit": 5,
2014
+ "environmentMarker": "dev",
2015
+ "headline": "SANDBOX",
2016
+ "onChainChecked": true,
2017
+ "claimsOnChain": true,
2018
+ "simulatedSentence": false,
2019
+ "fetched": [
2020
+ "http://gw.example/sandboxEvidenceFixtureAnchorId0000000000001"
2021
+ ]
2022
+ },
2023
+ "case": {
2024
+ "verdict": "verified",
2025
+ "exit": 5,
2026
+ "environmentMarker": "dev",
2027
+ "title": "Sandbox",
2028
+ "reliance": "Every pack in this drop is genuine, unaltered, and matches its own signed declaration. The records in this drop are sandbox records, signed environment dev: they are not production evidence. Every record in it was signed by its holder's key. This was read offline, on this device. It does not say this drop holds everything that was recorded."
2029
+ }
2030
+ }
2031
+ },
2032
+ {
2033
+ "id": "trace-simulated-production-gateways",
2034
+ "why": "An anchor-trace pack signed production with a simulated checkpoint witness, with --gateways: nothing fetched, onChainChecked false, no on-chain claim, and exit 3, never 5. No marker.",
2035
+ "pack": {
2036
+ "spec_version": "sanning.evidence/v1",
2037
+ "body_type": "sanning.anchor.trace/v3",
2038
+ "issuer": {
2039
+ "kind": "assembler"
2040
+ },
2041
+ "generated_at": "2026-10-20T12:20:00.000Z",
2042
+ "gateway": null,
2043
+ "verdict": {
2044
+ "status": "verified",
2045
+ "summary": "sandbox evidence fixture"
2046
+ },
2047
+ "body": {
2048
+ "checkpoints": [
2049
+ {
2050
+ "checkpoint_ref": "f4535c19ea862e8ce8d3ff2e3c7b6594d7e5e971492410a7613ab7b843b517e8",
2051
+ "envelope": {
2052
+ "spec_version": "sanning.events/v2",
2053
+ "event_id": "5a4db0c0-0000-4000-8000-ffff00000000",
2054
+ "payload_hash": "f4535c19ea862e8ce8d3ff2e3c7b6594d7e5e971492410a7613ab7b843b517e8",
2055
+ "signed_at": "2026-10-20T12:00:00Z",
2056
+ "environment": "production",
2057
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
2058
+ "signature": "7745e29d167994fd9be4c1ac9635396f0b6b0d1958e1745bf91ce0c89125ca18b5bb8f656e651dbc1b1f0fbd9122fc8a1517248f14287244b38bb9620efedc0e"
2059
+ },
2060
+ "event_bytes": "7b226576656e74223a7b226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2266356263656230633036326436633730323237623334326262336331373732666361336330336535303763346161633833303639333165663061646663383839227d7d",
2061
+ "merkle_root": "f5bceb0c062d6c70227b342bb3c1772fca3c03e507c4aac8306931ef0adfc889",
2062
+ "anchor_ref": {
2063
+ "kind": "simulated",
2064
+ "id": "sandboxEvidenceFixtureAnchorId0000000000000"
2065
+ }
2066
+ }
2067
+ ],
2068
+ "events": [
2069
+ {
2070
+ "envelope": {
2071
+ "spec_version": "sanning.events/v2",
2072
+ "event_id": "5a4db0c0-0000-4000-8000-000000000000",
2073
+ "payload_hash": "320f4230bcb9519fe5e9284add08ec0a222d8fe73d7074dc91a350f6321871a8",
2074
+ "signed_at": "2026-10-20T12:00:00Z",
2075
+ "environment": "production",
2076
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
2077
+ "signature": "a447bed46e16c761e1f3c6e28463fdc0091bc8bca3f23331c4c300f2cb80d75ecb65c9d6c976669c3f0e8cea9651f4007bd2b0085bac51d0d67d98ea6ae01c07"
2078
+ },
2079
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2265656163346339366165353932316461363564633038313865383437306637353838633464353138643363383331346233396263376135376131386466623435227d7d",
2080
+ "inclusion": {
2081
+ "leaf_hash": "f5bceb0c062d6c70227b342bb3c1772fca3c03e507c4aac8306931ef0adfc889",
2082
+ "leaf_index": 0,
2083
+ "leaf_count": 1,
2084
+ "audit_path": [],
2085
+ "checkpoint_ref": "f4535c19ea862e8ce8d3ff2e3c7b6594d7e5e971492410a7613ab7b843b517e8"
2086
+ }
2087
+ }
2088
+ ]
2089
+ },
2090
+ "body_hash": "5300bdc1126bf0de8f361abc682764d986c8a09f52971b3eaf5824f9dd78f12e",
2091
+ "previous_hash": "GENESIS",
2092
+ "signature_alg": "ed25519",
2093
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
2094
+ "signature": "44b234950a4d1dabf3aa8b34ed80c49b0d42f6bdc145297055f940f347202ebe4857127cfa8cf92d1a025280c2398c3f61ca0ee8a02ca271c9fc71c7ab1fc80f"
2095
+ },
2096
+ "logsHex": {
2097
+ "5a4db0c0-0000-4000-8000-000000000000": "7b2273746570223a2273616e64626f782065766964656e636520747261636520666978747572652030227d"
2098
+ },
2099
+ "gateways": [
2100
+ "http://gw.example"
2101
+ ],
2102
+ "serves": {
2103
+ "http://gw.example/sandboxEvidenceFixtureAnchorId0000000000000": "7b22656e7669726f6e6d656e74223a2270726f64756374696f6e222c226576656e745f6964223a2235613464623063302d303030302d343030302d383030302d666666663030303030303030222c227061796c6f61645f68617368223a2266343533356331396561383632653863653864336666326533633762363539346437653565393731343932343130613736313361623762383433623531376538222c227075626c69635f6b6579223a2232303761303637383932383231653235643737306631666261306334376331316666346238313365353431363265636539656238333965303736323331616236222c227369676e6174757265223a223737343565323964313637393934666439626534633161633936333533393666306236623064313935386531373435626639316365306338393132356361313862356262386636353665363531646263316231663066626439313232666338613135313732343866313432383732343462333862623936323065666564633065222c227369676e65645f6174223a22323032362d31302d32305431323a30303a30305a222c22737065635f76657273696f6e223a2273616e6e696e672e6576656e74732f7632227d"
2104
+ },
2105
+ "expect": {
2106
+ "verify": {
2107
+ "verdict": "partial",
2108
+ "exit": 3,
2109
+ "environmentMarker": null,
2110
+ "headline": "PARTIAL",
2111
+ "onChainChecked": false,
2112
+ "claimsOnChain": false,
2113
+ "simulatedSentence": true,
2114
+ "fetched": []
2115
+ },
2116
+ "case": {
2117
+ "verdict": "verified",
2118
+ "exit": 3,
2119
+ "environmentMarker": null,
2120
+ "title": "Verified",
2121
+ "reliance": "Every pack in this drop is genuine, unaltered, and matches its own signed declaration. Every record in it was signed by its holder's key. This was read offline, on this device. It does not say this drop holds everything that was recorded."
2122
+ }
2123
+ }
2124
+ },
2125
+ {
2126
+ "id": "trace-unwitnessed-production-gateways",
2127
+ "why": "An anchor-trace pack signed production whose only checkpoint nothing has witnessed (no anchor_ref), with --gateways: no simulated witness, so this is what it was in 0.18.0, byte for byte. Nothing is fetched; the checkpoint is unreachable, so PARTIAL and exit 3; the run is counted as checked on a chain, so onChainChecked is true and the verdict line says 'verified offline + on-chain against 1 gateway(s)'. No marker.",
2128
+ "pack": {
2129
+ "spec_version": "sanning.evidence/v1",
2130
+ "body_type": "sanning.anchor.trace/v3",
2131
+ "issuer": {
2132
+ "kind": "assembler"
2133
+ },
2134
+ "generated_at": "2026-10-20T12:20:00.000Z",
2135
+ "gateway": null,
2136
+ "verdict": {
2137
+ "status": "verified",
2138
+ "summary": "sandbox evidence fixture"
2139
+ },
2140
+ "body": {
2141
+ "checkpoints": [
2142
+ {
2143
+ "checkpoint_ref": "f4535c19ea862e8ce8d3ff2e3c7b6594d7e5e971492410a7613ab7b843b517e8",
2144
+ "envelope": {
2145
+ "spec_version": "sanning.events/v2",
2146
+ "event_id": "5a4db0c0-0000-4000-8000-ffff00000000",
2147
+ "payload_hash": "f4535c19ea862e8ce8d3ff2e3c7b6594d7e5e971492410a7613ab7b843b517e8",
2148
+ "signed_at": "2026-10-20T12:00:00Z",
2149
+ "environment": "production",
2150
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
2151
+ "signature": "7745e29d167994fd9be4c1ac9635396f0b6b0d1958e1745bf91ce0c89125ca18b5bb8f656e651dbc1b1f0fbd9122fc8a1517248f14287244b38bb9620efedc0e"
2152
+ },
2153
+ "event_bytes": "7b226576656e74223a7b226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2266356263656230633036326436633730323237623334326262336331373732666361336330336535303763346161633833303639333165663061646663383839227d7d",
2154
+ "merkle_root": "f5bceb0c062d6c70227b342bb3c1772fca3c03e507c4aac8306931ef0adfc889"
2155
+ }
2156
+ ],
2157
+ "events": [
2158
+ {
2159
+ "envelope": {
2160
+ "spec_version": "sanning.events/v2",
2161
+ "event_id": "5a4db0c0-0000-4000-8000-000000000000",
2162
+ "payload_hash": "320f4230bcb9519fe5e9284add08ec0a222d8fe73d7074dc91a350f6321871a8",
2163
+ "signed_at": "2026-10-20T12:00:00Z",
2164
+ "environment": "production",
2165
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
2166
+ "signature": "a447bed46e16c761e1f3c6e28463fdc0091bc8bca3f23331c4c300f2cb80d75ecb65c9d6c976669c3f0e8cea9651f4007bd2b0085bac51d0d67d98ea6ae01c07"
2167
+ },
2168
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2265656163346339366165353932316461363564633038313865383437306637353838633464353138643363383331346233396263376135376131386466623435227d7d",
2169
+ "inclusion": {
2170
+ "leaf_hash": "f5bceb0c062d6c70227b342bb3c1772fca3c03e507c4aac8306931ef0adfc889",
2171
+ "leaf_index": 0,
2172
+ "leaf_count": 1,
2173
+ "audit_path": [],
2174
+ "checkpoint_ref": "f4535c19ea862e8ce8d3ff2e3c7b6594d7e5e971492410a7613ab7b843b517e8"
2175
+ }
2176
+ }
2177
+ ]
2178
+ },
2179
+ "body_hash": "d2b29ff868a497b61f5564bfc04bd39d46d05f22d95a69b6d2fbd48b93136769",
2180
+ "previous_hash": "GENESIS",
2181
+ "signature_alg": "ed25519",
2182
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
2183
+ "signature": "c314c1571f0d8c5d2e48bc8c2f613b681765c47d318c89a62bce7bc689dbb57841fc315531f2ece6a29330ea0d485296b009f3939bc113447ae9783eed6d6c09"
2184
+ },
2185
+ "logsHex": {
2186
+ "5a4db0c0-0000-4000-8000-000000000000": "7b2273746570223a2273616e64626f782065766964656e636520747261636520666978747572652030227d"
2187
+ },
2188
+ "gateways": [
2189
+ "http://gw.example"
2190
+ ],
2191
+ "serves": {},
2192
+ "expect": {
2193
+ "verify": {
2194
+ "verdict": "partial",
2195
+ "exit": 3,
2196
+ "environmentMarker": null,
2197
+ "headline": "PARTIAL",
2198
+ "onChainChecked": true,
2199
+ "claimsOnChain": true,
2200
+ "simulatedSentence": false,
2201
+ "fetched": []
2202
+ },
2203
+ "case": {
2204
+ "verdict": "verified",
2205
+ "exit": 3,
2206
+ "environmentMarker": null,
2207
+ "title": "Verified",
2208
+ "reliance": "Every pack in this drop is genuine, unaltered, and matches its own signed declaration. Every record in it was signed by its holder's key. This was read offline, on this device. It does not say this drop holds everything that was recorded."
2209
+ }
2210
+ }
2211
+ },
2212
+ {
2213
+ "id": "trace-simulated-beside-unwitnessed-dev-gateways",
2214
+ "why": "The anchor-trace twin of simulated-beside-unwitnessed-gateways: an all-dev anchor-trace pack with one simulated checkpoint witness beside one checkpoint nothing has witnessed (no anchor_ref), with --gateways. A checkpoint witnessed by nobody is not a simulated gap, so the run keeps exit 3, never 5. Nothing is on a chain to look up: nothing is fetched, onChainChecked is false, and the verify command says a simulated witness is not on a chain. The case command's on-chain header still says 'looked up against 1 gateway(s)', so claimsOnChain is true.",
2215
+ "pack": {
2216
+ "spec_version": "sanning.evidence/v1",
2217
+ "body_type": "sanning.anchor.trace/v3",
2218
+ "issuer": {
2219
+ "kind": "assembler"
2220
+ },
2221
+ "generated_at": "2026-10-20T12:20:00.000Z",
2222
+ "gateway": null,
2223
+ "verdict": {
2224
+ "status": "verified",
2225
+ "summary": "sandbox evidence fixture"
2226
+ },
2227
+ "body": {
2228
+ "checkpoints": [
2229
+ {
2230
+ "checkpoint_ref": "2f126b67b140cf7f8a862dd00ad471d28ff6df8e583c2dde6811bb52c365650d",
2231
+ "envelope": {
2232
+ "spec_version": "sanning.events/v2",
2233
+ "event_id": "5a4db0c0-0000-4000-8000-ffff00000000",
2234
+ "payload_hash": "2f126b67b140cf7f8a862dd00ad471d28ff6df8e583c2dde6811bb52c365650d",
2235
+ "signed_at": "2026-10-20T12:00:00Z",
2236
+ "environment": "dev",
2237
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
2238
+ "signature": "ef8985fef67fa12eb2739164482f10c544dafaf812062adffb0eccbe8bbe8ab9a64195c8e3368756e9df03dde9fbfdc2c356213146030ac9cd4566e481bad303"
2239
+ },
2240
+ "event_bytes": "7b226576656e74223a7b226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2236393831386639333838373932326464323632616162633731303363326336303965643634303539663062353463323030376361646630326430633131303734227d7d",
2241
+ "merkle_root": "69818f93887922dd262aabc7103c2c609ed64059f0b54c2007cadf02d0c11074",
2242
+ "anchor_ref": {
2243
+ "kind": "simulated",
2244
+ "id": "sandboxEvidenceFixtureAnchorId0000000000000"
2245
+ }
2246
+ },
2247
+ {
2248
+ "checkpoint_ref": "7de653c1c87cc8408f3e86a33816557da6498a808e2a2b2b9c3c611324c835b1",
2249
+ "envelope": {
2250
+ "spec_version": "sanning.events/v2",
2251
+ "event_id": "5a4db0c0-0000-4000-8000-ffff00000001",
2252
+ "payload_hash": "7de653c1c87cc8408f3e86a33816557da6498a808e2a2b2b9c3c611324c835b1",
2253
+ "signed_at": "2026-10-20T12:00:00Z",
2254
+ "environment": "dev",
2255
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
2256
+ "signature": "81e3a56fff5e9fc186d54b315fef3afd25ca919b85964ee86f6b9b353f03bbd43eb7469264d2957499d22bb13a48cdd64a6749f06dd69108ad0a380c7e02c401"
2257
+ },
2258
+ "event_bytes": "7b226576656e74223a7b226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2235326661623032323232663335656565373935613935306263663232306534613230336633653034363839653932373264646136393564306666643963623832227d7d",
2259
+ "merkle_root": "52fab02222f35eee795a950bcf220e4a203f3e04689e9272dda695d0ffd9cb82"
2260
+ }
2261
+ ],
2262
+ "events": [
2263
+ {
2264
+ "envelope": {
2265
+ "spec_version": "sanning.events/v2",
2266
+ "event_id": "5a4db0c0-0000-4000-8000-000000000000",
2267
+ "payload_hash": "320f4230bcb9519fe5e9284add08ec0a222d8fe73d7074dc91a350f6321871a8",
2268
+ "signed_at": "2026-10-20T12:00:00Z",
2269
+ "environment": "dev",
2270
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
2271
+ "signature": "f0bdfc9e67bfec32c97e24fba8e326c13024d46e69564e812cc464b1c96b908db0451654849c672a753c139ce5516adf852844deaa16a68286db81198d4bd50c"
2272
+ },
2273
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2265656163346339366165353932316461363564633038313865383437306637353838633464353138643363383331346233396263376135376131386466623435227d7d",
2274
+ "inclusion": {
2275
+ "leaf_hash": "69818f93887922dd262aabc7103c2c609ed64059f0b54c2007cadf02d0c11074",
2276
+ "leaf_index": 0,
2277
+ "leaf_count": 1,
2278
+ "audit_path": [],
2279
+ "checkpoint_ref": "2f126b67b140cf7f8a862dd00ad471d28ff6df8e583c2dde6811bb52c365650d"
2280
+ }
2281
+ },
2282
+ {
2283
+ "envelope": {
2284
+ "spec_version": "sanning.events/v2",
2285
+ "event_id": "5a4db0c0-0000-4000-8000-000000000001",
2286
+ "payload_hash": "49349ea07bf0e46d0e1ca522a9b7df04bca5b0e26084abd2baa3dc8ea1ac16ac",
2287
+ "signed_at": "2026-10-20T12:00:00Z",
2288
+ "environment": "dev",
2289
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
2290
+ "signature": "3c42af21029088e57fb0b6d13c8f63687bc74e2d2dc14bc7bf506a8d4d4bd0e0ff3be4227a3f0401ce7610ee8f78a227ae325e112c5b63509b76ff54e1a7c507"
2291
+ },
2292
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2265333633396638626265653164373430613333343931623338663965393534316438383039373136643365663135323434303635393562383261666432666266227d7d",
2293
+ "inclusion": {
2294
+ "leaf_hash": "52fab02222f35eee795a950bcf220e4a203f3e04689e9272dda695d0ffd9cb82",
2295
+ "leaf_index": 0,
2296
+ "leaf_count": 1,
2297
+ "audit_path": [],
2298
+ "checkpoint_ref": "7de653c1c87cc8408f3e86a33816557da6498a808e2a2b2b9c3c611324c835b1"
2299
+ }
2300
+ }
2301
+ ]
2302
+ },
2303
+ "body_hash": "849305c76641943e6821de36e625084c04faeec5aa65cfac5825a76c50d75490",
2304
+ "previous_hash": "GENESIS",
2305
+ "signature_alg": "ed25519",
2306
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
2307
+ "signature": "8ae37ea23984d363cffb32e6255f18b046e32eed5b0f0e1c3d18469965d62dfe62b99c35ce2ff429bf65f58624779ff499f22a19c9b610d1d2e71415cd4f490a"
2308
+ },
2309
+ "logsHex": {
2310
+ "5a4db0c0-0000-4000-8000-000000000000": "7b2273746570223a2273616e64626f782065766964656e636520747261636520666978747572652030227d",
2311
+ "5a4db0c0-0000-4000-8000-000000000001": "7b2273746570223a2273616e64626f782065766964656e636520747261636520666978747572652031227d"
2312
+ },
2313
+ "gateways": [
2314
+ "http://gw.example"
2315
+ ],
2316
+ "serves": {
2317
+ "http://gw.example/sandboxEvidenceFixtureAnchorId0000000000000": "7b22656e7669726f6e6d656e74223a22646576222c226576656e745f6964223a2235613464623063302d303030302d343030302d383030302d666666663030303030303030222c227061796c6f61645f68617368223a2232663132366236376231343063663766386138363264643030616434373164323866663664663865353833633264646536383131626235326333363536353064222c227075626c69635f6b6579223a2232303761303637383932383231653235643737306631666261306334376331316666346238313365353431363265636539656238333965303736323331616236222c227369676e6174757265223a226566383938356665663637666131326562323733393136343438326631306335343464616661663831323036326164666662306563636265386262653861623961363431393563386533333638373536653964663033646465396662666463326333353632313331343630333061633963643435363665343831626164333033222c227369676e65645f6174223a22323032362d31302d32305431323a30303a30305a222c22737065635f76657273696f6e223a2273616e6e696e672e6576656e74732f7632227d"
2318
+ },
2319
+ "expect": {
2320
+ "verify": {
2321
+ "verdict": "partial",
2322
+ "exit": 3,
2323
+ "environmentMarker": "dev",
2324
+ "headline": "PARTIAL",
2325
+ "onChainChecked": false,
2326
+ "claimsOnChain": true,
2327
+ "simulatedSentence": true,
2328
+ "fetched": []
2329
+ },
2330
+ "case": {
2331
+ "verdict": "verified",
2332
+ "exit": 3,
2333
+ "environmentMarker": "dev",
2334
+ "title": "Sandbox",
2335
+ "reliance": "Every pack in this drop is genuine, unaltered, and matches its own signed declaration. The records in this drop are sandbox records, signed environment dev: they are not production evidence. Every record in it was signed by its holder's key. This was read offline, on this device. It does not say this drop holds everything that was recorded."
2336
+ }
2337
+ }
2338
+ },
2339
+ {
2340
+ "id": "real-sandbox-pack-offline",
2341
+ "why": "The real sandbox pack, offline: SANDBOX, exit 5. Before evidence-export v3.5 it printed VERIFIED and exited 0.",
2342
+ "pack": {
2343
+ "spec_version": "sanning.evidence/v1",
2344
+ "body_type": "sanning.stamp.evidence/v2",
2345
+ "issuer": {
2346
+ "kind": "assembler"
2347
+ },
2348
+ "generated_at": "2026-10-16T16:58:02.614Z",
2349
+ "gateway": null,
2350
+ "verdict": {
2351
+ "status": "verified",
2352
+ "summary": "sandbox-loop-agent · 2026-10-16 → 2026-10-16 · 1 event(s) bound to 1 interval stamp(s)",
2353
+ "counts": {
2354
+ "events": 1,
2355
+ "stamps": 1
2356
+ },
2357
+ "as_of": "2026-10-16T16:58:02.614Z"
2358
+ },
2359
+ "body": {
2360
+ "stamps": [
2361
+ {
2362
+ "stamp_ref": "90ad4bb264341dd6191e4a37b66b5a55ab1c02aeaf350f25acb1d18b291fa792",
2363
+ "stamp_bytes": "7b22696e74657276616c5f656e64223a22323032362d31302d31365431363a35383a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d31365431363a35373a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2232366331663462643637663436373732323539343364306133626434353766343938623639366665376332313737316461623562616564326233343166383962222c226f72675f726566223a2264613962653430306462626337633631393661323266316330653736393937373031383863616233333761313963316234346634376165633033663736633866222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2232653461613838373161356662363735393932653530643538643964303863313066376237343632663935343361636535396338396537353931616461633037223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2232366331663462643637663436373732323539343364306133626434353766343938623639366665376332313737316461623562616564326233343166383962227d7d7d",
2364
+ "anchor_ref": {
2365
+ "kind": "simulated",
2366
+ "id": "f7a617f3cbff1c252d1b6e2ba08c9a3e381c319ea26ba0df6b58d89a1db07dd0",
2367
+ "ref": {
2368
+ "leafCount": 1,
2369
+ "byteLength": 481
2370
+ }
2371
+ }
2372
+ }
2373
+ ],
2374
+ "events": [
2375
+ {
2376
+ "envelope": {
2377
+ "environment": "dev",
2378
+ "event_id": "4b9db906-6875-4ddd-bd0c-6dc458296bbc",
2379
+ "payload_hash": "a3626c835b3a374b17eabbf181ac26e3414d6b06427f240763df7734d2f801d9",
2380
+ "payload_ref": "logstore+opaque:6b03f9e8729d0ad07bff373e2c03769eca54812107953f4a1ea6c40c17150e25",
2381
+ "public_key": "d38095ffbba902b45611231dd46aed23c05d015e414dce04c01fb7cfb4d4f369",
2382
+ "signature": "7c6b8ef04c4add8e9b4f5b53603c055809e649fdc43825eb09e65340571ebfd2f84de55299a8bc11030ae2c87e7e8f80fc4641032e1791d3b1b670fdc607e20d",
2383
+ "signed_at": "2026-10-16T16:57:42.579Z",
2384
+ "spec_version": "sanning.events/v2"
2385
+ },
2386
+ "inclusion": {
2387
+ "leaf_hash": "26c1f4bd67f4677225943d0a3bd457f498b696fe7c21771dab5baed2b341f89b",
2388
+ "leaf_index": 0,
2389
+ "leaf_count": 1,
2390
+ "audit_path": [],
2391
+ "stamp_ref": "90ad4bb264341dd6191e4a37b66b5a55ab1c02aeaf350f25acb1d18b291fa792"
2392
+ },
2393
+ "event_bytes": "7b22636f6e74657874223a7b7d2c226576656e74223a7b22636f6e74656e745f68617368223a2237326131313861663537346132336466363966626230373164646263336466373463323635653336623361623762633139646537666132666630313431333863222c22636f6e74656e745f6c656e677468223a32367d2c226576656e745f74797065223a22746f6f6c2e63616c6c222c22657874726173223a7b7d2c226d65746164617461223a7b7d2c227061796c6f61645f76657273696f6e223a312c2270726576696f75735f68617368223a2247454e45534953222c22737065635f76657273696f6e223a2273616e6e696e672e6576656e74732f7632222c227375626a656374223a7b226167656e745f6964223a2273616e64626f782d6c6f6f702d6167656e74222c2274797065223a226167656e74227d7d"
2394
+ }
2395
+ ]
2396
+ },
2397
+ "body_hash": "530ef329b03bfb00528a632185a372e0136588b46dba7841618d0150dfb085d1",
2398
+ "previous_hash": "GENESIS",
2399
+ "signature_alg": "ed25519",
2400
+ "public_key": "7f3c9abe1c24163f84e6531ca9922ef076d1512f2eb460c5d4db683c75b84498",
2401
+ "signature": "7445dc6b0b36cf6ed2ba28bee267dce9536b76490f548554e3bb23a207ae7f3b504b869dfdbfb39437760a0c0e3ff5678792ab79eca614d2b960973bd7decd0d"
2402
+ },
2403
+ "logsHex": {
2404
+ "4b9db906-6875-4ddd-bd0c-6dc458296bbc": "7468652073616e64626f78206c6f6f702c2073746570206f6e65"
2405
+ },
2406
+ "gateways": [],
2407
+ "serves": {},
2408
+ "expect": {
2409
+ "verify": {
2410
+ "verdict": "verified",
2411
+ "exit": 5,
2412
+ "environmentMarker": "dev",
2413
+ "headline": "SANDBOX",
2414
+ "onChainChecked": false,
2415
+ "claimsOnChain": false,
2416
+ "simulatedSentence": false,
2417
+ "fetched": []
2418
+ },
2419
+ "case": {
2420
+ "verdict": "verified",
2421
+ "exit": 5,
2422
+ "environmentMarker": "dev",
2423
+ "title": "Sandbox",
2424
+ "reliance": "Every pack in this drop is genuine, unaltered, and matches its own signed declaration. The records in this drop are sandbox records, signed environment dev: they are not production evidence. Every record in it was signed by its holder's key. This was read offline, on this device. It does not say this drop holds everything that was recorded."
2425
+ }
2426
+ }
2427
+ },
2428
+ {
2429
+ "id": "real-sandbox-pack-gateways",
2430
+ "why": "The real sandbox pack with --gateways: SANDBOX, exit 5, nothing fetched. Before evidence-export v3.5 the verify command said 'verified offline + on-chain against 1 gateway(s)', exited 3, and --json said on_chain_checked true, though nothing was looked up.",
2431
+ "pack": {
2432
+ "spec_version": "sanning.evidence/v1",
2433
+ "body_type": "sanning.stamp.evidence/v2",
2434
+ "issuer": {
2435
+ "kind": "assembler"
2436
+ },
2437
+ "generated_at": "2026-10-16T16:58:02.614Z",
2438
+ "gateway": null,
2439
+ "verdict": {
2440
+ "status": "verified",
2441
+ "summary": "sandbox-loop-agent · 2026-10-16 → 2026-10-16 · 1 event(s) bound to 1 interval stamp(s)",
2442
+ "counts": {
2443
+ "events": 1,
2444
+ "stamps": 1
2445
+ },
2446
+ "as_of": "2026-10-16T16:58:02.614Z"
2447
+ },
2448
+ "body": {
2449
+ "stamps": [
2450
+ {
2451
+ "stamp_ref": "90ad4bb264341dd6191e4a37b66b5a55ab1c02aeaf350f25acb1d18b291fa792",
2452
+ "stamp_bytes": "7b22696e74657276616c5f656e64223a22323032362d31302d31365431363a35383a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d31365431363a35373a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2232366331663462643637663436373732323539343364306133626434353766343938623639366665376332313737316461623562616564326233343166383962222c226f72675f726566223a2264613962653430306462626337633631393661323266316330653736393937373031383863616233333761313963316234346634376165633033663736633866222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2232653461613838373161356662363735393932653530643538643964303863313066376237343632663935343361636535396338396537353931616461633037223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2232366331663462643637663436373732323539343364306133626434353766343938623639366665376332313737316461623562616564326233343166383962227d7d7d",
2453
+ "anchor_ref": {
2454
+ "kind": "simulated",
2455
+ "id": "f7a617f3cbff1c252d1b6e2ba08c9a3e381c319ea26ba0df6b58d89a1db07dd0",
2456
+ "ref": {
2457
+ "leafCount": 1,
2458
+ "byteLength": 481
2459
+ }
2460
+ }
2461
+ }
2462
+ ],
2463
+ "events": [
2464
+ {
2465
+ "envelope": {
2466
+ "environment": "dev",
2467
+ "event_id": "4b9db906-6875-4ddd-bd0c-6dc458296bbc",
2468
+ "payload_hash": "a3626c835b3a374b17eabbf181ac26e3414d6b06427f240763df7734d2f801d9",
2469
+ "payload_ref": "logstore+opaque:6b03f9e8729d0ad07bff373e2c03769eca54812107953f4a1ea6c40c17150e25",
2470
+ "public_key": "d38095ffbba902b45611231dd46aed23c05d015e414dce04c01fb7cfb4d4f369",
2471
+ "signature": "7c6b8ef04c4add8e9b4f5b53603c055809e649fdc43825eb09e65340571ebfd2f84de55299a8bc11030ae2c87e7e8f80fc4641032e1791d3b1b670fdc607e20d",
2472
+ "signed_at": "2026-10-16T16:57:42.579Z",
2473
+ "spec_version": "sanning.events/v2"
2474
+ },
2475
+ "inclusion": {
2476
+ "leaf_hash": "26c1f4bd67f4677225943d0a3bd457f498b696fe7c21771dab5baed2b341f89b",
2477
+ "leaf_index": 0,
2478
+ "leaf_count": 1,
2479
+ "audit_path": [],
2480
+ "stamp_ref": "90ad4bb264341dd6191e4a37b66b5a55ab1c02aeaf350f25acb1d18b291fa792"
2481
+ },
2482
+ "event_bytes": "7b22636f6e74657874223a7b7d2c226576656e74223a7b22636f6e74656e745f68617368223a2237326131313861663537346132336466363966626230373164646263336466373463323635653336623361623762633139646537666132666630313431333863222c22636f6e74656e745f6c656e677468223a32367d2c226576656e745f74797065223a22746f6f6c2e63616c6c222c22657874726173223a7b7d2c226d65746164617461223a7b7d2c227061796c6f61645f76657273696f6e223a312c2270726576696f75735f68617368223a2247454e45534953222c22737065635f76657273696f6e223a2273616e6e696e672e6576656e74732f7632222c227375626a656374223a7b226167656e745f6964223a2273616e64626f782d6c6f6f702d6167656e74222c2274797065223a226167656e74227d7d"
2483
+ }
2484
+ ]
2485
+ },
2486
+ "body_hash": "530ef329b03bfb00528a632185a372e0136588b46dba7841618d0150dfb085d1",
2487
+ "previous_hash": "GENESIS",
2488
+ "signature_alg": "ed25519",
2489
+ "public_key": "7f3c9abe1c24163f84e6531ca9922ef076d1512f2eb460c5d4db683c75b84498",
2490
+ "signature": "7445dc6b0b36cf6ed2ba28bee267dce9536b76490f548554e3bb23a207ae7f3b504b869dfdbfb39437760a0c0e3ff5678792ab79eca614d2b960973bd7decd0d"
2491
+ },
2492
+ "logsHex": {
2493
+ "4b9db906-6875-4ddd-bd0c-6dc458296bbc": "7468652073616e64626f78206c6f6f702c2073746570206f6e65"
2494
+ },
2495
+ "gateways": [
2496
+ "http://gw.example"
2497
+ ],
2498
+ "serves": {
2499
+ "http://gw.example/f7a617f3cbff1c252d1b6e2ba08c9a3e381c319ea26ba0df6b58d89a1db07dd0": "7b22696e74657276616c5f656e64223a22323032362d31302d31365431363a35383a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d31365431363a35373a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2232366331663462643637663436373732323539343364306133626434353766343938623639366665376332313737316461623562616564326233343166383962222c226f72675f726566223a2264613962653430306462626337633631393661323266316330653736393937373031383863616233333761313963316234346634376165633033663736633866222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2232653461613838373161356662363735393932653530643538643964303863313066376237343632663935343361636535396338396537353931616461633037223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2232366331663462643637663436373732323539343364306133626434353766343938623639366665376332313737316461623562616564326233343166383962227d7d7d"
2500
+ },
2501
+ "expect": {
2502
+ "verify": {
2503
+ "verdict": "partial",
2504
+ "exit": 5,
2505
+ "environmentMarker": "dev",
2506
+ "headline": "SANDBOX",
2507
+ "onChainChecked": false,
2508
+ "claimsOnChain": false,
2509
+ "simulatedSentence": true,
2510
+ "fetched": []
2511
+ },
2512
+ "case": {
2513
+ "verdict": "verified",
2514
+ "exit": 5,
2515
+ "environmentMarker": "dev",
2516
+ "title": "Sandbox",
2517
+ "reliance": "Every pack in this drop is genuine, unaltered, and matches its own signed declaration. The records in this drop are sandbox records, signed environment dev: they are not production evidence. Every record in it was signed by its holder's key. This was read offline, on this device. It does not say this drop holds everything that was recorded."
2518
+ }
2519
+ }
2520
+ }
2521
+ ],
2522
+ "stoppedEarlyStatement": "A pack whose verification stops before any witness is read prints and writes the same with --gateways as offline: verify --json is the same object, the TypeScript verify command prints the same lines, and the Python verify command the same lines but its Gateways line, which names the gateways passed. No gateway is asked for anything, reachable or not.",
2523
+ "agentProof": {
2524
+ "why": "A sanning.agent.proof/v1 proof whose checkpoint envelope is signed dev, verified offline. The TypeScript verify command verifies it and prints it as sandbox evidence: SANDBOX, the sandbox line, exit 5, and environment_marker dev in --json. The Python kernel implements no agent-proof verifier: its verify command names the TypeScript command on stderr (in --json, in error) and exits 2, dev or not.",
2525
+ "pack": {
2526
+ "spec_version": "sanning.agent.proof/v1",
2527
+ "checkpoint_envelope": {
2528
+ "spec_version": "sanning.agent/v1",
2529
+ "event_id": "5a4db0c0-0000-4000-8000-aaaaaaaaaaaa",
2530
+ "event_type": "verification_checkpoint",
2531
+ "subject": {
2532
+ "type": "checkpoint",
2533
+ "tenant_id": "sandbox",
2534
+ "agent_id": "host-01"
2535
+ },
2536
+ "payload": {
2537
+ "merkle_root": "66798f5beb92fab9aa9d6ec7a01f36d1249b58f5f46c404551117472b4d7c919",
2538
+ "leaf_count": 1,
2539
+ "window_start": "2026-10-20T12:00:00Z"
2540
+ },
2541
+ "payload_hash": "956cd90191746d4cdfc5796ccee1b6b773c7fe2674d1259da036474807b809fc",
2542
+ "previous_hash": "GENESIS",
2543
+ "signed_at": "2026-10-20T12:00:00Z",
2544
+ "environment": "dev",
2545
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
2546
+ "signature": "a062653dba27d3f977d9308ccf6fc66bb0ba9defbcfd4912525ffdad4d8fb4ece3fdc42182e327872e794da4352597652935fb344c426052220d436ed9ec2003"
2547
+ },
2548
+ "checkpoint_tx_id": "sandbox-evidence-agent-checkpoint-tx",
2549
+ "leaf": {
2550
+ "asset_id": "sandbox-evidence-fixture",
2551
+ "outcome": "verified"
2552
+ },
2553
+ "leaf_index": 0,
2554
+ "audit_path": []
2555
+ },
2556
+ "ts": {
2557
+ "verdict": "verified",
2558
+ "exit": 5,
2559
+ "environmentMarker": "dev",
2560
+ "headline": "SANDBOX"
2561
+ },
2562
+ "py": {
2563
+ "exit": 2,
2564
+ "stderrNames": "npx @sanning/proof verify"
2565
+ }
2566
+ },
2567
+ "stoppedEarly": [
2568
+ {
2569
+ "id": "production-wrapper-signature-fails",
2570
+ "why": "A production stamp pack whose wrapper signature does not verify: FAILED, exit 1, and with --gateways the scope 'verified offline (no gateway re-fetch requested)' as offline.",
2571
+ "pack": {
2572
+ "spec_version": "sanning.evidence/v1",
2573
+ "body_type": "sanning.stamp.evidence/v2",
2574
+ "issuer": {
2575
+ "kind": "assembler"
2576
+ },
2577
+ "generated_at": "2026-10-20T12:20:00.000Z",
2578
+ "gateway": null,
2579
+ "verdict": {
2580
+ "status": "verified",
2581
+ "summary": "sandbox evidence fixture"
2582
+ },
2583
+ "body": {
2584
+ "stamps": [
2585
+ {
2586
+ "stamp_ref": "cdd89fa030d660d8569c8bb578ed4264aa394d86756966ba31292d5667e03b9d",
2587
+ "stamp_bytes": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2236316530313635343763363465643663323066623933616435313062396461613231343739633462393937303130363439366261646461386362663164636537222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2236316530313635343763363465643663323066623933616435313062396461613231343739633462393937303130363439366261646461386362663164636537227d7d7d",
2588
+ "anchor_ref": {
2589
+ "kind": "arweave",
2590
+ "id": "sandboxEvidenceFixtureAnchorId0000000000000"
2591
+ }
2592
+ }
2593
+ ],
2594
+ "events": [
2595
+ {
2596
+ "envelope": {
2597
+ "spec_version": "sanning.events/v2",
2598
+ "event_id": "5a4db0c0-0000-4000-8000-000000000000",
2599
+ "payload_hash": "eec2e61e86306692c1ee3fa5b57a8a07c9c0d2af3a8399c643ac6ddd2635f08d",
2600
+ "signed_at": "2026-10-20T12:00:00Z",
2601
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
2602
+ "environment": "production",
2603
+ "signature": "9db8c69ee2ef8f61b288613de2d79ed759dacb5fbab3941bd2a3ab56fed576512d79bb175af78161992d59d79933286eecd634cfaa2132182cc363a6022b4e08"
2604
+ },
2605
+ "inclusion": {
2606
+ "stamp_ref": "cdd89fa030d660d8569c8bb578ed4264aa394d86756966ba31292d5667e03b9d",
2607
+ "leaf_index": 0,
2608
+ "leaf_count": 1,
2609
+ "leaf_hash": "61e016547c64ed6c20fb93ad510b9daa21479c4b9970106496badda8cbf1dce7",
2610
+ "audit_path": []
2611
+ },
2612
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2264363939343131333439313962323834313463376237353434316336343832313033613365666237663638643839396237386461303865336330333037633731227d7d"
2613
+ }
2614
+ ]
2615
+ },
2616
+ "body_hash": "e4e39f9936fb46fcc5f61a3caa0b013228047a6ee521e7397a318f9c33831998",
2617
+ "previous_hash": "GENESIS",
2618
+ "signature_alg": "ed25519",
2619
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
2620
+ "signature": "1464d7edc49f1f82a7443113cfcc0897109db50ea4f4d9ef1851d74fd3af3651921edeb9aaa8e84f7666eb461ff18980fda038e674102ce2b21af09982ec7106"
2621
+ },
2622
+ "exit": 1,
2623
+ "headline": "FAILED"
2624
+ },
2625
+ {
2626
+ "id": "production-body-hash-wrong",
2627
+ "why": "A production stamp pack signed over a body_hash that is not its body's: rejected before any witness is read, the same output with --gateways as offline.",
2628
+ "pack": {
2629
+ "spec_version": "sanning.evidence/v1",
2630
+ "body_type": "sanning.stamp.evidence/v2",
2631
+ "issuer": {
2632
+ "kind": "assembler"
2633
+ },
2634
+ "generated_at": "2026-10-20T12:20:00.000Z",
2635
+ "gateway": null,
2636
+ "verdict": {
2637
+ "status": "verified",
2638
+ "summary": "sandbox evidence fixture"
2639
+ },
2640
+ "body": {
2641
+ "stamps": [
2642
+ {
2643
+ "stamp_ref": "cdd89fa030d660d8569c8bb578ed4264aa394d86756966ba31292d5667e03b9d",
2644
+ "stamp_bytes": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2236316530313635343763363465643663323066623933616435313062396461613231343739633462393937303130363439366261646461386362663164636537222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2236316530313635343763363465643663323066623933616435313062396461613231343739633462393937303130363439366261646461386362663164636537227d7d7d",
2645
+ "anchor_ref": {
2646
+ "kind": "arweave",
2647
+ "id": "sandboxEvidenceFixtureAnchorId0000000000000"
2648
+ }
2649
+ }
2650
+ ],
2651
+ "events": [
2652
+ {
2653
+ "envelope": {
2654
+ "spec_version": "sanning.events/v2",
2655
+ "event_id": "5a4db0c0-0000-4000-8000-000000000000",
2656
+ "payload_hash": "eec2e61e86306692c1ee3fa5b57a8a07c9c0d2af3a8399c643ac6ddd2635f08d",
2657
+ "signed_at": "2026-10-20T12:00:00Z",
2658
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
2659
+ "environment": "production",
2660
+ "signature": "9db8c69ee2ef8f61b288613de2d79ed759dacb5fbab3941bd2a3ab56fed576512d79bb175af78161992d59d79933286eecd634cfaa2132182cc363a6022b4e08"
2661
+ },
2662
+ "inclusion": {
2663
+ "stamp_ref": "cdd89fa030d660d8569c8bb578ed4264aa394d86756966ba31292d5667e03b9d",
2664
+ "leaf_index": 0,
2665
+ "leaf_count": 1,
2666
+ "leaf_hash": "61e016547c64ed6c20fb93ad510b9daa21479c4b9970106496badda8cbf1dce7",
2667
+ "audit_path": []
2668
+ },
2669
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2264363939343131333439313962323834313463376237353434316336343832313033613365666237663638643839396237386461303865336330333037633731227d7d"
2670
+ }
2671
+ ]
2672
+ },
2673
+ "body_hash": "0000000000000000000000000000000000000000000000000000000000000000",
2674
+ "previous_hash": "GENESIS",
2675
+ "signature_alg": "ed25519",
2676
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
2677
+ "signature": "99b739f5ba2ecc08f9ae727e5a6de065ef2d4f792d34938148ddce24433e02f271097f70f34a126b3cc772206b44c0e232eaf603a99bae40621c1b9010cc820b"
2678
+ },
2679
+ "exit": 1,
2680
+ "headline": "FAILED"
2681
+ },
2682
+ {
2683
+ "id": "production-unknown-body-type",
2684
+ "why": "A signed wrapper whose body_type no kernel knows: nothing is read under it, so it is undetermined, PARTIAL and exit 3, with the same output with --gateways as offline.",
2685
+ "pack": {
2686
+ "spec_version": "sanning.evidence/v1",
2687
+ "body_type": "sanning.unknown.body/v1",
2688
+ "issuer": {
2689
+ "kind": "assembler"
2690
+ },
2691
+ "generated_at": "2026-10-20T12:20:00.000Z",
2692
+ "gateway": null,
2693
+ "verdict": {
2694
+ "status": "verified",
2695
+ "summary": "sandbox evidence fixture"
2696
+ },
2697
+ "body": {
2698
+ "stamps": [
2699
+ {
2700
+ "stamp_ref": "cdd89fa030d660d8569c8bb578ed4264aa394d86756966ba31292d5667e03b9d",
2701
+ "stamp_bytes": "7b22696e74657276616c5f656e64223a22323032362d31302d32305431323a31303a30302e3030305a222c22696e74657276616c5f7374617274223a22323032362d31302d32305431323a30303a30302e3030305a222c226c6561665f636f756e74223a312c226d65726b6c655f726f6f74223a2236316530313635343763363465643663323066623933616435313062396461613231343739633462393937303130363439366261646461386362663164636537222c226f72675f726566223a2239393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939393939222c227374616d705f76657273696f6e223a2273616e6e696e672e7374616d702f7631222c227375627472656573223a7b2231313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131223a7b2266697273745f6c656166223a302c226c6561665f636f756e74223a312c22726f6f74223a2236316530313635343763363465643663323066623933616435313062396461613231343739633462393937303130363439366261646461386362663164636537227d7d7d",
2702
+ "anchor_ref": {
2703
+ "kind": "arweave",
2704
+ "id": "sandboxEvidenceFixtureAnchorId0000000000000"
2705
+ }
2706
+ }
2707
+ ],
2708
+ "events": [
2709
+ {
2710
+ "envelope": {
2711
+ "spec_version": "sanning.events/v2",
2712
+ "event_id": "5a4db0c0-0000-4000-8000-000000000000",
2713
+ "payload_hash": "eec2e61e86306692c1ee3fa5b57a8a07c9c0d2af3a8399c643ac6ddd2635f08d",
2714
+ "signed_at": "2026-10-20T12:00:00Z",
2715
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
2716
+ "environment": "production",
2717
+ "signature": "9db8c69ee2ef8f61b288613de2d79ed759dacb5fbab3941bd2a3ab56fed576512d79bb175af78161992d59d79933286eecd634cfaa2132182cc363a6022b4e08"
2718
+ },
2719
+ "inclusion": {
2720
+ "stamp_ref": "cdd89fa030d660d8569c8bb578ed4264aa394d86756966ba31292d5667e03b9d",
2721
+ "leaf_index": 0,
2722
+ "leaf_count": 1,
2723
+ "leaf_hash": "61e016547c64ed6c20fb93ad510b9daa21479c4b9970106496badda8cbf1dce7",
2724
+ "audit_path": []
2725
+ },
2726
+ "event_bytes": "7b226576656e74223a7b22636f6e74656e745f68617368223a2264363939343131333439313962323834313463376237353434316336343832313033613365666237663638643839396237386461303865336330333037633731227d7d"
2727
+ }
2728
+ ]
2729
+ },
2730
+ "body_hash": "e4e39f9936fb46fcc5f61a3caa0b013228047a6ee521e7397a318f9c33831998",
2731
+ "previous_hash": "GENESIS",
2732
+ "signature_alg": "ed25519",
2733
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
2734
+ "signature": "04e8addb551cecb53323a5d33414fedce5cc760ee67a3e6849dfb9a2aadd5f76d913f5a9a3275d9dd08cb17e0b1ed109fa68ae4ae31db209ac4a82b8d7365503"
2735
+ },
2736
+ "exit": 3,
2737
+ "headline": "PARTIAL"
2738
+ },
2739
+ {
2740
+ "id": "export-source-not-inline",
2741
+ "why": "test-vectors/evidence-export/evidence-export-source-bundle-ref.json: an export whose source is a reference, not inline, and that holds no envelope. Undetermined offline, exit 3, and the same output with --gateways.",
2742
+ "pack": {
2743
+ "spec_version": "sanning.evidence/v1",
2744
+ "body_type": "sanning.evidence.export/v2",
2745
+ "issuer": {
2746
+ "kind": "issuer",
2747
+ "issuer_id": "sanning-verify:fixture-instance"
2748
+ },
2749
+ "generated_at": "2026-07-15T00:00:00Z",
2750
+ "gateway": null,
2751
+ "verdict": {
2752
+ "status": "verified",
2753
+ "summary": "Source bundle verified (3 events across 1 checkpoint); 2 operator attestations valid; on-chain confirmed on 1/2 gateways.",
2754
+ "counts": {
2755
+ "verified": 5,
2756
+ "failed": 0,
2757
+ "undetermined": 0
2758
+ },
2759
+ "as_of": "2026-07-15T00:00:00Z"
2760
+ },
2761
+ "body": {
2762
+ "kernel_verdict": {
2763
+ "schema_version": "sanning.evidence.verdict/v1",
2764
+ "status": "verified",
2765
+ "summary": "Source bundle verified (3 events across 1 checkpoint); 2 operator attestations valid; on-chain confirmed on 1/2 gateways.",
2766
+ "counts": {
2767
+ "verified": 5,
2768
+ "failed": 0,
2769
+ "undetermined": 0
2770
+ },
2771
+ "as_of": "2026-07-15T00:00:00Z",
2772
+ "events": [
2773
+ {
2774
+ "event_id": "00000000-0000-4000-8000-000000000000",
2775
+ "signature_ok": true,
2776
+ "payload_bound": true,
2777
+ "inclusion_ok": true,
2778
+ "content_ok": true,
2779
+ "status": "verified"
2780
+ },
2781
+ {
2782
+ "event_id": "00000000-0000-4000-8000-000000000001",
2783
+ "signature_ok": true,
2784
+ "payload_bound": true,
2785
+ "inclusion_ok": true,
2786
+ "content_ok": null,
2787
+ "status": "verified"
2788
+ },
2789
+ {
2790
+ "event_id": "00000000-0000-4000-8000-000000000002",
2791
+ "signature_ok": true,
2792
+ "payload_bound": true,
2793
+ "inclusion_ok": true,
2794
+ "content_ok": null,
2795
+ "status": "verified"
2796
+ }
2797
+ ],
2798
+ "checkpoints": [
2799
+ {
2800
+ "checkpoint_ref": "fb7e4f4be961b81ccda8d8e27d8df20bb4966df4d4b3651d4bfcc23d128ecb84",
2801
+ "merkle_root_ok": true,
2802
+ "on_chain": {
2803
+ "rollup": "confirm",
2804
+ "on_chain_ok": true,
2805
+ "per_gateway": [
2806
+ {
2807
+ "gateway": "https://g1.example",
2808
+ "outcome": "confirm",
2809
+ "block_height": 1512345
2810
+ },
2811
+ {
2812
+ "gateway": "https://g2.example",
2813
+ "outcome": "unreachable"
2814
+ }
2815
+ ]
2816
+ },
2817
+ "attestations": [
2818
+ {
2819
+ "operator": "t7YQHU9UPYRGHsiLENbbrw5gRdc6SFr6dPBEXPnbeq4",
2820
+ "gateway": "https://g1.example",
2821
+ "signature_ok": true,
2822
+ "operator_address_bound": true,
2823
+ "data_hash_bound": true,
2824
+ "level": 3,
2825
+ "subject_ref_ok": null
2826
+ },
2827
+ {
2828
+ "operator": "qQJGT1SZYANyKiQXf-hlnGDE_6MxL11NQbrJsPY0GpQ",
2829
+ "gateway": "https://g2.example",
2830
+ "signature_ok": true,
2831
+ "operator_address_bound": true,
2832
+ "data_hash_bound": true,
2833
+ "level": 2,
2834
+ "subject_ref_ok": null
2835
+ }
2836
+ ]
2837
+ }
2838
+ ],
2839
+ "custody_chain": null
2840
+ },
2841
+ "source_bundle_hash": "b64e4a7b346e0351de4af7e7755e0e4235f5fc2bc1a9b507d184597068ae9128",
2842
+ "attestations": [
2843
+ {
2844
+ "checkpoint_ref": "fb7e4f4be961b81ccda8d8e27d8df20bb4966df4d4b3651d4bfcc23d128ecb84",
2845
+ "payload": {
2846
+ "attested_at": "2026-07-15T00:00:00.000Z",
2847
+ "tx_id": "eKpT-eXpOrT-fIxTuRe-cHeCkPoInT-tX-000000001",
2848
+ "data_hash": "8b2e664c347d3bba440e2e05b965c92c71aa9ad8f1dfe0abb7fb8993d3e7412a",
2849
+ "data_size": 4096,
2850
+ "block_height": 1512345,
2851
+ "block_timestamp": 1752537600,
2852
+ "operator": "t7YQHU9UPYRGHsiLENbbrw5gRdc6SFr6dPBEXPnbeq4",
2853
+ "owner_address": "b3duZXJfYWRkcmVzc19wbGFjZWhvbGRlcl9fMDAwMDAwMDAwMDA",
2854
+ "gateway": "https://g1.example",
2855
+ "signature_verified": true,
2856
+ "level": 3,
2857
+ "subject_ref": {
2858
+ "hash": "9fd66070e10a1d7d260e6512abf6364f55101d35207db6161b638fd4cbd083fd",
2859
+ "type": "document"
2860
+ },
2861
+ "attestation_version": "sanning.evidence.attestation/v1"
2862
+ },
2863
+ "signature_alg": "rsa-pss-sha256",
2864
+ "public_key": {
2865
+ "kty": "RSA",
2866
+ "n": "rmVrss6y0Xt2R5CrJvSSmUQF79ZKdxi67RNLJE4zMZVCzsuK0-Q5smFdWTVIiEVTW7jGOBxzgD-KQkVk6t0ZC0l9frHKi5u65SJnsUbwx9emsWoJk1HgOkgAd5k9bxyFe__J1eZ8QE6J2Rm9IqTGB-8wvjTtQasxk2fG6qxD3zsoRJ0jL0RqqHmQdc2fJyGncj1asTgj3zSzb3gTYJgqy_hpgGvAa3ZsXlKdjDVEou6LxXmHk_7EuB-Ep7iGkvXXcD_xDSs3j7WqsFtjtj14S0gM7TRtKEjXxOKZQhYTmmh8ZvviIjCF4eKzNmadnELLJ4Kyg0ieJRIB8KW7PUljlw",
2867
+ "e": "AQAB"
2868
+ },
2869
+ "signature": "3240367b3f3c6b5eba638667f616d1a5eba711700dd52cb032d9bb4bd58b37babf80dacd8b735a2339edda33714662cbdb8367ed62da7fea2374e480876c0c0ce7af296dad813444377f83cfe193071ca2402c8a8256d86e9cc82b1867fd9b903a4a4b70187ac35aba78b3735c56ba9525b3d9fbe1e165a88e9a7b354f68a4b73b4ae1c0c843b7b58ca36daa8fd070e4974787638d5d7373b91943b53e7dfa4d398b4aee70ca8fce56d12fa39dbc390ebfbd0baf4042e54590a6dca8d71734b69acee03285294225409d40fa712bb88e44652186d2968fad1bea6891040ee4f77fe598f45d5973087e9e2c868b30a00c7069534121c17c5047ac5e3b5f22f66b"
2870
+ },
2871
+ {
2872
+ "checkpoint_ref": "fb7e4f4be961b81ccda8d8e27d8df20bb4966df4d4b3651d4bfcc23d128ecb84",
2873
+ "payload": {
2874
+ "attested_at": "2026-07-15T00:05:00.000Z",
2875
+ "tx_id": "eKpT-eXpOrT-fIxTuRe-cHeCkPoInT-tX-000000001",
2876
+ "data_hash": "8b2e664c347d3bba440e2e05b965c92c71aa9ad8f1dfe0abb7fb8993d3e7412a",
2877
+ "data_size": 4096,
2878
+ "block_height": 1512345,
2879
+ "block_timestamp": 1752537600,
2880
+ "operator": "qQJGT1SZYANyKiQXf-hlnGDE_6MxL11NQbrJsPY0GpQ",
2881
+ "owner_address": "b3duZXJfYWRkcmVzc19wbGFjZWhvbGRlcl9fMDAwMDAwMDAwMDA",
2882
+ "gateway": "https://g2.example",
2883
+ "signature_verified": true,
2884
+ "level": 2,
2885
+ "attestation_version": "sanning.evidence.attestation/v1"
2886
+ },
2887
+ "signature_alg": "rsa-pss-sha256",
2888
+ "public_key": {
2889
+ "kty": "RSA",
2890
+ "n": "3eYs1pQ_GrJqSg6u7p4QKoUnjHHWJ-BLXYW-89nsvH-kC2uk7r7GPc-4x-_8xsTOG7g4YChyh9sfJ_eyixdYn0F23JKnNmPgcEypN9gOSToBDrPPXG5GwhkWWA6dyims-sASu5od1g9lViMBeIRZpt-AVsmxEe-1ucX2vt3cZKhq8w_p2kPv5qagGY4PZ3bm7Q6U9RTh6XxHxL-fLzCxUpGQN3qAOZC7vUUQUo07H3RsNuSz-9hw2ZRSobYe8z0AasksMJPxy8fOlTVIVRkRHBGxK5vO1meVV5qUBn_WtSaWo9zll8eUT_3G89eJW2INGBlHZFN4FOjKSoLh-Hg_9Q",
2891
+ "e": "AQAB"
2892
+ },
2893
+ "signature": "4e045d71c6c8b2d4790a2b717a3c8b9f6a1bdc91501cd74d4e30957a1f432848c53062fff5610d5ed1f2e19c5de3cd06fe4b6fbe37495e8de19c33daeec9529b60b1a4c333ae144300eaf91356293d7c972ccd0b2a50ffc790d1f866f9fe91e9e2aa74e8ce5f112ad9c4fca6851603f951d00aabbcc78b45b6162d452d65d73ac147f661a60bf92811583d4055d97f94cdd4732f7d2432c3d49f8a6d714787de256d2d05a6d81ca0c3ec2a6b64eefba322e1f0ac8127531e47bf6d4ff4950d779d3453d5b488d817e633cd37582c113ad5ba3431aaa8795a7e0a132209542e76c46601fd5f36b94f470be1ae2d6a04c46cf10f3b9cf0cb80bcea772a8de32e22"
2894
+ }
2895
+ ],
2896
+ "export_schema": "sanning.evidence.export/v2",
2897
+ "source_bundle_ref": "ar://some-large-source-bundle-txid"
2898
+ },
2899
+ "body_hash": "2b6160e68faa922f4ff10e8cb83c38879c8bfa117e1fa9ee24101270e439c0e3",
2900
+ "previous_hash": "GENESIS",
2901
+ "signature_alg": "ed25519",
2902
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
2903
+ "signature": "a857dad37c672dd8ae17d1e79b8201d7833e89a3fe85df6607f3b1aa5512c7dcc764c64fbebbd2a4a443be6b4162238a752cb1c5de0ba29c2c1af5a79eeaa90a"
2904
+ },
2905
+ "exit": 3,
2906
+ "headline": "PARTIAL"
2907
+ },
2908
+ {
2909
+ "id": "dev-export-wrapper-signature-fails",
2910
+ "why": "test-vectors/evidence-export/evidence-export-tamper-wrapper-signature.json, whose envelopes are signed dev: FAILED, exit 1, with the sandbox line, and the same output with --gateways as offline.",
2911
+ "pack": {
2912
+ "spec_version": "sanning.evidence/v1",
2913
+ "body_type": "sanning.evidence.export/v2",
2914
+ "issuer": {
2915
+ "kind": "issuer",
2916
+ "issuer_id": "sanning-verify:fixture-instance"
2917
+ },
2918
+ "generated_at": "2026-07-15T00:00:00Z",
2919
+ "gateway": null,
2920
+ "verdict": {
2921
+ "status": "verified",
2922
+ "summary": "Source bundle verified (3 events across 1 checkpoint); 2 operator attestations valid; on-chain confirmed on 1/2 gateways.",
2923
+ "counts": {
2924
+ "verified": 5,
2925
+ "failed": 0,
2926
+ "undetermined": 0
2927
+ },
2928
+ "as_of": "2026-07-15T00:00:00Z"
2929
+ },
2930
+ "body": {
2931
+ "kernel_verdict": {
2932
+ "schema_version": "sanning.evidence.verdict/v1",
2933
+ "status": "verified",
2934
+ "summary": "Source bundle verified (3 events across 1 checkpoint); 2 operator attestations valid; on-chain confirmed on 1/2 gateways.",
2935
+ "counts": {
2936
+ "verified": 5,
2937
+ "failed": 0,
2938
+ "undetermined": 0
2939
+ },
2940
+ "as_of": "2026-07-15T00:00:00Z",
2941
+ "events": [
2942
+ {
2943
+ "event_id": "00000000-0000-4000-8000-000000000000",
2944
+ "signature_ok": true,
2945
+ "payload_bound": true,
2946
+ "inclusion_ok": true,
2947
+ "content_ok": true,
2948
+ "status": "verified"
2949
+ },
2950
+ {
2951
+ "event_id": "00000000-0000-4000-8000-000000000001",
2952
+ "signature_ok": true,
2953
+ "payload_bound": true,
2954
+ "inclusion_ok": true,
2955
+ "content_ok": null,
2956
+ "status": "verified"
2957
+ },
2958
+ {
2959
+ "event_id": "00000000-0000-4000-8000-000000000002",
2960
+ "signature_ok": true,
2961
+ "payload_bound": true,
2962
+ "inclusion_ok": true,
2963
+ "content_ok": null,
2964
+ "status": "verified"
2965
+ }
2966
+ ],
2967
+ "checkpoints": [
2968
+ {
2969
+ "checkpoint_ref": "fb7e4f4be961b81ccda8d8e27d8df20bb4966df4d4b3651d4bfcc23d128ecb84",
2970
+ "merkle_root_ok": true,
2971
+ "on_chain": {
2972
+ "rollup": "confirm",
2973
+ "on_chain_ok": true,
2974
+ "per_gateway": [
2975
+ {
2976
+ "gateway": "https://g1.example",
2977
+ "outcome": "confirm",
2978
+ "block_height": 1512345
2979
+ },
2980
+ {
2981
+ "gateway": "https://g2.example",
2982
+ "outcome": "unreachable"
2983
+ }
2984
+ ]
2985
+ },
2986
+ "attestations": [
2987
+ {
2988
+ "operator": "t7YQHU9UPYRGHsiLENbbrw5gRdc6SFr6dPBEXPnbeq4",
2989
+ "gateway": "https://g1.example",
2990
+ "signature_ok": true,
2991
+ "operator_address_bound": true,
2992
+ "data_hash_bound": true,
2993
+ "level": 3,
2994
+ "subject_ref_ok": null
2995
+ },
2996
+ {
2997
+ "operator": "qQJGT1SZYANyKiQXf-hlnGDE_6MxL11NQbrJsPY0GpQ",
2998
+ "gateway": "https://g2.example",
2999
+ "signature_ok": true,
3000
+ "operator_address_bound": true,
3001
+ "data_hash_bound": true,
3002
+ "level": 2,
3003
+ "subject_ref_ok": null
3004
+ }
3005
+ ]
3006
+ }
3007
+ ],
3008
+ "custody_chain": null
3009
+ },
3010
+ "source_bundle": {
3011
+ "spec_version": "sanning.evidence/v1",
3012
+ "body_type": "sanning.anchor.trace/v3",
3013
+ "issuer": {
3014
+ "kind": "agent",
3015
+ "agent_id": "export-fixture-agent"
3016
+ },
3017
+ "generated_at": "2026-07-15T00:00:00Z",
3018
+ "gateway": null,
3019
+ "verdict": {
3020
+ "status": "verified",
3021
+ "summary": "3 event(s) across 1 checkpoint(s)"
3022
+ },
3023
+ "body": {
3024
+ "checkpoints": [
3025
+ {
3026
+ "checkpoint_ref": "fb7e4f4be961b81ccda8d8e27d8df20bb4966df4d4b3651d4bfcc23d128ecb84",
3027
+ "anchor_ref": {
3028
+ "kind": "arweave",
3029
+ "id": "eKpT-eXpOrT-fIxTuRe-cHeCkPoInT-tX-000000001"
3030
+ },
3031
+ "envelope": {
3032
+ "spec_version": "sanning.events/v2",
3033
+ "event_id": "00000000-0000-4000-8000-ffffffffffff",
3034
+ "payload_hash": "fb7e4f4be961b81ccda8d8e27d8df20bb4966df4d4b3651d4bfcc23d128ecb84",
3035
+ "signed_at": "2026-07-15T00:00:00Z",
3036
+ "environment": "dev",
3037
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
3038
+ "signature": "58c3692cbd5d5ce09753acae2b3dd7f95296a1e76d95867e5b22ea098dc32ba61a105528e33297316fa6bd8ab0f0fb74757921987a05cec28fbb7b8aa5f2140d"
3039
+ },
3040
+ "event_bytes": "7b22636f6e74657874223a7b22636861696e5f6b6579223a22626174636865723a6578706f72742d66697874757265227d2c226576656e74223a7b226c6561665f636f756e74223a332c226d65726b6c655f726f6f74223a2231316334333931623038383264373930323634643538306661616266303762643366373762323135373930353435333539633136633161663866363936356264227d2c226576656e745f74797065223a22636865636b706f696e74222c22657874726173223a7b7d2c226d65746164617461223a7b7d2c227061796c6f61645f76657273696f6e223a312c2270726576696f75735f68617368223a2247454e45534953222c22737065635f76657273696f6e223a2273616e6e696e672e6576656e74732f7632222c227375626a656374223a7b226167656e745f6964223a226578706f72742d666978747572652d6167656e74222c2274797065223a226167656e74227d7d",
3041
+ "merkle_root": "11c4391b0882d790264d580faabf07bd3f77b215790545359c16c1af8f6965bd"
3042
+ }
3043
+ ],
3044
+ "events": [
3045
+ {
3046
+ "envelope": {
3047
+ "spec_version": "sanning.events/v2",
3048
+ "event_id": "00000000-0000-4000-8000-000000000000",
3049
+ "payload_hash": "8e437682157689e4383343db8ebff7572c819bcaa68a6d3f1c02de904f9494de",
3050
+ "signed_at": "2026-07-15T00:00:00Z",
3051
+ "environment": "dev",
3052
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
3053
+ "signature": "e589cc51d53852f76c6dc18da60870c38ed08346a52070ad974cc4483d0d658e8c850911dc4fe50a1e778eb00d4f669207b13a631600bcafd0b839892efb0c0d"
3054
+ },
3055
+ "event_bytes": "7b22636f6e74657874223a7b22636861696e5f6b6579223a22626174636865723a6578706f72742d66697874757265227d2c226576656e74223a7b22636f6e74656e745f68617368223a2264633833366665643234356139303865636132333331336265653261643932323934656433313330393731303233373466613635326132653138613335326135222c22696e646578223a307d2c226576656e745f74797065223a226c6f672e6c696e65222c22657874726173223a7b7d2c226d65746164617461223a7b7d2c227061796c6f61645f76657273696f6e223a312c2270726576696f75735f68617368223a2247454e45534953222c22737065635f76657273696f6e223a2273616e6e696e672e6576656e74732f7632222c227375626a656374223a7b226167656e745f6964223a226578706f72742d666978747572652d6167656e74222c2274797065223a226167656e74227d7d",
3056
+ "content": "6578706f72742d6669787475726520726177206c6f67206c696e65203020e2809420646973636c6f736564",
3057
+ "inclusion": {
3058
+ "leaf_hash": "139891fa779b11df227236d2129f84e2111c035e9e98efa9069471301d1ee853",
3059
+ "leaf_index": 0,
3060
+ "leaf_count": 3,
3061
+ "audit_path": [
3062
+ "d327731918d71fe334f43d3fae673d79e05081e35331303d23367dc35336a454",
3063
+ "43fdcff09c07755d56e580e679f552a4ed8233b441bd662df09dd2c2b7eecac2"
3064
+ ],
3065
+ "checkpoint_ref": "fb7e4f4be961b81ccda8d8e27d8df20bb4966df4d4b3651d4bfcc23d128ecb84"
3066
+ }
3067
+ },
3068
+ {
3069
+ "envelope": {
3070
+ "spec_version": "sanning.events/v2",
3071
+ "event_id": "00000000-0000-4000-8000-000000000001",
3072
+ "payload_hash": "aca06465da3c50b0df03a44bb956780eebc9cff8a8f9574b4c294340b709fcc8",
3073
+ "signed_at": "2026-07-15T00:00:00Z",
3074
+ "environment": "dev",
3075
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
3076
+ "signature": "5e132dd7e5586c3ff8a4b10d68c5b9edc590be3b510673460ceda5fe10a43d939d1d03b2cfe14fb70e84a9eb3fe57c660db8e39761d8f24ec2277d1964199600"
3077
+ },
3078
+ "event_bytes": "7b22636f6e74657874223a7b22636861696e5f6b6579223a22626174636865723a6578706f72742d66697874757265227d2c226576656e74223a7b22636f6e74656e745f68617368223a2266663161306262656436663765336438363737653362356261376563386362316132623662646466626435623737393361373961616362333964623430396461222c22696e646578223a317d2c226576656e745f74797065223a226c6f672e6c696e65222c22657874726173223a7b7d2c226d65746164617461223a7b7d2c227061796c6f61645f76657273696f6e223a312c2270726576696f75735f68617368223a2247454e45534953222c22737065635f76657273696f6e223a2273616e6e696e672e6576656e74732f7632222c227375626a656374223a7b226167656e745f6964223a226578706f72742d666978747572652d6167656e74222c2274797065223a226167656e74227d7d",
3079
+ "inclusion": {
3080
+ "leaf_hash": "d327731918d71fe334f43d3fae673d79e05081e35331303d23367dc35336a454",
3081
+ "leaf_index": 1,
3082
+ "leaf_count": 3,
3083
+ "audit_path": [
3084
+ "139891fa779b11df227236d2129f84e2111c035e9e98efa9069471301d1ee853",
3085
+ "43fdcff09c07755d56e580e679f552a4ed8233b441bd662df09dd2c2b7eecac2"
3086
+ ],
3087
+ "checkpoint_ref": "fb7e4f4be961b81ccda8d8e27d8df20bb4966df4d4b3651d4bfcc23d128ecb84"
3088
+ }
3089
+ },
3090
+ {
3091
+ "envelope": {
3092
+ "spec_version": "sanning.events/v2",
3093
+ "event_id": "00000000-0000-4000-8000-000000000002",
3094
+ "payload_hash": "621dc051c1febb479e9927cfd19972014c7bec35c4af5fe293cc8463ffb426d5",
3095
+ "signed_at": "2026-07-15T00:00:00Z",
3096
+ "environment": "dev",
3097
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
3098
+ "signature": "ccfd2a10b85a7020ca1627206db3bff1175279add7bc53822fca9c387d6fe6b4adbfa6c5c8a68a559b490868cd83dffce96dd008117714ce720b4795423cf30b"
3099
+ },
3100
+ "event_bytes": "7b22636f6e74657874223a7b22636861696e5f6b6579223a22626174636865723a6578706f72742d66697874757265227d2c226576656e74223a7b22636f6e74656e745f68617368223a2265663733623937396539353464336166333131646662616530366131663466656362353434336430303932346366313239353562353961616139333433333132222c22696e646578223a327d2c226576656e745f74797065223a226c6f672e6c696e65222c22657874726173223a7b7d2c226d65746164617461223a7b7d2c227061796c6f61645f76657273696f6e223a312c2270726576696f75735f68617368223a2247454e45534953222c22737065635f76657273696f6e223a2273616e6e696e672e6576656e74732f7632222c227375626a656374223a7b226167656e745f6964223a226578706f72742d666978747572652d6167656e74222c2274797065223a226167656e74227d7d",
3101
+ "inclusion": {
3102
+ "leaf_hash": "43fdcff09c07755d56e580e679f552a4ed8233b441bd662df09dd2c2b7eecac2",
3103
+ "leaf_index": 2,
3104
+ "leaf_count": 3,
3105
+ "audit_path": [
3106
+ "39a02ee604f24eabb26bc4ae1038ae3ec6cf81209339991eddb8f803e59cd871"
3107
+ ],
3108
+ "checkpoint_ref": "fb7e4f4be961b81ccda8d8e27d8df20bb4966df4d4b3651d4bfcc23d128ecb84"
3109
+ }
3110
+ }
3111
+ ]
3112
+ },
3113
+ "body_hash": "c02f6e92ad94b0b6e7d62915f5bd880951bb5ed5b45e4cd8b605fe59ceec123a",
3114
+ "previous_hash": "GENESIS",
3115
+ "signature_alg": "ed25519",
3116
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
3117
+ "signature": "e1192601170b19a0ee3a6114758d5a4a2125da567d18a70b0b153382f5aabb451a7f50793139b38186dd47965cb740969920951e0e77c43fa9096ace5455b90a"
3118
+ },
3119
+ "source_bundle_hash": "b64e4a7b346e0351de4af7e7755e0e4235f5fc2bc1a9b507d184597068ae9128",
3120
+ "attestations": [
3121
+ {
3122
+ "checkpoint_ref": "fb7e4f4be961b81ccda8d8e27d8df20bb4966df4d4b3651d4bfcc23d128ecb84",
3123
+ "payload": {
3124
+ "attested_at": "2026-07-15T00:00:00.000Z",
3125
+ "tx_id": "eKpT-eXpOrT-fIxTuRe-cHeCkPoInT-tX-000000001",
3126
+ "data_hash": "8b2e664c347d3bba440e2e05b965c92c71aa9ad8f1dfe0abb7fb8993d3e7412a",
3127
+ "data_size": 4096,
3128
+ "block_height": 1512345,
3129
+ "block_timestamp": 1752537600,
3130
+ "operator": "t7YQHU9UPYRGHsiLENbbrw5gRdc6SFr6dPBEXPnbeq4",
3131
+ "owner_address": "b3duZXJfYWRkcmVzc19wbGFjZWhvbGRlcl9fMDAwMDAwMDAwMDA",
3132
+ "gateway": "https://g1.example",
3133
+ "signature_verified": true,
3134
+ "level": 3,
3135
+ "subject_ref": {
3136
+ "hash": "9fd66070e10a1d7d260e6512abf6364f55101d35207db6161b638fd4cbd083fd",
3137
+ "type": "document"
3138
+ },
3139
+ "attestation_version": "sanning.evidence.attestation/v1"
3140
+ },
3141
+ "signature_alg": "rsa-pss-sha256",
3142
+ "public_key": {
3143
+ "kty": "RSA",
3144
+ "n": "rmVrss6y0Xt2R5CrJvSSmUQF79ZKdxi67RNLJE4zMZVCzsuK0-Q5smFdWTVIiEVTW7jGOBxzgD-KQkVk6t0ZC0l9frHKi5u65SJnsUbwx9emsWoJk1HgOkgAd5k9bxyFe__J1eZ8QE6J2Rm9IqTGB-8wvjTtQasxk2fG6qxD3zsoRJ0jL0RqqHmQdc2fJyGncj1asTgj3zSzb3gTYJgqy_hpgGvAa3ZsXlKdjDVEou6LxXmHk_7EuB-Ep7iGkvXXcD_xDSs3j7WqsFtjtj14S0gM7TRtKEjXxOKZQhYTmmh8ZvviIjCF4eKzNmadnELLJ4Kyg0ieJRIB8KW7PUljlw",
3145
+ "e": "AQAB"
3146
+ },
3147
+ "signature": "3240367b3f3c6b5eba638667f616d1a5eba711700dd52cb032d9bb4bd58b37babf80dacd8b735a2339edda33714662cbdb8367ed62da7fea2374e480876c0c0ce7af296dad813444377f83cfe193071ca2402c8a8256d86e9cc82b1867fd9b903a4a4b70187ac35aba78b3735c56ba9525b3d9fbe1e165a88e9a7b354f68a4b73b4ae1c0c843b7b58ca36daa8fd070e4974787638d5d7373b91943b53e7dfa4d398b4aee70ca8fce56d12fa39dbc390ebfbd0baf4042e54590a6dca8d71734b69acee03285294225409d40fa712bb88e44652186d2968fad1bea6891040ee4f77fe598f45d5973087e9e2c868b30a00c7069534121c17c5047ac5e3b5f22f66b"
3148
+ },
3149
+ {
3150
+ "checkpoint_ref": "fb7e4f4be961b81ccda8d8e27d8df20bb4966df4d4b3651d4bfcc23d128ecb84",
3151
+ "payload": {
3152
+ "attested_at": "2026-07-15T00:05:00.000Z",
3153
+ "tx_id": "eKpT-eXpOrT-fIxTuRe-cHeCkPoInT-tX-000000001",
3154
+ "data_hash": "8b2e664c347d3bba440e2e05b965c92c71aa9ad8f1dfe0abb7fb8993d3e7412a",
3155
+ "data_size": 4096,
3156
+ "block_height": 1512345,
3157
+ "block_timestamp": 1752537600,
3158
+ "operator": "qQJGT1SZYANyKiQXf-hlnGDE_6MxL11NQbrJsPY0GpQ",
3159
+ "owner_address": "b3duZXJfYWRkcmVzc19wbGFjZWhvbGRlcl9fMDAwMDAwMDAwMDA",
3160
+ "gateway": "https://g2.example",
3161
+ "signature_verified": true,
3162
+ "level": 2,
3163
+ "attestation_version": "sanning.evidence.attestation/v1"
3164
+ },
3165
+ "signature_alg": "rsa-pss-sha256",
3166
+ "public_key": {
3167
+ "kty": "RSA",
3168
+ "n": "3eYs1pQ_GrJqSg6u7p4QKoUnjHHWJ-BLXYW-89nsvH-kC2uk7r7GPc-4x-_8xsTOG7g4YChyh9sfJ_eyixdYn0F23JKnNmPgcEypN9gOSToBDrPPXG5GwhkWWA6dyims-sASu5od1g9lViMBeIRZpt-AVsmxEe-1ucX2vt3cZKhq8w_p2kPv5qagGY4PZ3bm7Q6U9RTh6XxHxL-fLzCxUpGQN3qAOZC7vUUQUo07H3RsNuSz-9hw2ZRSobYe8z0AasksMJPxy8fOlTVIVRkRHBGxK5vO1meVV5qUBn_WtSaWo9zll8eUT_3G89eJW2INGBlHZFN4FOjKSoLh-Hg_9Q",
3169
+ "e": "AQAB"
3170
+ },
3171
+ "signature": "4e045d71c6c8b2d4790a2b717a3c8b9f6a1bdc91501cd74d4e30957a1f432848c53062fff5610d5ed1f2e19c5de3cd06fe4b6fbe37495e8de19c33daeec9529b60b1a4c333ae144300eaf91356293d7c972ccd0b2a50ffc790d1f866f9fe91e9e2aa74e8ce5f112ad9c4fca6851603f951d00aabbcc78b45b6162d452d65d73ac147f661a60bf92811583d4055d97f94cdd4732f7d2432c3d49f8a6d714787de256d2d05a6d81ca0c3ec2a6b64eefba322e1f0ac8127531e47bf6d4ff4950d779d3453d5b488d817e633cd37582c113ad5ba3431aaa8795a7e0a132209542e76c46601fd5f36b94f470be1ae2d6a04c46cf10f3b9cf0cb80bcea772a8de32e22"
3172
+ }
3173
+ ],
3174
+ "export_schema": "sanning.evidence.export/v2"
3175
+ },
3176
+ "body_hash": "8ca804b7c3c9717249294cb7628b0b044c9c70e7ea99506c70cfcb936877a0ef",
3177
+ "previous_hash": "GENESIS",
3178
+ "signature_alg": "ed25519",
3179
+ "public_key": "207a067892821e25d770f1fba0c47c11ff4b813e54162ece9eb839e076231ab6",
3180
+ "signature": "e6d2bb04cdac16bc4a251e971752d4c6c8302812469f3e43d38938a73cba2c50a38148b33220cf9ebd88e009bc5d94fc823586b0cbced54d117132159e7b9100"
3181
+ },
3182
+ "exit": 1,
3183
+ "headline": "FAILED"
3184
+ }
3185
+ ]
3186
+ }