# The corpus One directory per contract kind, each landing with its milestone: - `round-trip/` — `.json` + `.md`: the markdown `adfToMarkdown` must emit for that document, byte for byte, and that `markdownToAdf` must read back to it (AGENTS.md §2). Grouped by what the fixture exercises. - `normalization/` — `.md` + `.json`: markdown input, and the document `markdownToAdf` must build from it. One-way; the markdown is not canonical. - `errors/` — `.md`: markdown input that must not convert. A `.error` beside it pins which error. - `unspellable/` — `.json`: ADF `adfToMarkdown` must refuse, the `ConvertErrorCode` in the `.error` beside it. Two populations live here: refusals that stay contract, and documents a maintainer decision (`todo.md`) moves to `round-trip/`. - `real-payloads/` — `.json`: sanitized live ADF, round-tripped ADF→markdown→ADF. No expected markdown. JSON is editor-normal (AGENTS.md §2), two-space indent, keys sorted.