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

48 lines
4.0 KiB
Markdown

# 🧹 Разобрать мелочи входа по доверенному заголовку
- **Тип:** 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` одевает четыре.
## Рамки
Поведение сервиса не меняется ни одним пунктом. Имя ключа конфига не трогается:
правится место, где задано его умолчание, а не сам ключ.