Перейти к содержанию

Дальнейший план · после U-01#

  • Дата: 2026-09-21
  • Откуда: раздел «Что теперь открыто» в 96-backlog.md; находки U-01 и E-03
  • Форма: шаг — это один отчётный этап. У каждого шага варианты и рекомендация, выбор за тобой
  • Не решает: что писать внутри новых документов — это мастер-шаблон; порядок работ внутри шага
  • Состояние: ни один шаг не начат

Где мы стоим#

Карточки 155 в 12 блоках
Файлы 77 markdown, около 196 000 слов
Документы решений 11 (D-01…D-11) плюс 4 служебных; мастер-шаблон v6.1
Прогоны 4: E-01, E-02, E-03 — сквозные; U-01 — узкий
ADR 15
tools/check.py зелёная: 0 битых якорей, 0 проблем с версиями, 0 проблем в ADR

Сколько раз применялся каждый документ#

Документ Применений Где
D-01 · хранилище 3 E-01, E-02, E-03
D-02 · границы в работающей системе 3 E-01, E-02, E-03
D-03 · кэш 2 E-01, E-02
D-04 · связь в процессе 2 E-01, E-02
D-07 · декомпозиция данных 2 E-03, U-01
D-06 · деградация 1 E-03
D-08 · переезд данных 1 U-01
D-09 · откат 1 U-01
D-10 · цели уровня обслуживания 1 E-03
D-05 · границы на старте 0 —
D-11 · обещание совместимости 0 —

Два документа из одиннадцати не встречали кейса ни разу, и это два разных случая. D-11 написан три дня назад — у него просто не было повода. D-05 — случай хуже: он дважды переписан MAJOR (v2.0 — по итогам E-02 и разбора глав 6–7 Форда и Ричардса, архитектурный квант; v3.0 — по пилоту декомпозиции данных, класс защищаемых данных) и при этом не применялся никогда. Обе его строки «Старым ADR: перепроверить» указывают в пустоту — ровно как это уже обнаружилось у D-06.

Во что обходится применение#

Прогон ADR Что стоило набору
E-01 4 Родились D-05 и реестр ограничений; MINOR у D-01 и шаблона ADR
E-02 4 Пять документов в MAJOR
E-03 5 Один MAJOR (D-06), три MINOR, ноль новых документов — «форма сошлась»
U-01 2 Два MAJOR — D-08 и D-09

Что из этого видно. За два последних прогона MAJOR получили только те документы, которые применялись впервые, — три из трёх. Документы, применявшиеся повторно, за то же время давали MINOR и ничего крупнее. Это и есть прогноз цены для шагов ниже: первое применение документа надо закладывать в MAJOR, а не в подтверждение.


Сводка шагов#

# Что Цена Что закрывает Рекомендация
Ш1 Вычитка после двух дней правок плюс гигиена устаревших строк 1 этап Правки могли разойтись с соседями C
Ш2 U-02 — гринфилд: первое применение D-05 и D-11 9 этапов Два неприменённых документа из одиннадцати ✅ A пройден 2026-09-22
Ш3 М4 по записи P-CHG-04 1 этап Единственная открытая запись реестра B
Ш4 Объявить готовность: что считается сделанным 1 этап Работа без объявленного конца после Ш1–Ш3
Ш5 Четвёртый сквозной прогон 3–4 этапа Повторные применения D-06…D-11 не сейчас

Ш1 · Вычитка после правок#

Почему. За 17 и 18 сентября коммиты затронули больше семидесяти файлов: семь документов решений, мастер-шаблон, пять карточек, два прогона целиком. Ни один из них не читался после правки в паре с соседями. Рецензия D-11 дала правило, которое здесь прямо применимо: автор не может проверить документ на пересказ и на расхождение — он только что его писал. Значит, вычитку делает отдельный агент, не видевший, как писалось, — тем же способом, каким проверялся D-11.

Три места, которые вызывают подозрение заранее:

Где Что проверить
SEC-04 и EDGE-06 Направление отказа записано в обе карточки зеркально (fail-closed и fail-open). Согласуется ли это с REL-03 и с формулировкой из П7: направление — свойство операции, а не системы
D-08 v2.0 и D-09 v2.0 Писались в один заход про разное. Операционная и информационная обратимость в D-08 и три степени обратимости по строкам состояния мира в D-09 — это одна шкала или две
Контекст E-02 Там записано «E-01 проверял D-05». В ADR прогона E-01 методом записан D-02 v2.1, а D-05 из этого прогона был выведен. Либо строка неточна, либо применение D-05 где-то не учтено — и тогда таблица выше неверна

Гигиена — шесть строк, устаревших молча:

Файл Что там сейчас Как есть
README.md, список файлов D-01-… … D-05-… D-01…D-11
README.md, статус «мастер-шаблон v6.0» v6.1
README.md, итог «около 75 000 слов» около 196 000
96-backlog.md, метрики «~79 000 слов», «22 файла + 2 в decisions/» 77 файлов
research/10-problems.md, шапка «черновик после И1 · этап И1» реестр закрыт, мини-исследования проведены
research/20-coverage.md «в очереди семь, отложено шесть» отложенных не осталось, очередь другая

Отдельный вывод: ни одну из этих шести строк check.py не ловит. Она проверяет якоря, коды, версии и форму шапок — то есть разметку. Числа и версии, названные прозой, живут вне проверки и устаревают бесшумно; шесть штук за два дня — это не случайность, а класс.

Проверено и в порядке: строка «Не решает» есть во всех одиннадцати документах. Правило мастер-шаблона v6.1 — читать её до планирования работы — исполнимо с первого дня, дописывать ничего не надо.

Вариант Что делаем Цена
A Внешняя вычитка изменённого плюс шесть строк гигиены 1 этап
B Только гигиена, без вычитки треть этапа
C A плюс правка check.py: убрать из прозы числа, которые устаревают молча (слова, файлы), и научить проверку сверять объявленную версию мастер-шаблона и диапазон документов с тем, что на диске 1,5 этапа

Рекомендую C. Не потому, что проверка поймает больше, — а потому, что число, которое никто не сверяет, лучше не печатать вовсе. Из шести строк машине можно отдать две (версия мастера, диапазон D-…); остальные четыре — это счётчики, которые честнее убрать, чем поддерживать. Оговорка: расширять проверку дальше, на любые числа в тексте, не стоит — она начнёт ругаться на цитаты из источников.


Ш2 · U-02 · гринфилд: первое применение D-05 и D-11#

Почему вместе. Это два оставшихся неприменённых документа, и их можно нагрузить одним кейсом без натяжки: система, которую строят с нуля и которая сразу обязана что-то пообещать внешним потребителям. Границы закладываются предсказанием — это D-05; обещание совместимости даётся до того, как появился хоть один потребитель, — это D-11, причём в ячейке, далёкой от вырожденной. Два ADR, не один: предмет разный, общего контекста мало, правило связанных решений сюда не тянется.

Как снимается подгонка. Тем же способом, что и на Б-1: кейс придумывает огороженный агент, которому названы два предмета, но не показаны документы. Безусловные предсказания пишутся и коммитятся до первой строки о кейсе — процедура 42-predictions-narrow.md, которая на U-01 дала четыре попадания и два промаха.

