fix(theme): #79 review fixes — wrap-around schedule + HH:MM guard
All checks were successful
Check / eval (push) Successful in 4m6s
All checks were successful
Check / eval (push) Successful in 4m6s
Two low-severity edge bugs from a fresh-eyes review of the session batch: - cmd_auto: an inverted schedule (sunrise > sunset, i.e. a day window that crosses midnight) stayed perpetually on the day theme — the old `not between` shortcut is an empty interval when sunrise > sunset. Replaced with a real wrap-around: daytime = mins >= sunrise or mins < sunset, so both directions switch. Normal sunrise < sunset path is unchanged (checks.auto-theme still holds). - rofi autotheme HH:MM validator: `[0-2][0-9]` accepted 24:00–29:59. Tightened the case pattern to `[01][0-9]:[0-5][0-9]|2[0-3]:[0-5][0-9]` so out-of-range hours are rejected (they'd otherwise skew the boundary). (Two other review findings dismissed: papirus DOES ship breeze/breeze-dark so that iconPacks prefix is correct; the doctor RAM-unknown row is cosmetic since /proc/meminfo is always readable.) Verification: py_compile; boundary truth-table (normal + wrap-around); HH:MM case table (23:00/19:59/20:00 accept, 24/25/30:00 reject); auto --which normal-case unchanged; menu bash -n; flake check green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -17,6 +17,24 @@ Template:
|
||||
|
||||
---
|
||||
|
||||
## 2026-07-11 — Code-review fixes (parallel review of the session batch)
|
||||
- **Task:** Bernardo asked for parallel work; spawned a fresh-eyes opus
|
||||
review of `2055842..HEAD` (static). It found the batch sound — 2 real LOW
|
||||
edge bugs, 1 false positive, 1 cosmetic.
|
||||
- **Did:** (1) `cmd_auto` — inverted sunrise/sunset (sunrise > sunset) went
|
||||
perpetually day; replaced the `not between` shortcut with a real
|
||||
wrap-around `mins >= sunrise or mins < sunset`, so a cross-midnight day
|
||||
window switches both ways. (2) `rofi.nix` autotheme HH:MM guard tightened
|
||||
`[0-2][0-9]` → `[01][0-9]|2[0-3]` so 24–29 are rejected. Dismissed the
|
||||
`breeze` finding (papirus DOES ship breeze/breeze-dark — verified) and the
|
||||
cosmetic doctor-RAM one.
|
||||
- **Verified:** py_compile; boundary truth-table (normal + wrap-around);
|
||||
HH:MM case table (23:00/19:59/20:00 accept, 24/25/30:00 reject); `auto
|
||||
--which` normal-case unchanged; menu bash -n; flake check green. Normal
|
||||
case unchanged so `checks.auto-theme` still holds.
|
||||
- **Pending:** hibernate-swapfile VM test still running (uncommitted flake.nix).
|
||||
- **Next suggestion:** land hibernate-swapfile once its VM test returns.
|
||||
|
||||
## 2026-07-10 — #79 V2: checks.auto-theme (simulated sunset) — was mis-framed V3
|
||||
- **Task:** Bernardo challenged the "V3 real-session" framing — a simulated
|
||||
sunset IS VM-testable. He's right; I'd conflated "needs a real desktop"
|
||||
|
||||
Reference in New Issue
Block a user