Commit ca4ee36
fix(check): uniquely select both ends before keying by pair
Review found the previous commit's premise false: `overlapIssue` used
`selectorFor`, which returns `tag.class1.class2` with no uniqueness check, so
dropping `text` left nothing to separate two aliased siblings. Two unrelated
125ms transients on sibling stat cards merged into one group whose span
bridged the gap between them, promoting past the 500ms floor to `error` — a
false failure worse than the false pass being fixed.
Both builders now use the file's own `uniqueSelectorFor`, so the pair really is
the identity the collapse key assumes. Measured on an aliased-sibling fixture:
`error occ=2 div.num` / `ok=false` before, two separate warnings / `ok=true`
after.
`text_occluded` had the identical defect and is included: it carries both
selectors plus the animating element's text, and is persistence-tiered, so a
count-up held under an opaque scrim for 6s — a hard `error` at every sample —
collapsed into 12 single-occurrence `info` rows and the run passed. Now
`error occ=12` / `ok=false`.
Per-code policy moved next to `PERSISTENCE_TIERED_CODES` as a named set, and
`dedupeLayoutIssues` keeps raw text deliberately (it pins an exact time, where
text still separates concurrent findings) with a note so the divergence is not
"fixed" back.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>1 parent 7b28267 commit ca4ee36
3 files changed
Lines changed: 44 additions & 11 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
656 | 656 | | |
657 | 657 | | |
658 | 658 | | |
659 | | - | |
660 | | - | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
661 | 662 | | |
662 | 663 | | |
663 | 664 | | |
| |||
1017 | 1018 | | |
1018 | 1019 | | |
1019 | 1020 | | |
1020 | | - | |
1021 | | - | |
| 1021 | + | |
| 1022 | + | |
| 1023 | + | |
1022 | 1024 | | |
1023 | 1025 | | |
1024 | 1026 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
279 | 279 | | |
280 | 280 | | |
281 | 281 | | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
282 | 309 | | |
283 | 310 | | |
284 | 311 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
158 | 158 | | |
159 | 159 | | |
160 | 160 | | |
| 161 | + | |
161 | 162 | | |
162 | 163 | | |
163 | 164 | | |
| |||
204 | 205 | | |
205 | 206 | | |
206 | 207 | | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
207 | 217 | | |
208 | 218 | | |
209 | 219 | | |
| |||
342 | 352 | | |
343 | 353 | | |
344 | 354 | | |
345 | | - | |
| 355 | + | |
346 | 356 | | |
347 | 357 | | |
348 | 358 | | |
349 | 359 | | |
350 | 360 | | |
351 | | - | |
352 | | - | |
353 | | - | |
354 | | - | |
355 | | - | |
356 | | - | |
357 | 361 | | |
358 | 362 | | |
359 | 363 | | |
| |||
0 commit comments