Seals over sweeps
A sweep is a guard you add after a bug. A seal is a change that makes the bug impossible to write.
Most teams sweep. A null check here, a retry there, a comment that says “do not call this twice.” Each one is a small tax paid forever. And each one hides the fact that the convention underneath is broken.
The rule I run: on the first occurrence, decide seal or guard. If the defect lives in a convention, a naming scheme, an idempotency rule, a classification of an open set, it gets a seal. One writer. One trigger. The guards get deleted.
Do not wait for the second occurrence. The second occurrence is the one that ships.