Specification · v1 Working Draft
anvil·md

Specification  ·  Section 1 of 14

The axiom

One sentence about append-only transcripts, from which every other rule in this document follows.

A conversation transcript is an append-only record of things that happened.
A widget that can be re-answered turns that record into a lie.

Every rule below falls out of that sentence.

ANVIL isANVIL is not
Rich UI rendered inside a messageA modal, drawer, overlay or popover
Answered exactly once, then frozen in placeA form you can revise
Compiled to text on the way upAn event stream you subscribe to
A closed set of blocksAn extensible widget framework
Authored by an LLM mid-sentence, no escaping painJSON you have to serialise carefully

If you want a back-button, a re-open, a live-updating value, or a block that mutates after it is drawn, ANVIL is the wrong tool. Its entire value is that a transcript containing ANVIL blocks reads truthfully after the fact.