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

53 lines
4.6 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.
# 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` и не был замечен, потому что счёт никто не считал.