--- model: openai/gpt-5.6-sol service: opencode timestamp: 2026-08-26T22:26:00Z git_ref: 5f631e19 diff_cmd: git diff HEAD~1..HEAD --- ## Prompt The user reported that selecting `NVDAUSDT.USDTM.PERP.BINANCE` connected Binance's USD-M websocket but never loaded the feed or downstream chart. They asked OpenCode to compare Binance's API changelog with piker's FQME and feed code, diagnose the failure, and solve it. The user clarified that future provider failures must raise loudly instead of silently blocking feed and chart startup. They also confirmed the same hang from `piker -l info --pdb chart nvdausdt.usdtm.perp.binance`. ## Generated code > `git diff HEAD~1..HEAD -- piker/brokers/binance/feed.py` Routes USD-M book-ticker and aggregate-trade data through Binance's new `/public` and `/market` websocket paths, merges both sockets into the existing quote stream, accepts the new `st` aggregate-trade field, and requires both stream classes before declaring startup complete. It also removes the misleading missing-provider warning, derives feed mode from resolved pair metadata, and raises `DataUnavailable` for connection or live-data startup timeouts. > `git diff HEAD~1..HEAD -- piker/brokers/binance/venues.py` Defines Binance's current public and market USD-M websocket endpoints and makes the market endpoint the regular futures websocket API root. > `git diff HEAD~1..HEAD -- piker/data/_web_bs.py` Adds an optional connection deadline to `open_autorecon_ws()` so callers can fail context entry when repeated websocket handshakes never become connected. > `git diff HEAD~1..HEAD -- tests/test_binance.py` Adds regressions for exact Binance stream routing, silent live-data startup, silent websocket connection startup, and the current USD-M aggregate-trade payload schema. ## Verification output `pytest -q tests/test_binance.py` passes all four tests. Compile checks, focused Ruff fatal-error checks, and `git diff --check` pass. Live probes through piker's merged stream received both required stream classes and returned normalized trade quotes for `NVDAUSDT` USD-M and `BTCUSDT` spot.