test(checks): #44 doctor hardware section — headless guard
All checks were successful
Check / eval (push) Successful in 3m24s

Extend checks.doctor: the bare test VM lacks every probe tool, so the
healthy nomarchy-doctor run drives all six hardware checks in skip mode.
Assert the self-gated skip rows appear (NetworkManager, fingerprint,
fwupd, VA-API) and the sheet still exits 0 — proving the section runs
without erroring under set -euo pipefail. No node changes.

Verified V2: nix build .#checks.x86_64-linux.doctor passes. Closes #44.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Bernardo Magri
2026-07-09 19:59:32 +01:00
parent c40c74e640
commit f606c78fcf
3 changed files with 20 additions and 10 deletions

View File

@@ -43,15 +43,6 @@ Core shipped 2026-07-09: self-gated **System ▸ Firmware** rofi row
Waybar/updates-panel integration. (The doctor "updates available"
check is item #44.) Spec: docs/HARDWARE.md §4.
### 44. Doctor hardware section — V2 checks.doctor extension
Six read-only hardware checks shipped 2026-07-09 (NetworkManager,
PipeWire sink, VA-API/GL smoke, fprintd, fwupd + get-updates warn,
charge-threshold), all self-gating; V1 (doctor package builds:
bash -n + shellcheck) + a real-hardware read-only smoke on the dev box.
**Remaining V2:** extend the `checks.doctor` nixosTest with fakes to
cover the new rows headlessly; pin the fwupd `get-updates` exit-code
semantics (0 = updates) in that fake. Spec: docs/HARDWARE.md §10.
### 14. Automated lock bumps — confirm the first real run
Slices b+c shipped 2026-07-05 (`.gitea/workflows/bump.yml`): weekly
schedule (Mon 05:17 UTC) + `workflow_dispatch` as the security

View File

@@ -17,6 +17,18 @@ Template:
---
## 2026-07-09 — #44 V2: checks.doctor guards the hardware section
- **Task:** close #44's V2 (was V1 + real-hw smoke). Extend `checks.doctor`.
- **Did:** The bare test VM has none of the probe tools, so the existing
healthy `nomarchy-doctor` run already drives all six hardware checks in
skip mode. Added assertions that the skip rows appear (NetworkManager,
fingerprint, fwupd, VA-API) and the sheet still exits 0 — i.e. the section
runs without erroring under `set -euo pipefail`. No node changes (no closure
bump); the *fires* paths keep the agent's real-hardware evidence.
- **Verified:** **V2**`nix build .#checks.x86_64-linux.doctor` passes.
Permanent headless regression guard now in place.
- **Next:** #43 System-menu render (Firmware row).
## 2026-07-09 — #53 theme previews + neon-glass quarantine
- **Task:** NEXT #53 — capture the last two missing previews + resolve the
neon-glass broken whole-swap. Product call: **quarantine**.