учёт: заведён урожай ревью входа по конфигу

- пять задач партии review-2026-08-23: многозначность Remote-Name и Remote-Email,
  мелочи входа, механизация правила о зависимостях конфига, снятие мёртвого
  читателя .env, управляющие знаки в расширении
- две существующие разведки дополнены находками того же прогона: адрес объекта в
  тексте отказа SpeechKit и выводимость имени копии из журнала
This commit is contained in:
av
2026-08-23 14:03:52 +03:00
parent 0aa9b3a567
commit 11269c1567
8 changed files with 276 additions and 4 deletions
@@ -0,0 +1,42 @@
# 🧹 Механизировать правило «internal/config не знает транспорта»
- **Тип:** chore
- **Категория:** Очередь — Оба правят проверки, которым потом верят: правило направления зависимостей встаёт рядом с покрытием оснастки, до задач, что опираются на зелёный гейт
- **Зачем:** правило записано конвенцией, а сканера у него нет; проект его уже нарушает — go test ./internal/config линкует всю поверхность HTTP, и будущая надобность конфига в транспорте даст цикл импорта на уровне проверок
- **Теги:** review-2026-08-23
Направление зависимостей в проекте держат тесты-сканеры `internal/archrules`, а
не договорённость. У правила «`internal/config` не знает транспорта» сканера нет,
и проект его уже нарушает — файлом проверок, а не рабочим кодом.
Нашёл прогон ревью `config-test-headers-login` 2026-08-23: норма записана в
`docs/conventions/config.md`, а `grep -n "config" internal/archrules/arch_test.go`
не даёт ни одного совпадения. Нарушает её сегодня файл проверок —
`internal/config/test_headers_test.go` объявлен `package config` и импортирует
`internal/controller/http`. В рабочем бинарнике этого ребра нет, но
`go test ./internal/config` линкует всю поверхность HTTP.
## Затрагивает
- `internal/config/test_headers_test.go` — перевод во внешний пакет
`package config_test`;
- `internal/archrules/arch_test.go` — новое правило;
- `docs/conventions/config.md` — источник нормы, которую правило механизирует.
## Критерии приёмки
- Правило существует и зелёное. **Оракул:** `internal/archrules/arch_test.go`
содержит правило «`internal/config` не знает транспорта», и
`go test ./internal/archrules` зелёный.
- Файл проверок объявлен `package config_test`. **Оракул:**
`head -1 internal/config/test_headers_test.go` даёт `package config_test`,
`go test ./internal/config` зелёный.
- Импорта `internal/controller/http` в пакете `config` нет. **Оракул:**
`go list -deps ./internal/config` не содержит `internal/controller/http`, и то
же говорит новое правило `internal/archrules`.
## Рамки
Внутренний порядок задан: сначала перенос файла во внешний пакет, потом правило,
— иначе правило по всем файлам уронит гейт. Норма не пересматривается: правится
то, чем она проверяется, а не она сама.