Ожидаемая цена — два MAJOR, по правилу из таблицы выше. Если их не окажется, это сильный результат сам по себе: он будет означать, что сходимость формы, объявленная на E-03, распространяется и на документы, писавшиеся без кейса.

Вариант Что делаем Чем плох
A Свежий гринфилд от внешнего агента, два ADR, предсказания вперёд 2 этапа — дороже прочих
B Разделить: D-11 на материале U-01, D-05 — отдельным гринфилдом Проверка D-11 выходит слабой: U-01 попадает в угол, который документ сам объявляет вырожденным (—×T неотличимо от 0), и ответ уже записан в находке 11 — прогон подтвердит написанное
C Применить D-05 к контексту E-01: он гринфилд и написан до появления документа 1 этап, но тест слабый: документ выведен из этого же прогона, проверять им этот прогон — замкнутый круг

Рекомендую A. Вариант C выглядит бесплатным и почти бесполезен; вариант B экономит этап ценой того самого качества проверки, ради которого прогон и делается.

Этап 1 пройден 2026-09-21 — кейс выбран, ограда протекла#

Шесть кандидатов от двух независимых агентов — research/43-greenfield-candidates.md. Выбран Г-1 · «Окно отчётности»: оператор отраслевого реестра, машинный интерфейс которого публикуется приказом за полгода до первой обязательной отчётности, а читают его 4 200 обязанных лиц через 25 вендоров учётных систем.

Главный результат этапа — не кейс, а отчёт об ограде. Она протекла в трёх местах, и оба агента сообщили об этом сами:

  • шаг W2 рабочего процесса пересказывает обе координаты D-11 целиком — это его работа, и изъятие самого документа ничего не даёт;
  • строка истории D-02 v3.0 называет шаг Ш2 и первое применение D-05 — это моя правка того же дня по развилке Ж6: изъятие 99-plan.md не помогло, его содержание успело переехать в документ;
  • план правок E-03 перечисляет неприменённые документы.

Документ нельзя спрятать, не сняв шаг рабочего процесса, который на него указывает. Для Б-1 это не мешало — там прятали предсказания, а документы были открыты. Здесь прятали документы, и приём не сработал. Заявка «кейс не подогнан» ослаблена и не снята: подогнанным оказался набор кандидатов, разведённый по утёкшей оси, а Г-1 выбран среди них как раз потому, что его центр тяжести лежит не на ней — у него потребители известны поимённо, а трудным оказывается содержание обещания: обещать приходится строгость приёмки, и она обязана ужесточиться в первый же год.

Отдельно: у Г-1 нулевой вариант недоступен по закону — срок публикации интерфейса назначен приказом. Матрица обязана содержать нулевой вариант, и это правило только что подтверждено развилкой Ж4. Кейс бьёт по методу, а не по предметной области.

Возражение записано и не снято: нагрузки в кейсе нет — 0,17 запроса в секунду. Четвёртый прогон подряд, где объём ни на что не влияет; если это повторится, вывод будет о руководстве, а не о кейсе.

Следующий этап — безусловные предсказания, записанные и закоммиченные до первой строки о кейсе, как на U-01.

Ш2 пройден 2026-09-22#

Девять этапов вместо двух: кейс оказался сквозным, а не узким. Восемь ADR, ноль новых документов, два кандидата в MAJOR — оба у документов, применявшихся впервые, и ни одного у шести повторных. Находки — examples/U-02-reporting/99-findings.md.

Пять предсказаний из шести попали. Промахнулось Г3: недоступный нулевой вариант оказался доступным — приказ назначает срок обязанному лицу, а не уровень обслуживания нам.

Главный результат — подтверждение правила о цене. Г1 и Г5 вместе утверждали, что вся цена лежит на первом применении; восемь применений в одном прогоне это подтвердили. Правило, записанное в этом плане по трём наблюдениям, выдержало четвёртую проверку на самой широкой выборке из возможных.

Все одиннадцать документов набора теперь применялись хотя бы раз. Оговорка, висевшая над утверждением «форма сошлась» с прогона E-03, снята: оно относилось к семи документам из одиннадцати, теперь ко всем.

План правок составлен, принят и внесён целиком — examples/U-02-reporting/98-revision-plan.md: десять развилок Р1–Р10, три MAJOR. Р9 переписана после разбора и принята четырьмя подвопросами. Вносятся по итерации на развилку, состояние — в сводке плана правок.

Внесено Что
Р1 D-11 v2.0 — шестой дисквалификатор: предмет обещания определяет третья сторона
Р2 D-05 v4.0 — все семь дисквалификаторов называют отвергаемое
Р3, Р4 (словарь), Р10 мастер-шаблон v6.3 — гринфилд превращает опрос в решение; пометка [замер сторонний]; артефакты наружу считаются в одном месте
Р4 (дисквалификатор) D-06 v3.0 — шестой дисквалификатор срабатывает по замеру владельца зависимости; три состояния вместо двух
Р5 D-04 v3.1 — три обязательства следуют из чужой организации в процессе, а не из недостижимости атомарности
Р6 D-06 v3.1 — отвергает дисквалификатор или добавляет работу, определяется родом находки, а не позицией в списке
Р7 D-10 v1.2 — второй род следствия исчерпания бюджета: режим эксплуатации и внешняя эскалация
Р8 D-09 v3.1 — снят заранее названный кандидат на вычёркивание оси; 02-versioning v1.4 — чего не проверяет сверка взаимности; заведена пара указателей D-01 ↔ D-10
Р9.1 мастер-шаблон v6.4 — поле «Стадия», словарь из трёх значений, правило «под изменением ← работающая»; поле заведено в одиннадцати шапках, строки «Документы шага» — в двенадцати шагах, одиннадцатая проверка в tools/check.py
Р9.2 рабочий процесс — блоки «по стадиям» на пяти шагах из двенадцати, строка «на всех стадиях одинаково» у остальных семи, критерий постановки блока
Р9.3 мастер-шаблон v6.5 — правило о местной пометке [стадия: …]; пометки поставлены в D-01 v2.2, D-06 v3.2, D-09 v3.2
Р9.4 Проверка проведена: возвратов между шагами шесть, ни один не специфичен для стадии. Диаграммы и таблицы не будет — разбор в плане правок

Ш2 закрыт. Десять развилок, тринадцать итераций, три MAJOR, семь MINOR, три версии мастер-шаблона, ноль новых документов, одиннадцатая проверка в наборе. Итоги и четыре кандидата в следующий план — в конце плана правок.


Ш3 · М4 по записи P-CHG-04#

Предмет: «Данные уходят в чужую организацию, и проверить там ничего нельзя» — единственная запись реестра, добавленная работой, а не опросом поля. D-08 и D-09 закрыли перенос; то, что после передачи, не обслуживает ни один документ набора.

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

Вариант Что делаем Цена
A М4, и если критерий общности пройден — сразу D-12 2 этапа
B Только М4; решение о документе — отдельной развилкой 1 этап
C Не делать; снять гипотезу с проверки и записать это —

Рекомендую B. Мини-исследования М1–М3 уже показали главное: «общая ли проблема» и «есть ли что решать сверх карточки» — разные вопросы. Все три прошли критерий, документ породил один. Связать М4 с документом заранее — значит повторить ошибку, которую эти три исследования опровергли. Две оговорки, обе против спешки: предсказание о жанре разрешается на решении о документе, а не на М4, так что шаг его только подготавливает; и в самой записи отмечено, что известные решения там почти все договорные — вполне возможно, решать технически нечего, и это будет содержательный ответ, а не пустой.

