# R-1250 live proof, demo-hp, 2026-10-24 — probes built from agent 1e087bb and controller 046b808 (clean clones; not committed probes: the agent's linetest.Tester behind the two routes as plain HTTP on the host; the controller's upwatch.Service hold inside 9202's controller container against the real qBittorrent 5.2.4)
# Seed: a private LAN-only 2 GiB torrent made by 9202's qBittorrent, downloaded by DooPlex's k3s qBittorrent (operator's offer) through a TCP+UDP forwarder on 9202's :6881; 9202's own limit 1250000 B/s (stored 1249280) stands in for the household's

== 11:40:14 0. before: uplink "mbps_5s":11.4927312; agent: {"data":{"present":false,"waiting_for_quiet":true},"ok":true}
qbittorrent limit {Bytes:1249280 Enabled:false KBps:0} err=<nil>
store: 
== 11:40:21 1. CONTROL — a test on request WITHOUT the hold (the seed keeps uploading):
{"data":{"error":"the uplink sent 11.1 Mbit/s while held","ok":false,"refused":"not-quiet"},"ok":true}

== 11:40:36 2. a controller killed in the middle (kill -9 while the agent call runs):
2026/10/24 11:40:37 probe: agent waiting_for_quiet=true
2026/10/24 11:40:37 [INFO] [upwatch] line test: qbittorrent held at {Bytes:1024 Enabled:false KBps:0} (was {Bytes:1249280 Enabled:false KBps:0}) — asking the agent for a test
2026/10/24 11:40:37 probe: killmid — sleeping inside the agent call; kill -9 me now
   after the kill: uplink "mbps_5s":0.0409568
qbittorrent limit {Bytes:1024 Enabled:false KBps:0} err=<nil>
store: {"line_test_hold":{"app":"qbittorrent","prev":{"bytes":1249280},"held":{"bytes":1024},"at":"2026-10-24T11:40:37Z"}}
== 11:40:52 3. the restarted controller's start-up check:
2026/10/24 11:40:53 [INFO] [upwatch] qbittorrent was left at the line-test value (since 2026-10-24T11:40:37Z) — putting its limit back
2026/10/24 11:40:53 [INFO] [upwatch] qbittorrent's upload limit is back as it was ({Bytes:1249280 Enabled:false KBps:0})
RecoverHold -> true
store: {}
qbittorrent limit {Bytes:1249280 Enabled:false KBps:0} err=<nil>
store: {}
   uplink "mbps_5s":10.6444544
== 11:41:00 4. the real hold: SeedLineTestNow (sampling the uplink every 5 s alongside):
2026/10/24 11:41:01 probe: agent waiting_for_quiet=true
2026/10/24 11:41:01 [INFO] [upwatch] line test: qbittorrent held at {Bytes:1024 Enabled:false KBps:0} (was {Bytes:1249280 Enabled:false KBps:0}) — asking the agent for a test
   11:41:00 uplink "mbps_5s":2.6076112
   11:41:05 uplink "mbps_5s":0.0209008
   11:41:10 uplink "mbps_5s":0.164744
   11:41:15 uplink "mbps_5s":69.2326144
   11:41:20 uplink "mbps_5s":104.54756
   11:41:25 uplink "mbps_5s":34.787547200000006
   11:41:30 uplink "mbps_5s":58.9638304
   11:41:35 uplink "mbps_5s":100.62775359999999
   11:41:40 uplink "mbps_5s":40.3203488
   11:41:45 uplink "mbps_5s":57.652910399999996
   11:41:50 uplink "mbps_5s":104.8901584
2026/10/24 11:41:57 [INFO] [upwatch] qbittorrent's upload limit is back as it was ({Bytes:1249280 Enabled:false KBps:0})
2026/10/24 11:41:57 [INFO] [upwatch] line test on request: 94.2 Mbit/s
SeedLineTestNow returned after 56.8 s
store: {}
   11:41:55 uplink "mbps_5s":50.785411200000006
   11:42:00 uplink "mbps_5s":10.329262400000001
   11:42:05 uplink "mbps_5s":11.0489872
== 11:42:10 5. after: agent: {"data":{"mbps":94.16292344340873,"measured_at":"2026-10-24T11:41:16Z","present":true,"waiting_for_quiet":false},"ok":true}
qbittorrent limit {Bytes:1249280 Enabled:false KBps:0} err=<nil>
store: {}
   uplink "mbps_5s":10.612328

## agent probe log (the requested test)
time=2026-10-24T13:40:36.092+02:00 level=INFO msg="linetest: test on request refused — the uplink is not quiet" mbps=11.1
time=2026-10-24T13:40:36.092+02:00 level=INFO msg="probe: POST /host/line-test/run" seconds=15.014445708 mbps=0 err="linetest: not-quiet: the uplink sent 11.1 Mbit/s while held"
time=2026-10-24T13:41:16.501+02:00 level=INFO msg="linetest: test on request (a held torrent app, R-1250)" server=10.77.0.1:5201
time=2026-10-24T13:41:26.830+02:00 level=INFO msg="linetest: run 1: 93.6 Mbit/s" server=10.77.0.1:5201 server_bytes=117571584 server_seconds=10.049774
time=2026-10-24T13:41:42.187+02:00 level=INFO msg="linetest: run 2: 89.6 Mbit/s" server=10.77.0.1:5201 server_bytes=112590848 server_seconds=10.056309
time=2026-10-24T13:41:57.557+02:00 level=INFO msg="linetest: run 3: 94.2 Mbit/s" server=10.77.0.1:5201 server_bytes=118358016 server_seconds=10.055594
time=2026-10-24T13:41:57.557+02:00 level=INFO msg="linetest: upload line measured: 94.2 Mbit/s (best of 3)" server=10.77.0.1:5201 runs=3 duration_s=41.05557078
time=2026-10-24T13:41:57.557+02:00 level=INFO msg="probe: POST /host/line-test/run" seconds=56.058478583 mbps=94.16292344340873 err=<nil>
