An upstream bug delivered a 'before window' count larger than the total, so the transform computed -5.0 logins — and the gate stamped it OK, because the gate checks NOTHING: the errs list is hardcoded empty. Implement the check against the CONTRACT so the transformed row actually gets validated before it reaches a model.
The break is on line 9 — but read the whole snippet first.