Specification · v1 Working Draft
anvil·md

Specification  ·  Section 12 of 14

Failure modes, ranked by how much they hurt

Sixteen ways to get this wrong, ranked by how much each one hurts, with the guard for each.

#FailureGuard
1Parser throws on a partial streamtotal parser (§11) + an error boundary per message
2Stamp derived from client statelaw II, resolutions from the server (§7.6)
3No idempotency key(blockId, nonce), first wins, 409 for the rest (§7.3)
4Stamp text handed to the model unframeduntrusted wrapper (§8.1)
5A read-only viewer can stampserver-side permission gate (§8.2)
6Upload tag emitted before bytes landstamp on submit, not on drop (§7.4)
7Uploaded file not attached to the turnattach real parts, not just a filename (§4.6)
8Block autofocuses§9.1, no exceptions
9Height changes on stamp, or images pop in§9.2, §9.4
10Unstable derived idshash content, never index (§11)
11Secret echoed into the tagmask server-side (§7.6)
12Stale blocks left liveexpires + @void (§4.11)
13Answer also posted as a chat bubblerender as the stamp only (§6.3)
14Example still clickable after target stampsexamples die with their target (§4.10)
15Agent value in a style/src attributeallowlist, do not escape (§8.3)
16Tags hand-rolled per blockone serializer, one escaping policy (§6.2)