A flat-lane history (thread_id=None) returned frames from ALL threads, so auto-threaded messages leaked into the flat lane on restart. Deleting them from the flat lane then sent thread_id=None, which matched nothing in outbox.delete_message/message_info (exact lane match) -> removed=0, no session-store purge, and the messages resurrected from the outbox on the next app restart. - history: exact lane match (flat lane shows only flat-lane frames, per docs/06 §6.3) - delete_message / message_info: fall back to the unique message_id (uuid4) when the exact lane matches nothing, so deletes with a stale/missing thread_id still remove the frames and the purge finds its row