словарь: пять слов сняты, девять закрыты списком вместо оговорки «прижилось»

Проход упрощения уткнулся в один класс у всех пяти агентов: слово, живущее в
трёх-шести файлах разом. Правка в одном месте развела бы словарь, правка во
всех — уже не упрощение текста скилла. Каждый честно остановился и записал слово
в отчёт, и одни и те же слова всплыли в разных отчётах. Разобрано этим проходом.

Причина, по которой они вообще накопились, оказалась в самом уставе языка. Он
разрешал не переводить «термин, у которого нет точного русского эквивалента и
который в команде уже прижился». Проверить это нельзя: прижившимся выглядит
любое слово, встреченное трижды, — и ровно так рассудили пять агентов подряд,
каждый независимо. Оговорка заменена закрытым списком из девяти терминов с
колонкой «что называет»: интейк, триаж, провенанс, дедуп, чек-лист, дифф,
промпт, сущности OpenSpec, роды проходов ревью. Интейк оставлен потому, что
«заведение» называет создание файла, и слить их значит смешать две операции;
провенанс — потому что «источник» рядом называет саму запись, а не свойство
числа. Слово не из списка и не из таблицы имён вещей — находка, а не стиль.

Список заведён домом язык-словарь в language.md и копией в уставе doc-wording.
Копия обязательна: агент работает в репозитории проекта, где плагина может не
быть, и без списка предъявил бы интейк как англицизм.

Снято пять слов, 29 мест: конфляция → смешение, декорреляция → разведённость,
непоймание → почему не поймали, эвал-сет → проверочный набор, гайд →
руководство. Латинизм или калька при живом русском слове в каждом случае.

Разбор декорреляции показателен: проект уже владел нужным словом — «агенты
разведены по глубине», «разведены по охвату» — и держал рядом латинский синоним
того же понятия. Это не англицизм, а второй дом для слова.

Непоймание снято ещё и потому, что форма журнала дефектов, которую канон кладёт
в проекты, спрашивает «Почему не поймали», а проза рядом называла это «причиной
непоймания». Скелет и проза о скелете говорили разными словами.

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

