журнал решений: разложен по теме на файл, метки решений стали номерами
- DECISIONS.md (4040 строк, 65 тем) → decisions/, файл на тему плюс указатель; - буквенные метки решений заменены сквозными Р1–Р234, следствия получили префикс С при прежних номерах: схема букв выродилась до пятибуквенных и сломалась — `АЕАКЛ` была занята и темой 53, и темой 65; - 42 перекрёстные ссылки переписаны под новые номера и стали живыми; где номер означал тему, а слово стояло «решение», формулировка исправлена.
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
# 42. `quick` стал дешевле `standard` тремя способами (2026-08-07)
|
||||
|
||||
`quick` и `standard` совпадали составом (шесть проходов) и различались глубиной
|
||||
трёх тем: сверка против разбора. На практике это означало один проход, задающий
|
||||
на один вопрос меньше, и потолок 4 вместо 2. Нижняя ступень не экономила почти
|
||||
ничего и называлась отдельной ступенью зря.
|
||||
|
||||
Отдельно выяснилось, что дешевизна конвейера держалась на двух заявленных
|
||||
рычагах — узкий вход и потолок находок, — и **оба применялись к одному проходу
|
||||
из шести**. У `specs` и `code` потолка не было вовсе, а вход `code` включал
|
||||
чтение дома конвенций «весь и целиком» на каждой задаче.
|
||||
|
||||
**Р170. `quick` теряет приёмник тем.** Темы `security`, `operations` и
|
||||
`architecture` на этой ступени закрывает `code` сверкой с **записанными
|
||||
инвариантами** `CLAUDE.md`, потолком 1 находка на все три. Это не «глубина ниже»
|
||||
— это **другой дом темы**, куда более узкий, и в плане он так и называется.
|
||||
|
||||
**Р171. Приёмник тем запускается тогда и только тогда, когда ему есть что
|
||||
принимать.** Правило было в `wide` («нет своих тем проекта — не запускается») и
|
||||
теперь распространено на `quick`. Совпадение неслучайное: темы ядра `basics`
|
||||
держит ровно на одной ступени из трёх, а приёмником проектных тем работает на
|
||||
всех.
|
||||
|
||||
**Р172. Вход и потолок применены к каждому проходу с мнением.** На `quick`
|
||||
`specs` читает только дельта-спеку, `code` — только индекс конвенций. Потолки
|
||||
напечатаны и раздельны по половинам `code`: 3 технических, 2 конвенционных, 1 по
|
||||
инвариантам. Раздельность обязательна — конвенционных находок больше по
|
||||
построению, и в общем списке они вытеснили бы техническую половину, чей пропуск
|
||||
дороже.
|
||||
|
||||
**Р173. Сработавший потолок объявляется.** Проход, срезавший находки, говорит
|
||||
строкой, сколько осталось за срезом и какого рода. Молчащий срез неотличим от
|
||||
«больше не нашлось» — тот же класс молчащего пропуска, против которого написан
|
||||
весь конвейер.
|
||||
|
||||
**Р174. Отрицательный тест `quick` стал жёстче, а не мягче.** Вопросы «обратима
|
||||
ли миграция» и «что с записями новой версии после отката» задавал приёмник тем;
|
||||
на `quick` его нет. Значит изменение, которое не откатывается обратной правкой,
|
||||
на `quick` не идёт вовсе — каким бы малым оно ни было.
|
||||
|
||||
## Что из этого следует
|
||||
|
||||
**С153. Ступень, не дающая экономии, не нужна.** Две ступени, различающиеся
|
||||
одним вопросом одного прохода, — это одна ступень с шумом в отчёте.
|
||||
|
||||
**С154. Рычаг, применённый к одному исполнителю, — не рычаг, а исключение.**
|
||||
Заявленный механизм экономии проверяется перечислением: к кому он применён и к
|
||||
кому нет.
|
||||
|
||||
**С155. Проход без потолка выдаёт столько находок, сколько нашёл поверхностей.**
|
||||
Ровно из-за этого был снят проход независимой реализации; тот же механизм
|
||||
работал у `code` и `specs` и не был замечен, потому что счёт никто не считал.
|
||||
Reference in New Issue
Block a user