EVIDENCE

Three formats, each held to an explicit contract.

Markup++ does not treat a successful conversion as proof of compatibility. Each format has an independent reference profile, adversarial cases and cross-platform release gates.

CommonMark

652/652 official CommonMark 0.31.2 examples pass. Pathological-input, extension and output-safety checks sit beside the specification suite.

AsciiDoc

AD0–AD11 and AC0–AC9 cover the pinned Eclipse language/TCK development snapshot and the bounded Asciidoctor 2.0.26 core profile.

reStructuredText

RST0–RST14 exercise the bounded Docutils 0.23 core profile, including blocks, references, roles, directives, resources and diagnostics.

RELEASE GATES

Evidence that travels with the code.

The maintained suites run on Linux, macOS and Windows. Sanitizer builds, CLI failure cases, atomic output behavior and a difference-gate self-test cover the implementation around the external compatibility profiles.

make test-release-local
make test-sanitize
make test-packaging

Reviewed differences

Compatibility differences are hash-pinned with reasons. A changed or unexpected difference fails the gate rather than being silently accepted.

Safe embedding

The public conversion API performs no ambient file IO. Includes require host resolvers with canonical dependency identities, and Nift verifies a 41-file synchronized subtree.

Honest boundaries

CommonMark is a standards-conformance claim. The AsciiDoc and reStructuredText results are bounded compatibility profiles, not claims of complete Asciidoctor, Docutils or Sphinx equivalence.