b7775b72dc
- subtract_user_balance: only rollback when commit=True, re-raise when commit=False so caller controls transaction lifecycle - log_promo_offer_action: add db.flush() when commit=False to surface constraint errors immediately instead of deferring to caller's commit