23 KiB
Аудит корпуса доков цельным чтением — 15.08.2026
Провенанс: заказ владельца 15.08 («один агент, полный контекст PROGRESS + D-лог + зонные доки, сжатая карта актуальности, противоречия, сверка направления №17»); исполнитель — Opus-агент (кросс-модель к Fable-оркестратору, D39.120), одиночное чтение без суб-агентов, ~275k токенов, 59 инструментов. Диспозиции всех находок (лендинги ПОСЛЕ аудита): Б-1 → закрыт D39.137 (пик запинен) · Б-2 → санкция владельца 15.08 (D39.136 п.1) · Б-3/Б-4/Б-5/Б-6/Б-11(б) → исправлены коммитом
cacd948· Б-7/Б-8/Б-9 → пинги платформе (второй пинг №17) + вход P7 · Б-10 → канон CLAUDE.md (чужой стейдж не прибирать, pathspec-коммиты) · Б-11(а) → передано параллельному оркестратору (запись «Полигон» 15.08) · В(а) фриз-основание → D39.136 п.2 · В(в2) гейт 160 → пал словом владельца (D39.136 п.3) · В(в3/в4)+В(г) wire-состав → строка 182 · Г-1 → D39.137 · Г-2 → санкция · Г-3 → D39.136 п.3 · Г-4 → D39.136 п.6а · Г-5 → лист владельца/входы ревью 179 · Г-6 → пинг платформе + кавеат CURRENT-STATE · Д(2в) → запись «Полигон» 15.08. Статусы в тексте ниже — НА МОМЕНТ аудита, до этих лендингов.
А. КАРТА АКТУАЛЬНОСТИ (на 15.08, голова D39.135)
ДВИЖОК. Построено и принято: слои 1–7 ✅ (09-target §шапка); эмиттер шва events.jsonl StreamVersion 1.1 + полоса отказов 10–19 + exit 4/5 (D39.131); tmctl migrate, exit 13 финализирован (D39.134); банк-экспорт-сайдкар internal/pipeline/bankexport.go (D39.122). В полёте: ничего — активного промта нет. Ждёт: строка 46 (экран целевого языка) гейчена 113-фикстурой; 160/161/162 (структура глав) — дизайн-ратификации владельца по D39.122 п.4; 16/24 (edit-волна и оси голоса) — первого прогона добора идеала. На владельце: 172 (цены DeepSeek, дедлайн 16.08 16:00 UTC), 44, 46-подпись, 116, 140, 142, 130, 151, дизайн 161.
ПЛАТФОРМА. Построено: P0–P6 — вход/сессии/кредиты/раннер/интейк книг/потребительская половина шва/дев-стенд с сидом (D39.109–132); регистр 245 строк, 0 major, 62 открытых (17 minor / 45 info). В полёте: ничего. Ждёт: P7 = П-17 читающая поверхность (SSE · главы/юниты/замечания · проекция банка) + П-18 эскроу (строка 136) — промт за №17. На владельце: PD-104 (фри-тир — ноль на бете против автогранта $5), авто-резюм paused, PD-203 (halted-флаг аккаунта по паузе одного прогона — вопрос зоны на ратификацию, platform-PROGRESS.md:383).
ФРОНТ. Построено: S0–S4 приняты; путь «файл → загрузка → разбор → запуск с потолком → прогресс» в мире моков, контракт 0.2.3 в каноне, i18n-механизм (ПТ-36 🔶). В полёте: ничего. Ждёт: S5 (подпись банка) — фикс-лист ФС-1..12 вход; настоящие блокеры S5 — ПТ-33/Ф-39 (полей для проверки термина в BankTerm нет, фронт отказался выдумывать) и В-10 (спойлер = защита или вежливость → правка контракта на чтении банка), оба на владельце. На владельце: В-3, В-4, В-7…В-11, Ф-38, Ф-62, Ф-63; не названы — Ф-28, Ф-32, Ф-33, Ф-46, Ф-56, Ф-57, Ф-61.
ПОЛИГОН. Фаза Д: сырьё снято по трём осям, второе семейство закрыло ja CONFIRM, en → эскалация к адъюдикации, gemini не подтверждён. Выводы 22/23 НЕ ратифицированы. Ждёт: адъюдикация en (контроли дефектны, чинить до прогона), японская нога H-4 (~$0.05), секции Д2/Д5/Д8 отчёта, селфтест sud.py красный, conformance красный. На владельце: возражение Sol по tier (+8.69 против +0.50), санкция замены ja-книги, расход $6.0024 против последней записанной словом границы $4.50.
КОНТРАКТ. 0.2.3 в каноне, зеркало байт-равно (cmp пуст). Открыты К-2/К-9/К-10/К-11 (автор контракта/бэкенд), К-6/К-13 (владелец). Форвард-контракт BookIntake.title + Book.reject_reason — обещание без носителя, вход P7 (D39.135 п.2в).
ДЕНЬГИ. Холд+потолок+--ceiling-usd построены с обеих сторон; ставка $0.03/глава — временная константа платформы (П-10/строка 166). Не построено: эскроу/uncertain (136/П-18), ночная сверка с провайдером (137). Горит: цены протухают завтра (см. Б-1).
Б. ПРОТИВОРЕЧИЯ И РАССИНКИ
Б-1 (горит, деньги). Пин цен DeepSeek протухает 16.08 16:00 UTC, а гейт свежести не сработает. backend/configs/models.yaml:19 — prices_checked: "2026-07-10", окно 120 дней ⇒ до ноября гейт молчит; :149 держит flash 0.14/0.28, :161 — pro 0.435/0.87. По строке 172 (PROGRESS.md:117) с завтра пик даёт 0.44/1.32 и 1.32/3.96 (×2.3–4.7), cache-hit pro ×6–12. Следствие не «неточный отчёт»: Reserve считает резервирование по этой таблице, значит потолок перестаёт быть потолком — движок остановится по цифре, которой нет. Полигон покупает на DeepSeek 61% фазы (23-editor-tier.md:2247). Схема прайсинга плоская, time-based не выражает.
Б-2 (деньги, полигон). Три разных живых числа по фазе Д. CURRENT-STATE PROGRESS.md:5,348 — «потолок фазы $4.50 словом владельца»; секция «Полигон» PROGRESS.md:416 — расход $5.901; отчёт docs/experiments/23-editor-tier.md:1821,2243-2244 — расход $6.002420, санкция 15.08 $6.85 (числом в money_d.py), и сам полигон объявляет девиацию: превышение последней записанной словом границы на $1.502420 (33%), цепь $10.00 → $4.00 → $4.50 → $5.40 → $6.74. Механизм отказа назван там же: фриз-гейт сверяет с git покупающий файл, а не кассу, потолки правятся в рабочем дереве и действуют немедленно; на ФД-C этим воспользовались осознанно ($0.334774 против закоммиченных $0.300). Ни одно из этих чисел не попало в confirm-лист №17.
Б-3. Эррата шапки D-лога несёт снятый провенанс. 05-decisions-log.md:5 (эррата 15.08) утверждает «обе зоны сошлись на числе независимо» — D39.134 п.2а этот клейм снял (платформа прочитала 13 из незакоммиченного дерева движка, ingest/exit.go:63-64). По собственной норме шапки («поправки к фактам живут ЗДЕСЬ, в карте») грепающий получит снятый факт первым. Реестр (05-decisions-index.md:189) поправку несёт, шапка — нет.
Б-4. Реестр нот озаглавлен D1–D39.131 (05-decisions-index.md:1) при голове D39.135. Строки для 132–135 есть, counts --check этого не ловит (титул реестра не входит в трёх носителей головы) — а D39.126 п.1 объявлял титул носителем головы.
Б-5. Статус-шапка 7 слоёв отстала на четыре ноты. 09-target-architecture.md:10 (освежена 14.08): «контракт 0.2.2», «гейт S4 фронта ПАЛ — S4-промт по слову владельца», «эмиттер шва — промт выдан, сессия не запускалась». Фактически: эмиттер построен и принят (D39.131), P6 принят (D39.132), migrate принят (D39.134), S4 принят и контракт 0.2.3 (D39.135).
Б-6. Компаньон контракта врёт фронту про два несуществующих пробела. 14-api-contract/README.md:266-267 — «Артефакт экспорта БАНКА | строки нет — заводит оркестратор» и «Механизм поднятия потолка | строки нет — заводит оркестратор». Строка 169 заведена D39.127, движковая половина построена (bankexport.go); строка 126 исполнена S4 (D39.135). Это не косметика: frontend/docs/BACKLOG.md Ф-43 буквально ссылается на этот текст как на основание.
Б-7. Лендинг D39.135 не пингнул платформу — четыре строки регистра протухли. git show --stat 3aaba0d не трогает platform/docs/platform-PROGRESS.md. Итог: PD-172 · PD-173 · PD-174 · PD-180 = open в DEFECT_REGISTER.md, хотя их диспозиция (D39.130 п.2в: «спек-правка 0.2.3 задачей S4») исполнена. Плюс PD-199 = open, хотя D39.132 п.2а прямо ратифицировал «PD-199 закрыт». Пять строк регистра расходятся с каноном.
Б-8. «Деплой эмиттер-бинаря РАЗБЛОКИРОВАН» — неполная правда. Схемный деадлок разорван (D39.134), но: (а) PD-217 open — книга на daily_ceiling или вечном холде блокирует апгрейд движка бессрочно, выхода у оператора нет; (б) platform-PROGRESS.md:245-248 — «tmctl migrate живьём не гонялся», порядок деплоя проверен ЧАСТИЧНО. Порядок из рантбука ни разу не исполнен end-to-end настоящей командой, которая теперь существует.
Б-9. Мёртвый текст в зоне платформы жив. platform/deploy/README.md:131 по-прежнему цитирует «schema vN … expects vM» — движок печатает schema_mismatch found=N expected=M. Назван D39.134 п.4 как вход P7, не исправлен.
Б-10. Индекс git прямо сейчас держит 11 ЧУЖИХ (полигонных) файлов (docs/POLYGON_*, docs/experiments/23-editor-tier.md, eval/dovodka/*), три из них модифицированы поверх стейджа (MM). Ровно та конфигурация, из которой родились оба инцидента 02.08. Любой git commit без pathspec унесёт чужую работу.
Б-11. Мелочи. 23-editor-tier.md:2243 цитирует docs/PROGRESS.md:346 для $4.50 — фактически :348. Ревью-шапка 14-api-contract/README.md:21 перечисляет «новые 125 · 126 · 127» как живые зависимости — 125 закрыта D39.122, 126 исполнена.
В. ВЕРДИКТ ПО НАПРАВЛЕНИЮ №17
(а) Фриз фронта после S4 до P7 — СОГЛАСЕН по решению, ВОЗРАЖАЮ по основанию. Названное основание — «S5 гейчен строкой 169» — не держится: контракт 0.2.3 полностью описывает GET /books/{bookId}/bank (openapi.yaml:266) и POST /books/{bookId}/bank/decisions (:292); фронт построил весь S4 в мире моков. Настоящие блокеры S5 — на владельце: ПТ-33/Ф-39 (полей проверки термина нет, черновик D39.127 п.2б не ратифицирован), В-10 (спойлер: если защита — sense не должен приезжать в DOM до раскрытия), Ф-46. Сноса мока не делать — П-16 (platform/BACKLOG.md:28): «полный снос — триггер Ф-29, после читающей поверхности».
(б) Очередь P7 — СОГЛАСЕН, состав НЕПОЛОН (см. Г/Д: PD-219, PD-217, PD-162, title/reject_reason, рантбук).
(в) «Свободные» бэкенд-паки — ДВА ИЗ ЧЕТЫРЁХ НЕ СВОБОДНЫ. (1) Гигиена-CLI (177+176+93-F4+173) — свободна, подтверждено по колонкам. (2) Структура глав Этап 0 (160) — ГЕЙЧЕНА, и гейт не в теле строки: D39.122 п.4 «дизайн стройки НЕ ратифицирован — отдельное решение при постановке строк 160–162 в очередь». (3) Общность-пак (120+115+111) — свободен по гейтам, но 115 неверно назван «преп к ja»: её триггер — первая новая ЦЕЛЕВАЯ пара, ja→ru цель не меняет; ja-преп = 120, 155, 81. И EmbeddedVersion едет в cutTag (manifest.go:166-169). (4) Детерминизм-пак (119+118+163) — НЕ wire-нейтрален, проверено кодом: cutTag фолдит chunkerVersion, EmbeddedVersion, NormVersion (manifest.go:160-169), unit.id содержит cutTag ⇒ вплетение версий модулей = новые id юнитов на всей книге, перекупка; SanitizerVersion фолдится в снапшот (snapshot.go:97-103). Свободен только 118 (tools/go.mod); либо 163-вариант-Б («запрет бампа без --resnapshot» — $0), либо в wire-батч.
(г) Wire-батч (46+113 · 134 · 131 · 140) — СОСТАВ НЕПОЛОН. Не названы: 105(а) (бамп classifierVersion → перекупка чекпойнтов, PROGRESS.md:153) · 130-остаток («двигает банк → memory_version») · 14 (ё-фолд) («сдвиг memory_version», носитель — «следующий пак общности») · 163/119. Плюс 124 прямо объявляет: свёртки x/text [119] и пер-парный хеш EmbeddedVersion [115/120] — ОДИН дизайн-пак; разнеся их по разным пакам, №17 исполняет половинки решения, которое 124 требует принимать целиком.
(д) Ядро качества ждёт фазы Д — СОГЛАСЕН. Фаза Д уже дала материал по 168: «профиль „связка + канон-фиксер ПОСЛЕ" даёт лучший канон на zh и en», «банк-дисциплина и качество прозы — РАЗНЫЕ оси» (POLYGON_PHASE_D_HANDOFF.md:63-65) — первичная фактура при постановке.
Г. ЧТО ОРКЕСТРАТОР УПУСТИЛ
- Цены DeepSeek — не «confirm-пункт», а срабатывающий завтра денежный отказ: пере-пин данных можно и нужно сделать ДО решения про пик/офф-пик; решение владельца нужно только на схему.
- Полигон превысил записанную словом границу на 33%, и механизм («фриз-гейт сверяет покупающий файл, а не кассу») — класс, а не эпизод.
- Дизайн-ратификация 161 (и 160 по D39.122 п.4) — обязательство владельца, висящее с 09.08 и отсутствующее в листе.
- PD-203 — вопрос платформы без ответа (вторая половина: аккаунтный halted-флаг).
- Фронт-вопросы вне листа: Ф-28 (три high-адвайзори пинов, с 08.08), Ф-56 (конец интейка), Ф-57 (пары языков), Ф-61 (язык фраз), Ф-32, Ф-33, Ф-46.
- Деплой-рантбук ни разу не исполнен настоящим
migrateпри объявленном «деплой разблокирован». Живой прогон порядка на стенде — обязательное предусловие выката. - Индекс git с чужими полигонными файлами — снять до любого коммита. (Диспозиция №17: канон CLAUDE.md прямо запрещает «прибирать» чужой индекс — лечение pathspec-коммитами, не снятием.)
- Пинг платформе после S4 не отправлен — зона не знает, что её четыре контрактные строки исполнены и что title/reject_reason стали её обязательством в P7.
Д. ОТВЕТЫ НА ТОЧЕЧНЫЕ ВОПРОСЫ
(1) Платформа: топ-5 открытых PD. PD-217 (книга на вечном холде блокирует апгрейд движка бессрочно; половину снял D39.132) · PD-219 (перезапуск после упавшего дрейна теряет хвост unit_resolutions навсегда; зона сама вешала на P7) · PD-162 (удалённый каталог книги = вечный прогон с открытым холдом) · PD-168 (бюджет перезапуска по ТЕКУЩЕЙ ставке, не по ставке холда — с Б-1 риск перестаёт быть теоретическим) · PD-104 (автогрант $5 без агрегатного потолка — бету не открывать). Вопросы зоны без ответа: PD-199 (закрыт нотой, в регистре open), PD-203.
(2) Полигон: что требует именно №17. (а) не унести чужой стейдж; (б) CURRENT-STATE несёт неверный денежный факт ($4.50 при $6.0024) и висящий СТОП по ja-книге, который полигон конкретизировал (enkan_no_hate_ja, POLYGON_PHASE_D_HANDOFF.md:100-101); (в) прямая просьба хендоффа: «эррата zh-канона… ратифицирует оркестратор» (:84-86, завышение +0.0039, вердикты не двигает). На владельце сверх листа: санкция $6.85 задним числом + механизм потолков. Новый материал по Sol: разбор 38c99e5efb (Д14.10) — у прибора claude пустые нули на реальной инверсии смысла.
(3) Строка 161 — прав, с уточнением триггера: интейк УЖЕ построен (P5/P6), окно закрывается первой книгой первого внешнего пользователя (= открытием беты, упирающимся в PD-104). Цена ошибки механическая: Chapter.ID/unit.id едут через cutTag ⇒ перекрой = пере-нарезка каждой книги + пере-материализация у платформы.
(4) Шапка 09-target против D39.131–135 — НЕ СХОДИТСЯ (баннер: 0.2.2 вместо 0.2.3, «эмиттер не запускался» вместо «принят»); сами статусы слоёв 1–7 верны.
(5) Фронт-бэклог против фриза: прямо противоречащих строк нет; но П-16: дев-стенд построен по слову владельца 14.08 именно «чтобы фронт разрабатывался на живой платформе» — живую smoke-линию ставить не «при разморозке», а сейчас.
Obstacle reporting аудитора (что прочитано не целиком): целиком — CLAUDE.md, docs/README.md, PROGRESS.md (455 строк), оба BACKLOG, шапки 09/14, карта+эрраты+вся живая голова D-лога D39.106–135; выборочно — тела старых нот D-лога (через реестр и грепы), platform-PROGRESS (шапка+дофикс P6+грепы из 1828 строк), frontend-PROGRESS (шапка+вопросы+приёмка S4 из 2416), DEFECT_REGISTER (62 открытые строки грепом, 178 закрытых не читал); архивные слайсы не открывал. Ничего из выборочного не легло в основание вердиктов без отдельной проверки кодом или file:line.