feat(bar): doctor tripwire indicator (LATER item)
All checks were successful
Check / eval (push) Successful in 3m3s

nomarchy-doctor-status: silent while nomarchy-doctor exits 0 (or is
absent), so the module only exists when something is actually broken —
then a red warning glyph with the first ✖ lines jq-escaped into the
tooltip; clicking opens the full sheet (nomarchy-menu doctor).
Interval 300s: the health check is real work (unit/disk/git sweeps),
and this is a tripwire, not a monitor. Added to the generated bar
(status group, after battery) and to BOTH summer whole-swap bars
(module list + jsonc block + CSS membership + @red rule) per the
parity rule.

Verified: V0; V1 — template-home builds with the module in config +
CSS, the status script passes bash -n, both summer jsonc still parse;
functional — the self-gate exits silently, and a shimmed failing
doctor yields jq-valid JSON with class "bad" and the ✖ lines in the
tooltip. Live render queued for hardware.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Bernardo Magri
2026-07-05 21:46:29 +01:00
parent 4ad564bd80
commit 808a3febdd
8 changed files with 84 additions and 8 deletions

View File

@@ -234,9 +234,6 @@ them as composable commands, not dead ends.
- **Night-light geo mode**: lat/long auto sunset/sunrise (means wlsunset).
- **Per-theme icon overrides** / more icon packs (ROADMAP § Icon themes).
- **MIPI/IPU software-ISP camera** support (no-UVC machines).
- **Doctor Waybar warning**: a self-gating bar indicator fed by
`nomarchy-doctor` (shipped 2026-07-04) — appears only when the sheet
has a ✖; click opens the sheet.
- **Auto-timezone Waybar tooltip** showing the detected zone (optional).
- **VPN exit-node richer display** (country/city) (optional).
- **NixOS release bump → v2** `[human]`: deliberate, hand-edited, never

View File

@@ -167,6 +167,12 @@ QA machine), the **T14s** (webcam case).
(tooltips, fastfetch labels) is visible on summer-day +
flexoki-light, kanagawa floats are lighter than the bg (upstream
sumiInk4). Anything that reads worse than before → reopen 28b.
- [ ] **Doctor bar tripwire (LATER item)** — with everything healthy
the bar shows nothing; `systemctl --user start doomed`-style
induced failure → within ~5 min a red appears (tooltip lists
the ✖ lines), clicking opens the sheet in a terminal;
reset-failed → it disappears on the next poll. Also visible on
both summer bars.
- [ ] **OCR region (LATER item)** — Tools Capture "OCR region →
clipboard": select a region with visible text → toast reports
the word count and `wl-paste` yields the text; Esc in slurp

View File

@@ -17,6 +17,28 @@ Template:
---
## 2026-07-05 — doctor bar tripwire (iteration #42, LATER item)
- **Task:** LATER doctor Waybar warning. Bullet deleted.
- **Did:** nomarchy-doctor-status (named bin, PATH): silent exit 0
while the doctor is healthy or absent (self-gate), else JSON with
the first ✖ lines jq-escaped into the tooltip, in @bad; click =
nomarchy-menu doctor (the sheet). custom/doctor added to the
generated bar (after battery, interval 300 — the check is real
work, this is a tripwire not a monitor) + CSS, AND both summer
whole-swaps (module list, jsonc block, CSS membership + @red rule)
per the parity rule.
- **Verified:** V0; V1 — template-home builds, status bash -n, config
+ CSS each carry the module, both summer jsonc still parse (jq)
with the block; FUNCTIONAL — self-gate silent, and a shimmed
failing doctor produces valid JSON (jq-verified: class bad, ✖
lines in tooltip). Live render → V3 queued.
- **Pending:** V3. LATER remaining: wallpapers-artifact split
(deferred by decision), installer round 2 [big], boot-from-
snapshot, night-light geo, icon overrides, MIPI camera [hw],
auto-timezone tooltip, VPN richer display, release bump [human].
- **Next suggestion:** auto-timezone Waybar tooltip (small) — or a
QA sweep; the meatier LATER items deserve a fresh session.
## 2026-07-05 — OCR screenshot-to-text (iteration #41, LATER item)
- **Task:** LATER OCR (NEXT is fully human/event-gated, so LATER is
in play per LOOP.md). Bullet deleted.