Files
felhom-controller/REPORT.md
T

1.9 KiB
Raw Blame History

REPORT — v0.342.0 (unreleased): the upload and CPU watch (2026-10-23 night)

Task: the weekend-night brief, Part 2 (spike → design → build, commit only). Operator ruling 2026-10-23 19:22. Design: felhom.eu documentation/architecture/08-alarm-ladder.md §9 [DESIGN — proposed]. Spike, numbers and live proofs: felhom.eu documentation/audits/SPIKE-upload-watch-2026-10-23.md. Baseline: 277e998 (0.341.0, released).

What was built (a9c1997, CI run 2270 success)

  • internal/upwatch: exact per-container counters (Docker Engine API), per-app judging (upload ≥ max(5 Mbit/s, 25 % of the line) for 15 min; CPU ≥ max(150 %, 50 % × cores) for 30 min), explainers qBittorrent / Transmission / Plex, app_unexplained_upload / app_unexplained_cpu + _cleared (operator-only on hub 0.169.0), the line from a one-second sample of the off-site push, qBittorrent's default limit (50 %, the household's limit always wins).
  • One line on the system settings page (the measured line), one on qBittorrent's page (the limit, while the box owns it).
  • 18 new tests; 20 mutations each seen failing (CHANGELOG lists them); the system page's four frozen Hungarian renders gained one row each (diffed: nothing else moved).

Live (scratch 9202, 0.342.0-rc.1, set by hand — never offered to a household)

The limit set (19:47:42Z); a real seed judged explained (20:04:42); a CPU burner in Plex alarmed once at 30 min (20:07:42) and cleared once (20:25:41); a flood from inside qBittorrent hidden behind the real seed alarmed once (20:19:42: 65.0 Mbit/s sent, 20.0 counted) and cleared once (20:41:41); a limit changed by hand was left alone (20:32:42). 9202 is back on 0.341.0.

Not done / open

Not released (R-1244, the operator's yes; R-1245 the limit size; R-1246 who is told). The line is a lower bound (R-1247); an app's API can lie (R-1248: a tc ceiling, measured, not built). MinAgent unchanged (0.158.1).