ON CONFLICT требовал уникальный индекс idx_runs_op_uid, который не всегда создавался (мультистейтмент SQL в psycopg2). → save_run падал молча → история пустая. Новый подход: UPDATE по op_uid, если rowcount==0 → INSERT. Не зависит от индексов, работает всегда.