--- id: MD-1 family: RT-MD level: extended profiles: [runtime] posture: normative-target added: "1.0" changed: "1.0" source: https://flowdrop.io/spec/rules/rt-md/md-1 specification: FlowDrop Workflow Specification 1.0-draft licence: CC BY 4.0 --- # MD-1 — Markdown source can never reach the reader as markup *RT-MD (Part II) · level: extended · profiles: runtime · added in 1.0* A markdown-to-HTML conversion usually runs over text a language model wrote, so the encoding is a safety boundary rather than a formatting nicety. Encoding the whole input once, before any block or inline pattern is applied, is the arrangement that makes the promise hold on every arm: escaping at each emission point has been shown to miss the blocks a converter rebuilds from its buffer, and to miss any block whose first character is already a tag. ## The rule > **Normative.** This is the rule. > > 1. Every text node a markdown-to-HTML conversion emits must be HTML-encoded: prose, list items, blockquote lines, headings and code alike. > > 2. Markup present in the markdown source must never reach the reader as markup, including where a block opens with a tag. ## Related rules - Referenced by: MD-2 --- Rule identifiers are permanent and are never renumbered. This specification carries no implementation status: each implementation publishes its own standing against these rules. Licensed CC BY 4.0.