Pin refusal codes and divergences; fix the text oracle and count by heading level
CI / gate (push) Successful in 18s
CI / publish (push) Has been skipped

This commit is contained in:
2026-09-06 23:09:01 +02:00
parent 12b57a06a9
commit dfbb92b7ab
6 changed files with 626 additions and 89 deletions
+7 -3
View File
@@ -12,9 +12,13 @@ One directory per contract kind, each landing with its milestone:
pins which error.
- `real-payloads/``<name>.json`: sanitized live ADF, round-tripped ADF→markdown→ADF. No
expected markdown.
- `commonmark-spec/``spec.json` (the CommonMark 0.31.2 suite, vendored byte-exact) and
`exceptions.json` (the examples a known divergence exempts, keyed by `check` and `example` with
a `reason`).
- `commonmark-spec/`the CommonMark suite run against `markdownToAdf` by three checks. `spec.json`
(0.31.2, vendored byte-exact) is the suite; `refusals.json` pins each refusing example to its
error `code`; `exceptions.json` pins each known divergence by `check`, `example`, `kind` and the
exact `divergence`, with a `reason`. `kind` is `mark-model` (the permanent count divergence from
ADF's mark-per-text-node model), `unspellable` (parses but the flavour has no spelling) or
`pending` (a parser gap a later milestone may close). The two lists are derived and labelled,
not hand-picked — regenerate them rather than hand-edit when re-pinning.
JSON is editor-normal (AGENTS.md §2), two-space indent, keys sorted. `spec.json` is the vendored,
upstream machine-readable suite (CommonMark 0.31.2, CC-BY-SA-4.0, © John MacFarlane) and is not