Zerowidth CleanerMeasured guides

CLAUDE WATERMARK REMOVER · MARKDOWN TEST

Why did a numbered step split my paragraph after cleanup?

Removing the hidden point restores the 1. marker, which can start an ordered list immediately after a paragraph in CommonMark.

Tested 10 November 2026 · Synthetic fixture · CommonMark.js 0.31.2

What changed in the preview

The original string has a single newline after Run the check: and U+200B between the digit and period on the next line. The initial HTML is one paragraph. With the point removed, the rendered paragraph ends before an ol containing Save the report. No blank line was inserted. The first marker matters: the CommonMark rule for interrupting a paragraph requires a starting number of one. Check the actual list in the destination preview rather than guessing from indentation or line count.

What this test covers

This fixture starts at 1 and tests a period marker with nonempty content. It does not measure a list after a blank line, a nested list, or editor auto-numbering.

Measured source and preview

Original Markdown

Run the check:
1\u200B. Save the report

Cleaned Markdown

Run the check:
1. Save the report

The original source and its preview contain a literal U+200B, displayed below as \u200B. The HTML is shown as text.

Before cleanup

<p>Run the check:
1\u200B. Save the report</p>

After cleanup

<p>Run the check:</p>
<ol>
<li>Save the report</li>
</ol>

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.