diff --git a/REPORT.md b/REPORT.md index 9d443cc..63868b0 100644 --- a/REPORT.md +++ b/REPORT.md @@ -1,28 +1,17 @@ -# REPORT — 2026-10-24 (attended release run): agent 0.164.0 — the weekly upload line test (R-1247) +# REPORT — a test on request for a box that seeds all day (R-1250), 2026-10-24 (attended) -**What:** the operator's line-measure ruling (2026-10-24 07:26): once a week the host measures its upload line with a -10-second iperf3 upload to ep0's tunnel-only server. The agent speaks iperf3 itself (the operator's pick — no host has the -program). Design read: felhom.eu `06` §4.5/§5 (the tunnel, the endpoint), `08` §9 (the watch that uses the line). +Brief: „two DooPlex backup alarms …", Part 4 (commit only; the release rides the next normal train and needs the +operator's vouch). Commits `29bcf44` (CI 2286 success) and `1e087bb` (CI 2288 success). Not released. -## Built (`f7e1dcb`, CI 2277 green) - -- `internal/linetest`: `Client` (the iperf3 3.x client protocol; the value is the SERVER's received bytes) and `Tester` - (Tuesday 10:00–15:59 local from a per-host slot; a never-measured host is due at once inside the window; 10 quiet - minutes of the physical uplink; the one-heavy-op gate; best of 3; busy → later the same day, ≤ 6 tries/day; no tunnel → - no test). `line_test` report stanza; `GET /host/line-test`; `wgtunnel.Manager.LineTestTarget`; `line_test.disable`. -- 15 tests, each red-proved by a mutation (listed in the CHANGELOG entry). - -## Released and delivered - -`release-agent.sh 0.164.0` from a fresh clone: tag `v0.164.0`, sha256 `1b803d8b…`, bundle `1d7b54d3…`, verified by -download. One signed `agent_update` per test box → COMPLETED, self-check 76/76, committed (07:33Z demo-hp, 07:34Z Tester 1, -07:40Z demo-felhom). **Vouched by the operator** (read back: the hub page and the hub's `Artifact manifest set` line). - -## Proven live - -A probe built from this package on demo-hp's host: **90.7 Mbit/s** in 10.4 s; a second test 2 s later → „server busy" in -0.1 s, the first undisturbed. ep0's port answers only in the tunnel. The boxes' own first tests follow the window. - -## Open - -R-1250 — a qBittorrent that seeds all day keeps the uplink from being quiet, so that host is never tested. +- **What:** `GET /host/line-test` reports `waiting_for_quiet` (due, in the window, tries left, tunnel up, the full + 10-minute window watched and busy). `POST /host/line-test/run` runs one measurement on request while the controller + holds its torrent app: every weekly rule holds except the 10 quiet minutes, which become a 5 s settle and a 10 s quiet + check (< 2 Mbit/s); runs 5 s apart; about 55 s. Refusals answer a code; a failed request spends one of the day's tries. +- **Found live and fixed (`1e087bb`):** a freshly started tester said `waiting_for_quiet` before it had watched a + minute — a quiet box's app would have been held for nothing. Now it needs the full window. +- **Tests:** 7 new, each seen failing (CHANGELOG lists them); a compile-time assertion that the Tester serves the route. +- **Live (demo-hp host, a probe built from `1e087bb` running the real `Tester` with its minute watcher, plain HTTP):** + a real 10 Mbit/s torrent seed → `waiting_for_quiet` after 11 samples (worst minute 10.8); the control request refused + `not-quiet` (11.1 Mbit/s); with the controller's hold: runs 93.6 / 89.6 / 94.2 Mbit/s, the request 56.1 s. Evidence: + felhom.eu `audits/dooplex-alarms-2026-10-24/part4-r1250-live-proof.txt`. +- **Teardown:** the probe stopped and deleted from demo-hp; no iperf3 left running; the installed agent (0.164.0) untouched.