mirror of
https://github.com/garrytan/gstack.git
synced 2026-11-02 06:54:50 +01:00
Waivers settle once per page after both tiers, so a blocking rule only the render tier suspects is waivable and one it measures is refused; a claim in a stylesheet answers for that stylesheet on every page that links it (no shared-word check), so a sheet shared by two pages is no longer waived on one and refused on the other. Every printed field is one line with control characters stripped; the waiver regex is linear and ends at a carriage return; a root-relative href cannot climb out of the lint root. The ancestor map closes optional end tags implicitly and pops to the matching open tag, so unclosed <li> no longer makes it quadratic. The static tier reports outline: none with no ring anywhere as missing-focus-visible at its line; literal-outside-tokens needs a --color-* or --font-* token to exist; the banned gradient includes indigo-to-violet; a new banned-font rule reads gstack's BANNED_FONTS; MONO_FACE matches whole words; bold keywords and tokens count as weight 700 for the contrast threshold. stylesFor reads only the entries that can match; glOcclusion memoises the pinned walk; the confirm screenshot is taken at 1x; a page that throws in the render tier is a render finding and the CLI exits 3 on an internal error. Docs name the token conventions and what the lint does not cover. Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>