Files
transcriber/tasks/items/test-headers-login-nits.md
T
av 11269c1567 учёт: заведён урожай ревью входа по конфигу
- пять задач партии review-2026-08-23: многозначность Remote-Name и Remote-Email,
  мелочи входа, механизация правила о зависимостях конфига, снятие мёртвого
  читателя .env, управляющие знаки в расширении
- две существующие разведки дополнены находками того же прогона: адрес объекта в
  тексте отказа SpeechKit и выводимость имени копии из журнала
2026-08-23 14:03:52 +03:00

4.0 KiB

🧹 Разобрать мелочи входа по доверенному заголовку

  • Тип: chore
  • Категория: Очередь — Место машинное, конец очереди: мелочи ниже потолка триажа никого не держат и ничего не требуют — берутся, когда дойдут
  • Зачем: три пункта ниже потолка триажа остались от одной задачи: функция строки старта не вызвана ни одним тестом, форма записи необязательного поля конфига стала неотличима от обязательного, два комментария описывают снятую подкоманду и не то число звеньев цепочки
  • Теги: review-2026-08-23

Три пункта ниже потолка триажа, оставшиеся от задачи config-test-headers-login. Наблюдаемое поведение сервиса ни один из них не меняет: правится защита от регрессии, форма записи умолчаний и два неверных комментария.

Нашёл прогон ревью config-test-headers-login 2026-08-23.

Затрагивает

  • internal/controller/http/substitute.go — функция имён подставляемых заголовков и её тест;
  • internal/config/config.go, defaultConfig() — форма записи умолчаний необязательного поля;
  • Dockerfile:49-50 — комментарий об исключении cmd/devtools из сборки;
  • internal/controller/http/mounts.go:54-56 — комментарий, перечисляющий звенья цепочки слоёв приложения.

Критерии приёмки

  • Функцию имён подставляемых заголовков зовёт тест. Оракул: SubstitutedHeaderNames не вызвана ни одним тестом (go tool cover -func → 0,0 %). Прогон настоящего бинарника печатает headers=[Remote-User] — имена, не значения: дефекта сегодня нет, нет защиты от регрессии против требования спеки «строка старта MUST не нести значений».
  • Умолчания необязательных полей заданы в одном месте с прочими. Оракул: умолчания Debug и TestHeaders заданы нулём типа, а не в defaultConfig(). Нарушена docs/conventions/config.md, «Структура в коде»: «Умолчания задаются в defaultConfig()… Новое поле требует правки обоих мест», и там же форма обязательного поля — «умолчания нет ни в defaultConfig(), ни по нулевому значению типа».
  • Оба комментария описывают то, что есть. Оракул: комментарий Dockerfile:49-50 объясняет исключение cmd/devtools словами «оснастка разработчика (подставной прокси)», а подкоманды больше нет; приёмочный шаг искал следы по строке devtools proxy и эту не поймал. internal/controller/http/mounts.go:54-56 перечисляет три звена цепочки, тогда как AppChain одевает четыре.

Рамки

Поведение сервиса не меняется ни одним пунктом. Имя ключа конфига не трогается: правится место, где задано его умолчание, а не сам ключ.