event_supersedes_pending_final ne fait plus annuler le final en attente par tout événement autre que Heartbeat/RateLimited/turn-progress: seuls un progress non-turn Started/Delta, un ToolActivity ou un Error annulent. Le buffering agent_message survive ainsi jusqu'au flush a turn.completed (regréssion codex_agent_message_survives_late_completed_item_as_final).