37 lines
3.0 KiB
Markdown
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`: строка есть, ссылка
|
|
ведёт в существующее место.
|
|
- Проверка, читающая живую карту заголовков, роняет гейт. Оракул — завести такую
|
|
строку в любом тесте и прогнать гейт: ненулевой код возврата.
|
|
- Проза из конвенции убрана после механизации, а не осталась дублем. Оракул —
|
|
чтение записи: правило названо один раз, дальше ссылка на механизацию.
|