Пройдено 2026-09-22 — вариант B#

Взят B по рекомендации самого плана: М4 проведена, решение о документе оставлено отдельной развилкой. Выбор ничего не закрывает — B есть начало A, и второй этап доступен в любой момент.

М4 пройдена, критерий общности выполнен всеми тремя типами подтверждения сразу: юридический канон, две рецензированные работы и решение регулятора по эпизоду ровно нашего устройства.

Что нашлось Чем подтверждает
PoPETs 2022, 90 сервисов Стирание не довели 27 %; само стирание ненаблюдаемо, и авторам пришлось выдумывать косвенную проверку
ACSAC 2024, 129/137 сервисов за три года Отправитель не может установить, что получил приёмник. Второй конец того же канала
SEC, дело Morgan Stanley Smith Barney Носители отданы чужой организации, «подавляющее большинство устройств фирма не вернула», отдельно — 42 пропавших сервера
Deloitte, опрос 500 руководителей Частота обстоятельства: четыре компании из пяти — три и более продажи направлений за три года

Главный результат — не вердикт, а поправка к методу. Поле «частота» у этой записи стояло пустым, и поиск объяснил почему: чтобы измерить, как часто данные на той стороне не в том состоянии, нужен доступ к той стороне — тот самый, которого проблема лишает. Отсюда седьмая поправка к правилу допуска: такое поле закрывается частотой обстоятельства, и отсутствие числа записывается как ответ, а не как пробел.

Уточнён признак записи. «Спросим у них» объявлялось отсутствием проверки. Оказалось точнее: переписка не даёт уверенности в исполнении, но ловит неисполнение в каждом пятом случае — 14 попаданий из 78 ответов. Это выборочный контроль, и планировать его надо по частоте, а не по поводу.

Предсказание о жанре не засчитано и здесь. Оно объявлено к решению о документе, и разрешается на нём; находки ему пока не противоречат, но это не то же самое.

Открытых записей в реестре не осталось.


Ш4 · Объявить готовность#

Короткий раздел о том, что считается сделанным, что осталось непроверенным и названо таковым, и что открывает работу заново. Сейчас такого раздела нет, и от этого работа не имеет объявленного конца — очередь пополняется быстрее, чем закрывается.

Вариант Когда Чем плох
A После Ш1–Ш3 Ещё три этапа до объявления
B Сейчас, а Ш2–Ш3 — в очередь поддержки Готовность объявляется с двумя документами, не встречавшими кейса
C Не объявлять Очередь не закрывается никогда

Рекомендую A, и по причине, которую набор сам себе сформулировал. Дисквалификатор из мастер-шаблона v6.0: обещание, исполнение которого нечем установить, обещанием не является. Строка «одиннадцать документов готовы» — это обещание; про два из одиннадцати установить нечего, потому что их ни разу не применяли, а по статистике прогонов первое применение трижды из трёх стоило MAJOR. Объявить готовность раньше Ш2 — значит нарушить собственное правило в первом же предложении объявления.

Пройдено 2026-09-22 — вариант A#

Условие варианта A — «после Ш1–Ш3» — выполнено, и раздел «Готовность» написан в README.md, перед статусом документа.

Раздел устроен по правилу, ради которого A и рекомендовалась. Первая же его строка говорит: «памятка готова» — это обещание, а обещание, исполнение которого нечем установить, обещанием не является. Поэтому у каждого утверждения о готовности стоит чем оно устанавливается: проверкой, полем «Метод» в 23 ADR, статусом реестра, историями версий. Утверждения, которое нечем установить, в таблице нет ни одного.

Непроверенного названо семь пунктов, и первый — главный: ни одного настоящего кейса. Все пять прогонов учебные, системы вымышлены; инструмент испытан на задачах, придуманных для его испытания. Это ровно тот обратный довод, который был записан при выборе пути «метод», и теперь он стоит не в рабочем плане, а в самой памятке, где его увидит читатель.

Работу заново открывает событие, а не желание — перечислено шесть: живой кейс; сквозной прогон по стадии «под изменением»; разрешение предсказания о жанре; MAJOR у любого документа; расхождение рыночного снимка с рынком; красная проверка.

Две правки по ходу, обе — из-за собственного правила памятки.

  1. Я написал в таблицу «91 находка» и вычеркнул: README прямо запрещает печатать счётчики, которые никто не сверяет, и форматы пяти файлов находок разные. Счётчик в разделе, обещающем проверяемость, — худшее место для непроверяемого числа.
  2. Таблица статуса оказалась устаревшей на целый прогон: U-02 в ней не было вовсе, мини-исследований значилось три. Обновлена; заодно из строк прогонов убраны числа находок — по той же причине.

Чего раздел не объявляет: что памятка закончена. Бэклог открыт, четыре кандидата из плана правок U-02 ждут следующей ревизии. Объявлено другое — что метод собран, применён и проверяем, а незакрытые места названы поимённо.


Ш5 · Четвёртый сквозной прогон — не сейчас#

После Ш1–Ш3 неиспытанных документов не останется, и сквозной прогон станет набором повторных применений. E-03 уже показал, что на семи документах из одиннадцати форма сошлась; ожидаемый выход — MINOR. Три-четыре этапа ради этого сейчас не окупаются.

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


Развилка · метод или назначение#

Это единственное место плана, где выбор не технический.

Путь «метод» Путь «назначение»
Порядок Ш1 → Ш2 → Ш3 → Ш4 Ш1 → Ш4; Ш2 и Ш3 — в очередь
Цена около 5 этапов около 2 этапов
Что получается Все одиннадцать документов испытаны хотя бы раз; гипотеза о жанре либо проверена, либо снята; готовность объявлена честно Памятка объявлена пригодной к употреблению на три этапа раньше
Чем платим Ещё неделя на проверку инструмента, которым пока не пользовались по назначению Готовность объявлена с двумя документами, у которых, по статистике прогонов, с высокой вероятностью есть ошибка уровня MAJOR

Рекомендую путь «метод», но с объявленным концом: Ш4 — это точка остановки, а не очередной пункт очереди. Разница между пятью этапами и двумя невелика; разница между «проверено» и «написано» — велика, и она ровно та, которую памятка требует от чужих решений.

Обратный довод, чтобы он был записан: инструмент, который дошлифовывают, ни разу им не воспользовавшись, шлифуется по собственным следам. Четыре прогона придуманы для проверки метода, и ни один — для настоящей задачи. Если этот довод перевешивает, правильный ход — не путь «назначение», а Ш1, затем сразу Ш5 на своём кейсе, и Ш2–Ш4 по его итогам.


Ш1 · результат · 2026-09-21#

  • Как сделано: три независимых агента, не видевших, как писались правки, — по тому же приёму, каким проверялся D-11. Предметы: три сверки между документами; восемь изменённых файлов decisions/ против соседей; пять изменённых карточек против соседей и первоисточников
  • Что я проверил сам: каждое утверждение, попавшее ниже, — по строкам файлов; отчёт агента засчитан как повод посмотреть, а не как результат. Отчёт GitHub за август 2026 открыт и прочитан отдельно
  • Статус: Ш1 закрыт 2026-09-21 — все десять развилок отвечены и внесены

