mirror of
https://github.com/pbakaus/impeccable.git
synced 2026-09-11 21:57:14 +03:00
Greptile's review found a real bug in the new resolver. When the live config lists pages under more than one folder (src/**/*.html and public/**/*.html), the overlay treated a URL like /foo.html as src/foo.html and public/foo.html at the same time. A waiver written only for src/foo.html could then hide a finding on the page actually served from public/foo.html. That fails in the worst direction: a real finding disappears and nothing says so. The overlay can never look up the right file. The live server does not serve the pages; the project's own dev or static server does, and its URL-to-file mapping is invisible from here. So the fix stops guessing: a file-scoped waiver now applies only when it matches the URL path itself, which is true whichever folder serves the page, or when it matches under every configured folder, so no possible reading disagrees. Anything ambiguous shows the finding, which is also what the CLI reports for the file really being served. With a single configured root, the common case, nothing changes: the new rule reduces to the old behaviour exactly. Multi-root projects keep three ways to write a waiver that still applies: name the file under each folder, use the bare path, or use **/. Two new unit tests pin the ambiguous case and the safe spellings. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>