test / test (push) Has been cancelled
- Lock per-campagna in dm_cycle: serializza le richieste per la stessa campagna, evitando che due DM cycle leggano stato stale e si sovrascrivano - begin_write()/end_write() in db.py per lock scritture - _conn_lock finalmente usato (era definito ma mai acquisito) - 72 test, tutti passano