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

3.2 KiB
Raw Blame History

🧹 Механизировать правило «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.

Рамки

Внутренний порядок задан: сначала перенос файла во внешний пакет, потом правило, — иначе правило по всем файлам уронит гейт. Норма не пересматривается: правится то, чем она проверяется, а не она сама.