Skip to content

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.

CheckResult
Explicit CommonMark 0.31.2 profile652/652 agree, without heading-ID exceptions
Current GFM extension examples28/28 agree
CRLF / CR variants1,304/1,304 agree with their LF controls
Original cmark / cmark-gfm corpus106/106 agree
Additional tilde/inline combinations254/256 agree with cmark-gfm; two pinned-oracle nested-link defects follow the specification instead
Workspace regression testsBoth 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.