Что внесено сразу#

Исправлена моя ошибка в этом же файле. Выше было написано, что D-05 v3.0 появилась «после разбора Форда и Ричардса». По истории документа Форд и Ричардс относятся к v2.0 (архитектурный квант), а v3.0 выросла из пилота декомпозиции данных (класс защищаемых данных). Строка исправлена.

Шесть устаревших строк. В README.md: диапазон файлов D-01…D-05 → D-01…D-11; «мастер-шаблон v6.0» → v6.1; счётчик слов убран совсем. В 96-backlog.md таблица метрик озаглавлена снимком на дату ревизии №2 и объявлена неподдерживаемой — числа там верны для своего момента и врут для нынешнего. В research/10-problems.md снят заголовок «черновик после И1». В research/20-coverage.md статус помечен снимком и дописано «Дополнение» о том, чем закрыта очередь из семи и куда делись шестеро отложенных.

tools/check.py получила две проверки, и обе сразу сработали.

Проверка Что нашла
Якорь, определённый в файле дважды w8, w9, w10, w11 в 00-workflow.md — по два раза каждый
Объявленное прозой в README.md против диска «мастер-шаблон v6.0» при v6.1; «D-01-… … D-05-…» при одиннадцати документах

Прежняя проверка обе слепые зоны пропускала: якоря она складывала во множество, где дубликат исчезает сам собой, а прозу не читала вовсе. Проверка сейчас красная — и намеренно: два README-факта исправлены, четыре двойных якоря держат находку Ж1 открытой, пока по ней нет решения.

Что проверено и держится#

Список не менее важен, чем находки: он говорит, где правки не разошлись.

  • Зеркало SEC-04 ↔ EDGE-06 по направлению отказа — полное, со взаимными ссылками и общим выводом в обеих карточках; развилка П7·B исполнена по всем трём пунктам. REL-03 противоположного совета не даёт: её предмет — сброс нагрузки, и она сама разводит его с лимитом.
  • Ссылки и якоря из мастер-шаблона и всех одиннадцати документов: около 190, битых нет.
  • Строка «Не решает» — во всех одиннадцати документах; правило мастер-шаблона v6.1 исполнимо с первого дня.
  • Дисквалификатор семейства обещаний (v6.0) несут все четыре документа об обещаниях, каждый своими словами.
  • Строка совместимости v6.0 у всех одиннадцати верна: повышение мастера до v6.1 — MINOR, и по правилу обновления не требует.
  • D-11 против эталона третьего типа D-04: форма сошлась — те же разделы, так же устроены дисквалификаторы (отвергается сочетание требований, а не ячейка), так же закрыт нулевой вариант, так же устроен снимок в ADR, у обоих по пять дисквалификаторов, число ячеек согласовано в трёх местах.
  • Поля «Метод» всех пятнадцати ADR против таблицы применений выше — сходятся полностью, кроме D-05 (развилка Ж6).
  • Форма карточки у всех пяти правленых цела, ни один раздел не выбит. Порог SEC-04 конкурентов в корпусе не имеет и перенесён из М2 точно — самая чистая из пяти правок.

Сводка развилок#

# О чём Что трогает Цена Рекомендация
Ж1 Дубль W8–W11 и устаревший хвост в 00-workflow.md workflow правка ✅ A внесено 2026-09-21
Ж2 «Общая точка невозврата» опровергнута прогоном, но живёт в четырёх местах мастер-шаблон, D-08, D-09 MINOR ✅ A внесено 2026-09-21
Ж3 Строки истории D-08 v2.0 и D-09 v2.0 не отвечают на вопрос «что перепроверить» две истории версий правка ✅ A внесено 2026-09-21
Ж4 D-09 объявлен полной формой, а «Матрицы оценки» у него нет D-09 MAJOR ✅ A разобрано, исход — B, внесено 2026-09-21
Ж5 Шапки не ведут к D-11; два пункта D-01 без адреса; D-06 не знает трёх соседей шапки одиннадцати без версий ✅ A внесено 2026-09-21
Ж6 «E-01 прошёл по D-05» — ложно; предписание D-02 v3.0 не исполнено пять мест правка ✅ A внесено 2026-09-21
Ж7 EDGE-06 приписывает первоисточнику то, чего в нём нет карточка, М3, библиография правка ✅ A внесено 2026-09-21
Ж8 NET-17 подаёт цифру 2011 года как нынешнюю и пересказывает эвристику D-11 карточка правка ✅ B внесено 2026-09-21
Ж9 DATA-16 и D-10 несут одно предложение почти дословно; у добавленного нет источника карточка правка ✅ A внесено 2026-09-21
Ж10 Семь мелких расхождений одним списком разное правка ✅ A внесено 2026-09-21

Ж1 · Дубль W8–W11 и устаревший хвост#

Находка. В 00-workflow.md якоря w8, w9, w10, w11 определены дважды. Блоки W8 и W11 двух копий побайтово идентичны. За второй копией идёт раздел «### Шаблон ADR» с примером ADR-007 целиком — а первая копия заканчивается разделом «### Запись решений», где написано прямо: «Копия формы здесь была бы вторым источником правды и разошлась бы с первым на первой же правке — ровно та ошибка, от которой ADR и защищает».

Почему важно. Это не опечатка, а два поколения файла, склеенных вместе: новое говорит, что копии формы здесь быть не должно, старое эту копию содержит. Ссылки #w8…#w11 ведут в первую копию, вторая невидима и не читается никем, но живёт и расходится. Проверка её не ловила до сегодняшней правки.

Вариант Что делаем
A Удалить вторую копию вместе со старым хвостом «Шаблон ADR» — документ сам объявил это правилом
B Удалить дубль W8–W11, «Шаблон ADR» оставить как пример
C Оставить, пометить второй экземпляр как исторический

Рекомендую A. B сохраняет ровно то, против чего написан текст первой копии; C оставляет в документе кусок, который никто не читает и который некому поддерживать.

Внесено 2026-09-21 — и оказалось не удалением, а склейкой#

Сверка копий по разделам показала, что «новая и старая» — неверное описание. Различий три, и они разнесены по обеим копиям:

Что В первой копии Во второй
Абзац про D-09 в W9 — «стратегия выката выбирается однажды, обратимость — на каждое изменение» есть нет
Строка «Связано» у W11 дубликат строки W7 — про надёжность, не про ревью верная — чек-листы, DATA-16, анти-паттерны
Строка «Источники» у W11 (Найгард, «Documenting Architecture Decisions») нет есть
W8, W10, чек-лист ревью идентичны идентичны

То есть живая копия несла сломанный хвост, а единственная верная его версия лежала в мёртвой — в тексте, который никто не читал. Механическое удаление второй копии потеряло бы две строки W11 безвозвратно, и проверка бы этого не заметила: дубликат «Связано» — валидная строка с рабочими ссылками.

Внесено: обе строки W11 перенесены из мёртвой копии в живую, вторая копия удалена вместе с разделом «Шаблон ADR» и примером ADR-007. Пример использовал форму из пяти разделов — до введения версионирования; действующая форма в 01-adr-template.md состоит из десяти, и пятнадцать настоящих ADR лежат в examples/. Файл: 522 строки → 377. Якорей w0–w11 теперь по одному, проверка зелёная.

Ж2 · «Общая точка невозврата»#

