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

5.5 KiB
Raw Blame History

65. Перечень осей получил дом; две оси жили без владельца (2026-08-13)

Слияние плагинов не тронуло ни одной идеи процесса — типы записей, метки, три сценария, категории документов, severity находок остались как были. Но оно сделало дешёвым то, что раньше было дорого: правило, натянутое между задачами и ревью, теперь имеет достижимый дом, а не помеченную копию через границу.

Ось — закрытый перечень значений, по которому что-то ветвится. Признак проверяемый, и он отсекает похожее: темы ревью и документы проекта — списки открытые, их пополняет проект. Модель прохода — не ось, а цена прогона. Осей по этому признаку девять, и дом теперь у каждой.

Р232. Две оси были бездомными, и обе машинные. Коды выхода объявлялись «общим словарём» в одиннадцати местах, и каждое объявление перечисляло свой набор соседей: «тот же, что у tasks.py», «тот же, что у tasks.py, docs.py и copies.py». Ни одно не было домом — все списки по памяти, и машина их не сверяла, потому что copies.py смотрит markdown, а перечни лежали в docstring'ах скриптов. Режим прогона (с меткой · без метки) завёлся накануне слияния и разошёлся по четырём файлам, ни в одном не будучи назван осью, — при том что в уставе review-basics он задаёт саму возможность запуска прохода.

Р233. Слово «стадия» значило в одном файле две разные вещи. «Стадия 1 — Автотесты … Стадия 5 — Triage» — ступени внутри прогона кода, наружу не выходящие; «метка правит обе стадии ревью» — дизайн и код, то есть членение, которое видит вызывающий скилл. Разведено: ступени внутри, стадии снаружи.

Р234. Дом перечня — не дом значений. shared/axes.md держит только сами оси, их адреса и чего каждая не решает. Механика остаётся у владельца: второй пересказ разошёлся бы с первым, а вот перечень нужен целиком и в одном месте — вопрос «а не задаёт ли это метку» задают из скилла, который метку не ведёт. Целиком сюда переехали ровно две оси, у которых владельца нет.

Карта нашла ошибку в самой себе, и это её главный довод. Первая редакция объявила пустой клетку «категория документа × метка»: якобы проект вправе завести тему, под которую ни одна метка не отряжает прохода. Проверка показала обратное — review-basics приёмник проектных тем при любой метке. Пустой оказалась соседняя клетка: на прогоне без метки план фиксирован сценарием, и своих тем проекта в нём нет вовсе. Найти это можно было только сведя оси в одну таблицу.

Что из этого следует

С222. Словарь, объявленный «общим» в каждом потребителе, — это перечень по памяти, а не дом. Признак вырожденности проверяемый: каждое объявление называет свой набор соседей, и ни одно не называет владельца.

С223. Копия в docstring'е скрипта машиной не сверяется, потому что copies.py смотрит markdown. Значит, прозе в коде дом нужнее, чем прозе в документах: там расхождение ловит гейт, здесь — никто.

С224. Пустая клетка в таблице осей — находка, а не пробел оформления. Она называет случай, для которого процесс не сказал ничего, и до сведения осей в таблицу такой случай неотличим от продуманного умолчания.

С225. Слово, занятое дважды в одном файле, дороже неточного слова. Читатель, пришедший за термином, получает два ответа и не знает, что их два.