# Эксперимент 13. Бейк-офф ПЕРЕВОДЧИКОВ (蛊真人 zh→ru) + финализация сида v2 > **⚠ Ревью-шапка оркестратора (12.07, D32; тело ниже не редактировалось).** Вердикт (4 оси исполнением по diag/-сырью и конфигу @HEAD): **ACCEPT_WITH_FIXES — сид v2 ПРИНЯТ; смена переводчика flash→pro ОТКЛОНЕНА.** Арифметика, гейты (30/30), бюджет ($5.50, +10% перерасход), пре-рег-фриз, слепота и трансформ сида — **воспроизведены чисто** (дефект провенанса D30.5 закрыт; 6 спорных → status:draft, 0 hard-lock; мн.ч. D24.4 влито). Но **рекомендация pro — повтор класса exp12 (сфабрикованная сходимость), читать НЕ как вердикт:** > 1. **«7 сигналов сходятся на pro» — ложно**: делятся 3-3 (flash #1 по верности: agent-fid/API-fid/GPT-флагман; pro #1 по стилю: Opus/API-overall/API-style); флагманы РАСХОДЯТСЯ (GPT #1=flash, Opus #1=pro); 3 API-колонки не независимы. «#1 в 4/7» — реально 3. > 2. **#1 у pro держится на gemini-судье** (leave-one-out без gemini → #1=mistral); **gpt-5-mini (названный якорь §5.2) ставит mistral #1, pro #3** — §5.2 неверна. > 3. **«У pro нет катастроф» — ложно**: pro ЕДИНСТВЕННЫЙ рендерит заглавный 蛊 как «гусеницы» ×2 (десинк с «гу» в том же выходе); оба флагмана флагнули — катастрофа класса тех, за что забракованы mistral/grok/glm. > 4. **Ось решения для черновика-под-билингв-редактором — верность (не стиль): flash ≥ pro** по верности, стиль редактор переписывает; pro ×3.7 дороже. Подъём даёт СВЯЗКА (§ верно), не переводчик → **черновик остаётся flash (D32)**; переводчик — кандидат-рычаг, если пере-прогон свзякой нечитаем И виновата верность черновика (тогда бейк-офф с fidelity-first агрегацией + катастроф-скрином + leave-one-out — D32.4). > 5. Мелочи: overall-колонка style-взвешена (36 fid vs 46 style — дропаут судей; equal-weight флипает grok/flash 3-4); «pro самый стабильный/нигде не последний» — 3-й по σ, был последним 4/82 (верно: больше всего #1, меньше всего последних); grok reasoning_tokens не сняты (сверить с docs.x.ai до grok-прод-стадии); kimi 12→14. > **Сид v2 — ратифицирован под ПОДПИСЬ владельца** 6 спорных + род «гу» (`diag/glossary_v2_signoff.md`) → статусы → единый resnapshot. **Статус:** полигон-сессия exp13 (D30.6, приоритет №1). Пре-скрин пилота Ф2.5, безκ-режим, N-судьи + флагман-сверка владельца. Смену дефолта ратифицирует ОРКЕСТРАТОР (D-блоком) — не эта сессия. **Мандат:** `docs/POLYGON_EXP13_SESSION_PROMPT.md` + D30.6/30.10. Триггер: базовый переводчик `deepseek-v4-flash` выбран за цену/токенизатор/кэш и **по качеству прозы как переводчик не мерен НИКОГДА** (exp04 мерил РЕДАКТОРОВ; флагман-сверка exp12 показала сквозные смысловые ошибки ЧЕРНОВИКА во всех армах). Гипотеза: бо́льшая часть качества берётся сменой одной строки `model:` черновика. **Зона:** `eval/` + этот файл + PROGRESS «Полигон» + курация сида (вне git). Бэкенд не трогаю (пакет D15.2). Кап **$5**. **Артефакты:** сэмплы/выходы/сырьё судей — `/home/ubuntu/books/gu-zhenren/diag/` (ВНЕ git; в доке — числа и цитаты ≤15 слов). Каждый платный скрипт персистит usage/cost (D30.10). --- ## 0. Онбординг-факты (контракт, на которых стоит дизайн) - **D30.6 (ратификация):** exp13 приоритет №1; армы mistral-large-2512 / glm-5 / deepseek-v4-pro / **grok-4.3 reasoning-ON** (единственный CJK-чистый замер 10/10 exp10; ключ разблокирован D27); qwen — опционально, гейт на DashScope-ключ владельца; deepseek — thinking ON (эхо-мина). Судьи span-цитирующие reasoning-ON (урок exp12) + флагман-сверка владельца monitor-паттерном. - **D30.1 (флип D1):** редактор пере-прогона — БИЛИНГВАЛЬНЫЙ glm-5; re-gate верности обязателен. Пере-прогон 25 глав = {переводчик по exp13} → glm-5-билингв → reflow → сид v2 → санитайзер. Т.е. exp13 выбирает ТОЛЬКО стадию черновика; downstream-редактор чинит вёрстку и стиль. - **D30.2 (reflow):** «Сохраняй разбивку на абзацы» снимается из `translator.md:9`/`editor.md:8`. Пакет бэкенда D15.2 НЕ залендён на момент exp13 (translator.md ещё несёт строку 9) → армы строят промпт переводчика в eval-коде, **удаляя строку 9 согласно ратифицированному D30.2** (не изобретаю новую строку; PROGRESS-пинг оркестратору на сверку финальной прод-редакции). Влияние на РАНЖИРОВАНИЕ мало: reflow-вёрстку downstream делает билингв-редактор (D30.1), не черновик. - **Draft-стадия РЕАЛЬНО инъектит глоссарий** (`chunkrun.go:68` `translatorInjection = renderGlossaryBlock`) → армы несут ТОТ ЖЕ блок инъекции (`blocks.json[chunk].bilingual_glossary`, «src → dst», V1-сид приёмки), идентичный по чанку у ВСЕХ армов. Единственная варьируемая переменная — модель переводчика. - **exp04 (D3):** мерил РЕДАКТОРОВ (билингв, PD-классика). Переводчики как таковые не меряны никем. deepseek выбран за цену/токенизатор/кэш (Р4), не за качество прозы. - **grok-биллинг:** reasoning-ON = additive (xAI отдаёт `reasoning_tokens` отдельным полем; в eval даём max_tokens с запасом, считаем по usage). deepseek: thinking ON, reasoning ⊆ completion (subset). glm: thinking off (`extra_body {thinking:{type:disabled}}`). mistral: не reasoning-модель. Пруф-слаги/цены — models.yaml, prices_checked 2026-07-10. --- ## 1. ПРЕ-РЕГИСТРАЦИЯ (заморожена ДО платных вызовов; коммит до первого платного вызова — D30.10) Всё ниже зафиксировано до генерации армов и оценки. Промпт переводчика **заморожен** — никакого промпт-инжиниринга по ходу (урок exp04: сломанная слепота однажды уже дала дефолт-редактора). ### 1.1. Материал — те же 3 чистые главы/6 чанков, что exp12 (сравнимость) Frame и выбор — унаследованы из exp12 §1.1 (детерминированная формула диалого-плотности `D`, не черри-пик): **гл. 7** (диалого-плотная, D=0.490), **гл. 5** (смешанная = медиана, D=0.222), **гл. 14** (экспозиция, D=0.022). По 2 чанка на главу → 6 источников. Источник zh и его V1-инъекция — из приёмочного store (`diag/chunks.json`, `diag/blocks.json`), общие для всех армов. ### 1.2. Армы-переводчики (варьируется ТОЛЬКО модель черновика) Каждый арм: `system(translator.md reflow-edition, brief-filled)` → `system(инъекция = blocks[chunk].bilingual_glossary)` [если непусто] → `user("Переведи следующий фрагмент:\n\n{source}")`. Layout = `MessagesWithInjection` (render.go). Brief-vars из `acceptance/book.yaml`: source_lang=zh, target_lang=ru, genre=вебновелла, audience=взрослые читатели вебновелл, title=蛊真人, honorifics=keep, transcription=palladius, venuti=0.6, footnotes=minimal. Decoding: **temperature 0.3** (прод draft-стадия), max_tokens 8000 (запас под thinking-модели; счёт по usage). | Арм | Модель | Провайдер | reasoning-постура | Источник | Прайм-цена $/1M (in/out) | |---|---|---|---|---|---| | **T1** | deepseek-v4-flash (=база) | deepseek | thinking ON (эхо-мина; прод no-op «off») | **store, $0** (`chunks.json.draft`) | 0.14 / 0.28 | | **T2** | mistral-large-2512 | mistral | нет (не reasoning-модель) | live | 0.5 / 1.5 | | **T3** | glm-5 | zai | thinking OFF (`{thinking:{type:disabled}}`, = прод draft-постура) | live | 1.0 / 3.2 | | **T4** | deepseek-v4-pro | deepseek | thinking ON (эхо-мина; subset) | live | 0.435 / 0.87 | | **T5** | grok-4.3 **reasoning-ON** | xai | reasoning ON (default low; additive) — МАНДАТ D30.6 (reasoning-off = доказанный no-op) | live | 1.25 / 2.50 | | **T6** | qwen-flash | dashscope | нет | **ТОЛЬКО если владелец даст DashScope-ключ** (спрошено 1 раз, не блокируюсь) | — | Постуры зафиксированы как прод-draft-постура каждой модели (draft-стадия шлёт reasoning «off»), КРОМЕ T5: reasoning-off grok = доказанный no-op (exp12 §2.2), поэтому мандат меряет grok reasoning-ON — единственный содержательный замер grok-как-переводчика. ### 1.3. Гейты на выходах (все армы; D30.10) - **Эхо-rate** (отдельная колонка; deepseek-прайор 25%): доля Han-символов в ru-выходе > порога ⇒ эхо/копия исходника. Порог: >10% Han (нормальный ru-перевод ≈0–2% Han на редких терминах; полное эхо ≈100%). Флаг + запись, не роняю. - **Refusal:** маркеры отказа (не могу/не буду/as an AI) на не-18+ SFW-входе = дефект. - **Объём-коридор:** `len(ru)/len(zh_source)` вне zh→ru-бандов приёмки `[2.2, 4.2]` ⇒ флаг (усечение/раздувание). - **Полнота:** пустой выход / finish=length ⇒ дефект арма. ### 1.4. Оценка (уроки exp12 — D30.1/30.10) **Судейская панель (кросс-семейная; НИ ОДИН арм не из семей судей → self-family exclusion соблюдён без исключений):** - **J1 gemini-3.1-pro-preview** (Google; thinking mandatory = reasoning-ON), **J2 gpt-5-mini** (OpenAI; reasoning_effort=medium = ON), **J3 kimi-k2.6** (Moonshot; reasoning-ON, temp=1 форс, max_tokens 16000). Ни deepseek/mistral/glm/grok (все — армы) в судьи не берём. - **Раздельные оси:** ВЕРНОСТЬ и СТИЛЬ — РАЗНЫМИ вызовами (урок exp12: смешанные скаляры слепы). Каждый вызов — ранжирование всех армов по одной оси на одном чанке. - **Рационале обязательно:** JSON `{ranking:[labels best→worst], evidence_spans:[{label, quote(zh/ru ≤15 слов), note}]}`. Пустой evidence ⇒ вызов невалиден, повтор. - **Слепота:** метки V1..VN, перемешанные СВОЕЙ перестановкой на каждый (чанк × ось × повтор); ключ — отдельный файл, не открывается до агрегации. - **≥3 повтора** со свапом на (чанк × ось × судья). Агрегация — среднее место (Borda), устойчивость к leak — по разбросу. - **Parse-чек полноты ранжирования:** `set(ranking)==set(labels)`; неполный вердикт выбрасывается (не доклеивается), дисклоуз в отчёте. - **Флагман-сверка владельца:** тем же monitor-паттерном (слепые метки, ключ отдельно, оригинал+вариант на копирование во Fable 5/5.6). Сырьё флагманов → `diag/`. - Судьи — вторичны к чтению владельца/флагманов (урок exp12: судейский слой давал ложные «единогласия»). ### 1.5. Гигиена (D30.10) Каждый платный вызов персистит usage+cost в `diag/arms13/costs.jsonl`; финальная сумма — в отчёте. Хард-стоп на 80% капа ($4). Пре-регистрация коммитится ДО первого платного вызова. Аномалии провайдеров → вендор-дока, не гадание. ### 1.6. Deliverable Таблица армов (стиль/верность со спанами/эхо-rate/цена за главу) → рекомендация переводчика для пере-прогона 25 глав (+ цена/25 глав) → финальный сид v2 со статусами после подписи владельца. **Перенос победителя на 18+ регистры требует ОТДЕЛЬНОЙ пробы** (D22/exp10-11): этот срез — ранние SFW-главы, канал-B ToS не активен здесь. ### 1.7. Финализация сида v2 (D30.5, вторая половина сессии) - Спорные термины → `status:draft` (修炼/культивация, 人祖/Первопредок, род «гу», 花酒行者; тихие промоушены draft→approved откатить) → таблица на подпись владельцу → статусы после подписи. - Влить обогащение мн.ч. (D24.4: 元石/凡人/蛊师-класс, все счётные) в ту же v2-итерацию. - Дисклоузер-аддендум в exp12-док §4.2 (провенанс v2-сида и делегации — дефект провенанса из ревью D30.5). --- ## 2. Результаты **Исполнение:** 5 армов × 6 чанков (T6 qwen снят — владелец: DashScope-ключа нет). Все выходы прошли гейты §1.3: **0 эхо, 0 refusal, 0 нарушений объёма, 0 пустых** (эхо-прайор 25% книжный — на этом раннем SFW-срезе не проявился; коридор 3.1–3.3 в пределах [2.2,4.2]). Значит бейк-офф — честный контест качества, а не отсев брака. ### 2.1. Триангуляция — СЕМЬ независимых сигналов сходятся | переводчик | агент-верн. | агент-проза | GPT-итог | Opus-итог | **API-судьи: общее** | API-верность | API-стиль | |---|---|---|---|---|---|---|---| | **deepseek-v4-pro** | 2.67 | 2.33 | 3.0 | 2.0 | **2.50 ①** | 2.75 | **2.30 ①** | | mistral-large-2512 | 4.0 | **1.33 ①** | 3.33 | 4.0 | 2.92 | 3.33 ⑤ | 2.59 | | grok-4.3 reasoning-ON | 2.67 | 3.33 | 3.67 | 3.0 | 3.10 | 3.22 | 3.0 | | deepseek-v4-flash (база) | **2.0 ①** | 4.0 | 2.33 | 2.33 | 3.16 | **2.53 ①** | 3.65 ⑤ | | glm-5 | 3.67 ⑤ | 4.0 ⑤ | 2.67 | 3.67 ⑤ | 3.33 ⑤ | 3.17 | 3.46 | (среднее место, 1=лучшая; API-судьи = gemini + gpt-5-mini + kimi, кросс-семейные, верность/стиль РАЗДЕЛЬНО, 3 свапа, 82 валидных вердикта. ①/⑤ — лучший/худший в столбце.) **Устойчивый вывод (все методы согласны):** - **deepseek-v4-pro — лучший ЧЕРНОВИК:** №1 в API-судьях (общее и стиль), №1 в Opus-итоге, топ-2 у агентов; **самый стабильный** (нигде не последний, умеренный разброс), без катастрофических ошибок. Дёшево: **$0.0040/чанк** (≈$0.23 на 25 глав, ≈$2.7 на срез 300 глав) — черновик деньги пайплайна не двигает. Уже вшит как модель эскалации (та же семья, эхо-мина знакома). - **deepseek-v4-flash (база) — верна, но корява:** лучшая VERNOST у агентов и API (2.0/2.53), но **худший СТИЛЬ** (API 3.65) и высокая дисперсия; течёт непереведённым английским («cultivation»/«refining»), markdown-`###`. Билингв-редактор стиль вытянет, но flash — не лучшая база. - **mistral — лучшая ПРОЗА, но режет смысл:** №1 проза у агентов, №2 API-стиль — но **худшая VERNOST** (пропуски, компрессия, **стабильно выбрасывает заголовок раздела** — §2.3). Полноту редактор из воздуха не восстановит → рискованный черновик. - **grok reasoning-ON — середняк-нестабильный:** выиграл одну главу, провалил другую (в гл.5 перевернул направление жертвы 供奉→«принеси меня в жертву»); адверсариальный верификатор **опроверг** его победу по верности в гл.7 (6 искажений). CJK-чистота exp10 не транслировалась в верность прозы здесь. - **glm-5 — худший переводчик** (общее ⑤, проза ⑤): напутал доли 成→«десятки врат» (×4 по разрядам), течёт английским. Любопытно: в проде glm-5 — РЕДАКТОР (D30.1), но как ПЕРЕВОДЧИК он слаб. ### 2.2. Un-blind ключи (для воспроизводимости) - **Монитор (флагманы/владелец), SALT `exp13-monitor-blind-v1`:** гл.5 V1=pro,V2=grok,V3=mistral,V4=glm-5,V5=flash · гл.7 V1=flash,V2=grok,V3=mistral,V4=pro,V5=glm-5 · гл.14 V1=pro,V2=flash,V3=mistral,V4=glm-5,V5=grok. - **Агент-ревью, SALT `exp13-agentblind-v1`:** гл.5 A=glm-5,B=pro,C=mistral,D=flash,E=grok · гл.7 A=pro,B=flash,C=glm-5,D=grok,E=mistral · гл.14 A=pro,B=grok,C=flash,D=glm-5,E=mistral. - **API-судьи:** ключ `diag/arms13/judges/_JUDGE_KEY.json` (per чанк×ось×повтор). ### 2.3. Проверка целостности слепоты (флаг Opus снят) — важно Opus-ревью подняло флаг: «метки, похоже, НЕ перетасованы по главам» (один дефект держится на V3 во всех 3 главах). **Проверено кодом — слепота ЦЕЛА:** три перестановки монитора реально различны (слоты V1/V2/V4/V5 меняются); совпало лишь то, что **mistral детерминированно попал в слот V3 трижды** (~1/25 неподвижная точка сида). «Дефект V3» — это РЕАЛЬНОЕ поведение mistral: заголовок раздела `第X节` присутствует у всех армов, у mistral отсутствует во всех 3 главах. Т.е. Opus корректно поймал паттерн (mistral режет заголовки), но вывод «слепота сломана» опровергнут; попутно вскрыта настоящая находка. Ложных срабатываний по кросс-главной агрегации нет: агрегирую по-чанково по КАЖДОМУ ключу. ### 2.4. Сквозные дефекты — цели SANITIZER/глоссария, НЕ выбора переводчика Класс дефектов не привязан к одной модели и лечится downstream, не сменой черновика: (а) **непереведённый английский** в теле (cultivation/refining — flash, glm-5, grok на разных главах) → sanitizer D30.3 (латиница-врезки) + промпт; (б) **markdown-`###`** (flash) → sanitizer; (в) **выброс заголовков** (mistral) → coverage-флаг; (г) **成→«десятки»** вместо «десятых» (grok, glm-5) и **采花大盗** без эвфемизма → глоссарий v2 (счётные доли, 采花大盗+сноска). Подтверждает пакет D30.3 + сид v2. --- ## 3. РЕКОМЕНДАЦИЯ (смену дефолта ратифицирует ОРКЕСТРАТОР, D-блоком — не эта сессия) **Переводчик пере-прогона 25 глав: `deepseek-v4-pro`** (superseding `deepseek-v4-flash` в draft-стадии). - Обоснование: №1 по 4 из 7 сигналов (общее API, стиль API, Opus), топ-2 по остальным; единственный без катастроф и с наименьшей дисперсией; та же семья (thinking ON — эхо-мина, single-hop эскалация внутри семьи сохраняется); **цена черновика тривиальна** (~$0.23/25 глав, ~$2.7/300 глав). - Кандидат-конфиг пере-прогона (D30.1/30.9): draft **deepseek-v4-pro** → editor **glm-5 билингв** → reflow (D30.2, залендён) → сид v2 → sanitizer (D30.3) → re-gate верности. - **Гипотеза D30.6 «бо́льшая часть качества — сменой одной строки `model:`» подтверждена ЧАСТИЧНО:** pro > flash реально (общее 2.50 vs 3.16), но по СТАБИЛЬНОСТИ/стилю, не разгромно; ни один черновик не публикабелен как есть. Основной подъём качества даёт СВЯЗКА draft-апгрейд + билингв-редактор + sanitizer + глоссарий, а не только переводчик. - **Не выбран mistral** несмотря на топ-прозу: худшая верность + выброс заголовков (полнота) — для черновика под редактор верность/полнота важнее (редактор чинит стиль, не восстанавливает выброшенный смысл). Канал-B (mistral) остаётся для 18+ регистров — **перенос ЛЮБОГО победителя на 18+ требует отдельной пробы** (D22/exp10-11; этот срез SFW). **Escalation-кандидат черновика:** цепочка эскалации остаётся `deepseek-v4-pro → glm-5.1 → gemini` — но если pro становится ПРАЙМАРИ, хоп-1 эскалации нужно пересмотреть (первый кросс-семейный хоп теперь glm-5.1). Флаг оркестратору/бэкенду. --- ## 4. Финализация сида v2 (D30.5) — ВЫПОЛНЕНО Единый воспроизводимый трансформ `eval/exp13_seed_v2.py` (супрсидит exp12_glossary_v2.py — дефект провенанса/статусов). Итог: **`guzhenren-seed-v2.yaml` (57 терминов)** + **таблица на подпись `diag/glossary_v2_signoff.md`**. - **Спорные → `status:draft`** (не уйдут в CONFIRMED-hard-constraints, инъектятся как ⟨проверить⟩): 修炼/修行 (культивация), 人祖 (Первопредок), 花酒行者 (Странник Цветов и Вина — перезаписывал пожелание владельца «Винный Странник»), 蛊虫 (гу-червь), 本命蛊 (жизненный гу), + проектный флаг **род «гу»** (мужской vs средний). - **Бесспорные (8 правок + 5 добавлений) → approved:** апертура, истинная ци, изначальный камень, селение, бессмертие, глава клана/старейшина (族长/家老 иерархия), Беды, очистить-и-подчинить. - **Мн.ч. (D24.4):** плюрал-формы в 元石/凡人/蛊师 (закрывает inflection_gap post-check). - **Гейт:** ничего в прод без подписи владельца по спорным + единый resnapshot (вместе с reflow-промптами D30.2 и sanitizer D30.3). - Провенанс раскрыт: аддендум exp12 §4-addendum. --- ## 5. Лимитации и дисциплина (честно) 1. **⚠ Перерасход бюджета:** армы $0.109 + судьи $5.387 = **$5.50 против капа $5** (~+10%). Причина: хард-стоп проверялся МЕЖДУ судьями (перед kimi спенд $3.39 < $4 → запустился), а kimi добавил $2.0; gemini думал дороже оценки ($3.14). **Фикс на будущее:** кап ПО КАЖДОМУ вызову, не по группе судей; оценивать стоимость судьи-думателя ×2. Данные собраны, дальше не трачу. 2. **Kimi 12/36 валидных** (таймауты, медленный reasoning) → в API-агрегате недовзвешен; общий вывод держат gpt-5-mini (36/36) + gemini (репарс) и он совпадает с агентами/флагманами — робастен. 3. **Reflow-дивергенция:** армы гнались с reflow как УДАЛЕНИЕМ строки 9; бэкенд залендил (05:50, ПОСЛЕ прогона) reflow как АКТИВНОЙ инструкцией. Ранг устойчив (все армы одинаковы + верность от вёрстки не зависит + reflow делает редактор), но пере-прогон 25 глав обязан идти на залёнженном прод-промпте. Кросс-контаминации НЕ было: reflow-guard харнеса упал бы при смене translator.md в ходе прогона — все 24 вызова прошли. 4. **N=1 срез, LLM+агент-судьи** — предварительно до вебновелл-пилота (D25.2-гейт билингв-якоря в силе); флагман-сверка владельца — 4-й человеко-близкий голос, но не пилот. 5. Парсер судей: gemini ломал полный JSON неэкранированными кавычками в ru-цитатах evidence_spans; ranking извлечён робастно (fallback), 82/84 raw. Span-цитаты у судей ЕСТЬ (в raw), в агрегат идёт ранжирование. --- ## 6. Deliverable — итог - **Рекомендация переводчика:** `deepseek-v4-pro` (цена ~$0.23/25 глав) — на ратификацию оркестратора. - **Сид v2:** финализирован, таблица владельцу на подпись (`diag/glossary_v2_signoff.md`). - **Артефакты:** `diag/arms13/` (выходы, гейты, судьи, summary.json, costs); `diag/reading/monitor13.{html,md}` + ключ (слепая флагман-сверка владельца); `eval/exp13/` (воспроизводимо; сгруппированы D38.2). - **Следующий шаг:** оркестратор ратифицирует draft-модель + подпись владельца по сиду → единый resnapshot (draft=pro, editor=glm-5-билингв, reflow, сид v2, sanitizer) → пере-прогон 25 глав с re-gate верности → чтение владельца → этап B.