The parser reads Markdown from standard input and writes HTML to standard output.
Blocks: paragraphs, thematic breaks, ATX headings, setext headings, indented code, fenced code, HTML blocks, link reference definitions, block quotes, then lists — lists are the hardest block construct, with lazy continuation, nesting, and tightness.
Inlines: backslash escapes, entity and numeric references, code spans, emphasis and strong emphasis (the delimiter-run algorithm), links and images, autolinks, raw HTML, hard breaks.
Create one terminal verification story that:
- depends on every parser implementation story;
- contains the only `Suite: full` acceptance check;
- runs `sh sources/full_test.sh`, prints captured standard output and standard error, and asserts only `result.returncode == 0`; and
- carries `Sea Trials: st-001`.