Тема 32 в DECISIONS.md, следствия 124-126. Нумерация правил в уставе doc-wording
сдвинута: словарь встал шестым, жаргон и далее уехали на единицу.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
av
2026-08-05 15:35:06 +03:00
co-authored by Claude Opus 5
parent 47a2f3de63
commit cbfae90f3f
19 changed files with 152 additions and 39 deletions
+56 -3
View File
@@ -261,7 +261,7 @@ jellybit — секреты в `conventions/config.md`. **Периметра н
проверять сознательно` требует ссылки на его запись.
**L. Журнал расширяется до всех воспроизведённых дефектов** с пометкой
«проскочил / пойман ревью». Эвал-сет для калибровки — выборка по пометке.
«проскочил / пойман ревью». Проверочный набор для калибровки — выборка по пометке.
*Причина:* пойманные дефекты с оракулом (768 МиБ пика, 5.019 с удержания
блокировки) сегодня не сохраняются нигде, кроме отчётов триажа в архиве change, а
@@ -1031,7 +1031,7 @@ HTML-комментарии, невидимые в отрендеренном ma
**AAA. Ребро — это порядок, никогда не данные.** В обычном графе задач ребро
тянет за собой вывод предшественника; здесь это запрещено: проход, увидевший
чужие находки, соглашается с ними, и декорреляция — вся ценность конвейера —
чужие находки, соглашается с ними, и разведённость — вся ценность конвейера —
обнуляется. Сказано в самом правиле, потому что графовый словарь провоцирует
ровно эту ошибку. Исключение одно и оно же сток: триаж.
@@ -1879,7 +1879,7 @@ ADR, запискам разведки и сообщениям коммитов
**ЖЖЗЗ. Поле места назвали по типу, а не одним словом на всех.** «Категория»
вместо «Секции» — просьба заметки, но одинаковое переименование закрепило бы
конфляцию: у задачи поле называет полку домена, в которую она вернётся из
смешение: у задачи поле называет полку домена, в которую она вернётся из
спринта, у цели — часть роадмапа, то есть состояние очереди. Разные имена
(`Категория` / `Секция`) выбраны именно потому, что **какое поле обязательно,
решает тип** — то самое, ради чего затевалась вся правка.
@@ -2205,3 +2205,56 @@ dev-skills — **маркетплейс плагинов**: скилл комм
тот же проход, что делал шаги, — и двигает независимо от того, все ли
сделаны. Механической проверки существа нет; там, где её нет, ставится
судья, а не отметка.
## 32. Сквозной проход по словарю: пять слов сняты, девять закрыты списком (2026-08-05)
Проход упрощения (тема 31) уткнулся в один и тот же класс у всех пяти агентов:
слово, живущее в трёх-шести файлах разом. Правка в одном месте развела бы
словарь, правка во всех — уже не упрощение текста скилла. Каждый агент честно
остановился и записал слово в свой отчёт, и одни и те же слова всплыли в разных
отчётах. Разобрано отдельным проходом.
**ААББЛЛ. «Слово прижилось» не проверяется, поэтому заменено списком.** Оговорка
в `language.md` звучала так: не переводится «термин, у которого нет точного
русского эквивалента и который в команде уже прижился». Проверить это на глаз
нельзя — прижившимся выглядит любое слово, встреченное трижды, и ровно так пять
агентов подряд и рассудили. Оговорка заменена **закрытым списком из девяти
терминов** с колонкой «что называет»: интейк, триаж, провенанс, дедуп, чек-лист,
дифф, промпт, сущности OpenSpec, роды проходов ревью. Слово не из списка и не из
таблицы имён вещей — находка, а не принятый стиль.
Список заведён домом `язык-словарь` в `language.md` и копией в уставе
`doc-wording`. Копия обязательна: агент работает в репозитории проекта, где
плагина может не быть, и без списка предъявил бы «интейк» как англицизм.
**ААББММ. Пять слов сняты, и все пятеро выглядели словарём, не будучи им.**
`конфляция` → смешение (4 места), `декорреляция` → разведённость (6),
`непоймание` → почему не поймали (9), `эвал-сет` → проверочный набор (4), `гайд`
→ руководство (6). Латинизм или калька при живом русском слове в каждом случае.
Разбор `декорреляции` показателен: проект **уже владел** нужным словом — «агенты
разведены по глубине», «разведены по охвату» — и держал рядом латинский синоним
того же понятия. Это не англицизм, а второй дом для слова.
`непоймание` снято ещё и потому, что форма журнала дефектов, которую канон кладёт
в проекты, спрашивает «Почему не поймали» — а проза рядом называла это
«причиной непоймания». Скелет и проза о скелете говорили разными словами.
**ААББНН. Снятое записано вместе с оставленным, в одном списке.** Иначе снятое
возвращается: слово уходит из текстов, но ничто не мешает следующему проходу
завести его заново — оно ведь короткое и точное. Пять слов названы поимённо с
заменой каждого.
### Что из этого следует
124. **Escape hatch без перечня — это разрешение, а не исключение.** «Термин,
который прижился» освобождает от правила любое слово: проверка «прижился ли»
возвращает «да» всякий раз, когда слово встретилось. Исключение из правила
обязано быть списком, иначе оно съедает правило.
125. **Слово, от которого агент отказался править, — материал для отдельного
прохода, а не мусор отчёта.** Пять независимых агентов сошлись на одном
наборе слов, ни разу друг друга не видя. Список «что не тронул» оказался
полезнее списка правок именно этим.
126. **Снятое слово называется вместе с заменой и остаётся записанным.** Убрать
из текстов недостаточно: без записи «это снято и вот чем заменено» слово
возвращается первым же, кто найдёт его удачным.
+1 -1
View File
@@ -72,7 +72,7 @@ color: red
формат это единственный честный оракул: документация формата ненадёжна, и
рассуждение о ней ничего не доказывает;
- выполнить команду и приложить вывод;
- показать поимённое положение гайда, строку конвенции проекта или **дословный
- показать поимённое положение руководства, строку конвенции проекта или **дословный
пункт из раздела инвариантов `CLAUDE.md`**;
- сослаться на наблюдение в `docs/research/` — оно сильнее любого
рассуждения о том, «как должно быть».
@@ -19,7 +19,7 @@ description: "Конвейер ревью изменения — детерми
заданный критерий) и **generative** (сперва порождают критерий или
альтернативу, потом сравнивают). Расширять чек-листы бесполезно; неявный слой
достают только generative-проходы.
2. **Ценность верификатора = наличие внешнего оракула × декорреляция с
2. **Ценность верификатора = наличие внешнего оракула × разведённость с
автором**, а не число ролей. Под всеми ролями одна модель с одними
априорными, вход у всех общий: седьмая роль почти не добавляет recall, но
линейно удорожает триаж. Иерархия надёжности: детерминированный инструмент >
@@ -352,7 +352,7 @@ flowchart TD
**Ребро значит «A закончил раньше, чем B стартовал», и ничего больше.** В обычном
графе задач ребро тянет за собой данные — здесь нет, и это не деталь реализации.
Проход **не видит** находок других проходов, в каком бы порядке их ни запустили.
Вся ценность конвейера держится на декорреляции: под всеми ролями одна модель с
Вся ценность конвейера держится на разведённости: под всеми ролями одна модель с
одними априорными, и стоит показать ей чужой вывод — она согласится. Согласие
нескольких проходов и так не повышает `confidence` (см. «Честный предел»);
согласие **наведённое** ещё и маскируется под независимое подтверждение.
@@ -671,7 +671,7 @@ flowchart TD
Третий шаг обязателен.
- Дефект, проскочивший ревью и всплывший позже, идёт в журнал проекта
([references/review-journal.md](references/review-journal.md)) — сразу, не
ретроспективно: теряется именно причина непоймания.
ретроспективно: теряется именно то, почему дефект не поймали.
- **Отчёт триажа сохраняется вместе с изменением** — `openspec/changes/<id>/review/`.
Он единственное, по чему потом видно, что было найдено и что из этого не
заведено: нулевой урожай при непустом отчёте виден сразу.
@@ -688,7 +688,7 @@ flowchart TD
туториальному: отсюда тяга к интерфейсам ради интерфейсов, лишним мокам и
конфигурируемости, которую никто не просил. **«Идиоматично» и «распространено» —
разные вещи**; проходы обязаны различать их и опираться на поимённое положение
гайда, а не на ощущение частотности.
руководства, а не на ощущение частотности.
Согласие нескольких проходов — **не подтверждение**: это один источник,
высказавшийся несколько раз. Совпадение повышает приоритет, но не `confidence`.
@@ -704,7 +704,7 @@ flowchart TD
- завязка внешних потребителей на текущую форму ответа;
- суждение «этой функциональности не должно существовать».
Отдельно и честно: **поимённая сверка с положениями стайлгайдов языка не
Отдельно и честно: **поимённая сверка с положениями руководств по стилю языка не
задаётся ни одним проходом.** Проход про идиоматичность упразднён, его способные
части переселены (эксперимент против поведения библиотеки и драйвера — в `ops`,
вопрос 8; «не изобретаем ли то, что уже есть в библиотеке» — в `architecture`,
@@ -10,7 +10,7 @@
- Файл: internal/<пакет>/<файл>.go:120-134
- Severity: critical | major | minor | nit
- Confidence: high | medium | low
- Оракул: <падающий тест / команда с выводом / положение гайда / нет>
- Оракул: <падающий тест / команда с выводом / положение руководства / нет>
- Последствие: <что произойдёт и при каких условиях>
- Предложение: <конкретное изменение>
- Найдено проходом: <имя агента>
@@ -24,7 +24,7 @@
Симптом в заголовке — это заявка на то, что читатель сам достроит последствие;
он не достроит, он просто починит симптом.
- **`critical` без оракула или построенного пути не существует.** Оракул — это
падающий тест, вывод выполненной команды или поимённое положение гайда. Не
падающий тест, вывод выполненной команды или поимённое положение руководства. Не
«вероятно, здесь гонка», а прогон детектора гонок с его выводом.
- **`confidence: low` — это «так обычно пишут».** Такие находки допустимы, но не
поднимаются выше `minor`. Частотность конструкции в публичном коде — не
@@ -87,7 +87,7 @@ flowchart TD
теряет связность;
- правило переезжает в **перечень механизированного в
`docs/conventions/README.md`** — со ссылкой на место механизации: конфиг
линтера, собственный анализатор, тест-сканер исходников. Непойманное место
линтера, собственный анализатор, тест-сканер исходников. Не названное место
означает, что проход будет добросовестно проверять уже проверенное;
- из контекста инструмента спек убирается дубль, если он там был.
@@ -100,8 +100,8 @@ Charter'ы проходов при этом **не правятся**: они о
принципиально не выражается правилом.** Файл конвенций на несколько сотен строк
размазывает внимание модели по тривиальному — она добросовестно проверит
именование полей лога и не дойдёт до формы решения. Каждая строка конвенций,
которую можно было бы проверить машиной, оплачивается непойманным дефектом
где-то ещё.
которую можно было бы проверить машиной, оплачивается дефектом, который не
поймали где-то ещё.
## Обратное движение
@@ -2,8 +2,8 @@
Артефакт проекта, а не плагина: файл живёт в репозитории — **`docs/review.md`**,
слот канона `av-dev-pm`. Здесь описано, зачем он и какой формы, потому что без
него конвейер не учится: находки закрываются, причины непоймания теряются, и один
и тот же класс проскакивает второй раз.
него конвейер не учится: находки закрываются, а почему их не поймали — забывается,
и один и тот же класс проскакивает второй раз.
Тот же файл держит **настройку конвейера под проект** — типовые узлы, типовые
ложноположительные, вопросы к проходам, недоступно проверке. Это не соседство по
@@ -12,12 +12,12 @@
## Что туда попадает
**Воспроизведённый дефект — с пометкой `проскочил` или `пойман ревью`.**
Записывается **сразу**, а не ретроспективно: со временем теряется не сам факт, а
причина непоймания — единственное, ради чего журнал существует.
Записывается **сразу**, а не ретроспективно: со временем теряется не сам факт, а то,
почему дефект не поймали, — единственное, ради чего журнал существует.
Пометка делит журнал на две выборки с разным назначением:
- **проскочил**эвал-сет для калибровки конвейера. Реальный промах сильнее
- **проскочил**проверочный набор для калибровки конвейера. Реальный промах сильнее
синтетической пробы: синтетические смещены в сторону тех, которые уже умеешь
придумывать;
- **пойман ревью** — прецеденты с оракулом. Самая сильная опора, какая у прохода
+1 -1
View File
@@ -248,7 +248,7 @@ flowchart TD
тем же charter'ам `av-dev-pipeline`, сохранив обязательное — гейт до
опиниативных проходов, состав по профилю, триаж последним. И **скажи в
отчёте прямым текстом, что ревью шло инлайн**: инлайновый проход видит
контекст автора и потому декоррелирован слабее — это меняет доверие к
контекст автора и потому разведён с ним слабее — это меняет доверие к
результату, а не только способ запуска;
- **вернуть отчёт**, в котором обязательно: исход задачи одним из трёх слов;
**объявленный профиль ревью и режим прогона**; что сделано; какие вопросы
@@ -84,7 +84,7 @@ description: Автономно проводит одну задачу чере
оракул и наблюдаемый исход** — «прогнал вот это, увидел вот то». Это **доклад,
а не сертификация: приёмка — не работа пайплайна.** Исполнитель, ставящий себе
галочку «принято», проверяет свою работу своим же взглядом — по границе это
может делать только декоррелированный приёмщик. Критерии приходят снаружи;
может делать только приёмщик, разведённый с исполнителем. Критерии приходят снаружи;
пайплайн их не сочиняет и не занижает. Расхождение «по каждому критерию исход
есть, а суть задачи не достигнута» — дефект критериев, и о нём сообщается, а
не молча дорабатывается.
+31 -3
View File
@@ -97,7 +97,35 @@ color: green
<!-- /копия: язык-англицизмы -->
6. **Жаргон и метафоры заменяются прямым называнием.**
6. **Слово из своего словаря не трогается — список закрыт.**
<!-- копия: язык-словарь из av-dev-pm/skills/canon/references/language.md -->
| Термин | Что называет |
| --- | --- |
| интейк | заведение записи с фильтром и дедупом: «заведение» называет создание файла, слить их — смешать две операции |
| триаж | ступень конвейера, сводящая находки в решение |
| провенанс | обязательное свойство числа: чем и при каких условиях получено. «Источник» рядом называет саму запись, а не свойство |
| дедуп, дедупликация | сверка нового против уже лежащего |
| чек-лист | перечень, по которому идут сверху вниз, называя исход каждой строки |
| дифф, `--base` | разница между состояниями в git |
| промпт | текст, которым зовут модель |
| change, capability, spec | сущности OpenSpec, имена вещей чужого инструмента |
| generative, applicative | роды проходов ревью, вводятся определением по месту |
**Список закрыт.** Слово не отсюда и не из таблицы имён вещей выше — находка, а
не «принятый стиль»: у него либо есть живой русский аналог, либо оно требует
ввода одной строкой при первом употреблении.
Отсюда же читается снятое. Эти слова из текстов убраны, и возвращать их не надо:
**конфляция** (смешение), **декорреляция** (разведённость, разведён с кем-то),
**непоймание** (почему не поймали), **эвал-сет** (проверочный набор), **гайд**
(руководство). Каждое было латинизмом или калькой при живом русском слове, и
каждое к моменту снятия жило в трёх-шести файлах разом — то есть выглядело
словарём, не будучи им.
<!-- /копия: язык-словарь -->
7. **Жаргон и метафоры заменяются прямым называнием.**
<!-- копия: язык-жаргон из av-dev-pm/skills/canon/references/language.md -->
@@ -114,7 +142,7 @@ color: green
<!-- /копия: язык-жаргон -->
7. **Термин, которого нет в документах проекта, вводится одной строкой или не
8. **Термин, которого нет в документах проекта, вводится одной строкой или не
употребляется.** Заменять его своей догадкой нельзя: ты не знаешь предметную
область. Пиши «термин «X» не встречается ни в документах, ни в других
поданных файлах — введи строкой или назови известным словом».
@@ -122,7 +150,7 @@ color: green
**Слово, занятое в другом смысле, — та же находка.** Термин, который в одном
документе проекта значит одно, а здесь другое, ломает оба; назови оба места.
8. **Имя файла — английское слово по сути, а не транслит.** `queue-as-table`, а
9. **Имя файла — английское слово по сути, а не транслит.** `queue-as-table`, а
не `ochered-tablicej`; `move-parse-strict`, а не `razbor-hoda`. Транслит
нечитаем тому, кто ищет по смыслу, и не сокращается, а имя стоит в ссылках,
коммитах и путях, которые набирают руками.
+2 -2
View File
@@ -180,7 +180,7 @@ kebab-case.** Причина не эстетическая: имя файла с
Прозой остаётся **только то, что не выражается правилом**. `README.md` держит
индекс, правило промоута и **перечень уже механизированного** со ссылкой на
место механизации — конфиг линтера, собственный анализатор, тест-сканер
исходников. Непойманное место механизации означает, что проход добросовестно
исходников. Не названное место механизации означает, что проход добросовестно
проверит уже проверенное.
### `research/`
@@ -243,7 +243,7 @@ kebab-case.** Причина не эстетическая: имя файла с
проверять сознательно» (пересматривается первым).
**Журнал дефектов:** запись на каждый воспроизведённый дефект с пометкой
**проскочил / пойман ревью**. Проскочившие — эвал-сет для калибровки конвейера,
**проскочил / пойман ревью**. Проскочившие — проверочный набор для калибровки конвейера,
выборка по пометке. Пойманные с оракулом — лучшая опора для прохода: проектные,
воспроизводимые, однажды оказавшиеся правдой.
@@ -30,8 +30,8 @@ upgrade` идёт по записям снизу вверх от версии п
производна;
- **поле места** у задачи: `Секция`**`Категория`**. У цели остаётся `Секция`:
у задачи поле называет полку домена, в которую она вернётся из спринта, у цели
— часть роадмапа, то есть состояние очереди. Одно имя на два смысла было
конфляцией.
— часть роадмапа, то есть состояние очереди. Одно имя на два смысла их и
смешивало.
**Что добавилось:**
@@ -124,6 +124,38 @@
<!-- /дом: язык-англицизмы -->
## Свой словарь — закрытый список
Слово, не переводимое потому, что оно **имя вещи этого процесса**, а не украшение.
Оговорка «термин прижился» без списка проверяема на глаз и потому не проверяема:
прижившимся выглядит любое слово, встреченное трижды.
<!-- дом: язык-словарь -->
| Термин | Что называет |
| --- | --- |
| интейк | заведение записи с фильтром и дедупом: «заведение» называет создание файла, слить их — смешать две операции |
| триаж | ступень конвейера, сводящая находки в решение |
| провенанс | обязательное свойство числа: чем и при каких условиях получено. «Источник» рядом называет саму запись, а не свойство |
| дедуп, дедупликация | сверка нового против уже лежащего |
| чек-лист | перечень, по которому идут сверху вниз, называя исход каждой строки |
| дифф, `--base` | разница между состояниями в git |
| промпт | текст, которым зовут модель |
| change, capability, spec | сущности OpenSpec, имена вещей чужого инструмента |
| generative, applicative | роды проходов ревью, вводятся определением по месту |
**Список закрыт.** Слово не отсюда и не из таблицы имён вещей выше — находка, а
не «принятый стиль»: у него либо есть живой русский аналог, либо оно требует
ввода одной строкой при первом употреблении.
Отсюда же читается снятое. Эти слова из текстов убраны, и возвращать их не надо:
**конфляция** (смешение), **декорреляция** (разведённость, разведён с кем-то),
**непоймание** (почему не поймали), **эвал-сет** (проверочный набор), **гайд**
(руководство). Каждое было латинизмом или калькой при живом русском слове, и
каждое к моменту снятия жило в трёх-шести файлах разом — то есть выглядело
словарём, не будучи им.
<!-- /дом: язык-словарь -->
## Жаргон и метафоры
Система не описывается внутренними метафорами и образными ярлыками: автору они
@@ -166,7 +166,7 @@
| Правило | Где механизировано |
| --- | --- |
Непойманное место механизации означает, что проход по конвенциям будет
Не названное здесь место механизации означает, что проход по конвенциям будет
добросовестно проверять уже проверенное.
```
@@ -308,7 +308,7 @@
## Журнал дефектов
Запись на каждый воспроизведённый дефект, сразу, а не ретроспективно: со
временем теряется не факт, а причина непоймания.
временем теряется не факт, а то, почему дефект не поймали.
Форма:
+2 -2
View File
@@ -127,8 +127,8 @@ description: Вести содержимое документов канона
формы взять негде.
Твоя часть на синке: **дефект пишется сразу**, а не «потом, когда починим».
Со временем теряется не факт, а причина непоймания — единственное, ради чего
журнал есть. И решение сузить проверки (перестали звать проход, понизили
Со временем теряется не факт, а то, почему дефект не поймали, — единственное,
ради чего журнал есть. И решение сузить проверки (перестали звать проход, понизили
профиль) обязано попасть в раздел настройки, а не остаться в отчёте ревью.
## Промоут в конвенции
@@ -153,8 +153,8 @@ flowchart TD
пайплайн проекта, а не слот в `CLAUDE.md`**: он переносит их в `tasks.md`
изменения, когда заводит change. Проект без пайплайна называет своё место
сам.
2. **Принимает человек на сессии, а не отдельный агент.** Декорреляция
исполнителя и приёмщика в момент закрытия **снята** (решение о снятии и его
2. **Принимает человек на сессии, а не отдельный агент.** Исполнитель и приёмщик
в момент закрытия **не разведены** (решение о снятии и его
цена — в `SKILL.md`, «Стимулы»). Опоры остались три: **сохранённый независимый
отчёт ревью** (при конвейере `av-dev-pipeline` — отчёт триажа в
`openspec/changes/archive/<id>/review/`, до архивации — `changes/<id>/review/`),
@@ -15,7 +15,7 @@
## Находка агента — не задача
Мнение агента — **гипотеза, пока у неё нет свидетельства** (падающий тест,
воспроизводимый шаг, положение гайда). Согласие нескольких находок само по себе
воспроизводимый шаг, положение руководства). Согласие нескольких находок само по себе
достоверность не повышает: это один источник, высказавшийся несколько раз.
Отсюда фильтр входа, поверх обычного «не делаем сейчас + пожалеем о потере»:
@@ -58,7 +58,7 @@
набор спринта входит помимо его цели. Придуманная цель — то же враньё, от
которого спасает тип.
7. **Записать дефект в журнал** `docs/review.md` с пометкой «проскочил / пойман
ревью». Проскочившие — эвал-сет для калибровки конвейера; пойманные с
ревью». Проскочившие — проверочный набор для калибровки конвейера; пойманные с
оракулом — лучшая опора для прохода ревью: проектные, воспроизводимые,
однажды оказавшиеся правдой.
@@ -97,7 +97,7 @@
Разные имена потому, что это **разные вещи**. У задачи поле переживает спринт:
`sprint drop` возвращает её именно туда. У цели оно называет не полку, а место в
очереди работ. Одно имя на два смысла и было конфляцией; `check` называет
очереди работ. Одно имя на два смысла их и смешивало; `check` называет
несовпадение дрейфом, `check --fix` переименовывает.
Имя самого места принадлежит **заголовку индекса** — файл на него лишь
@@ -21,8 +21,8 @@
Поле места у цели называется **«Секция»**, а не «Категория», и это не разнобой:
у задачи оно называет полку домена, в которую она вернётся из спринта, а у цели
— часть роадмапа, то есть состояние очереди. Одно имя на два смысла и было
конфляцией.
— часть роадмапа, то есть состояние очереди. Одно имя на два смысла их и
смешивало.
## «Завершение» — списком, а не абзацем