журнал решений: разложен по теме на файл, метки решений стали номерами

- DECISIONS.md (4040 строк, 65 тем) → decisions/, файл на тему плюс указатель;
- буквенные метки решений заменены сквозными Р1–Р234, следствия получили
  префикс С при прежних номерах: схема букв выродилась до пятибуквенных и
  сломалась — `АЕАКЛ` была занята и темой 53, и темой 65;
- 42 перекрёстные ссылки переписаны под новые номера и стали живыми; где номер
  означал тему, а слово стояло «решение», формулировка исправлена.
This commit is contained in:
av
2026-08-13 12:40:56 +03:00
parent b411d4edb8
commit bf6a173115
72 changed files with 4253 additions and 4053 deletions
@@ -0,0 +1,63 @@
# 45. Корректор метки, доля `small` и корпус оценки (2026-08-07)
Три правки по следам тем
[41](41-task-sizing-once.md)[44](44-task-label-single-value.md), и все три
закрывают дыры, которые эти решения и открыли.
**Р182. Сигнал о заниженной метке переехал в `review-code`.** Он жил в
`review-basics` — единственном месте. А `basics` с меткой `small` не
запускается, если у проекта нет своих тем: значит на типичном проекте задача с
меткой `small` шла **без рантайм-проверки** того, что метка верна. Дыра
появилась ровно вместе с удешевлением `small` и попала в самую вероятную точку
ошибки: занижают туда, где дешевле, а цена занижения там же и выросла — три темы
ядра смотрятся только против инвариантов.
`code` подходит по построению: он идёт при **любой** метке, видит дифф целиком, а
на `small` уже читает инварианты — то есть держит в руках весь материал, из
которого сигнал выводится. У `basics` сигнал остаётся вторым, подтверждающим: он
смотрит оптикой тем и видит то, чего не видно из кода как кода, — что вопросов,
отложенных до `large`, накопилось слишком много. Триаж теперь обязан сказать и
когда сигнала **нет**: «корректор отработал, возражений нет» и «корректор не
запускался» по молчанию неразличимы.
**Р183. У `small` появилась доля, и она сформулирована сравнением, а не
числом.** `small` не должен обгонять `medium`; ориентир — до трети задач.
Проверка нужна именно теперь: пока `quick` и `standard` совпадали составом,
дрейф между ними не стоил ничего, и её не было. Сейчас он стоит трёх тем ядра. У
дрейфа вниз есть стимул, и он назван: метку выбирает не автор, но по описанию,
написанному автором, — занижённое описание даёт занижённую метку без чьего-либо
умысла.
**Р184. Размер оценивается по корпусу из пяти источников, а не по
дельта-спекам.** Разметчик читал `proposal.md` и `tasks.md`, но `design.md` не
открывал вовсе, а метод был описан одной фразой «размер считается по
дельта-спекам». Дельты описывают заказанное **поведение** и молчат об объёме
работы: шесть шагов в двух узлах видны в `tasks.md`, а факт, что форму решения
выбирали из нескольких, — только в `design.md`. Каждый источник получил свою
строку по каждой оси, и каждая цифра в обосновании обязана быть привязана к
источнику поимённо.
Отсюда два правила, которых раньше не было. **Расхождение источников по объёму
разрешается в пользу большего** — и это не «спорное решается вниз»: то правило
разрешает ничью при равных данных, а здесь один источник просто видел больше.
**Само расхождение — довод за `незнакомое`:** если о задаче написано так, что
источники не сходятся в объёме, форму решения по ней не знают. Отсутствие
`design.md` у нетривиальной задачи читается так же — «форму знали заранее» ничем
не подтверждено.
## Что из этого следует
**С161. Корректор обязан идти чаще, чем корректируемое.** Проверяющий, который
запускается реже проверяемого, оставляет дыру именно там, где выбор был самым
дешёвым, — то есть там, где ошибаются.
**С162. Отсутствие сигнала — тоже сигнал, и его надо печатать.** Молчание
корректора неотличимо от его отсутствия, а решения по ним разные.
**С163. Проверка доли формулируется сравнением, а не порогом.** «Меньше, чем
`medium`» считается по любому журналу и не требует спорить о числе; порог «не
больше 30%» спорен ровно настолько, насколько несопоставимы задачи.
**С164. Оценка по одному источнику — оценка по остатку.** Источники о задаче
отвечают на разные вопросы; пропущенный не ухудшает точность понемногу, а
оставляет ось без данных.