Находка. Мастер-шаблон называет пару поимённо: «Миграция данных и выкат кода | Окно, точка невозврата и откат». То же в шапке D-09 («общее окно и общая точка невозврата»), в разделе 6 D-09 и в разделе 6 D-08. Прогон U-01 это опроверг: «Окно и дата действительно общие; точка невозврата и откат — нет». Раздел 2 самого D-08 v2.0 говорит то же: «точка невозврата переезжает… на первую переданную порцию». То есть D-08 противоречит себе внутри одного файла, а мастер-шаблон, поднятый до v6.0 и v6.1 уже после U-01, строку не тронул.

Почему важно. Это единственная пара, названная в шаблоне поимённо, и ради неё введено правило «связанные решения записываются одним ADR, иначе сумма не видна нигде». Если сумма описана неверно, первый же пересмотр пойдёт по несуществующему общему параметру.

Вариант Что делаем Класс
A Исправить строку мастера и обе шапки: общее — окно и дата; точка невозврата и откат у каждого свои MINOR мастера
B То же, но признать MAJOR MAJOR
C Оставить, записать расхождение как наблюдение —

Рекомендую A. По правилу версионирования MAJOR — это когда метод изменился так, что прежнее решение могло выйти иначе; ADR-0002 прогона U-01 записал уже верную картину, так что иначе ничего не вышло бы. Правило «один ADR на пару» переживает правку: общее окно и общая дата его оправдывают.

Внесено 2026-09-21 — утверждение стало условным, а не ложным#

Чтение всех четырёх мест целиком изменило формулировку правки. Прежняя строка не просто неверна — она безусловна там, где верна условно. Раздел 2 D-08 v2.0 говорит прямо: «пока приёмник наш, они совпадают, и различать их незачем; как только приёмник чужой — расходятся полностью». В прогоне U-01 приёмник был чужой, поэтому находка и получилась.

Во всех четырёх местах теперь стоит одно: общими названы окно и дата; точка невозврата и откат общие только пока приёмник данных наш, а при чужом у переезда точка на первой переданной порции, у кода — на переключении.

Файл Версия Что изменилось
00-template.md v6.2 MINOR Строка пары в таблице связанных решений
D-08 v2.1 MINOR Раздел 6 перестал противоречить разделу 2 того же файла
D-09 v2.1 MINOR Шапка «Не путать с» и раздел 6

Принятый ADR-0002 прогона U-01 не правится — там та же опровергнутая строка, но ADR после принятия не редактируется. Вместо этого обе строки истории версий говорят читателю прямо: строка ADR опровергнута находкой 2 того же прогона, читать его надо вместе с находками. Это первый случай в наборе, когда указание «что перепроверить» адресовано существующему ADR, а не пустоте.

Побочный результат, и он про инструмент. Сразу после правки проверка стала красной: «объявлен мастер-шаблон v6.1, на диске v6.2» — в README.md. Проверка, написанная вчера под находку Ш1, поймала первое же расхождение в тот же день, когда оно появилось, и до того, как его кто-то увидел глазами.

Ж3 · Строки истории, которые не отвечают на свой вопрос#

Находка. D-08 v2.0 и D-09 v2.0 обе заканчиваются словами «старым ADR перепроверять нечего: до U-01 документ не применялся ни разу». Буквально верно — и вопроса не закрывает: ADR-0002 прогона U-01 написан по версиям v1.0, принят, заморожен, и обе v2.0 выросли ровно из него. Правило требует прямо: «Строка истории версий, из которой непонятно, что делать читателю старого ADR, эквивалентна её отсутствию».

Вариант Что делаем
A Переписать обе строки по формуле, уже применявшейся в наборе трижды: «ADR прогона намеренно оставлены по прежним версиям» — с указанием, что именно в них теперь читается иначе
B A плюс написать examples/U-01-handover/98-revision-plan.md — это единственный прогон без плана правок
C Оставить

Рекомендую A. B заманчив симметрией, но план правок по U-01 уже фактически исполнен — он лежал в моём сообщении, а не в файле; заводить его задним числом значит писать документ ради полноты полки.

Внесено 2026-09-21 — и ответ нашёлся в самом ADR#

Чтобы строка истории сказала правду, пришлось прочитать ADR-0002 до конца. Оказалось, что обе правки он уже применяет — и применяет в разделах, которых в форме ADR не предусмотрено: «Замечание: ось обратимости не различает двух вещей» и «Решение: степень обратимости назначается по частям». Там же он сам отмечает, что D-09 v1.0 требовал одну степень, а их оказалось три.

Это меняет ответ. Переделывать ADR не нужно — не потому, что «перепроверять нечего», а потому, что он уже сделал то, ради чего вышли обе v2.0, только записал это замечанием, а не формой. Обе строки теперь называют, что именно в нём перепроверить:

Документ Что перепроверить в ADR-0002
D-08 Четвёртой строки записи — чем обратимость является на каждом шаге — в «Решении» нет, она осталась в замечании
D-09 Итоговая степень изменения отдельной строкой не названа, она читается из таблицы трёх частей

Версии не поднимались: правится строка истории, а не метод. Чтобы правка не стала невидимой, в обе строки вписано, что и когда в них переписано и чем прежняя редакция была плоха, — история истории.

Наблюдение о жанре. Дважды подряд — в Ж2 и здесь — верный текст находился внутри документа, который утверждал обратное: раздел 2 D-08 против раздела 6 того же файла, замечания ADR-0002 против строки истории, ссылавшейся на его несуществование. Расхождение живёт не между файлами, а между разделами одного файла, и вычитка соседей его не ловит — нужно читать документ целиком.

За рамками этой развилки осталось родственное: у D-05 обе строки MAJOR адресованы несуществующим ADR — обратный случай, указание есть, читателя нет. Это часть Ж6.

Ж4 · Полная форма без матрицы#

Находка. D-09 объявляет «полную форму», а среди его семи разделов «Матрицы оценки» нет: второй раздел — «Три степени обратимости». Полных форм в наборе восемь, и матрица на месте у семи (в первой редакции этой строки я написал «у пяти остальных» — пересчёт при разборе показал восемь и семь). Слово «матрица» в D-09 не встречается ни разу, при этом эвристика в нём говорит про «пустую ячейку» — про ячейки документа, в котором ячеек нет.

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

Вариант Что делаем Класс
A Разобрать, чем таблица состояния мира является по отношению к матрице; если это собственная форма — назвать её в мастере до MAJOR мастера
B Дописать D-09 матрицу по общему образцу MINOR D-09
C Переименовать раздел 2 в «Матрица оценки» правка

Рекомендую A, и это единственная развилка Ш1, где может родиться новое знание, а не исправление. C — косметика, которая закроет вопрос, не ответив на него.

Разобрано 2026-09-21 — четвёртой формы нет, матрица просто отсутствует#

Разбор вёлся двумя независимыми путями — мной и отдельным агентом, не видевшим моего хода, — и сошёлся на одном: раздел 2 D-09 не замена матрице, а шкала одной оси. Он определяет, что значит «полная», «условная» и «отсутствует» для оси «степень обратимости», то есть служит словарём ячейки. Замены матрицы в нём нет, потому что сравнения кандидатов в нём нет вовсе.

