fix(themes): P1 palette retunes from the design audit + gated subtext floor (item 28b)
All checks were successful
Check / eval (push) Successful in 3m0s

The audit's P1s, fixed at the palette level (items 25/27 previously
patched the consumers around these):
- summer-day: surface was the TEXT color (slate #5c6a72 on cream) and
  subtext was the BASE (ratio 1.0, invisible) — now a raised cream
  surface #efe7d0 and a slate-teal subtext #6e828a in the theme's
  family.
- flexoki-light: surface/overlay/muted were all the text black and
  subtext the paper — retuned to canonical upstream Flexoki tones
  (ui #E6E4D9, #B7B5AC, tx-2 #6F6E69, base-500 #878580).
- miasma: pure-black surface under a #222 base → raised #2e2e2e.
- kanagawa: surface was sumiInk0 (darker than the bg) → upstream's
  raised sumiInk4 #2a2a37.
check-theme-contrast.py gains the adopted rule: subtext on base >= 3.0
(all 21 themes pass), so the invisible-secondary-text class cannot
ship again. Model note in the backlog: `overlay` is a mid-tone role
(catppuccin semantics), not a third bg tier.

Verified: V0 + checks.theme-contrast green (21x3); re-audit shows all
four P1 findings gone; a scratch downstream with summer-day active
builds and the new surface hex lands in the rendered ghostty config.
Remains: V3 four-theme eyeball (HARDWARE-QUEUE) and 28b's P2 floors +
exemption list.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Bernardo Magri
2026-07-05 18:55:44 +01:00
parent abc953ea84
commit 47c8b6f997
8 changed files with 55 additions and 18 deletions

View File

@@ -22,6 +22,10 @@ PAIRINGS = [
("text", "base", 4.5, "swaync body / waybar modules / rofi rows"),
# symmetric ratio also covers accent-on-base (waybar updates, rofi prompt)
("base", "accent", 3.0, "swaync button:hover / waybar active ws / rofi selected row"),
# Adopted from the item-28 design audit: summer-day/flexoki-light
# shipped subtext == base (ratio 1.0 — invisible secondary text; the
# palette-level cause of items 25/27). Never again.
("subtext", "base", 3.0, "secondary text (tooltips, hints, fastfetch labels)"),
]