Normalize structured and raw IB errors without indexing strings as
message dictionaries.
Deats,
- match each error form before request-id handling;
- parse `[code N]` and `[Errno N]` prefixes without crashing;
- cover raw errors through `deliver_trade_events()`.
Prompt-IO: ai/prompt-io/opencode/20260828T063126Z_1606122b_prompt_io.md
(this patch was generated in some part by `opencode` using `gpt-5.6-sol` (`openai`))