Решающий довод — ближайший родственник. У D-08 такая же определительная таблица (виды обратимости) стоит внутри раздела 2 и прямо объявляет себя инструкцией к ячейке: «заполняя ячейку обратимости, пишите оба значения». А следом у него идёт матрица. D-09 сделал первую половину и остановился: поднял словарь ячейки в ранг раздела, а матрицу, ради которой словарь написан, не написал.

Пять улик, каждая проверена по файлу:

Улика Что показывает
Объявлены шесть осей, заполнена одна Это дословно пункт списка рецензента из мастер-шаблона: «объявить и не использовать — обычный остаток черновика»
Слова «нулевой вариант» в D-09 — ноль раз Единственный такой среди полных форм; мастер требует нулевой вариант именно в матрице
Пометок источника [замер], [расчёт], [нет данных] — ноль Словарь пометок объявляется в разделе 3, которого нет; пункт проверки «у каждой ячейки есть пометка» для D-09 был неисполним
Эвристика говорит про «пустую ячейку», раздел 6 требовал записать «формы и их цену» Следы матрицы внутри документа, у которого её нет
Опись первой версии перечисляет «7 вопросов, 6 осей, 5 дисквалификаторов, 7 типовых форм» Матрицы там нет: её не теряли, её не было никогда. Семь разделов набрались потому, что на освободившееся место встал новый

Довод в пользу четвёртой формы рассмотрен и отвергнут. Он держится на предпосылке «у документов такого предмета матрицы не бывает», но предмет D-09 мастер-шаблон определяет вместе с D-08 — «необратимость: переход, который нельзя переиграть». У D-08 матрица есть, и обратимость — одна из шести её осей. Предмет матрицу не отменяет. Сверх того: все три известные формы объявляют себя в шапке и объясняют отсутствие матрицы на месте отсутствия (D-03, D-04, D-11 — каждый своей строкой); D-09 не говорит об этом нигде, а шапка заявляет «полная форма».

Внесено — D-09 v3.0, MAJOR. Раздел 2 стал «Шкалой главной оси» внутри «Осей и дисквалификаторов»; матрица встала разделом 3 — шесть осей строками, формы раздела 4 колонками, нулевой вариант «выкатить как задумано, обратимость специально не обеспечивать», словарь из пяти пометок, включая [проба] — откат исполнен, а не предположен, чего и требует дисквалификатор. Разделы теперь ровно те семь, что у всех.

Почему MAJOR, а не MINOR. Прежнее решение могло выйти другим, и видно, как именно: в ADR-0002 прогона U-01 поля «Рассмотренные варианты» нет ни в одной из двух записей, а из пяти строк состояния мира до решения дошли три — «сообщения в очередях» и «внешние контракты» пропали между сработавшим дисквалификатором и решением. Закрыть строку было нечем: таблицы, которая этого требует, в документе не существовало.

Побочно найдена моя ошибка в этом же плане: выше было написано «у пяти остальных полных форм матрица на месте». Полных форм восемь, матрица у семи — D-05 и D-07 я в счёт не включил. Строка исправлена.

Ж5 · Шапки, по которым нельзя собрать список документов#

Находка, три вида. D-11 знает о D-02 и D-10; обратных упоминаний нет ни в одном, хотя оба правились 18 сентября. У D-01 два пункта строки «Не решает» — «форму данных внутри сервиса; аналитический контур» — без адреса, куда идти; у остальных десяти документов адрес есть у каждого пункта. D-06 не упоминает ни D-09, ни D-10, которые оба ссылаются на него.

Почему важно. Правило v6.1 велит собирать список нужных документов по строкам шапок до начала работы. Планируя работу по границам или по целям обслуживания, D-11 по шапкам не найдёшь — ровно тот промах, из-за которого U-01, задуманный по двум документам, потребовал трёх.

Вариант Что делаем
A Сплошная сверка шапок всех одиннадцати на взаимность и адресность, одной правкой
B Точечно: D-02 и D-10 узнают о D-11, остальное потом
C Отложить

Рекомендую A. Правило v6.1 стоит ровно столько, сколько стоят шапки; чинить их по одной — значит проверять правило на честном слове.

Внесено 2026-09-21 — сверка машинная, а не на глаз#

Граф ссылок между одиннадцатью шапками я построил скриптом, а не чтением: слишком легко пропустить отсутствующее. Нашлось десять односторонних ссылок вместо трёх названных в находке.

Кто знает Кого Почему это мешает
D-11 D-02, D-09, D-10 Планируя работу по границам или по целям, D-11 по шапкам не найдёшь
D-09, D-10 D-06 Оба шлют к нему «что показывать пользователю», он о них не знает
D-05, D-07 D-04 D-04 слал «где проходят границы» только к D-02 — на гринфилде это неверный адрес
D-06, D-08 D-01
D-02 D-03

Все десять закрыты, и каждая обратная ссылка написана по существу, а не механически. Две из них чинят содержательные дыры: D-04 теперь шлёт за границами к D-02 в работающей системе и к D-05 на старте; D-06 шлёт за суррогатом к D-01, а за отдельным хранилищем под него — к D-07 (прежде предмет «где взять суррогат» не признавал своим никто). Два безадресных пункта D-01 получили адреса — карточки DATA-03 и DATA-15. Безадресным остался один пункт на весь набор, у D-04, и это законно: адрес там внутренний — «см. отвод в разделе 1».

Стало: 40 ссылок между одиннадцатью шапками, все взаимные — двадцать пар. Было тридцать, из них десять в одну сторону.

Правка не дала ни одной новой версии — и это тоже решение#

Тридцать таких правок породили бы тридцать строк истории, не отвечающих ни на один вопрос читателя старого ADR. В 02-versioning.md v1.3 добавлен третий раздел этого рода — «Указатель на соседа — не пересмотр», рядом с «Переименование — не пересмотр» и «Обновление заявленной совместимости — не пересмотр». Он же вводит обязанность: если шапка X называет Y, шапка Y называет X — иначе список документов, собираемый по шапкам до начала работы, зависит от того, с какого документа начали. И оговаривает границу: бесплатен только указатель; изменение самой строки «не решает» — обычный MINOR, а перенос предмета к соседу и MAJOR.

Взаимность теперь проверяется машиной — третья проверка, добавленная в check.py за два дня. Она тут же нашла одиннадцатую одностороннюю ссылку, которую породила моя собственная правка: D-06 → D-07 без обратной. Закрыто.

Ж6 · «E-01 прошёл по D-05»#

Находка. Утверждение стоит в двух местах — в контексте прогона E-02 и в 96-backlog.md. Оно ложно: поля «Метод» четырёх ADR прогона E-01 называют D-01, D-02 v2.1, D-04, D-03; D-05 не назван ни разу, а его собственная история говорит, что он из E-01 выведен. Рядом обнаружилось, откуда растёт путаница: история D-02 v3.0 предписывает «старым ADR: если решение принималось на системе без истории изменений, перепройти по D-05». Предписание относится к E-01 · ADR-0002 и никогда не исполнялось.

Вариант Что делаем
A Исправить обе строки на «E-01 породил D-05»; записать, что предписание D-02 v3.0 осталось неисполненным, и оставить счёт применений D-05 нулём
B Исполнить предписание: перепройти E-01 · ADR-0002 по D-05 замещающим ADR. Тогда D-05 получает первое применение
C Оставить

