Дальнейший план · после 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 у любого документа; расхождение рыночного снимка с рынком; красная проверка.
Две правки по ходу, обе — из-за собственного правила памятки.
- Я написал в таблицу «91 находка» и вычеркнул:
READMEпрямо запрещает печатать счётчики, которые никто не сверяет, и форматы пяти файлов находок разные. Счётчик в разделе, обещающем проверяемость, — худшее место для непроверяемого числа. - Таблица статуса оказалась устаревшей на целый прогон:
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 · Семь мелких расхождений#
Одним списком, все проверены:
D-11требует от шаблона того, что шаблон уже сделал: оговорка «формулу шаблона стоит обобщить» написана в тот же день, когда мастер-шаблон её обобщил, и даже сослался наD-11в примере. Убрать оговорку.D-09ссылается на шаг «W9 · Доставка и эксплуатация», которого нет: в workflow это «W9 · Наблюдаемость и эксплуатация», а «Доставка и эксплуатация» — название блока карточекB10. Шаг и блок перепутаны именем.- Мастер-шаблон приписывает рыночный слой
D-03иD-04, у которых его нет:D-03— короткая форма без раздела «из чего выбирают»,D-04прямо говорит «рыночного снимка нет». Строка введена в v6.0 и описывает два из трёх своих примеров неверно. NET-17иNET-18оформили ссылку наD-11по-разному: уNET-18он в «Связано», уNET-17только в абзаце. Одна правка, два оформления.DATA-16: ни один из четырёх соседей не отвечает взаимностью — единственный такой случай среди пяти правленых карточек. Связь сD-10у обеих сторон живёт только в теле, в формальных списках её нет.- Подпись источника разошлась с целью: «Google API Design Guide — Versioning» ведёт на адрес, который отдаёт переадресацию на «AIP-185: API Versioning». Та же пара лежит в
95-sources.md. 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 нашли дефекты в первый же запуск. Разметку машина проверяла и раньше; сегодня она впервые проверила утверждение — и сразу поймала два. Граница проходит не между «важным» и «мелким», а между тем, что сверяется автоматически, и тем, что держится на внимании автора.