Ferromark / Shared reference
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.
Scroll sideways for more columns.
| 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.
Library comparison scores
The library comparison also reports measured output agreement for all 20 displayed library variants and separate Ferromark native and Node references. CommonMark covers 652 examples from version 0.31.2. GFM extensions covers 28 extension examples from the frozen official website; it is not a full GFM conformance score.
These checks use each library's closest available public specification settings. They run separately from the reduced profiles used for performance measurements. A mismatch may come from parsing or from renderer policy, such as extra task-list classes. Unsupported suites have no percentage. Unmeasured suites retain the setup failure. Neither result changes which of the 57 documents contributes to the performance factor.
The retained report links every input and expected/actual HTML, including failures, exact versions, and configuration differences. The local runner rebuilds the pinned adapters and validates the generated homepage values.
Scroll sideways for more columns.