Рекомендую A. B выглядит дешёвым способом закрыть неприменённый документ — и это ровно тот замкнутый круг, который уже назван в Ш2·C: проверять документ прогоном, из которого он выведен, нельзя. Первое применение D-05 должно быть на свежем гринфилде, как и записано в Ш2.

Внесено 2026-09-21 — пять мест, из них одно оказалось верным#

Где Что сделано
Контекст E-02 «E-01 проверял D-05» → «E-01 породил D-05»: решение там принималось по D-02 v2.1, документ выделился уже по итогам прогона
96-backlog.md То же исправление второго вхождения
research/20-coverage.md Строка оказалась верной и осталась как была — см. ниже
D-05, две строки MAJOR Указания в пустоту стали честными: перепроверять нечего, ADR по документу не существует, а само указание адресовано первому применению
D-02 v3.0 Записано, что предписание «перепройти по D-05» относится к E-01 · ADR-0002 и не исполнено, и почему исполнять его задним числом не будут

Третье место чинить было не нужно, и это важнее остальных четырёх. В таблице покрытия стоит «D-05 границы на старте | P-BND-02 | ✅ канон + прогон», и выглядит это как заявление о применении документа. Но колонка называется «Проходит критерий общности?» и говорит о проблеме: проблема «какие границы заложить на старте» на гринфилде E-01 действительно наблюдалась — из-за неё документ и выделили. Утверждение верное, прочтение неверное, и прочли его неверно дважды: сначала рецензент, потом я, когда переносил находку в план. Вместо правки под таблицу добавлена оговорка, что «прогон» в этой колонке — про наблюдение проблемы, а не про применение документа.

Счёт применений D-05 остаётся нулём. Соблазн закрыть его задним числом был осязаемым: предписание D-02 v3.0 прямо велит перепройти E-01 · ADR-0002 по D-05, и исполнение дало бы первое применение за один вечер. Оно же дало бы ложный результат: документ выведен из этого прогона, и прогон подтвердил бы его по построению.

Ж7 · EDGE-06 против первоисточника#

Находка, проверена по источнику. Карточка говорит: «в двух усиление шло от внутренних клиентов — бегунов, повторявших отозванные задания, и собственного шлюза». Я открыл отчёт GitHub за август 2026. Второй случай усиления описан там как ошибка повторов у клиента, бившая по внутренней точке аутентификации; «сокращение повторов шлюза» стоит среди мер тушения, а не среди причин. Про шлюз как источник усиления в отчёте не сказано. Формулировка пришла из М3 в реестре проблем, а таблица в том же файле описывает тот же инцидент верно — без шлюза.

Вторая половина находки: карточка утверждает «усиливающий потребитель чаще оказывается своим же сервисом», то есть берёт частоту — а М3 запрещает это прямым текстом: «Пять инцидентов одного провайдера за один месяц — не выборка… Частоту отсюда брать нельзя; можно брать механизм и лексикон». Оговорка в карточку не доехала. Третье: отчёт процитирован в теле, но не внесён ни в «Источники» карточки, ни в 95-sources.md — единственный такой источник из пяти правленых карточек.

Вариант Что делаем
A Исправить обе строки — в карточке и в М3, где ошибка родилась; вернуть оговорку о частоте; внести отчёт в «Источники» и в библиографию
B Исправить только карточку
C Снять утверждение целиком

Рекомендую A. Это самая тяжёлая находка по содержанию: текст приписывает первоисточнику то, чего в нём нет. Чинить надо там, где ошибка родилась, иначе она вернётся следующим переносом.

Внесено 2026-09-21 — и отчёт я открыл сам#

Прежде чем править, я прочитал отчёт целиком, а не поверил рецензенту. Что в нём действительно написано:

Инцидент Что сказано об усилении Чем гасили
6 августа Бегунам выдавались уже отозванные задания, и они застревали на повторах — самоусиливающийся затор. Внутренний Расширение ёмкости, придушивание работы по вебхукам
17 августа «Латентная ошибка повторов у клиента резко усилила трафик к одной внутренней точке аутентификации». Внутренний Перевод трафика в другой ЦОД, сокращение повторов шлюза, блокировка запросов-триггеров
26 августа Всплеск входящих событий поверх и без того высокой нагрузки. Внешний Отказоустойчивый переход БД, придушивание входящих событий
20 и 27 августа Усиления нет: отказ управляемой БД и деградация внешнего поставщика модели —

Значит, «три из пяти гасились ограничением входящей нагрузки» — верно (6-е, 17-е, 26-е). «В двух усиление шло изнутри» — верно (6-е и 17-е). А вот «собственный шлюз» в отчёте не назван источником усиления: там ошибка повторов у клиента, а сокращение повторов шлюза стоит среди мер тушения. Формулировка не выдумана на пустом месте — она выведена из строки о мерах и подана как утверждение источника. Это хуже опечатки и мягче подлога: вывод, надетый на цитату.

Исправлено в двух местах, начиная с того, где ошибка родилась — М3 в реестре проблем, оттуда она переехала в карточку. В обоих теперь «ошибка повторов у клиента, бившая по внутренней точке аутентификации». В М3 рядом стоит пометка о том, что именно было неверно, — чтобы следующий перенос не воспроизвёл её заново.

Вторая половина находки — частота. Карточка утверждала, что усиливающий потребитель «чаще» оказывается своим же сервисом. Собственная оговорка М3 это запрещает прямым текстом: «пять инцидентов одного провайдера за один месяц — не выборка… частоту отсюда брать нельзя; можно брать механизм и лексикон». Заголовок стал «бывает своим же сервисом, а не только внешним интегратором», и запрет на частоту перенесён в карточку целиком — раньше он оставался в исследовании, куда читатель карточки не ходит.

Третье: отчёт был процитирован в теле и не значился нигде. Единственный такой источник из пяти правленых карточек. Внесён и в «Источники» EDGE-06, и в 95-sources.md, блок B02.

Ж8 · NET-17: возраст цифры и пересказ документа#

Находка. Карточка: «данные говорят, что номер версии совместимости не свидетельствует — в минорных релизах ломают почти столько же, сколько в мажорных». Ни года, ни оговорки, ни источника. В D-11 та же пара дана с датой (Maven образца 2011 года, 35,7 % против 35,8 %) и с оговоркой о возрасте: реплика на данных до 2018-го даёт 83,4 % соответствия, и М1 пишет прямо — «брать цифру 2011 года как нынешнюю было бы ошибкой». Сверх того, сам довод «номер версии ничего не обещает» — это основание выбора, то есть эвристика D-11, пересказанная в карточке почти теми же словами.

Почему важно. Это ровно те две находки, которые рецензия D-11 уже ловила один раз и которые после неё внесены в шаблон постоянными пунктами проверки. Значит, правило работает только там, где рецензия была.

Вариант Что делаем
A Вернуть в карточку год и оговорку
B Убрать утверждение из карточки, оставив ссылку: карточка отвечает «как», а «что обещано и кому» — предмет D-11, где цифра уже стоит со всеми оговорками
C Оставить

Рекомендую B. A чинит возраст цифры и оставляет пересказ — то есть половину находки.

Внесено 2026-09-21 — одной правкой закрылись обе половины#

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

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

Из этого следует вопрос, который выходит за рамки Ж8 и остаётся открытым: чем обеспечивается качество правки, если рецензируются только новые документы. Ш1 показал, что правок за два дня было больше, чем новых документов за всё время.

