check copy --manifest
Copy that drifted from the spec
The manifest (copy.txt, published here as manifest.txt) is the copy the page must show, verbatim. The page reworded the button, hid a pricing note in the page's own colour, and shipped a placeholder quote.
Open the page under test · examples/demos/copy/page.html · manifest.txt
Run it
vlmkit check copy examples/demos/copy/page.html --manifest examples/demos/copy/copy.txt
What to look at
The hidden note IS in the DOM, so a text search passes it. The gate reports it as copy-invisible with the reason class (camouflage) because a user cannot see it.
The fix
Restore "Start a free trial", give .note a real colour, and write the testimonial.
What vlmkit printed
vlmkit check copy examples/demos/copy/page.html --manifest examples/demos/copy/copy.txt · exit 1 — the command fails, as a gate in CI would
vlmkit check copy source: examples/demos/copy/page.html status: suspect rendered text: 283 chars manifest: 5 line(s), missing 1, 1 invisible-only Issues: x placeholder-text: Placeholder "lorem ipsum" found in rendered text: "…ree for open-source projects. Lorem ipsum dolor sit amet, consectetur a…" — replace with the real copy from the target. x placeholder-text: Placeholder "dolor sit amet" found in rendered text: "…-source projects. Lorem ipsum dolor sit amet, consectetur adipiscing elit.…" — replace with the real copy from the target. x copy-missing: Manifest line not found in rendered text: "Start a free trial" (comparison is whitespace-normalized, case-sensitive). x copy-invisible: Manifest line found ONLY in text a user cannot see (reason: camouflage): "Free for open-source projects.". Invisible text does not satisfy the copy gate — render it visibly or remove the hidden copy. If this invisibility is deliberate (e.g. assistive-tech-only copy), re-run with --allow-invisible camouflage.