{"record":{"id":"70b2c5d479350317","repo":"openai/codex","slug":"incremental-inference-request-inference-call-id","errorCode":null,"errorMessage":"incremental inference request {inference_call_id} referenced unknown previous_response_id {previous_response_id}","messagePattern":"incremental inference request (.+?) referenced unknown previous_response_id (.+?)","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"codex-rs/rollout-trace/src/reducer/conversation.rs","lineNumber":88,"sourceCode":"            // Streaming follow-up requests can send only the new input plus a\n            // `previous_response_id`. The trace model still exposes the full\n            // model-visible input, so rebuild the omitted prefix from the\n            // previous request and response before reducing this delta.\n            let previous_items = self\n                .rollout\n                .inference_calls\n                .values()\n                .find(|inference| {\n                    inference.thread_id == thread_id\n                        && inference.response_id.as_deref() == Some(previous_response_id)\n                })\n                .map(|inference| {\n                    let mut ids = inference.request_item_ids.clone();\n                    ids.extend(inference.response_item_ids.clone());\n                    ids\n                });\n            let Some(mut item_ids) = previous_items else {\n                bail!(\n                    \"incremental inference request {inference_call_id} referenced unknown previous_response_id {previous_response_id}\"\n                );\n            };\n            let delta_item_ids = self.reconcile_conversation_items(\n                items,\n                ReconcileItems {\n                    thread_id,\n                    codex_turn_id,\n                    wall_time_unix_ms,\n                    produced_by: Vec::new(),\n                    start_index: item_ids.len(),\n                    mode: ReconcileMode::AppendOnly,\n                    snapshot_override: None,\n                },\n            )?;\n            item_ids.extend(delta_item_ids);\n            item_ids\n        } else {","sourceCodeStart":70,"sourceCodeEnd":106,"githubUrl":"https://github.com/openai/codex/blob/339751715c64496cb86246bfb3935f40e309dd3d/codex-rs/rollout-trace/src/reducer/conversation.rs#L70-L106","documentation":"Error \"incremental inference request {inference_call_id} referenced unknown previous_response_id {previous_response_id}\" thrown in openai/codex.","triggerScenarios":"Thrown at codex-rs/rollout-trace/src/reducer/conversation.rs:88 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"339751715c64496cb86246bfb3935f40e309dd3d","analyzedAt":"2026-08-25T05:35:09.876Z","schemaVersion":2},"datasetVersion":"2026-08-25T06:17:31.827Z"}