Correctness and Compatibility
The second correction batch closes the seven cmark findings left after the first fixes. Strikethrough now uses the inline delimiter stack, Unicode URL bytes receive percent encoding, and one leading BOM is treated as an encoding marker with original spans preserved.
| Check | Result |
|---|---|
| Explicit CommonMark 0.31.2 profile | 652/652 agree, without heading-ID exceptions |
| Current GFM extension examples | 28/28 agree |
| CRLF / CR variants | 1,304/1,304 agree with their LF controls |
| Original cmark / cmark-gfm corpus | 106/106 agree |
| Additional tilde/inline combinations | 254/256 agree with cmark-gfm; two pinned-oracle nested-link defects follow the specification instead |
| Workspace regression tests | Both oracle corpora, renderer-profile/span checks, table layout/column names, line comments, frontmatter, optional writing syntax, container references, and Rust convenience helpers |
Agreement permits conservative HTML serialization equivalence; raw output and all mismatches remain in the report. The two reference exceptions have exact spec-correct HTML assertions, and the generic strict oracle still rejects them. The complete GFM website retains ten classified differences from global extension policies and older HTML-comment rules. MDX remains bounded syntax capture and static output. These finite suites do not prove correctness for arbitrary CommonMark, GFM, or MDX input.
The container-reference correction resolves the subsequent list-definition finding: reference definitions in list items and block quotes now apply document-wide, including forward references. Code and paragraph decoys remain literal, and the first definition wins across container boundaries. The line-comment oracle now requires semantic agreement for all cases and both baseline probes.
The repeatable spec audit and the 106-case live oracle pass their failure gates. The native comparison reruns the corrected core with explicit syntax and renderer settings across all six engines.