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

61 KiB
Raw Blame History

07 — Стратегическое ревью архитектуры (2026-07-09)

Мандат: 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 эскалация с ре-гейтом и издержко-гардами (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-идентичных телах). Комментарии 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-хвосты); немедленно — исправить лгущие комментарии 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-агентного ревью.