CLAUDE WATERMARK REMOVER · MARKDOWN TEST
Why did a Markdown reference definition stay visible?
Inspect the space between the reference label's closing bracket and its colon. Removing a zero-width space at that position restored a working link in our test.
What changed in the preview
The inline `[map][route]` spelling was identical in both source strings. With U+200B between `]` and `:` on the definition line, the renderer emitted that line as a second paragraph and left the inline spelling unlinked. Cleanup made the colon adjacent; the definition disappeared from the visible flow and `/map` became the anchor destination.
What this test covers
This case breaks recognition of the entire definition. It does not rely on an invisible character changing the name of a valid reference label. Review the final `href` against your intended route before publishing a repaired document.
Measured source and preview
Original Markdown
Read [map][route]. [route]\u200B: /map
Cleaned Markdown
Read [map][route]. [route]: /map
The original source and its preview contain a literal U+200B, displayed below as \u200B. The HTML is shown as text.
Before cleanup
<p>Read [map][route].</p> <p>[route]\u200B: /map</p>
After cleanup
<p>Read <a href="/map">map</a>.</p>
Reproduce locally
Save reproduce.cjs and tested-app.js together. Run npm install --no-save commonmark@0.31.2, then node reproduce.cjs. Compare with the recorded input, output and HTML. The test uses the homepage callback with a minimal DOM. It does not use Claude output or test statistical watermark detection.
See the CommonMark specification and another measured Markdown case.