a7a18dd0d1
subtract_user_balance() делает внутренний коммит, что освобождает SELECT FOR UPDATE блокировки. Добавлен паттерн re-lock + re-validate + refund после вызова subtract_user_balance во всех 8 путях мутации device_limit: - cabinet: /devices, /devices/purchase, /devices/reduce - miniapp: /subscription/devices - bot handlers: execute_change_devices, confirm_add_devices - auto-purchase: _auto_add_devices - CRUD: add_subscription_devices Также добавлен populate_existing=True ко всем SELECT FOR UPDATE запросам для корректного обновления SQLAlchemy identity map.