Files
pbakaus_impeccable/tests
Paul BakausandClaude Code 20213a6817 fix: bound CSS seeding to real matches and ownership before supersession removal
Addresses two cursor findings on extractMatchingSourceCss plus an adjacent
hazard in the same removal machinery:

- Class matching is token-bounded, never substring: .btn no longer seeds
  .btn-primary and .stage no longer seeds .stages. A falsely seeded
  selector was an accept-time deletion of a hand-written rule, since any
  seeded selector the variant does not re-declare is removed as
  superseded.
- Tag rules that style the pick (h1, a, p) now seed the preview stub, so
  unclassed selections start from the real cascade. They are excluded
  from the supersedable set: tag rules style shared elements across the
  route and must never be removal candidates.
- Supersession removal is now bounded by ownership: a seeded class
  selector whose class is still used by markup OUTSIDE the replaced
  region survives the accept, because removing it would strip styling
  from markup the accept never touched.

Tests cover substring non-matches, tag seeding with a tag-free
supersedable set, and a shared-class accept where .card is used both
inside the pick and elsewhere.

AI-assisted (Claude Code).

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-07-28 17:55:13 -07:00
..