После мержа платёжного роутера (#3231) perimeter-smoke стал красным на проде:
FAIL: trade-in payments/notify — 401 anonymous (rbac закрыт до PR-D3)
gendsgn.ru/.../payments/notify -> got '405', expected 401
Это НЕ поломка, а срабатывание канарейки, которую сам скрипт и обещал:
«осознанно станет красной, когда PR-D3 явно откроет эти пути — тогда ожидания
здесь надо обновить вместе с ними». Я смержил PR-D3 и ожидание не обновил.
Что изменилось по существу: /payments/notify теперь в rbac._PUBLIC_PATHS —
вебхук Т-Банка не умеет присылать X-Authenticated-User, аутентификация там
подписью тела. /payments/checkout НЕ открывался и остаётся под 401.
Проверка переведена с GET на POST: GET по POST-only маршруту даёт 405 и не
говорит ничего ни про rbac, ни про флаг. POST с пустым телом проходит rbac
(иначе 401) и упирается в выключенный контур — 503.
Заодно закрыты три дыры в покрытии смоука, все замерены на проде:
· /stats и /showcase — ручки, из которых лэндинг берёт числа. При их отказе
страница по построению рендерится БЕЗ блоков (честная деградация), то есть
тихо. Ничем другим это не ловится.
· /estimate и /estimate/read — обязаны быть неотличимы от несуществующего
пути при выключенном флаге. До #3233 отвечали 422 с перечнем своих полей.
Путь длинный (/trade-in/api/public/...) намеренно: короткого на публичном
домене нет, а по нему ходит фронт — проба обязана идти рабочим трактом.
Следующая канарейка отмечена в комментарии: при включении PAYMENTS_ENABLED
503 станет отказом по подписи, и ожидание надо будет обновить вместе с флагом.
Прогон на проде: ALL CHECKS PASSED.