{"record":{"id":"96fccf6844757f29","repo":"nautechsystems/nautilus_trader","slug":"order-reports-order-list-id-expected","errorCode":null,"errorMessage":"order {} reports order-list ID {:?}, expected {}","messagePattern":"order (.+?) reports order-list ID (.+?), expected (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/adapters/binance/src/spot/execution.rs","lineNumber":2572,"sourceCode":"    let mut list_orders = AHashMap::with_capacity(response.orders.len());\n    for order in response.orders {\n        anyhow::ensure!(\n            order.symbol == response.symbol,\n            \"order list {} contains order {} for symbol {}, expected {}\",\n            response.order_list_id,\n            order.order_id,\n            order.symbol,\n            response.symbol,\n        );\n        anyhow::ensure!(\n            list_orders.insert(order.order_id, order).is_none(),\n            \"order list {} contains a duplicate order ID\",\n            response.order_list_id,\n        );\n    }\n\n    for report in response.order_reports {\n        anyhow::ensure!(\n            report.order_list_id == Some(response.order_list_id),\n            \"order {} reports order-list ID {:?}, expected {}\",\n            report.order_id,\n            report.order_list_id,\n            response.order_list_id,\n        );\n        let order = list_orders.remove(&report.order_id).with_context(|| {\n            format!(\n                \"order-list report {} is absent from list {}\",\n                report.order_id, response.order_list_id\n            )\n        })?;\n        anyhow::ensure!(\n            report.symbol == response.symbol\n                && report.symbol == order.symbol\n                && report.orig_client_order_id == order.client_order_id,\n            \"order-list report {} does not match its order identity\",\n            report.order_id,","sourceCodeStart":2554,"sourceCodeEnd":2590,"githubUrl":"https://github.com/nautechsystems/nautilus_trader/blob/18893faf8b356be3320add8de2f861b0b647cf06/crates/adapters/binance/src/spot/execution.rs#L2554-L2590","documentation":"When preparing cancels for an order list, every child cancel report must reference the parent list via its orderListId. This error fires when a report's order_list_id is None or a different list ID than the response's top-level order_list_id, meaning the report cannot be attributed to the list being canceled.","triggerScenarios":"Binance cancel-open-orders OrderList response contains an order_report whose orderListId field is missing (None) or points to a different order list than response.order_list_id — e.g. from schema decode drift, truncated SBE fields, or an exchange-side anomaly.","commonSituations":"Adapter version lagging a Binance SBE schema change so optional fields decode as None; corrupted/partial payload delivery; mixing responses from concurrent cancel requests.","solutions":["Update the nautilus_binance adapter and nautilus_trader to versions matching the current Binance SBE schema","Log report.order_id and the reported order_list_id alongside the expected ID and report upstream if reproducible","Retry the request to rule out transient payload corruption","Avoid issuing overlapping cancel-all requests for the same account concurrently"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"if let Some(bad) = response.order_reports.iter().find(|r| r.order_list_id != Some(response.order_list_id)) {\n    return Err(anyhow!(\"report {} has list id {:?}\", bad.order_id, bad.order_list_id));\n}","typeGuard":"fn reports_belong_to_list(resp: &BinanceCancelOrderListResponse) -> bool {\n    resp.order_reports.iter().all(|r| r.order_list_id == Some(resp.order_list_id))\n}","tryCatchPattern":"match prepare_cancel_all_orders(...) {\n    Ok(p) => handle(p),\n    Err(e) if e.to_string().contains(\"order-list ID\") => log::error!(\"report attribution failure: {e}\"),\n    Err(e) => return Err(e),\n}","preventionTips":["Update the adapter when Binance ships SBE schema changes","Do not run overlapping cancel-all requests on the same account","Verify optional orderListId fields decode non-None with your adapter version"],"tags":["binance","validation","order-list","mismatched-identifier"],"backgroundTag":"unexpected-api-response-shape","analyzedSha":"18893faf8b356be3320add8de2f861b0b647cf06","analyzedAt":"2026-09-08T20:49:34.690Z","contentChangedAt":"2026-09-08T20:49:34.690Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}