# 38. Шов между плагинами: канон не называет имён проходов (2026-08-07) Замечено при сведении тем документации с ревьюверами: `av-dev-pm` в шести местах называл конвейер поимённо — от прозы канона до **вывода `docs.py` пользователю** («свои темы проекта: … — их разбирает `review-basics`»). Плагины при этом раздельные: `av-dev-pm` работает без конвейера, `av-dev-pipeline` — без канона, поразрядно деградируя. **Р157. Общий словарь — имена тем и имена ступеней, и только они.** Ими проект настраивает ревью: вопросы по темам и триггеры профиля. Имён проходов канон не называет нигде. Направление зависимости при этом несимметрично и это верно: **конвейер называет документы канона поимённо, потому что он их читатель**, а обратной ссылки быть не может — документ живёт дольше, чем раскладка проходов. Заодно вычищены описательные адресации того же класса: «архитектурный проход судит», «враждебный проход выдумает», «там идут враждебный, эксплуатационный и архитектурный проходы». Последняя — худшая из них: это утверждение о **составе ступени**, живущее на стороне, которая о составе не знает. **Р158. Пример в правиле не должен нарушать само правило.** Объяснение, почему вопросы адресуются темам, звучало так: «вопрос, адресованный `ops`, перестал задаваться в тот день, когда `ops` уехал в верхнюю ступень». Правило про нестабильность имён, иллюстрированное именем. Стало «адресованный проходу» — и работает даже после того, как проход переименуют. ## Что из этого следует **С143. Ссылка из вывода скрипта дороже ссылки из прозы.** Устаревшую строку в документе чинит тот, кто её читает; устаревшее имя в сообщении `docs.py` доезжает до чужого проекта и там объясняется недоумением. **С144. Список, который никто не ведёт, честнее списка, который ведут двое.** Читателей документа не перечисляет ни одна сторона — читатель назначается планом прогона. Прежняя ссылка на «таблицу читателей» пережила саму таблицу и обещала то, чего нет, — с той самой правки, которая таблицу и убрала.