Ж9 · DATA-16 и D-10: одно предложение в двух местах#

Находка. «Точность растёт как корень из объёма выборки, то есть цена растёт квадратично к точности» стоит в карточке и в документе почти дословно, вместе с вопросом «как часто мы имеем право спрашивать арбитра». Дублирование было запланировано развилкой Е-… по итогам E-03 — вариант «абзац в карточку и особенность формы в документ». Но арифметика цены измерения — это основание для выбора частоты сверки, то есть жанр решения. Отдельно: у добавленного материала карточки нет ни одного источника, хотя фактическое основание известно — расчёт из ADR-0005 прогона E-03.

Вариант Что делаем
A Арифметику оставить в D-10, в карточке — механизм и ссылка; сослаться на расчёт E-03 как на источник
B Наоборот: арифметику в карточку, в документе — ссылка
C Оставить дубль, он запланирован

Рекомендую A — по жанровому правилу: карточка отвечает «как устроено», документ «как выбрать».

Внесено 2026-09-21 — разрез прошёл ровно по жанру#

Арифметика — «точность растёт как корень из объёма выборки, то есть цена растёт квадратично к точности» — осталась только в D-10. В карточке на её месте стоит то, что карточке и принадлежит: частота сверки — параметр решения, а не свойство механизма, а во что обходится нужная точность и кто за это платит, решается за пределами карточки. Слова «квадратично» в блоке topics/ больше нет ни разу.

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

Источник добавлен. У седьмого случая — арбитр вне системы — не было ни одной ссылки, хотя основание известно: расчёт из E-03 · ADR-0005, где внешним арбитром была ручная инвентаризация. Теперь он стоит первым в «Источниках» карточки. Это первый случай в наборе, когда источником карточки служит собственный прогон, а не внешняя публикация.

Взаимность формальных списков DATA-16 ↔ D-10 сюда не входит — она в Ж10.

Ж10 · Семь мелких расхождений#

Одним списком, все проверены:

  1. D-11 требует от шаблона того, что шаблон уже сделал: оговорка «формулу шаблона стоит обобщить» написана в тот же день, когда мастер-шаблон её обобщил, и даже сослался на D-11 в примере. Убрать оговорку.
  2. D-09 ссылается на шаг «W9 · Доставка и эксплуатация», которого нет: в workflow это «W9 · Наблюдаемость и эксплуатация», а «Доставка и эксплуатация» — название блока карточек B10. Шаг и блок перепутаны именем.
  3. Мастер-шаблон приписывает рыночный слой D-03 и D-04, у которых его нет: D-03 — короткая форма без раздела «из чего выбирают», D-04 прямо говорит «рыночного снимка нет». Строка введена в v6.0 и описывает два из трёх своих примеров неверно.
  4. NET-17 и NET-18 оформили ссылку на D-11 по-разному: у NET-18 он в «Связано», у NET-17 только в абзаце. Одна правка, два оформления.
  5. DATA-16: ни один из четырёх соседей не отвечает взаимностью — единственный такой случай среди пяти правленых карточек. Связь с D-10 у обеих сторон живёт только в теле, в формальных списках её нет.
  6. Подпись источника разошлась с целью: «Google API Design Guide — Versioning» ведёт на адрес, который отдаёт переадресацию на «AIP-185: API Versioning». Та же пара лежит в 95-sources.md.
  7. NET-17 называет заголовок Sunset, источника под него нет: RFC 9745 определяет Deprecation, а Sunset — это RFC 8594, который по всему каталогу не упоминается ни разу.

Рекомендую A: внести все семь одной правкой. Ни одна не меняет метода, все проверяются глазами за один проход.

Внесено 2026-09-21#

# Что сделано
1 Оговорка D-11 «формулу шаблона стоит обобщить» удалена: шаблон обобщил её в тот же день и сослался на D-11 в примере
2 D-09 ссылается на «W9 · Наблюдаемость и эксплуатация» — так шаг и называется; «Доставка и эксплуатация» это блок карточек B10
3 Строка мастер-шаблона больше не приписывает рыночный слой всем трём примерам: «держатся на дисквалификаторах, а у части — и на рыночном слое»
4 D-11 встал в «Связано» у NET-17, как уже стоял у NET-18
5 DATA-16 ↔ D-10 попали в формальные списки друг друга; связь жила только в теле
6 Подпись источника приведена к цели: AIP-185 · API Versioning вместо «Google API Design Guide — Versioning». Переадресацию проверил сам — 302 на google.aip.dev/185. Исправлено и в 95-sources.md
7 Sunset получил свой источник — RFC 8594; RFC 9745 определяет только Deprecation и назван теперь точно: Response Header Field

Односторонность связей DATA-16 с четырьмя соседями-карточками не трогал. По корпусу взаимны 53,5 % связей карточка→карточка, то есть односторонность — норма жанра, а не дефект. Находкой была связь с документом решения, жившая вне формальных списков с обеих сторон, — она и закрыта.


Ш1 закрыт · что он стоил и что дал#

Десять развилок, десять итераций, ни одной отложенной. Порождённые версии: мастер-шаблон v6.2, 02-versioning v1.3, D-08 v2.1, D-09 v2.1 → v3.0. Одна правка оказалась MAJOR, четыре — MINOR, остальное версий не дало вовсе — по правилу, введённому той же вычиткой.

Что вычитка нашла на самом деле. Из десяти развилок шесть — расхождение текста с тем, что уже записано в том же каталоге, и ни одна не требовала нового знания. Две — потерянная оговорка о возрасте цифры и пересказ документа в карточке — того же класса, что нашла рецензия D-11. Одна — Ж4 — оказалась не исправлением, а разбором, и дала MAJOR. И одна, Ж6, чинилась не полностью: третье из пяти мест оказалось верным, а неверным было прочтение — моё и рецензента.

Три проверки, которых не было. check.py научилась ловить дубликаты якорей, расхождение объявленного в README с диском и односторонние указатели между шапками. Каждая нашла дефект в первый же запуск; вторая и третья поймали расхождения, которые породили мои собственные правки в тот же день. Граница проходит не между важным и мелким, а между тем, что сверяет машина, и тем, что держится на внимании автора.

Что осталось открытым и в вычитку не входит. Мастер-шаблон обязывает к внешней рецензии новый документ; правка к старому и правка к карточке через неё не проходят — а Ш1 показал, что правок за два дня было больше, чем новых документов за всё время. Это вопрос к методу, а не к тексту, и решать его здесь я не стал.


Что Ш1 сказал о методе#

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

Второе. Две находки — Ж7 и Ж8 — того же класса, что нашла рецензия D-11: потерянная оговорка о возрасте цифры и пересказ документа в карточке. Оба пункта после той рецензии внесены в мастер-шаблон как постоянные проверки. Проверки не сработали, потому что их некому было применить: шаблон обязывает к внешней рецензии новый документ, а карточки и правки к старым документам через неё не проходят.

Третье, и оно про инструмент. Обе новые проверки check.py нашли дефекты в первый же запуск. Разметку машина проверяла и раньше; сегодня она впервые проверила утверждение — и сразу поймала два. Граница проходит не между «важным» и «мелким», а между тем, что сверяется автоматически, и тем, что держится на внимании автора.