- DECISIONS.md (4040 строк, 65 тем) → decisions/, файл на тему плюс указатель; - буквенные метки решений заменены сквозными Р1–Р234, следствия получили префикс С при прежних номерах: схема букв выродилась до пятибуквенных и сломалась — `АЕАКЛ` была занята и темой 53, и темой 65; - 42 перекрёстные ссылки переписаны под новые номера и стали живыми; где номер означал тему, а слово стояло «решение», формулировка исправлена.
36 lines
3.0 KiB
Markdown
36 lines
3.0 KiB
Markdown
# 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. Слово, уже значащее что-то в предметной области проекта, нельзя брать
|
||
именем роли конвейера.** «Гейт» принадлежит проекту раньше, чем ревью, и спор за
|
||
него ревью проигрывает.
|