55 lines
2.0 KiB
Markdown
55 lines
2.0 KiB
Markdown
---
|
|
created_at: 2026-10-28T18:08:56Z
|
|
generated_by:
|
|
harness: opencode
|
|
provider: openai
|
|
model: openai/gpt-6.1-sol
|
|
git_ref: 032580bf
|
|
scope: code
|
|
substantive: true
|
|
raw_file: 20261028T180856Z_032580bf_timeout_phase.raw.md
|
|
---
|
|
|
|
## Prompt
|
|
|
|
The human reported repeated readiness without first-message relay,
|
|
specifically after first attempting an invalid .usdm. FQME and then
|
|
the corrected .usdtm. one. They requested distinct log messages for
|
|
receive starvation versus local backpressure.
|
|
|
|
## Response summary
|
|
|
|
Add phase-specific WARNING messages for each elapsed relay-loop
|
|
deadline, with URL, timeout duration, accumulated count and reset
|
|
threshold. Leave the existing shared receive/send deadline and
|
|
counter/reset semantics intact. Do not claim that connected/ready
|
|
sockets alone establish parsed quote recovery.
|
|
|
|
Read-only invalid-venue tracing found the usd substring check in
|
|
Binance get_mkt_info() accepts USDM while retaining it in MktPair.
|
|
Client.bars() later uses that market identity against canonical
|
|
USDTM keys. Backend stream startup precedes history startup and
|
|
sampler consumption. A relationship to the corrected-feed stall
|
|
still needs runtime evidence; neither venue handling nor task
|
|
lifetime behavior was changed by this diagnostic patch.
|
|
|
|
## Files changed
|
|
|
|
- `piker/data/_web_bs.py`: track and report the timed-out operation.
|
|
- `tests/test_websocket.py`: real silent-source and blocked-sink cases.
|
|
- This prompt provenance pair.
|
|
|
|
## Verification
|
|
|
|
15 selected Binance/websocket cases passed. The new cases exercise
|
|
real TCP, websocket handshake and relay behavior, replacing only
|
|
log observation. A zero-capacity relay deliberately forces the
|
|
local-send case; the source-silent case never receives a payload.
|
|
git diff --check passed. No live provider/daemon operations run.
|
|
|
|
## Human edits
|
|
|
|
No direct source edits observed. The human supplied the critical
|
|
invalid-symbol-then-corrected-symbol trigger and requested the
|
|
phase distinction; live testing and task acceptance remain theirs.
|