test(doctor): V2 float harness for System › Doctor
Some checks failed
Check / eval (push) Has been cancelled

Headless softGL Hyprland harness (tools/doctor-float.nix): launches
nomarchy-menu doctor, asserts class/floating/center via hyprctl, dumps
before/after screenshots. Ran boreal + summer-night — both PASS
(floating centered sheet; Ghostty keeps ~800×600). MEMORY recipe.

Verified: V2 — THEME=boreal and THEME=summer-night doctor-float green;
screenshots viewed (desktop-before vs doctor-float under both themes).
This commit is contained in:
Bernardo Magri
2026-07-11 10:16:34 +01:00
parent 3d40a7e1ed
commit 073adf743d
2 changed files with 152 additions and 1 deletions

View File

@@ -7,10 +7,17 @@ here the moment a debugging session teaches you something a future
iteration would otherwise rediscover.
## Testing & VM recipes
- **Doctor float V2:** `THEME=<slug> nix build --impure -f tools/doctor-float.nix`
— softGL Hyprland, `nomarchy-menu doctor`, asserts
`class=com.nomarchy.doctor` + `floating` + centered midpoints +
screenshots. Ghostty *does* start here under softGL (classed one-shot);
size often stays Ghosttys default 800×600 (client geometry wins over
the percent `size` windowrule).
- **theme-shot softGL cannot start Ghostty** — `btop.png` is best-effort
(usually identical to desktop). Guest asserts on
`~/.config/btop/themes/nomarchy.theme` prove baking; the TUI look is
hardware/GL tier (HARDWARE-QUEUE).
hardware/GL tier (HARDWARE-QUEUE). Doctor float is the counter-example
that a *classed* one-shot Ghostty can still map under softGL.
- **Waybar `custom/doctor` tripwire:** status helper must invoke
`nomarchy-doctor` by **absolute store path** (waybar's env can miss
system PATH → `command -v … || exit 0` self-hides forever); empty