Files
dev-skills/decisions/37-gate-and-autotests-one-name.md
T
av bf6a173115 журнал решений: разложен по теме на файл, метки решений стали номерами
- DECISIONS.md (4040 строк, 65 тем) → decisions/, файл на тему плюс указатель;
- буквенные метки решений заменены сквозными Р1–Р234, следствия получили
  префикс С при прежних номерах: схема букв выродилась до пятибуквенных и
  сломалась — `АЕАКЛ` была занята и темой 53, и темой 65;
- 42 перекрёстные ссылки переписаны под новые номера и стали живыми; где номер
  означал тему, а слово стояло «решение», формулировка исправлена.
2026-08-13 12:40:56 +03:00

36 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 37. `gate` и `autotests` сведены к одному имени (2026-08-07)
Тема звалась `autotests`, закрывающий её проход — `gate`, и на всех трёх
ступенях это была одна и та же клетка таблицы. Одна сущность под двумя именами —
та же ошибка, что и два разных под одним, только тише: она не путает, а
**теряет**. Вопрос проекта в `docs/review.*` адресуется теме; адресованный
проходу — не приезжает никуда, и ровно этот отказ уже случился однажды с `ops`
(тема 36, [Р155](36-review-topics-project-docs.md)).
**Р156. Победило имя темы, а не имя прохода.** Три довода, по убыванию веса:
1. **Тема первична (правило 0), а имена тем — это имена документов.**
`docs/autotests.md` проект напишет: что покрыто, что нарочно нет, где
`testdata`. `docs/gate.md` не напишет никто — гейт это команда, а не предмет.
2. **Слово «гейт» уже занято дважды** — команда проекта и ребро графа («пока гейт
красный, проходы с мнением не идут»). Третье значение сделало бы отчёт нечитаемым:
«гейт красный» и «гейт нашёл» — про разное.
3. **Тема шире гейта.** «Хватает ли проверок» и «чего в гейте намеренно нет» за
пределы красного/зелёного выходят. Назвать целое именем инструмента — тихо его
сузить.
Цена названа честно: `autotests` звучит уже своего содержимого — линт, типы,
сканер уязвимостей тестами не являются. Гасится строкой в уставе: тема — это
«проверено ли машиной», а не «есть ли тесты», и гейт в ней инструмент, а не
граница.
## Что из этого следует
**С141. Тема и проход, совпадающие один в один на всех ступенях, обязаны носить
одно имя.** Пока имён два, у сущности два адреса, а адресуют её по одному — и
какой из двух окажется живым, решает случай.
**С142. Слово, уже значащее что-то в предметной области проекта, нельзя брать
именем роли конвейера.** «Гейт» принадлежит проекту раньше, чем ревью, и спор за
него ревью проигрывает.