The corpus
One directory per contract kind, each landing with its milestone:
round-trip/—<name>.json+<name>.md: the markdownadfToMarkdownmust emit for that document, byte for byte, and thatmarkdownToAdfmust read back to it (AGENTS.md §2). Grouped by what the fixture exercises.normalization/—<name>.md+<name>.json: markdown input, and the documentmarkdownToAdfmust build from it, which must in turn emit and read back to itself. The markdown is not canonical.errors/—<name>.md: markdown input that must not convert. A<name>.errorbeside it pins which error.real-payloads/—<name>.json: sanitized live ADF, round-tripped ADF→markdown→ADF. No expected markdown.commonmark-spec/— the CommonMark suite run againstmarkdownToAdfby three checks.spec.jsonis the suite;refusals.jsonpins each refusing example to its errorcode;exceptions.jsonpins each known divergence bycheck,example,kindand the exactdivergence, with areason.kindismark-model(the permanent count divergence from ADF's mark-per-text-node model),unspellable(parses but the flavour has no spelling) orpending(a parser gap a later milestone may close).
JSON is editor-normal (AGENTS.md §2), two-space indent, keys sorted. spec.json is the vendored,
upstream machine-readable suite, byte-exact from
spec.commonmark.org (CommonMark 0.31.2, © John
MacFarlane, CC-BY-SA-4.0), and is not
re-serialized by the corpus gate.