Define a shared safe Markdown renderer and syntax contract #83
Description
Work
Select a maintained .NET Markdown renderer and define the supported subset: headings, lists, tables, emphasis, fenced code, links and read-only task checkboxes. Disable raw HTML and unsafe protocols; initially omit remote-image fetches. Preserve original text; no source-to-HTML rewrite in storage.
Acceptance
- Task and memory rendering use one policy, including review/history surfaces.
- Malicious HTML, encoded unsafe URLs and malformed input stay inert.
- Plain text and Markdown both round-trip exactly.
- Document syntax/limits and allow reference parsing to be added after #73.
Dependencies
Can start before #73 finishes. Coordinate with live editor/CSS work.