The corpus
One directory per contract kind:
round-trip/—<name>.json+<name>.md: the markdownadfToMarkdownmust emit for that document, byte for byte, and thatmarkdownToAdfmust read back to it (docs/decisions.md§The round-trip is the product). 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: ADF Atlassian's editor wrote, 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).
JSON is two-space indent, keys sorted, and a document read back must deep-equal the fixture's
(docs/decisions.md §Equality is deep). 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.