# Topic-specific Markdown rendering experiment

Created and executed for this run on 2026-10-29. These are not upstream PDF results. `results.json` has `kind="markdown-rendering"`, target `docx`, and was generated by `run.py` from real subprocesses.

| Source | Represents |
| --- | --- |
| native.md | Headings, ordered list, pipe table, hyperlink and fenced code |
| math.md | Inline and display dollar-delimited LaTeX math |
| html.md | A pipe-table cell containing raw HTML break plus an embedded HTML table |
| style.md | Native headings and an embedded HTML table, with a style-reference control |

Run from the repository root:

```bash
PYTHONDONTWRITEBYTECODE=1 tools/lab-venv/bin/python runs/2026-10-29-markovo-convert-md-to-word/lab/renderers/run.py
```

Pandoc 3.11 is installed locally. All four samples were converted through GFM, plain CommonMark, GFM with a reference document, and GFM→HTML with MathML→DOCX. These are configurations of one engine, not four competing products. Native OOXML counters and pre-writer AST counts are in `results.json`. Each output also has an exact `*.xml.txt` copy of its main document XML, an AST JSON and a raw Pandoc reverse conversion to Markdown. The HTML bridge's raw HTML uses `*.html.txt`, so the evidence extension remains `.txt`.

`reference.docx` starts with Pandoc's own default reference. The runner changes Heading1's size to 56 half-points and inserts a marker into its body. The output style changes while the marker is absent; the reference cannot recover a table the reader left as raw HTML. Binary DOCX files are local reproduction artifacts, excluded from citations and `lab_evidence`.

The second writer attempt, macOS `textutil`, returned exit code 0 but reported a helper-application error and produced no file. It is not a successful comparison row. No Word, Pages or LibreOffice layout inspection took place; results establish structure, not page appearance, font availability or cross-application fidelity.

The pre-existing `../markovo`, `../marker`, `../docling`, `../pandoc` and PDF corpus are upstream input-to-Markdown tests. They do not test Markdown-to-Word and are not used as evidence here. No `scores.json` is invented or relabeled; `tools/lab_score.py` measures extracted Markdown, not native DOCX objects.
