textmachine/docs/architecture/07-strategic-review.md

230 lines
62 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 07 — Стратегическое ревью архитектуры (2026-07-09)
> **⚠ Точка-во-времени 09.07 (ревизия D31, 12.07).** Аудит корректен на свою дату; с тех пор ключевые вердикты РАЗВЯЗАНЫ: «напряжение №1» (моно-редактор D1) — разрешено флипом D30.1 (билингв; налог на верность материализовался как ПАССИВНОСТЬ моно-редактора, exp12); экономика «редактор 8390% на grok» — пересчитывается (D30.4: флип +1525%, кандидат glm-5-билингв; exp08 v3 заказан); G2 «не смоделирован» — первый замер сделан (5.3%, этап A, D24); resume-мина — реализация D15.2 идёт (D30.9); 18+ эмпирика — закрыта (D22.1); «чистый ключ» — снят (D27). §69 читать вместе с картой актуальности в шапке D-лога.
**Мандат:** `docs/archive/prompts/STRATEGIC_REVIEW_SESSION_PROMPT.md` — независимый аудит «от корней к цели» по пяти направлениям. Это ревью о том, держится ли замысел end-to-end, а не о багах в строчках.
**Метод:** адверсариальный мультиагентный воркфлоу: 14 параллельных сборщиков (8 репо-аудиторов по подсистемам: доки / ресёрч / эксперименты / код пайплайна / код памяти / платформа / eval; 6 веб-ресёрчеров SOTA-2026) → 9 независимых refute-by-default верификаторов на спорных/несущих находках (6 с исполнением временных Go-тестов на реальном коде, 3 по веб-первоисточникам). Итог верификации: **8 CONFIRMED / 1 PARTIAL / 0 REFUTED**. ~2.1M токенов субагентной работы. Каждый несущий вывод заземлён `file:line` / цитатой / URL.
**Зоны не тронуты:** `backend/`, `eval/` — только чтение (временные репро-тесты верификаторов удалены, `git status backend/` чист). `.env` не читались, refusal-корпус не открывался.
---
## TL;DR — вердикт
**Архитектура end-to-end ЦЕЛА, и внешняя наука 2026 подтверждает её сильнее, чем можно было ожидать в момент принятия решений (0405.07).** Схема «doc-черновик → сегментный редактор с простым промптом → билингвальный судья» — это оптимум свежей систематики рефайнмента (arXiv:2605.13368) с одной несущей оговоркой: рефайнмент-оптимум статьи — С исходником, а наш редактор монолингвален (см. §4.2); чанковый пайплайн с гейтами узко бьёт длинноконтекстный монолит (arXiv:2606.26040); терминологическая инъекция подтверждена WMT25; выбор DeepSeek-draft для CJK-вебновелл подтверждён DITING; недоверие LLM-судьям — тремя независимыми линиями 2026. Детерминированному no-LLM горячему пути памяти и спойлер-окнам **аналогов не найдено ни в академии, ни на рынке** — это козырь по цене и предсказуемости, а не отставание. *[⚠ Сужено D21.7 по research/15 §5: словарный слой КАК ТАКОВОЙ — массовая практика фан-стека (GalTransl/SakuraLLM/LunaTranslator — взято как учебник); при скрининге (не FTO) не найдены: спойлер-окна since/until, scene-state/voice-exemplars в MT и формула «disposition-верификация + окна + бюджет + детерминизм» целиком.]* Инженерное исполнение — выше среднего (деньги атомарны, snapshot-дисциплина системна, ревью-каскады с мутационной проверкой фиксов).
**Но целостность замысла ≠ доказанность продукта.** Все главные ставки (ядро C0C3, моно-редактор, банк памяти, судья, 18+) сходятся в одну точку — пилот Ф2.5, — а **инструмент пилота сегодня дефектен** (эхо-контаминация memory_eval, структурно сломанная «слепота» exp04, отсутствие мощности/MDE, нарушение self-preference в панели судей — §4.5). Плюс шесть верифицированных продуктовых находок этого ревью: четыре precision/recall-дыры банка памяти, экономическая мина resume для онгоинга и выбывание DeepSeek из канала B по ToS (дефекты пилот-харнесса — сверх этих шести, см. §4.5; полная арифметика верификации — в приложении). Ни одна не опрокидывает архитектуру; несколько — меняют порядок работ до масштабирования.
---
## 1. Корни: что владелец задумал — и что с этим стало
Источник: `START_PROMT.MD` (37 буллетов V0 + дополнения V1V3). Сводка судьбы несущих идей:
| Идея брифа | Судьба | Грунт |
|---|---|---|
| п.14: мультиагентный пайплайн, роли, судья-селектор | Реализовано как конфигурируемое ядро C0C3 одного раннера; статья п.4 найдена (arXiv:2603.20324), **перевода в её задачах нет** → выбор ядра честно повешен на пилот | Р2; `research/11-gap-3`; verified: 2603.20324 без MT, «валидация людьми» там — на деле LLM-судьями |
| п.3, 12: дешёвый пайплайн, маржа | $0.69/ранобэ стандарт-микс (реальный расклад: **редактор ≈ 90% стоимости**, кэш ≈ 2% — доктрина «caching-first» опровергнута собственным exp08) | `experiments/08`; Р5 |
| п.78: банк памяти / глоссарий | Самая проработанная подсистема проекта: реестр рисков → схема v2 → Aho-Corasick → post-check; ставка «детерминированный no-LLM путь» академически нова и уникальна | Р3; `architecture/06`; §4.1, §4.3 |
| п.910: 18+, xAI | Канал B спроектирован (типизация permissive, изоляция), но **эмпирика = 0 замеров** (единственный critical этого ревью); DeepSeek из интерима выбыл по ToS 27.03.2026 | §4.6 |
| п.6: локальная GPU | Роли «спецслужбы» замерены (exp03/06); переводчиком локалка не стала (разрыв качества подтверждён), зато СПОТ-экстракция recall ~0.98 | `experiments/03`, `06` |
| п.1314, 33: контекст вперёд/назад, референсы прошлых томов | Analyst/резюме/series-bible — **не реализованы** (Ф2); импорт референс-переводов прошлых томов (п.14) в решения лёг слабее всего из центральных идей — только Ф3 «упрощённый импорт бэк-каталога» | `02-mvp-plan:52`; §4.4 |
| п.1718: Go, PUML | Go — самое прочно обоснованное решение (первоисточник — код vojo); PUML сделаны, но **протухли и дезинформируют** (Opus в эскалации, BYOK, нет ре-гейта) | `research/10`; §4.7 |
| п.25: телеметрия денег | Образцово: settle+checkpoint одной транзакцией (reserve — отдельной, с потолками книга/день), kill-9-инвариант, цена по фактической модели | `store/ledger.go:127-171`, `kill9_test.go` |
| п.36: MemPalace / готовое | Проверен и отвергнут обоснованно (метрики не подтверждаются) | `research/05` |
| V1.6: «как модели поведут себя на НЕзнакомом тексте» | **Предвидение владельца сбылось как методологическая дыра полигона**: вся эмпирика (пороги гейтов, выбор редактора, r-коэффициенты, memory-eval) снята на классике из претрейна; вебновелл-режим не измерен нигде | §4.5 |
| V2.1: анти-абьюз входа | Механизма нет (дешёвого детектора мисюза не заложено); потолки $ на книгу/день есть и ограничивают ущерб | `store/ledger.go:50-72` |
| V3.3: «судья над судьёй» — фронтир-аудит отчёта книги | Идея хорошая и дешёвая (батч, редко), совместима с антипаттерн-принципом «независимая модель, слепая к rationale»; в решения пока не легла — рекомендую принять в Ф2-скоуп | §6, курс-коррекция №10 |
**Оценка направления 1.** Видение дожило в узнаваемой форме; обе центральные цели владельца (точность памяти; художественность и смыслы) получили адекватные механизмы: первая — «тихое → громкое» (post-check + disposition + retrieval-state), вторая — честное «меряется только человеком» (BWS-пилот). Крупные трансформации (BYOK→EU-SaaS, выброс Anthropic) — явные решения владельца, корректно каскадированы в Р5/Р8/Р9. Слабее всего из корней прижились: референсы прошлых томов (п.14), анти-абьюз (V2.1) и «незнакомый текст» (V1.6) — последний уже стоил валидности части эмпирики.
---
## 2. Что реально построено (состояние на ff5f000)
**Код `backend/` (~9k строк + ~5k тестов).** Фаза 0 закрыта приёмкой на живых ключах; машинерия Фазы 1 в основном построена и **глубже буквы замысла**: чанкер v4 (sentence-pack, quote-depth, lossless-тайлинг, fuzz-тесты), ingest txt/epub с ruby-захватом и spine-reconciliation, disposition-классификатор (12 flag_reasons, refusal/echo ДО length — усечённый отказ не превращается в платный ретрай, `disposition.go:165-209`), coverage-гейт (порт Python-оракула бит-в-бит вплоть до U+001C-1F, `coverage.go:70-72`), single-hop эскалация с ре-гейтом и издержко-гардами (`escalation.go:63 maybeEscalate (до пакета №4 — runner.go:938-971)`), банк памяти v2 (нормализация NFKC/trad2simp/kana/ignorables, Aho-Corasick, спойлер-hard-reject, трёхсторонний disposition, decl-aware post-check, D1-инъекция dst-констрейнтов в редактора), capability-слой с fail-fast эхо-миной DeepSeek (`models.go:288-333`), деньги с at-most-once-подходом (F3 — честно незакрытый техдолг). Клеймы журнала выборочно перепроверены кодом — **сходятся** (монолингвальный editor.md без `{{text}}`, editor-pinned структурно, C2 честно заблокирован `CheckRunnable`).
**Не построено** (и не заявлялось построенным): Analyst/Terminologist/Judge, механика C2 (fan-out/селекция), NSFW-классификатор 03, резюме/series-bible, экспорт txt/epub/TMX, HTTP API, `tmctl status`/redrive, F3-идемпотентность, batch, streaming, нативный Gemini. Конфиг отстаёт от D3 (известный лаг, помечен интеримом): нет провайдеров gemini/openai, моделей v4-pro/glm-5.1/gemini-3.1-pro-preview, `budget_usd:0`, `permissive` не проставлен ни одному провайдеру → **канал B сейчас неконфигурируем даже формально** (`pipeline.go:246-251` fail-closed).
**Полигон `eval/`.** 9 экспериментов; сильнейшие — exp06 (156 health-верифицированных записей, детерминированные метрики) и exp07 (0 FP/57, Go↔Python паритет — перепроверен прогоном тестов этим ревью). Пилот-харнесс (declmetric + memory_eval) — валидный скаффолд, но не решающий инструмент (§4.5).
**Оценка направления 2.** Реализация дисциплинированная, ревью-каскады (селфревью → внешнее → 44-агентное) реально ловили major-классы до продакшена. Но каскады не безошибочны: это ревью нашло 4 подтверждённых исполнением дыры банка памяти, из которых одна (**sticky-апгрейд**) была ранее **ложно отсеяна 44-агенткой 0/3** — рациональ отсева («sticky несёт установленный в сцене термин») не проверялась на коллизионном входе. Значит и остальные ~10 отсеянных кандидатов прошлых ревью заслуживают выборочной перепроверки.
---
## 3. Направление: фазы, последовательность, дыры гейтирования
Курс (издательское качество / память серии / 18+ / низкий COGS → фазы 03 + пилот Ф2.5) — здравый, и главный принцип («всё спорное решает пилот, ставки не морозятся») соблюдён. Дыры последовательности:
1. **Приёмка Фазы 1 стоит на конфигурации, валидируемой только в Ф2.5.** Дефолт-редактор grok-4.3 выбран в билингвальном режиме, боевой — монолингвальный; D3 сам фиксирует «рейтинг строго не перенесён». При этом редактор = 8990% COGS, и ветки «пилот флипнул редактора» в плане нет (gemini-редактор умножает стандарт-микс в разы).
2. **B6 (Палладий/Поливанов) — Фаза 2, а приёмочная книга ja→ru — Фаза 1**: гейт ≥98% консистентности пройдёт книга с систематически неверными, но консистентными именами. Ruby-захват уже даёт ground-truth для механической Поливанов-валидации (`architecture/06:107`) — валидатор дешевле, чем кажется.
3. **In-house memory-eval объявлен обязательным (06 §финал), но не гейтит ни одну фазу** — банк v2 построен до замера. Смягчено low-regret-структурой (флипается режим инъекции, не схема), но исход «random-arm покажет вред» ветки в плане не имеет.
4. **Дорожка данных — негейтящаяся критическая зависимость пилота**: 2535 глав с приватными эталонами + 35 глав вебновелл (просьба полигона от 05.07) не имеют ни одного промежуточного чекпоинта; их срыв тихо сдвигает главное решение проекта.
5. **02-mvp-plan — мёртвый приёмочный контракт**: пороги $0.6/$5 сняты D11, интерим-18+ построен вокруг удалённого Anthropic и снятых GLM/Kimi, Фаза 0 требует «нативный Anthropic-адаптер» против Р1-DEPRECATED, Фаза 3 несёт отменённые BYOK/ЮKassa. Известный лаг — но это единственный документ фаз, и MVP рискуют принимать по неписаным критериям.
6. **Фаза 2 перегружена**: ~25 механизмов из 04-unhappy-paths + net-new из D-лога (NSFW-роутер, судья, C2/C3, сайдкар, batch, eval-харнесс) в 3 недели без ре-бейслайна горизонта; «Следствия для плана» из 04 (Annotator, MQM-словарь судьи с первого дня, alignment-защита рефренов) в план так и не легли.
---
## 4. Правильно ли построенное? (главный вопрос)
### 4.1 Что ПОДТВЕРЖДЕНО — архитектурные ставки против науки-2026
| Ставка проекта | Внешнее подтверждение (20252026) |
|---|---|
| C1: doc-черновик → **сегментный** редактор, **простой** промпт | arXiv:2605.13368 (Amazon/UvA/Cambridge, 9 LLM × 7 пар, вкл. en→ru): doc-MT + seg-refinement — оптимум; простой general-промпт > error-specific и evaluate-then-refine |
| Чанки + гейты + глобальное ревью vs «монолит с длинным контекстом» | arXiv:2606.26040 (Karpinska et al.): агентный пайплайн с acceptance-гейтами узко бьёт one-pass GPT-5.4/Gemini 3.1 Pro; SEGALE (EMNLP 2025): модели ломаются задолго до заявленного окна; SagaScale: lost-in-middle с 65100k |
| Терминологическая инъекция глоссария | WMT25 Terminology Findings (peer-reviewed, вкл. en→ru): правильная терминология стабильно поднимает и term accuracy, и общее качество, «особенно у хороших MT» |
| Soft-инъекция + decl-aware post-check, запрет hard replace | Классика 2106.12398 + WMT25-обзоры: жёсткие констрейнты деградируют флективные языки; лемма-констрейнты + инфлексия моделью — лучший режим. Собственный E1-замер (full-decl 0% / base-only 67% ложных) совпадает с внешними данными |
| «Лучше ничего, чем мусор», disposition, отказ от эмбеддингов в горячем пути | REAL-MT (AAAI 2026): шумный retrieved-контекст роняет перевод, модели рационализируют мусор, уверенность↑ точность↓ |
| DeepSeek как draft для CJK-вебновелл | DITING (18k экспертных пар вебновелл): DeepSeek-V3 — самый верный и стилистически связный из 14 моделей; китайские модели бьют более крупные западные |
| reasoning OFF на draft/editor, reasoning на judge/эскалации | arXiv:2510.06471: TTS в прямом переводе — плато/вред, в пост-эдите — надёжная польза; EMNLP 2025 «Please Translate Again»: step-by-step не помогает |
| Недоверие LLM-судьям, человеческий BWS-пилот | LAIT: судьи/автометрики анти-коррелируют с читателями (τ до 0.318 у COMETKiwi, 0.124 у LLM-судьи); NAACL 2025: BWS находит человеческий перевод в 80100% vs ≤20% у метрик |
| Детерминированный no-LLM горячий путь; спойлер-окна | **Аналогов не найдено** ни в академии (вся память — LLM-driven: DelTA, Loong, G²C-MT), ни на рынке (LLM-глоссарии без окон и морфологии). Это оригинальный вклад и козырь по цене; head-to-head качества никто не мерил — гейтится нашим пилотом, как и решено |
| Детект «тихих вырезаний» (excision) | Индустрия различает hard/soft-цензуру (2504.03803), но у коммерческих лидеров детекта тихого выпиливания не видно — редкая фича |
| Экономика | $0.69/ранобэ против $100 GlobeScribe и $825k человеческого перевода; на два порядка ниже ближайшего полного автомата |
Отдельно: **два новых нетрекнутых дока** (`12-architecture-as-antipattern.md`, `12-common-failures.md`) в основном **конвергентны с уже принятыми решениями** (hard gates ≈ детерминированные гейты; versioned decision store ≈ glossary_revisions; uncertainty-объект ≈ disposition/gender=hidden; спойлер-окна ≈ since/until; ре-валидация финала ≈ post-check финального вывода). Их провенанс не зафиксирован (стилистически — вставленные ответы внешней LLM, без даты/метода/ссылок у второго); если модель получала контекст проекта, «конвергенция» частично циркулярна. Три их реальные точки напряжения — моно-редактор, rewrite-vs-patch, self-preference судьи — разобраны ниже; центральное их число (падение accuracy при monolingual polish) верифицировано этим ревью по первоисточнику. **Рекомендация:** пометить провенанс в шапках обоих файлов, абсорбировать содержимое только через верификационный пасс (числа «85.7→7678» и пр. — без источника).
### 4.2 Напряжение №1: монолингвальный редактор (D1) — теперь с измеренной ценой
Самый острый удар и нового дока, и науки. Верифицировано по PDF arXiv:2605.13368 (Tables 3, 2123): **монолингвальный рефайнмент теряет accuracy уже на ПЕРВОМ проходе** у всех 6 моделей (2.2…5.6 MQM; DeepSeek-V3 2.7; к 4-й итерации до 12.4 у слабых), при этом **general-рефайнмент С исходником даёт тот же fluency-гейн при accuracy ~flat и лучшем overall**. Пары включают en→ru. Проект дыру знал (D1.1: «приёмка Фазы 1 не содержит критерия верности»), но теперь она измерена извне: это не гипотетический вакуум, а систематический налог.
При этом:
- **Сильная форма D1 («исходник в контексте редактора ⇒ кальки») подтверждений в литературе 202526 не имеет** — кальки документированы как болезнь драфта, а на стадии рефайнмента исходник работает страховкой точности.
- Экономический довод D1 слаб: билингвальный редактор = +1520% стандарт-микса (exp08:91) ≈ **+$0.100.14 на ранобэ**.
- Митигции реальны, но частичны: dst-констрейнты редактору внедрены, post-check валидирует финал, редактор single-pass; class «same-length mistranslation / потеря отрицания / перепутанный субъект» (по 12-common-failures §16 — самые фатальные для публикации) до билингвального судьи Ф2 не ловит **ничто**.
**Вывод:** D1 не «неправильное решение», а недоиспытанное — притом что дешёвая альтернатива (тот же редактор с исходником и простым промптом) по внешним данным доминирует. В пилоте сейчас есть только моно-бейкофф моделей (exp09 §7-bis); **арма «моно vs билингв на одной модели» нет — добавить обязательно** (курс-коррекция №2).
### 4.3 Напряжение №2: банк памяти — ядро чисто, границы доверия дырявы (4 verified-находки)
Ядро (F1-хэш, нормализация, спойлер, детерминизм, инъекционная поверхность) прошлыми ревью и этим — подтверждено чистым. Новые находки, каждая **воспроизведена исполнением** временного Go-теста на реальном коде:
1. **[major] Полисемия same-src не разрешается горячим путём.** Две approved-записи `(src, sense₁→dst₁, sense₂→dst₂)` легальны для схемы и сида (memseed_test.go:100-103 их прямо благословляет), но матчер инжектит **обе как CONFIRMED** (противоречивые авторитетные строки — ровно A2-класс «ошибочная инъекция», 🔴 реестра), а post-check даёт **гарантированный confirmed-miss** при любом выборе модели → с включённым `postcheck_gate` каждый чанк с этим src детерминированно флагуется и теряет FinalText (livelock-эффект: ретраи бесполезны). Односимвольные (道) спасены A3-баном; поражены src ≥2 иероглифов. Фикс: fail-loud на пересекающихся окнах разных sense ИЛИ даунгрейд обоих в AMBIGUOUS. (`memory.go:198-204,299-306`; `mempostcheck.go:63-75`; `memseed.go:155-163`)
2. **[major] Sticky апгрейдит collision-prone AMBIGUOUS → CONFIRMED через чанк.** Коллизионный матч (3-kana внутри чужого слова) кладёт id в activeIDs без учёта disposition (`memory.go:323`); в следующем чанке sticky даёт status-based → CONFIRMED (`memory.go:391-398`), минуя post-check (sticky исключён) и попадая в редакторские канонические констрейнты. Окно ограничено (2 чанка, ресет по главе), но это молчаливый апгрейд доверия в зоне «неверная инъекция = главный источник тихой деградации». **Прошлое 44-агентное ревью отсеяло это 0/3 по непроверенной посылке** — ложно-негативный отсев. Фикс тривиален: наследовать disposition в sticky-кэрри.
3. **[major] Source-матч без word/script-границы для фонетических ключей ≥4.** `rose` (approved) срабатывает CONFIRMED внутри `roseanne`/`roses`; 4-kana ключ — внутри компаунда. Collision-даунгрейд покрывает только ≤3 (`memory.go:62-64`), Aho-Corasick границ не знает (`memory.go:552-581`), target-сторона границу имеет — асимметрия.
4. **[major, частично задокументированный дефер] Ruby-чтение не становится матчимой поверхностью.** Для ручных терминов чтение выбрасывается (`memseed.go:217-220`), у auto-кандидатов surfaces строятся только при непустом dst (`memory.go:167-173`) → ja-чанки, где имя написано каной (すずき после ввода 鈴木), дают 0 матчей. Для приёмочной ja→ru книги D9 это recall-дыра класса «тихо пусто»; обход — ручные kana-alias в сиде (внести в чек-лист подготовки книги), закрытие — B6/шаг Ф2.
Плюс невыполненные валидации, признанные самим кодом: kana min-key=3 — «консервативный дефолт до замера»; C4-автозаполнение `decl` (LLM-вызов на коммите термина) не реализовано → recall post-check висит на ручной полноте decl (E1: base-only 67% ложных); G1-автопопуляция и G2-ёмкость человека — по-прежнему немоделированные опоры (см. §4.6).
### 4.4 Напряжение №3: экономика resume несовместима с онгоингом (verified)
`snapshotID` вшит в `RequestHash` каждого вызова (`render.go:212-214`), lookup чекпоинтов — только по request_hash → **любое** изменение снапшота (флип coverage-гейта D12/Q4, toggle postcheck_gate, бамп classifierVersion, **append approved-терминов онгоинг-книги** через memoryVersion, даже правка инертной ручки stm_depth) после `--resnapshot` переоплачивает **всю книгу**, включая байт-идентичные запросы — воспроизведено исполнением (2→4 оплаченных вызова на wire-идентичных телах). Комментарии `snapshot.go:24-32 (до пакета №4 — runner.go:156-160)` и `coverage.go:29-33` обещают «re-classify from checkpoint for FREE / no re-bill» — **ложь** вне неизменного снапшота; механизм честного content-addressed reuse (msgsContentHash, `render.go:233-249`) существует, но заперт условием `cs.SnapshotID == snapID`. Вдобавок **нет redrive флагнутых** (D12 требует; tmctl умеет только translate|report) — единственный способ переатаковать один echo-флаг стоит переоплаты книги.
Дизайн «снапшот = тотальная инвалидация» безопасен от тихих расхождений (гейт громкий), но **экономически ломает флагманский сценарий** — онгоинг-вебновеллу с живым глоссарием («ИИ-фабрики», Р9): каждое подтверждение пачки терминов на границе тома = пере-покупка всех готовых глав. До Ф1.5/онгоинга нужен либо content-addressed слой переиспользования чекпоинтов, либо селективный redrive; немедленно — поправить лгущие комментарии, чтобы флип гейта не сделали в ожидании $0.
### 4.5 Напряжение №4: эмпирическая база тоньше своих заголовков
- **Претрейн-контаминация — системное свойство всего корпуса**: Лу Синь/Акутагава/Дадзай/Уэллс с каноническими переводами в претрейне. Наблюдаемые следствия в данных: C0 без глоссария частично выдаёт канонические имена (дельта C1C0 сжата), в C3 модель «поправляет» неверный глоссарий на канон (вред инъекции занижен), deepseek эхает классику 13/24. Владелец предвидел это в V1.6.
- **exp04 («слепой» бейк-офф редакторов) — слепота структурно сломана (verified):** маппинг A/B/C/D фиксирован на всех фрагментах; ключ с именами моделей и ценами был **в том же артефакте во время оценки** (git: билдер ce71a1a 04.07 19:26 сразу с reveal-секцией; док с завершённой оценкой — 87b92ba 18:47); оценивали не люди, а два LLM-судьи, и в их наблюдениях фигурирует «~13 с» — цифра, существующая только в COST-таблице за ключом. «Два судьи сошлись независимо» — не корроборация при общей деанонимизируемой странице. Страхуют выбор grok только объективные латентность/цена и моно-рука пилота.
- **memory_eval — решающий инструмент memory-ставки контаминирован (verified):** consistency скорит весь выход, модель эхает глоссарий-преамбулу (3 из 20 точек доказуемо, 12 непроверяемы — сохранены только 160-символьные превью); вывод «C1≈C2» переживает дефект, но **C3-деградация ЗАНИЖЕНА** (chunk1 C3 надут эхом с 0.667 до 1.0; реальный C3 ≤0.60) — т.е. замер центрального страха владельца сейчас недостоверен в сторону «вред меньше», что парадоксально усиливает кейс за post-check/disposition.
- 18+ — **ноль замеров** (exp02 SFW-часть = контроль ложных срабатываний); r-коэффициенты — по одной паре на направление; rf Gemini не измерен (все премиум-числа условны); think-качество — N=1 фрагмент; сырые данные exp02 перезаписаны ре-раном (провенанс-нарушение, смягчено перевалидацией exp07).
### 4.6 Напряжение №5: человеческая петля и 18+ — немоделированные опоры
Почти каждая защита кончается «флаг → человеку», но: G2 (flag-rate × throughput) не смоделирован (❌ реестра), в компонентах нет ни человеческого узла, ни очереди ревью; безлюдный режим «auto→approved автоматом» (Р7) в сочетании с качеством авто-рендера dst (zh 0.26 локаль / 0.75 облако-топ, exp06) превращает неверифицированные рендеры в авторитетные инъекции — ровно механизм A2. Индустрия-2026 конвергировала на human-in-the-loop с UI (Mantra, Nuanxed); полный автомат репутационно токсичен (GlobeScribe).
**18+ (канал B)** — заявленный дифференциатор с нулевой эмпирикой, и поле сдвинулось:
- **DeepSeek выбыл из интерима канала B**: ToS (upd 27.03.2026) §3.4(5) прямо запрещает «pornographic, obscene, or sexually explicit (e.g., sexual chatbots)» — verified по первоисточнику. D3-интерим «DeepSeek офиц. + локальная abliterated» в explicit-части невалиден.
- xAI: adult-текст допустим (AUP без бланкетного запрета; запрещены CSAM и порно реальных лиц), позиция стабильна на 09.07 — но **«цитата Маска про R-rated текст» в наших доках неточна**: заявление 12.03.2026 касалось Grok Imagine (картинки). Опора — AUP, не цитата.
- **Mistral (Usage Policy eff. 11.06.2026) — новый кандидат в фолбэк канала B**: бланкетного запрета adult-текста нет (только CSAM/NCII/эксплуатация) — verified по первоисточнику. Появился реальный способ снять одно-провайдерность канала B.
- Уровень 3 (жёсткая линия) держится на **неспецифицированном локальном классификаторе без метрики приёмки** — для продукта с 18+-дифференциацией это самая недокапитализированная safety-ставка (false-negative = запрещённый контент уходит провайдерам под ключами владельца).
### 4.7 Дрейф предписывающих документов (известный лаг — но с последствиями)
По мандату ревью это НЕ подаётся как архитектурный дефект; фиксируются последствия: (а) `pipeline.puml` рисует эскалацию «Opus / Gemini Pro» и **не рисует ре-гейт** после эскалации — буквальное чтение коммитит непроверенный вывод в TM (код делает правильно); (б) `components.puml` держит Anthropic/BYOK/«≤2×» и универсальный failover, противоречащий D4; (в) superseded-баннеры стоят на 4 из ≥9 материально переопределённых ресёрч-доков (01 SAM, 02 «ru-нишу никто не обслуживает», 03 «ядро = generate-then-select», 04 «редактор GLM/Kimi/Sonnet», 09 пороги) — для проекта, работающего доко-ориентированными мультиагентными сессиями, это операционный риск регрессии решений. Владелец смотрит именно PUML — визуальный источник истины сейчас дезинформирует.
---
## 5. SOTA-2026: боли индустрии → решения → наш стек
| Боль индустрии | SOTA-ответ 2026 | Наш стек | Позиция |
|---|---|---|---|
| Консистентность имён на дистанции (жалоба №1) | Персистентные глоссарии + авто-NER (TeaNovel, Lexilit, OSS); академия — LLM-память (DelTA/Loong) | Детерминированный AC-матч + decl post-check + спойлер-окна | **Впереди по строгости/цене**; позади по автопопуляции (§ниже) |
| «Гладкая неверность» | Измерена: fluency↔faithfulness анти-коррелируют (NLP4DH 2026, 130k абзацев) | Признанный вакуум верности Ф1; билингв-судья Ф2 | Окно уязвимости реально до Ф2 (§4.2) |
| Длина/потеря контекста, «300-я глава» | SEGALE: эффективный контекст ≪ номинального; чанки+внешняя память = консенсус | Чанки 12k + селективная инъекция + resume | **Соответствуем**; резюме-слой (Essence) — наш Ф2-гэп |
| Цензурные вырезания | hard/soft-цензура различена; лидеры не детектят тихое выпиливание | excision-гейт (sent_cov/len_ratio) + refusal-blacklist | **Впереди** (редкая фича) |
| Ненадёжный LLM-судья | LAIT/Nine Judges/Coin Flip; анкеты (LiTransProQA τ=0.605), референс-анкоринг (CanMT) | BWS-пилот + панель + канон-якоря | Соответствуем; панель нуждается в переконфигурации (§7) |
| Стоимость книги | GlobeScribe $100; подписки $513/мес; Kindle Translate бесплатно (en↔5 eu-языков, **ru нет**) | $0.69/ранобэ | **Впереди на порядки**; давление снизу от бесплатного сырца |
| Пре-анализ книги / автоглоссарий | Табличная ставка всех стартапов (NER по 7 категориям, вывод пола) | Только ручной сид + ruby-кандидаты; дизайн G1 есть (спот=локаль 0.98 / рендер=облако) | **Позади** — главный продуктовый гэп |
| Измеримый translationese | T-index (EMNLP 2025, 0.5B-модели — влезает в наш стенд); POS/dependency-классификаторы (F1=93%) | Нет измеримого гейта | **Позади** — готовое дешёвое решение мимо нас |
| Human-in-the-loop UI | Mantra/Nuanxed/Lexilit — стандарт издательских пайплайнов | Нет (флаги в отчёте) | Позади (по плану — Ф3/IDE; для B2B критично раньше) |
| ru-таргет | Академия: пары zh/ja→ru не покрыты (WMT-лит. трек умер после 2024); рынок RU стагнирует (Rulate/MLate/VseGPT без итераций); EN-лидеры ru не делают | Наша ниша | **Окно открыто**; BWS-данные пилота zh/ja→ru — потенциально уникальный актив |
**Готовые решения, мимо которых не пройти:** Pearmut (открытый инструмент человеческой оценки с attention-checks — вместо самописного BWS-тулинга), банк вопросов LiTransProQA для судьи-анкеты Ф2, оси DITING для рубрик, Bradley-Terry-агрегация (JP-TL-Bench), LAIT-датасет для калибровки судей, LTCR/HHI как сопоставимые с литературой метрики консистентности, Mistral для канала B, T-index в офлайн-телеметрию.
---
## 6. Вердикт целостности end-to-end
**Прямые ответы на четыре затравки пресс-теста мандата:**
- **Судья — bottleneck (Р10№1): ставка generate-then-select НЕустойчива как самостоятельная и устойчива только как гейтящаяся пилотом.** Наука-2026 ужесточила картину сверх Р10№1: судьи анти-коррелируют с читателями на литературе (LAIT), панель из 9 ≈ 2 эффективных голоса (2605.29800), одиночный вердикт нестабилен (13.6% флипов, 2606.13685), судья с хорошей средней корреляцией проваливает best-of-N (67% ничьих, 2603.12520), а единственный литературный замер selection-vs-refinement ставит селекцию на последнее место на гомогенных кандидатах (LitMT). Снятие C2/C3 при провале κ-валидации — легитимный и вероятный исход пилота; C1 — фаворит априори.
- **Детерминированный no-LLM горячий путь: ставка жива и уникальна** — механизм терминологической инъекции подтверждён (WMT25), шумный retrieval опасен (REAL-MT), аналогов детерминированного пути не найдено *[сужено D21.7: не найдено при скрининге, не FTO — уникальна формула с disposition-верификацией/окнами/бюджетом; сам словарный слой — практика фан-стека; research/15 §5]*; go/no-go корректно гейтится memory-eval'ом пилота, который перед этим надо починить (§4.5).
- **Монолингвальный редактор D1: приемлемость для Фазы 1 — да, для продукта — недоказана и внешне оспорена** (§4.2); решает добавленный пилот-арм «моно vs билингв».
- **Нерешённое ядро C0C3: риск неверного выбора управляется правильно** (четыре конфига одного раннера, human-BWS пилот, C2 честно заблокирован в коде до механики) — при условии гетерогенных кандидатов для C2 и починки харнесса; иначе пилот предрешён.
**Замысел держится.** Каркас (конфигурируемое ядро + детерминированные гейты + деньги/durability first-class + «всё спорное решает человек-пилот») выбран правильно и наукой-2026 подтверждён; исполнение кода дисциплинированное; экономика жива с большим запасом. Проект систематически конвертирует неопределённость в детерминированные механизмы или гейтящие пилоты — редкая и правильная дисциплина.
**Слабое место проекта — не архитектура, а доказательная база под ней**: (1) все ставки сходятся в пилот, чей инструмент дефектен; (2) один принятый контракт (D1) противоречит лучшему внешнему замеру и не имеет прямого пилот-арма; (3) один флагманский сценарий (онгоинг) экономически несовместим с текущей resume-моделью; (4) один дифференциатор (18+) не имеет ни одного замера и потерял провайдера из интерима; (5) петля «флаг → человек», на которой стоит вся safety-аргументация, не смоделирована ни по ёмкости, ни по интерфейсу.
---
## 7. Топ-риски (ранжировано)
1. **Пилот как единая точка отказа при дефектном инструменте.** Ядро C0C3, память, судья, редактор, think — всё решается одним пилотом; его харнесс сегодня даёт ложные сигналы (эхо-контаминация memory_eval занижает C3-вред; сломанная слепота уже дала дефолт-редактора; мощность/MDE не заданы; панель нарушает self-preference; метки «C0C3» внутри exp09 означают одновременно конфигурации ядра §3 и режимы терминологии memory-eval §6 — риск путаницы в пре-регистрации). Риск: пилот «подтвердит» то, чего не мерил.
2. **D1-моноредактор: измеренный налог на верность при нулевом контроле верности до Ф2** (arXiv:2605.13368: 2.2…5.6 MQM с первого прохода; альтернатива с исходником — без налога и на +$0.1/ранобэ дороже). Плюс невалидированный перенос рейтинга grok на моно-режим при 90% COGS на нём.
3. **Resume-экономика ломает онгоинг** (verified): любое изменение снапшота = переоплата книги; redrive нет; комментарии кода лгут о бесплатности. Для сегмента «ИИ-фабрик» (Studio-тариф) это архитектурная мина.
4. **Границы доверия памяти**: 4 verified-дыры (полисемия/lively-lock, sticky-апгрейд, source-boundary, ruby-recall) + невалидированная kana-precision + ручной decl + немоделированные G1/G2. Ядро чисто, но именно границы производят класс A2 «авторитетная ошибочная инъекция».
5. **18+: нулевая эмпирика + сдвиг поля** (DeepSeek выбыл по ToS; концентрация на xAI с волатильной политикой; неспецифицированный классификатор уровня 3 = юридическая экспозиция).
6. **Рынок/право рассогласованы с EU-SaaS-пивотом**: SAM на 6075% состоит из RU-тиров, монетизируемых отменёнными рельсами; юр-анализ «инструмент как Photoshop» не покрывает EU-хостинг нелицензированных исходников и warranty перед провайдерами; платежи ru-in-Russia — открыты.
7. **Доко-дрейф** (план/диаграммы/безбаннерные research) — операционный риск регрессии решений в мультиагентных сессиях; отдельная строка — ложно-негативный отсев 44-агентки (перепроверить выборочно остальные отсевы).
---
## 8. Курс-коррекции до масштабирования
**P0 — до/для пилота (гейтят валидность главного решения):**
1. Починить харнесс: memory_eval — стрип/запрет эха преамбулы, сохранение полных выходов, fidelity-ось (без неё правило C3-vs-C0 непроверяемо), переименовать memory-режимы в M0M3; артефакт-оценки — пере-рандомизация меток по фрагментам, ключ вне артефакта; пре-регистрация MDE, числа BWS-наборов и N аннотаторов (≥3; «минимум владелец» ≠ κ).
2. Добавить арм **«моно vs билингв редактор на одной модели, простой промпт»** — прямой тест D1 (сейчас есть только моно-бейкофф моделей 7-bis).
3. C2 — только с **гетерогенными** кандидатами (разные модели; на гомогенных селекция ≈ монета — LitMT/2603.20324); панель: 23 семейства максимум, **11+ повторов со свапом позиций**, медианная агрегация, grok исключить из судейства grok-редактированных выходов; мерить tie-rate/top-1 within-prompt и κ против IAA людей, не «среднюю корреляцию». Взять Pearmut + Bradley-Terry.
4. Корпус вне претрейна (вебновеллы владельца) — блокер валидности не только пилота, но и уже снятых порогов/r; просьба полигона от 05.07 — поднять в приоритет.
5. Think-арм для grok-редактора требует reasoning-буфера в EstimateUSD (D6.2) — иначе экономически главный think-вопрос пилот не ответит.
**P1 — код (до боевых прогонов / онгоинга):**
6. Память: полисемия — fail-loud на пересекающихся окнах разных sense или даунгрейд в AMBIGUOUS; sticky — наследовать disposition; source-boundary для фонетических ключей ≥4; ruby-reading → auto-alias (или задокументированный чек-лист «kana-alias руками» для ja-книг); замерить kana-precision (расширение E1).
7. Resume: спроектировать content-addressed reuse чекпоинтов (msgsContentHash уже есть) или селективный redrive **до** онгоинг-режима; `tmctl status` + redrive (D12-хвосты); немедленно — исправить лгущие комментарии `snapshot.go:24-32 (до пакета №4 — runner.go:156-160)`/`coverage.go:29-33`; бампнуть edit `prompt_version` (D1-уточнение №3 не исполнено — один лейбл на два SHA).
8. Канал B: убрать DeepSeek из explicit-части интерима D3 (ToS 27.03.2026); прогнать Mistral как фолбэк (single-hop контур готов); исправить xAI-обоснование (AUP, не «цитата про текст»); explicit-корпус от владельца → 18+ руки exp02 (это единственный critical).
**P2 — стратегические (до масштабирования):**
9. B6-валидатор Поливанова по ruby-reading — **до** приёмки ja→ru (иначе гейт ≥98% меряет не то качество, которым продукт дифференцируется); морфо-гейт рода (жалоба №1 читателей) поднять из «отложено».
10. Автопопуляция G1 по уже готовому дизайну exp06 (спот=локаль, рендер=облако+Палладий) — табличная ставка конкурентов, наш главный продуктовый гэп; G2 — замерить flag-rate на первом реальном прогоне и определить владельца очереди флагов. Принять идею владельца V3.3 (фронтир-аудитор отчёта книги, батчем, редко) — дёшево и совместимо с антипаттерн-принципами; second-opinion судья чужого семейства на Gemini-эскалированных чанках (self-preference).
11. Доко-синк: обновить 02-mvp-plan (пороги, интерим-18+, фазы), перерисовать обе PUML (убрать Opus/BYOK, дорисовать ре-гейт и человека в петле), баннеры на 01/02/03/04/09, провенанс-шапки на 12-antipattern/12-common-failures; T-index — кандидат в офлайн-телеметрию Ф2.
12. Рынок/право: пересчитать SAM без RU-in-Russia тиров (или явный платёжный механизм); юр-ревизия EU-хостинга загруженных текстов + warranty-цепочки перед провайдерами; спека и метрика приёмки NSFW-классификатора уровня 3; перепроверить DeepSeek peak-hour ×2 (анонс «с середины июля»).
---
## 9. Что обязательно подтвердить пилотом Ф2.5 (сверх exp09)
1. **Ядро C0C3**с гетерогенными кандидатами в C2, иначе плечо предрешено против селекции.
2. **D1: моно vs билингв редактор** (same-model арм) + перенос рейтинга grok на моно (7-bis).
3. **Банк vs длинный контекст + adversarial-рука** — только после фикса эхо-контаминации; текущий индикатив занижает вред неверной инъекции.
4. **Валидность судьи**: κ против человеческого IAA, tie-rate/top-1, калибровка s*; при провале корреляции C2/C3 снимаются, и это легитимный исход.
5. **Think-ON/OFF** на draft/editor, включая grok (после reasoning-буфера).
6. **Flag-rate на главу (G2)** — первый замер человеческой ёмкости на реальной книге.
7. **Precision гейтов на вебновелл-корпусе** (перед снятием 1-флаг-толерантности) + частота эха вне претрейна.
8. **18+ рука**: refusal/excision на explicit (Grok/Mistral/abliterated), качество Grok-судьи 18+, поведение Gemini-судьи на explicit при «artistic»-контексте.
Пре-регистрация (exp09 §9) — расширить: MDE/мощность, состав панели по новым правилам, разведение имён C0C3 (ядро) vs M0M3 (память).
Побочная ценность: человеческие BWS-данные zh/ja→ru — данных такого типа нет ни у академии (WMT-лит. трек мёртв, пары не покрыты), ни у конкурентов; это самостоятельный актив.
---
## Приложение: метод и границы
**Собрано:** 8 репо-аудитов (все доки/эксперименты прочитаны целиком; runner.go/memory.go — построчно; ключевые тесты прогнаны), 6 SOTA-обзоров (≈90 первоисточников, arXiv/ACL/вендоры, датировано). **Верифицировано адверсариально (refute-by-default):** полисемия, ruby-alias, source-boundary, sticky-upgrade, snapshot-repay, эхо-контаминация+слепота exp04 — CONFIRMED исполнением на реальном коде/данных; mono-refinement (2605.13368 по PDF), judge-cluster (LAIT/2605.29800/2606.13685 по первоисточникам) — CONFIRMED с уточнениями атрибуции; политика канала B — PARTIAL (xAI-цитата не про текст; Mistral/DeepSeek/OpenAI подтверждены).
**Не проверено этим ревью (честные границы):** живое поведение API (кроме уже сделанных проектом проб); полный прогон `-race`; цены провайдеров на 09.07 против страниц; содержимое refusal-корпуса (гардрейл); paywalled Nature-статья (Border Town); фактическое введение DeepSeek peak-hour; юр-ревизия — поставлен вопрос, не дан ответ. Большинство внешних работ 2026 — препринты (помечено в тексте); peer-reviewed опоры: WMT25 Terminology/Findings, LiTransProQA (EMNLP), DeepTrans (TACL), SEGALE (EMNLP), M-MAD (ACL), CanMT/«Beyond Reproduction» (ACL 2026), NLP4DH 2026, PLoS One 01.2026.
**Ключевые источники направления 5:** arXiv:2605.13368 (рефайнмент), 2606.26040 (LAIT/Karpinska), 2603.20324 (When Agents Disagree), 2606.05924 (LitMT), 2510.09116 (DITING), 2510.06471 (TTS для MT), 2506.04521 (Please Translate Again), 2507.12260 (T-index), 2605.15282 (fluency↔faithfulness), 2510.00829 (REAL-MT), 2605.29800 (Nine Judges), 2606.13685 (Coin Flip Judge), 2603.12520 (best-of-N ties), 2601.02933 (Pearmut), aclanthology 2025.wmt-1.30 (WMT25 Terminology), 2025.emnlp-main.1482 (LiTransProQA), 2509.17249 (SEGALE), 2604.24361 (CanMT), legal.mistral.ai/terms/usage-policy (11.06.2026), cdn.deepseek.com ToS (27.03.2026), aihaven adult-policy tracker (05.07.2026).
**Спорные архитектурные выводы к сверке с оркестратором:** (а) рекомендация пересмотра D1 при подтверждении пилот-армом; (б) трактовка resume-экономики как блокера онгоинга (а не приемлемой цены корректности); (в) вывод DeepSeek из интерима канала B; (г) перепроверка отсевов 44-агентного ревью.