# Conformance gaps OrgSwift is measured against the [org-conformance](../org-conformance) corpus, whose goldens come from orgo (validated against Emacs `ox-html`). The renderer is run in orgo-compatible mode — `OrgRenderOptions(metadataHeader: false, headingLevelOffset: 1)` — so that only real rendering differences remain. Of the 12 corpus cases, **11 match orgo exactly** — every case except `outofscope`, which is `scope: out` in the corpus (deliberately unsupported constructs like `#+INCLUDE`, babel, and LaTeX; orgo may also differ there, so it is documentation, not a target). The per-case state is recorded in the `expectations` map in `Tests/OrgSwiftTests/ConformanceTests.swift`: a case that regresses, or `outofscope` starting to match, fails the test and forces the map to be updated — that is how this list stays honest. Two behaviors were made configurable during extraction rather than left hardcoded, because they are presentation policy, not parser capability: - **`metadataHeader`** — whether `#+TITLE`/`#+AUTHOR`/`#+DATE` render as a leading `
`. Apps that want a visible README title keep the default (`true`); orgo carries the title in the page template, so conformance runs with `false`. - **`headingLevelOffset`** — added to a heading's star count. Default `0` renders `*` as `

`; orgo uses `1` (`*` → `

`, leaving `

` for the title). ## Closed - **`timestamps`** — active/inactive timestamps, times, same-day and multi-day ranges now render as `