# US-020 — Tracker + node hardening: BrokenPipe fix, deterministic node IDs, HF coverage Status: done Priority: High Stage: Maintenance ## Context First two-machine LAN test (US-018) exposed three reliability issues: 1. `BrokenPipeError` crash in tracker `_send_json` when a slow-inference client disconnected mid-response 2. Random UUID node IDs meant every re-registration (after tracker restart) created a phantom entry 3. `GET /v1/coverage/` returned no results when called with a short name (`Qwen2.5-0.5B`) instead of the full HF repo ID ## Acceptance criteria - [ ] `BrokenPipeError` in tracker and node `_send_json` is silently swallowed - [ ] Node IDs are deterministic: `sha256(wallet_address + str(port))[:16]` - [ ] `GET /v1/coverage/` accepts both short names and full `owner/repo` IDs - [ ] `python -m pytest` passes from repo root