Причина: save_run всегда делал INSERT, сценарий вызывал его дважды (до поллинга RUNNING, после OK) → две строки в БД. Исправление: - init_db.py: частичный уникальный индекс idx_runs_op_uid - save_run.py: INSERT ... ON CONFLICT (op_uid) DO UPDATE (статус, длительность, ошибка, этапы, meta — обновляются)