hyperhive/hive-ag3nt
iris d73175a23e harness: keep retrying web-UI bind on AddrInUse
The retry was capped at 12 attempts (~20s of exponential backoff
capped at 2s). Two back-to-back nspawn restarts in #324 left the
previous socket holding the port longer than that budget; once the
cap fired, the web-UI task returned an error and silently died for
the rest of the process lifetime — the agent kept running fine
otherwise (MCP, turn loop), but the operator's dashboard click
hit nothing.

Genuine port collisions are preflighted host-side
(lifecycle::{spawn,rebuild}) and surfaced as a port-conflict banner,
so at this layer a persistent AddrInUse always reflects a
recoverable stale socket. Drop the cap, keep retrying forever with
the same 2s-capped backoff. WARN for the first dozen attempts so a
normal restart-race is visible; INFO after that to avoid spamming
the journal during a long stale-socket hold. Logs a one-line INFO
on success when we did have to retry, so post-mortems can find the
attempt count.

Closes #324.
2026-05-23 02:19:14 +02:00
..
assets dashboard+agent: agent backend owns its nav links; dashboard proxies 2026-05-23 02:11:40 +02:00
prompts apply_commit handles first-time spawns, request_spawn deprecated 2026-05-22 10:52:02 +02:00
src harness: keep retrying web-UI bind on AddrInUse 2026-05-23 02:19:14 +02:00
Cargo.toml feat: poll forge notifications in agent harness 2026-05-20 17:59:56 +02:00