Files
transcriber/tasks/items/response-assertions-judge-result.md
T

37 lines
3.0 KiB
Markdown

# 🧹 Судить ответ в тестах по готовому ответу
- **Тип:** chore
- **Категория:** Очередь
- **Зачем:** Проверка, читающая изменяемую карту заголовков обработчика, зелена при неработающем коде: класс всплыл трижды, последний раз на уборке куки входа.
Найдено ревью задачи `oidc-login` 2026-08-12, отчёт триажа —
[review/report.md](../../openspec/changes/archive/2026-08-12-oidc-login/review/report.md),
раздел «Promote candidates», первый пункт.
Инструмент проверки устроен зеркально настоящему серверу: у сервера заголовки
фиксируются в момент, когда ответ начинают писать, а у него живая карта остаётся
доступной и после. Проверка, читающая живую карту, видит то, чего клиент не
получит, и остаётся зелёной при любой регрессии в этом месте.
Класс повторяется третий раз — записи журнала дефектов от 2026-08-10, 2026-08-11
и 2026-08-12, — и все три раза стоил зелёного гейта при неработающем поведении.
Отсюда продвижение: правило в конвенции плюс механизация, а после механизации проза
из конвенции убирается.
## Затрагивает
- `docs/conventions/` — новая запись либо раздел существующей: чем судят ответ;
- `docs/conventions/README.md`, перечень механизированного;
- набор шагов `task gate` — место, где живёт проверка правила;
- существующие тесты обработчиков: те, что читают живую карту заголовков.
## Критерии приёмки
- Правило записано в конвенциях одной формулировкой, и названо место
механизации. Оракул — чтение `docs/conventions/README.md`: строка есть, ссылка
ведёт в существующее место.
- Проверка, читающая живую карту заголовков, роняет гейт. Оракул — завести такую
строку в любом тесте и прогнать гейт: ненулевой код возврата.
- Проза из конвенции убрана после механизации, а не осталась дублем. Оракул —
чтение записи: правило названо один раз, дальше ссылка на механизацию.