The `proxy_msgs()` deadline covers both `ws.get_message()` and `snd.send()`. Repeated socket-ready reports with no first relay could therefore mean either a silent source or a blocked local consumer; the old generic reset log could not distinguish them. Track the currently awaited operation and report its phase, URL, deadline, accumulated timeout count and reset threshold on each timeout. Snapshot `NoBsWs._timeout` once per iteration so the log reflects the deadline that actually elapsed. Keep the existing shared deadline, counter behavior and reconnect policy intact. Add two real loopback regressions: a silent websocket server and one payload blocked on an unconsumed zero-capacity Trio relay. Require the matching timeout phase and URL before the reset budget is exhausted. The 15 selected Binance/websocket cases pass. The human observes this after invalid `.usdm.` startup followed by corrected `.usdtm.` input. Metadata accepts the typo but later history lookup expects canonical keys. Record that investigation as context; this diagnostic patch does not fix FQME validation, failed-startup cleanup or prove the cause of corrected-feed stalls. Prompt-IO: ai/prompt-io/opencode/20261028T180856Z_032580bf_timeout_phase.md (this patch was generated in some part by `opencode` using `gpt-6.1-sol` (`openai`)) |
||
|---|---|---|
| .. | ||
| claude | ||
| opencode | ||
| 20261007T165453Z_bde2457b_prompt_io.md | ||
| 20261007T165453Z_bde2457b_prompt_io.raw.md | ||
| 20261010T232852Z_1fa45dfa_prompt_io.md | ||
| 20261010T232852Z_1fa45dfa_prompt_io.raw.md | ||