OpenRiot v7.9.68 — The Machine Checks Itself
“The construct had a panel for everything it could do and nothing for what it had become. It could stand the tunnel up and never ask why it felt slow. It could hold a hundred gigabytes of nothing on a full disk and call it fine. So we gave it a mirror: eight questions it asks about itself, in plain sight, on a timer. The Turing Police would call it a ‘self-auditing posture assessment’ and charge a seat license for the privilege of reading your own logs. We call it the machine finally looking at its own face.” — The OpenRiot Crew, v7.9.68
Release Overview
The Control Center gains a Health section: eight read-only checks that watch for the things that cause panics, security holes, slowness and leaks. Issues are shown first and fixed one at a time, on your say-so.
Total changes: the Health panel, two corrected checks, and a handful of small fixes.
🩺 The Health Panel
Health is the seventh room in the Control Center. It runs read-only probes every few seconds and lists one row per check:
Syspatch OK up to date
Disk OK / 22 GB free
Firewall OK pf enabled
doas OK safe
Swap OK 0% used
Kernel OK in sync
Packages OK in sync
Crashes FAIL unclean filesystem
Nothing auto-applies. Move to a row, press enter, and it runs
that row’s fix in the background while the panel keeps
breathing. Where a fix can’t be applied safely, the row is
report-only and says so instead of pretending.
📊 The Eight Questions
| Check | Looks for | Fix |
|---|---|---|
| Syspatch | pending security patches | doas syspatch |
| Disk | least free space on /, /home, /var | report |
| Firewall | pf enabled | enable pf |
| doas | /etc/doas.conf perms | report |
| Swap | swap pressure | report |
| Kernel | kernel/package drift (panics) | guided upgrade |
| Packages | drift vs packages.yaml | reinstall |
| Crashes | panics, unclean fs, core dumps | report |
Some of these are deliberately report-only. If /etc/doas.conf
is wrong, doas itself refuses to run, so doas cannot fix doas.
An unclean filesystem needs single-user fsck, not a keypress.
The machine tells the truth and leaves the dangerous parts to
you.
🔍 Two Lies the First Draft Told
The Disk check first measured free space as a percentage. It
flagged /home as a failure at 4% while 150 GB sat free on a
large disk. Percentage is the wrong unit: what matters is
whether you are about to run out. It now measures in gigabytes
— failure under 1 GB, warning under 5 GB — so a big disk with a
small percentage is not a problem and a small disk with a small
absolute number is.
The Crashes check first labeled anything suspicious panic in
dmesg — including a harmless-looking line that was actually
WARNING: / was not properly unmounted. That is a filesystem
that was not cleanly closed, not a panic. It now names what it
found: panic logged or unclean filesystem.
A check that cries wolf is worse than no check. Both were fixed before they could teach you to ignore the panel.
⚙️ Small Fixes
- The Screen Recording row in System now hides unless a recording is actually running; an idle “not recording” row was noise.
- The Control Center keybinding was bound to
Space; i3’s keysym is lowercasespace. The chord silently did nothing. It launches now. - The panel calls the binary by path, not by hoping
PATHis set in a GUI session.
🧾 Files Changed
| File | Change |
|---|---|
source/control/health.go |
NEW — checks, status, fixes |
source/control/model.go |
Health section + state |
source/control/update.go |
Health messages, routing, fix |
| handling; System item count | |
source/control/view.go |
Health rendering; recording |
| auto-hide | |
source/control/backend.go |
Package reinstall launcher |
source/control/update_test.go |
Tests for each check’s logic |
source/update/update.go |
KernelDrift() exported |
config/i3/keybindings.conf |
space keysym fix |
README.md |
Release-notes TOC |
🗣️ Final Words
“The construct can watch the network and the disk and the battery. It should also be able to watch itself. A check that lies about a full disk is a check you learn to ignore, and a panel you ignore is a panel that isn’t there. The Turing Police will keep selling you dashboards that phone home. We kept the mirror in the room and the logs on the machine.” — The OpenRiot Crew, v7.9.68