# dmc-parser roadmap
## Current status
- CommonMark spec suite: `652/652`.
- GFM spec suite: `670/670`.
- Block parsing is split across `block/{mod,list,blockquote,code,heading,html}.rs`.
- Bench baselines live in [`../duck-benchmarks/BENCHMARKS.md`](../duck-benchmarks/BENCHMARKS.md).
## Completed milestones
### F2. CommonMark grind `[x]`
- The CommonMark baseline moved from `118/652` to `652/652`.
- The parser/codegen grind closed container, list-looseness, raw-HTML,
link-destination, entity-decoding, setext, and blank-line drift.
### F4. GFM runner `[x]`
- The GFM runner now passes `670/670`.
- The GFM push covered tables, task list items, bare/autolinks,
legacy emphasis compatibility for the older fixture set, and the
disallowed-raw-HTML render mode.
## Dialect flags
### `ParseOptions`
- `cm_strict_html_blocks`: spec-runner mode. Treat uppercase HTML-ish
tags as CommonMark type-7 raw HTML blocks instead of MDX JSX
components.
- `gfm_autolinks`: parse bare `http(s)://...` and `www....` runs as
links during inline parsing. Default stays off so transform passes
can own that behavior for MDX consumers.
- `legacy_gfm_emphasis`: normalize redundant nested emphasis so the
legacy GFM fixture set matches without changing the CommonMark
default parse behavior.
### `RenderOptions`
- `gfm_disallowed_raw_html`: escape the leading `<` of the GFM
tagfilter disallowed raw-HTML set during HTML rendering.
## Remaining work
- Fuzz targets and longer fuzz runs.
- Miri / unsafe audits.
- Broader Unicode case-fold and punctuation tables.
- Remaining MDX edge completion beyond the spec suites.
- CI gates for benchmark regressions.