CHANGELOG: v0.342.0 released (the upload and CPU watch, the tested line, qBittorrent's limit); REPORT
gates / gates (push) Successful in 1m28s

This commit is contained in:
2026-10-24 10:28:53 +02:00
parent 42cda07b42
commit bddc477e22
2 changed files with 22 additions and 21 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
## v0.342.0 (unreleased — committed 2026-10-23 night, NOT released; a test image `0.342.0-rc.1` for scratch 9202 only) — the upload and CPU watch (operator ruling 2026-10-23 19:22)
## v0.342.0 (2026-10-24) — RELEASED on the operator's yes (attended release run; image sha256:d002d3b7…, from `42cda07`, CI 2283) — the upload and CPU watch, the tested line and qBittorrent's limit
**MinAgent: 0.158.1** (unchanged). **Hub dependency:** the four new event types need hub 0.169.0 (committed the same
night, not built); an older hub answers 400 and the event is dropped (logged), nothing else breaks. Task: the weekend-
+21 -20
View File
@@ -1,27 +1,28 @@
# REPORT — v0.342.0 (unreleased): the upload and CPU watch (2026-10-23 night)
# REPORT — v0.342.0 released: the upload and CPU watch, the tested line, qBittorrent's limit (2026-10-24)
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).
Task: the attended release brief (operator rulings 2026-10-24 07:22 / 07:26: D41 = 50 %, D42, the weekly iperf3 line
test). Design: felhom.eu `architecture/08-alarm-ladder.md` §9; the spike `audits/SPIKE-upload-watch-2026-10-23.md`.
## What was built (`a9c1997`, CI run 2270 success)
## What changed since last night's build
- `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).
- The controller reads the host's weekly line test from the agent (`GET /host/line-test`, agent ≥ 0.164.0;
`agentapi.LineTest`): qBittorrent's limit is 50 % of the TESTED line only, the watch judges against the higher of test
and push floor, the system page names the source (`ed1011b`). The start line's wording (`42cda07`).
- MinAgent stays **0.158.1** — an older agent answers 404, read as „not measured" (no limit, the floor stays).
## Live (scratch 9202, `0.342.0-rc.1`, set by hand — never offered to a household)
## Release (the normal path)
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.
1. `0.342.0-rc.2` on scratch 9202: healthy, the watch started (9202 has no local API, so no line there — by design).
2. `0.342.0` built and pushed (sha256:d002d3b7…); per-customer floors for Tester 1, demo-hp, demo-felhom (08:05:59Z,
303 `floor_set`); all three healthy on 0.342.0 by 08:08Z; 0 unhealthy, 0 restarting, 0 errors; https-only rc 0.
3. Each box read its tested line at start: Tester 1 94.3, demo-hp 94.4, demo-felhom 92.6 Mbit/s.
4. demo-felhom's qBittorrent (unlimited before): limit **5 789 696 B/s (46 Mbit/s = 50 %)** at 08:20:56Z — the log,
qBittorrent's own `GlobalUPSpeedLimit=5654` KiB/s and the box's record agree.
5. The global floor: on the operator's yes, after this commit (own save).
## Not done / open
Evidence: felhom.eu `documentation/audits/line-test-2026-10-24/controller-0342-boxes.txt`.
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).
## Not shown live
The family's line on qBittorrent's page (the household's password is not CC's); pinned by
`TestUpwatch_QBLimitLineOnQBittorrentsPageOnly`.