diff --git a/docs/architecture/05-decisions-index.md b/docs/architecture/05-decisions-index.md index c0812409..d6bd4aef 100644 --- a/docs/architecture/05-decisions-index.md +++ b/docs/architecture/05-decisions-index.md @@ -1,4 +1,12 @@ -# Реестр D-нот — карта актуальности v2 (D1–D39.154; строка 167; титул — носитель головы, бампать при каждом аппенде — испр. оркестратором №17 15.08 по аудиту: отставал на четыре ноты) +# Реестр D-нот — карта актуальности v2 (D1–D39.154; + +> ⚠ **ЗНАЙ СЛАБОЕ МЕСТО ЭТОГО ФАЙЛА (вписано 22.08 аудитом доков).** Реестр продан как «статус и тело +> ЛЮБОГО номера одним хопом» (D39.126) — и колонка ТЕЛА у нот D39.107…D39.123 говорит «жив», хотя +> тела уехали в слайс `../archive/architecture/05-decisions-D39-106-123.md` подрезкой D39.139. +> Не нашёл тело по колонке — иди в слайсы, их шесть, перечень в шапке `05-decisions-log.md`. +> `counts.py --check` этот класс НЕ ловит по устройству: он сверяет полноту номеров, а не то, где +> лежит тело. Пере-снимать колонку целиком — отдельная работа, здесь названа, чтобы не молчала. + строка 167; титул — носитель головы, бампать при каждом аппенде — испр. оркестратором №17 15.08 по аудиту: отставал на четыре ноты) > Одна строка на КАЖДУЮ ноту журнала решений: № · дата · суть · статус · где тело · темы. Ведёт оркестратор при лендингах: новая нота = новая строка ТЕМ ЖЕ коммитом (полноту сторожит `docs/scripts/counts.py --check`). Суть и статус здесь — НАВИГАЦИЯ, не контракт: при конфликте побеждает ТЕЛО ноты (живой [`05-decisions-log.md`](05-decisions-log.md) → слайсы `../archive/architecture/05-decisions-*.md`). Несущие эрраты к фактам старых нот живут в шапке живого D-лога — их читать ОБЯЗАТЕЛЬНО, реестр их не дублирует. Темы (для грепа оси «какой закон по X»): деньги · шов · банк · промпт · судья · гейты · контракт · платформа · фронт · полигон · ToS · общность · процесс · нарезка · голос · инфра · модели. > Родословная: прозаическая карта D1–D39.28 (ревизии D31–D38.2) пересобрана в реестр докс-паком 167 (09.08.2026, №16): извлечение 6+6 агентов по worksheet `../archive/reports/DOC_AUDIT_INVENTORY_2026-08-09.md`, полнота сверена скриптом против заголовков всех шести файлов. «тело: жив» = живой D-лог; «слайс N» = `../archive/architecture/05-decisions-N.md`. @@ -177,7 +185,7 @@ | D39.122 | 09.08 | Пак «блокеры контракта» принят: строки 99·100·101·125·145 закрыты; unit.id с тегом разреза, манифест tm-manifest-v2, --ceiling-usd = книжный потолок; research/27 принят фактурой (строки 160–162) | ЖИВОЕ: формы артефактов для потребителей; формула аргумента потолка поправлена D39.123 (PD-158); дизайн глав НЕ ратифицирован | жив | контракт нарезка деньги | | D39.123 | 09.08 | Пак платформы P4 «раннер» принят: транзиентные юниты, холд-до-спавна, реконсилятор; формула потолка = committed+прирост×ставка без reserved (PD-158); ставка $0.03/глава; контракт 0.2.1 (503) | ЖИВОЕ: строки 138·139 закрыты; PD-113 — единственный открытый major до эмиттера; строки 165/166 движку | жив | платформа деньги шов | | D39.124 | 09.08 | Закрытие сессии №15, передача №16: семь приёмок эры закрыты (D39.109–123); докс-диета — хроники в архив-слайсы, зонный журнал платформы 1856→630 строк, CURRENT-STATE пересобран | закрыт (исполнен); очередь №16 дополнена D39.125 п.4 (докс-пак 167 первой задачей) | жив | процесс | -| D39.125 | 09.08 | Докс-диета по аудиту: D-лог слайсирован в 5 архив-слайсов (961→323 КБ), PROGRESS −42%, факты-против-кода исправлены (эррата D39.111); нормы формы доков; остаток аудита = строка 167 | ЖИВОЕ: правило чтения D-лога (карта+эрраты+живые тела+голова D39.106+, греп живой файл → слайсы) + нормы формы | жив | процесс | +| D39.125 | 09.08 | Докс-диета по аудиту: D-лог слайсирован в 5 архив-слайсов (961→323 КБ), PROGRESS −42%, факты-против-кода исправлены (эррата D39.111); нормы формы доков; остаток аудита = строка 167 | ЖИВОЕ: правило чтения D-лога (карта+эрраты+живые тела+голова **D39.124+** (⚠ было «D39.106+» — сдвинуто подрезкой D39.139, испр. 22.08), греп живой файл → слайсы) + нормы формы | жив | процесс | | D39.126 | 09.08 | Докс-пак 167 исполнен: реестр всех нот (этот файл) · counts --check полнота реестра + --lint якорей · разгрузка топ-10 строк бэклога · топикальные входы 15-money-path/16-events-emitter/STACK · К-статусы компаньона сведены | ЖИВОЕ | жив | процесс | | D39.127 | 10.08 | Приёмка фронта S3.6 принята и залендена (57e6bd1): гейты пере-прогнаны исполнением, 12 находок ревью → промт S3.7; Ф-47 ратифицирован (sense обязателен, спека 0.2.2); строка 169 — экспорт банка | ЖИВОЕ: S3.7 исполнен и принят (D39.129), канон sense внесён (0.2.2); S4 — промт по слову владельца (гейт пал D39.130) | жив | фронт контракт | | D39.128 | 10.08 | Полное пере-чтение корпуса по заказу владельца; выданы промты: бэкенд-эмиттер (103+135+165, PD-113) и платформа P5 (П-9/PD-72 + PD-140 + П-11/PD-114) | ЖИВОЕ: P5 исполнен и принят (D39.130), развилка book.yaml решена там же (форма Б); эмиттер — промт жив (PD-196 дописан 14.08), запуск по слову владельца | жив | шов деньги платформа процесс | @@ -195,7 +203,7 @@ | D39.140 | 16.08 | Аудит целостности бэклога по заказу владельца (292 ревизии PROGRESS, 200 ID; свип хвостов 26 закрытых строк): ПОТЕРЬ НЕТ — 56 ушедших все со следом; 3 аномалии формы (однодневка 117, поглощение 20, переиспользование 14 — до ратификации норм); 9 загейченных хвостов без носителя закрыты: строка 188 (носитель ре-пробы 74 — её ждали 5/36б/44 + слоты экс-77 ре-гена и порога 116), дописка 172-г (выборочный порог в риг ДО вахты весов — иначе ложное падение на 4/5), строки 189 (фразы логов/артефактов движка) и 190 (кросс-семейный проход ревью), дописка 28 (хвост 128 латиница/NoDst), три жильца Б-108 (граница пробы 117, перспектива пака-19, эскалационный кап D39.131-д) | ЖИВОЕ: строки 188–190; порог в риг — до вахты V4-Pro-0813 | жив | процесс бэклог оркестратор приёмка | | D39.141 | 16.08 | Реструктуризация промта оркестратора по заказу владельца: форма «ситуация → инструкция», генезис D-ссылками, чек-лист 11 блоков промта + два рубежа выдачи (механическая сверка + опровергатель-субагент), таблица линз приёмки по характеру работы; −59% объёма, свип маркеров — потерь 0; снимок v16 в архиве | ЖИВОЕ: действующая редакция роли | жив | процесс оркестратор промпт | | D39.142 | 16.08 | Приёмка батча 0.3.0 (8d82096, панель 3 линз: слепая сверка — потерь 0; холодный потребитель — анти-утечка чиста, 5 блокеров триажированы; аудит отчёта — 25+ клеймов сошлись, 9 чисел занижены): канон 0.3.0 в каноне; ратифицированы отступления (поток один книжный, Note.code, content_refused, единый page_size_default); дофикс ФБ-1..10 заказан аддендумом промта (SSE-форма, петля реконнекта, note через reconnect, Revision-противоречия); зеркало фронта временно отстаёт ратифицированно; владельцу — BankTerm.decision (рекомендация заводить); P7 после дофикса | ЖИВОЕ: дофикс у сессии батча; строка 183 пере-скоуплена | жив | контракт приёмка платформа фронт | -| D39.143 | 16.08 | Дофикс батча принят (дифф прочитан целиком, гейты пере-раны): все ФБ-1..10 закрыты — SSE-форма кадра однозначна, петля реконнекта убита id:0, note-гарантия сужена до соединения + обязательное дельта-чтение, Revision одна модель (водяной знак = наименьшая ревизия обхода), resume-таблица без нового enum, приоритет носителей «нет кредита», processing_failed; числа отчёта пере-раны, вывод о доле прозы честно перевёрнут (42→47%); отступления ратифицированы (§5д ужато на месте, unverified снят с провода); батч отработан целиком, промт в архиве, P7 разблокирован | ЖИВОЕ: P7 — запуск владельцем; владельцу — BankTerm.decision (D39.142 п.4) | жив | контракт приёмка платформа | +| D39.143 | 16.08 | Дофикс батча принят (дифф прочитан целиком, гейты пере-раны): все ФБ-1..10 закрыты — SSE-форма кадра однозначна, петля реконнекта убита id:0, note-гарантия сужена до соединения + обязательное дельта-чтение, Revision одна модель (водяной знак = наименьшая ревизия обхода), resume-таблица без нового enum, приоритет носителей «нет кредита», processing_failed; числа отчёта пере-раны, вывод о доле прозы честно перевёрнут (42→47%); отступления ратифицированы (§5д ужато на месте, unverified снят с провода); батч отработан целиком, промт в архиве, P7 разблокирован | ЖИВОЕ: ⚠ ПРОТУХЛО (испр. 22.08): P7 принят и заленден D39.153, P8-FIX — D39.154; прежний текст «P7 — запуск владельцем; владельцу — BankTerm.decision (D39.142 п.4) | жив | контракт приёмка платформа | | D39.144 | 16.08 | Модель подписи банка — слово владельца напрямую: подписывается ВЕСЬ банк одним ОК (пер-термная масс-подпись — инерция контрактной линии, движок и так авто-продолжает с неподписанным D39.42 п.3); канон поправлен микро-правкой (409-полноты снят с resume, pending_decisions информационный, bank_decisions_incomplete удалён, гейты пере-раны); пост-ридинговые правки банка → пере-генерация по вхождениям — направление, механику не проектировать до полигона; строка 191, аддендум P7, пинг фронту; вопрос BankTerm.decision снят как стоящий на ложной посылке | ЖИВОЕ: строка 191; P7 — запуск владельцем | жив | контракт банк владелец фронт платформа | | D39.145 | 16.08 | Промт P7 пересобран (слово владельца: перечитать после батча, без воды): два рубежа D39.141 — автор-перечтение (7 протуханий, худшее «кадр конца разбора» против канона) + опровергатель (8 HIGH: построенный гейт полноты reconcile.go:934-938 — демонтаж заказан явно; недочистка D39.144 — эррата 16.08-д, канон/компаньон дочищены; экспорт в P8 явно; structure_version/genre/halt_reason/heading/Note.code влиты); форма — конкретика ~120 строк, правило пофайлового диффа против required канона; PD-241 императивом | ЖИВОЕ: P7 готов, запуск — слово владельца | жив | платформа промпт контракт процесс | | D39.146 | 16.08 | Закрытие сессии №17, передача №18: лента D39.134–145 (приёмки migrate/S4/DeepSeek, контракт-ревью+батч+дофикс — канон 0.3.0 финален, модель подписи один ОК, аудит бэклога потерь 0, реструктуризация роли); очередь №18 — приёмка запущенного P7 → S5+разморозка фронта, лендинг петель фазы Д, вахта весов с порогом 116, свободные 160/181; CURRENT-STATE ужат, доки проверены двумя аудиторами готовности | ЖИВОЕ: очередь — CURRENT-STATE | жив | хендофф оркестратор | @@ -205,5 +213,5 @@ | D39.150 | 17.08 | Ось МОДЕЛИ в числе согласия — решение владельца: прайсить по модели, которую стадия резолвит СЕЙЧАС, + округление вверх + оговорка в тексте согласия; обещание механизма переформулировано с точности на НАПРАВЛЕНИЕ ошибки («никогда не занизить молча»), обещание «status не может назвать другую сумму» снимается при исполнении; фикс-лист ФЧ-1…ФЧ-8 записан строкой 197 без заказа сессии; маркер поколения (195) отложен и вынесен на внешнее мнение — найдено, что это четвёртый жилец семьи 49/124/195 с общим корнем «денежная таблица не помнит конфигурацию»; ПТ-14 понижен ✅→🔶, промт пака в архив с баннером-исходом | ЖИВОЕ: строка 197; вопрос 195 у внешнего ревьюера | жив | деньги владелец бэкенд процесс | | D39.151 | 17.08 | Владелец выбрал вариант А: маркер поколения отдельной колонкой на `checkpoints` НЕ строится, строка 195 закрыта как самостоятельная стройка и переселена осью (г) «идентичность оплаченной работы» в дизайн-пак 124 (гейт — его триггеры: 185/МАСШТАБ/внешний потребитель числа); внешний разбор опроверг две посылки оркестратора — колонка НЕ даёт тождества ($0-пере-пин законно несёт старую цену на новом снапшоте, бэкфилла нет ⇒ вывод остаётся навсегда) и «семья 49+124+195» слишком широка (49 = легальность переиспользования, 195 = честность учёта); настоящий корень — отсутствие связи «строка ↔ оплатившие её вызовы»; срочности нет под контрактом D39.150, остаток чинится без схемы строками 197/194 (194 миграции НЕ требует — RoleSpentUSD ключуется по роли) | ЖИВОЕ: ось (г) пака 124; строки 197/194 | жив | деньги владелец бэкенд | | D39.152 | 20.08 | Контракт API v0 **0.4.0 РАТИФИЦИРОВАН** (синк с платформой по её записке, 14 пунктов A–N; author≠ratifier соблюдён контрактной сессией; условие закрытия PD-327 наступило; ⚠ хвост «строка регистра ждёт правки зоной» ЗАКРЫТ паком P8-FIX 22.08 — `PD-327` стоит `fixed`, константа версии поднята и запинена гейтом против канона); рубеж исполнен ревьюером другой модели (чтение обеих версий целиком, «ратифицировать с правками», корневой enum 16 значений не тронут); четыре текстовые правки внесены оркестратором при ратификации (сеттер `stop_requested` в `stopRun` · стухшая фраза компаньона §6в A против его же аддендума · «cleared by УСПЕШНЫЙ resume» · приписка третьего случая к таблице резюма); пункт G («сделано» = последний проход этого деплоя) ратифицирован как шаг-независимый — рамка снята владельцем 20.08 требованием, чтобы форма пайплайна не была видна клиенту; ⚠ клейм зоны «ломающая правка одна» верен для диффа ТИПОВ и неточен поведенчески — против 0.3.0 расходятся ЧЕТЫРЕ места; оговорка про пер-термные решения расширена с `decline` на всю ручку (временная, снимается строкой 199а); следующий минор (сквозная полоса, 200) не втиснут — пока фронт заморожен, миноры бесплатны | ЖИВОЕ: канон 0.4.0 | жив | контракт платформа фронт владелец | -| D39.153 | 20.08 | Приёмка и лендинг P7 платформы (пять актов, читающая поверхность): **ПРИНЯТ С ФИКС-ЛИСТОМ**; шесть линз в изоляции + пере-раны и 8 собственных посадок оркестратора (поймано 7); батарея 18 пакетов EXIT=0 скипов 0, реестр 327/65 открытых без major, тестов 532 (не 533), семь удалённых имён имеют преемников; замер разворота 00016→00022 пере-выведен независимо (джойн 14.6 · счётчик 5.3 · без счётчика 2.9 мс) — разворот законен, но процент назван тремя носителями по-разному; НЕ поймана дыра: снятие `structure_version`/`revision` из `emitFrame` проходит всю батарею; ратифицированы долг-с-арендой на материализацию (§33/§34), `edit_wave` как монотонное свойство КНИГИ от объявления движка (§35), владелец клейма идемпотентности + тождество дайджестом, halt с аккаунта, счётчик замечаний на главе, демонтаж гейта полноты банка; новые строки 198–203; решения владельца — sqlc берём (+ разбор собранных запросов Postgres'ом, которого в предложении зоны не было), живой прогон ПОСЛЕ холодного, сквозная полоса прогресса; ⚠ эррата к D39.144 п.2 (пер-термная формула рождена в ДВИЖКЕ 19.07 как лечение ливлока, контрактная линия изобрела из неё ГЕЙТ 04.08); `ContractVersion` оркестратором НЕ правился — первый пункт зонного фикс-листа | ЖИВОЕ: фикс-лист в пинге №18 зонного журнала; строки 198–203 | жив | платформа приёмка контракт шов деньги | +| D39.153 | 20.08 | Приёмка и лендинг P7 платформы (пять актов, читающая поверхность): **ПРИНЯТ С ФИКС-ЛИСТОМ**; шесть линз в изоляции + пере-раны и 8 собственных посадок оркестратора (поймано 7); батарея 18 пакетов EXIT=0 скипов 0, реестр 327/65 открытых без major, тестов 532 (не 533), семь удалённых имён имеют преемников; замер разворота 00016→00022 пере-выведен независимо (джойн 14.6 · счётчик 5.3 · без счётчика 2.9 мс) — разворот законен, но процент назван тремя носителями по-разному; НЕ поймана дыра: снятие `structure_version`/`revision` из `emitFrame` проходит всю батарею; ратифицированы долг-с-арендой на материализацию (§33/§34), `edit_wave` как монотонное свойство КНИГИ от объявления движка (§35), владелец клейма идемпотентности + тождество дайджестом, halt с аккаунта, счётчик замечаний на главе, демонтаж гейта полноты банка; новые строки 198–203; решения владельца — sqlc берём (+ разбор собранных запросов Postgres'ом, которого в предложении зоны не было), живой прогон ПОСЛЕ холодного, сквозная полоса прогресса; ⚠ эррата к D39.144 п.2 (пер-термная формула рождена в ДВИЖКЕ 19.07 как лечение ливлока, контрактная линия изобрела из неё ГЕЙТ 04.08); `ContractVersion` оркестратором НЕ правился — первый пункт зонного фикс-листа | ЖИВОЕ (испр. 22.08): фикс-лист ОТРАБОТАН паком P8-FIX (D39.154), живыми из строк 198–203 остались 198 · 199 · 200 · 202 · 203 | жив | платформа приёмка контракт шов деньги | | D39.154 | 22.08 | Приёмка и лендинг P8-FIX платформы (фикс-лист приёмки P7 + врезанный первым блокер свипа): **ПРИНЯТ**; `PD-169` — единственная строка регистра, солгавшая ДВУМ приёмкам, — закрыт четырьмя механизмами (разделение прохода на фазы · отсрочка с бэкоффом на выбравший бюджет прогон · порог `StalledAfter` с гейджем и `runs --stalled` · терминальный вердикт оператора `run abandon`), оба числа стали ручками и `RunBudget` присвоен впервые; вся цепь пере-проверена ЖИВОЙ пробой оркестратора (`FAILS 6` → гейдж 1 → `--stalled` с настоящей ошибкой движка), деньги двумя путями из сырого леджера сошлись до цента и холд вернулся целиком; батарея 18 пакетов EXIT=0, линтер 0 issues, тестов 561 против 532; ⚠ «скипов 0» НЕ воспроизведён — третий, неназванный гейт батареи (менеджер systemd), `PD-374`; одиннадцать собственных посадок мутаций, убито восемь, выжили три и различены руками: `StalledAfter` законно (носитель один), `maxAttempts` — `PD-373` (второй носитель прозой в рантбуке), `truncateReason` в `DeferRun` — `PD-372` (пин на функции, ни один из четырёх вызовов не проверен); находка вне карты `PD-371` (исключение «стоп перевешивает отсрочку» без границы, измерено живьём); ⚠ объявлена ОШИБКА харнесса приёмки — две посадки дали ложное «выжила» из-за не того пакета; спил пер-термной подписи банка принят, пол поверхности 15→14 сдвинут явно и гейт СРАБОТАЛ; `PD-370` уезжает открытым мажором (контрактная половина — ломающий минор 0.4.0→0.5.0); порядок паков вышел ОБРАТНЫМ очереди — названная цена перестановки НЕ заплачена, зато §4.7 релея пуст | ЖИВОЕ: `PD-370`/`PD-371`/`PD-372`/`PD-373`/`PD-374`; строка 199(а) ждёт ратификации; читающий пак не запускался | жив | платформа приёмка свип деньги мутации |