# Промт: сессия-РЕСЁРЧЕР — логическая нарезка + меж-чанковая когезия + дизайн эмпирики (трек B), 2026-07-13 > Рождён из арх-ресета **D39** (`docs/architecture/05-decisions-log.md`, `09-target-architecture.md` §2 слой 1, §4 трек B). Это **ресёрч ПЕРЕД постройкой** для сцепленных концернов **1 (разделение переводчик/редактор), 2 (нарезка), 4 (частично)**. Ты НЕ пишешь прод-код и НЕ гоняешь платную эмпирику — ты (1) добываешь best-practices, (2) проектируешь реализуемый чанкер+когезию, (3) выдаёшь ПРЕ-РЕГИСТРИРОВАННЫЙ дизайн полигон-эмпирики, которую потом исполнит полигон-сессия. ## Зачем эта сессия (мета) Потолок художественности — в НАШЕЙ нарезке/проходах, не в моделях (D39). Три сцеплены: редактор репараграфизует ВНУТРИ ~1500-токенного чанка → нарезка ограничивает потолок дискурс-переверстки и «понимания связей». Владелец: **нарезка нетривиальна** — глава может быть >> загружаемого чанка, резать надо по **логическим** единицам (статический код, фоллбеки, интернет-best-practices), а не «все китайские книги такие, грузим главы». Нужно спроектировать это правильно И спроектировать эксперимент, который разрешит открытые вопросы, а не соберёт ложную сходимость (полигон делал это трижды — D32.4). ## Зона и дисциплина - **Зона записи — `docs/research/` только** (новый отчёт, напр. `docs/research/19-chunking-cohesion.md`). Ничего не коммитишь — лендит оркестратор после верификации первоисточников (как research/15–18). - **Гардрейлы (CLAUDE.md):** НЕ читать `.env`; 18+ уровень 3 — не открывать `eval/data/*corpus*`, `/home/ubuntu/books/` (кроме метаданных/структуры, если понадобится оценить размеры глав — тогда ТОЛЬКО счётчики, не содержимое explicit). - **Правило двух направлений:** несущий клейм → первоисточник; аномалия/best-practice тула → офиц. дока. Не абсорбируй фреймворк-маркетинг как факт. - **Анти-анкоринг (как research/18):** §A своего вывода замораживай (sha256) ДО чтения нашего стека/предыдущих отчётов, чтобы независимость была реальной. - **Мандат самопроверки (CLAUDE.md):** несущие клеймы верифицируй адверсариально своим воркфлоу (author≠reviewer внутри сессии: твой «CONFIRMED» — по первоисточнику, не по вторичке); отметь, где сходимость общая-ногой-литературы, а не 3 независимых голоса. ## Онбординг 1. `CLAUDE.md` → `docs/architecture/09-target-architecture.md` (§2 слой 1 — целевой чанкер; §4 трек B — вопросы) → `08-sync-audit-ledger.md` дорожка **L2** (все находки нарезки) + `L1` (контракт переводчик/редактор). 2. `docs/architecture/05-decisions-log.md` **D39** + D30.2 (`:366` — reflow-механизм открытый вопрос) + D35 (`:471` — декаплинг = un-ratified кандидат). 3. **Код нарезки** (грунтовка, не по заголовкам): `backend/internal/pipeline/chunker.go` (жадная упаковка абзацев в `targetChunkTokens=1500` const, спуск до предложений; границы бюджетные), `ingest.go` (как формируются главы), `chunkrun.go` (чанк = единица И черновика И редактуры; инъекция только глоссарий — меж-чанковой когезии нет), `render.go`/`config/pipeline.go` (`STMDepth`/`OverlapTokens` — мёртвые заглушки). 4. **Предыдущая эмпирика:** `docs/experiments/14-quality-empirics.md` (кривая размера чанка §2Б.4; A-ref ±1 §2.4; P1c глава-целиком §2.3) + `docs/research/18-quality-levers.md` §A (Ось-4: держать чанк МЕЛКИМ + carryover; глоссарий ≈14% дискурс-ошибок, дейксис ~37%, эллипсис ~29%) + `16-reader-ide-alignment.md`, `12-*` (дискурс-нормы, кросс-предложенческая когезия). ## ⚠ ЦЕНТРАЛЬНЫЙ КОНФЛИКТ, который сессия ОБЯЗАНА адресовать **exp14 §2Б.4** намерял: крупнее чанк = дешевле выходных токенов И лучше абзацы (оптимум ~3200c/глава, 0 ретраев) → «edit=крупная единица». **research/18 §A Ось-4** заключает ОБРАТНОЕ для прода: держать чанк МЕЛКИМ (малый retry-blast-radius, Lost-in-Middle), а когезию давать кэшированным running-summary/carryover — «а НЕ размером единицы». Оба клейма grounded, но **противоречат по размеру edit-единицы**. Твой дизайн эмпирики должен этот конфликт РАЗРЕШИТЬ (на retry-adjusted-cost + на реальном вебновелл-срезе, не PD-классике), а не выбрать сторону догадкой. ## ЗАДАЧИ ### Задача 1 — Best-practices логической/семантической нарезки (интернет + академия) Добудь и адверсариально верифицируй, КАК правильно нарезать крупный НАРРАТИВНЫЙ текст на логические единицы, когда глава >> окна модели: - Инженерные best-practices: recursive/semantic splitting, sentence-window / parent-document, discourse/scene-boundary detection, topic segmentation (TextTiling и потомки), overlap-стратегии — с их РЕАЛЬНЫМИ ограничениями (не маркетинг фреймворков). - Как это делают CAT/пром-MT тулы и переводчики-практики (сегментация по смысловым блокам, не по строкам). - Академия по кросс-предложенческой когезии, релевантная нарезке: Voita (дейксис/эллипсис/когезия), DelTA / running-summary, document-level MT context windows. **Выход:** реализуемый в СТАТИЧЕСКОМ Go-коде дизайн: (а) стратегия `logical` (сцена/диалог/тема-граница) с **фоллбек-лестницей** и инвариантом «никогда не резать предложение»; (б) какие сигналы границы детектируемы БЕЗ модель-вызовов (дёшево — владелец: «не модель-вызовами размечать чанк»); (в) конкретные фоллбеки при провале детекции. Рассмотри ВСЕ кейсы, не только «1-2-3-4 мелкие главы влезли в чанк» (это простейший). ### Задача 2 — Дизайн меж-чанковой когезии Спроектируй механизм, закрывающий претензию-2 «понимание связей» при чанк-изоляции + zh zero-anaphora: - running bilingual summary + carryover соседних единиц (оживить `STMDepth`/`OverlapTokens`), cache-friendly (порядок кэша важен — research/18); - ±1 reference-контекст (exp14 дал null на PD-срезе — но домен-mismatch: нужны РЕАЛЬНЫЕ кросс-граничные трапы вебновеллы); - как это НЕ ломает деньги/снапшот/детерминизм (read-only контекст, fold в снапшот). ### Задача 3 — Дизайн контракта переводчик/редактор (концерн 1) research/07 предписывает узкие мандаты + диффы, не полную перегенерацию; прод-редактор = ОДНА full-regen с 4 мандатами (причина инверсий D34.3). Спроектируй (для эмпирики, не для прода): - арм **«переводчик отдаёт структурный ~верный черновик»** vs «редактор-переписыватель» — **НИКОГДА не тестировался** (exp14 держал модель черновика константой); - diff-based редактор (search/replace + детерм. apply) как узкий проход — оценка ROI (blast-radius, COGS, omission-safety). ### Задача 4 — ПРЕ-РЕГИСТРИРОВАННЫЙ дизайн полигон-эмпирики (для исполнения полигоном) Спроектируй эксперимент, разрешающий концерны 1/2/4 БЕЗ ложной сходимости. Не полный факториал (24 ячейки — неподъёмно) — **набор целевых 2-арм контрастов к общему якорю** на едином **МАРКИРОВАННОМ вебновелл-срезе** (не PD-классика — гейт «вне претрейна»): - **Q1 (нарезка):** `граница greedy vs logical` при фикс. edit-единице → чинит ли логическая граница когезию (претензия-2). - **Q2 (edit-единица, РАЗРЕШАЕТ КОНФЛИКТ):** `edit=чанк vs edit=глава/крупная` на **retry-adjusted** COGS + когезия. - **Q3 (когезия):** `нет vs running-summary/carryover` при МЕЛКОМ чанке → закрывает ли carryover кросс-границу (клейм research/18). - **Q4 (контракт):** `где reflow: переводчик vs редактор vs отдельный-пасс` + арм сильного переводчика. - **Обязательно:** маркированный набор КРОСС-ГРАНИЧНЫХ трапов на вебновелл-срезе (аудит: §D-1 «locus когезии не размечен»); methodology-guard D32.4 (fidelity-first агрегация, leave-one-out судей, катастроф-скрин к победителю тоже, per-call кап, пре-регистрация ЗАМОРОЖЕНА коммитом ДО первого платного вызова, каждый скрипт персистит usage/cost). ## Полигон-синк — ОТВЕТЫ получены (2026-07-13), ВПЛЕТИ в дизайн Оркестратор синканулся с полигон-сессией 14/14б. Факты (grounded по артефактам, всё ВНЕ git в `exp14/`): 1. **Translate-арм НЕ гонялся:** frontier-as-ПЕРЕВОДЧИК спот-чек (14:148) планировался, но `exp14/costs.jsonl` — только РЕДАКТОРСКИЕ армы (ре-редактуры фикс. flash-черновика). Draft-swap/translate-плеча НЕТ. → **«переводчик отдаёт структуру» (Q4) — чистое поле, ни одного датапоинта.** 2. **Реюз (дёшево):** кривая размера — выходы `exp14/sizecurve/{17,13}-{800c,1600c,3200c,whole}.txt` + `sizecurve.json`; исходник = детерм. `chapter_source()` из `material.json`; границы байт-воспроизводимы (жадный `rechunk(budget)` детерминирован). A-ref — `exp14/arms/A-ref-{prev,both}/{11.1,24.1}.txt` + `material.json→trap_chunks`. **⚠ `A-ref-next` НЕ гонялся** (только prev/both) — next-supported/катафора-плечо ОТСУТСТВУЕТ. 3. **Кросс-граничный null = ДОМЕН-АРТЕФАКТ, не бесполезность рычага:** чистого next-supported/катафора-трапа в раннем срезе не нашлось; T5/T6 локально самодостаточны → A-ref-prev байт-идентичен «чинить нечего» (14:93/257/290). Маркированного кросс-граничного набора НЕТ. §D-1 (locus когезии не размечен) в силе. 4. **Сцен-граница — СОЗНАТЕЛЬНО не гонялась:** докстринг `exp14_sizecurve.py:10-11` — ранняя арка 蛊真人 **структурно плоская** (1 предл./строка, мало сцен-маркеров) → «сцена vs жадная» слабо различима на ЭТОМ тексте. Не тулинг/время — домен. **СКВОЗНОЙ ВЫВОД (несущий для дизайна):** три из четырёх пробелов (Q1/Q3/Q4) — непротестированные допущения на НЕПОДХОДЯЩЕМ домене (плоская ранняя арка 蛊真人), а НЕ отрицательные результаты. Прямые следствия для §D: - **Домен-пригодность — ПЕРВЫЙ шаг эмпирики.** Сначала **характеризовать структуру целевой книги** (蛊真人 целиком, не только ранняя арка: есть ли сцен-маркеры, кросс-главные зависимости, разброс длины глав) — ТОЛЬКО метаданные/структура, не explicit-содержимое. Если книга плоская и дальше → это САМО ПО СЕБЕ находка: логическая/сцен-граница для НЕЁ малополезна, доминирующий рычаг = внутри-чанк верность (T1-floor) + размер edit-единицы, а не граница. Не строить сцен-чанкер под домен, который его не задействует. - **Трап-набор Q1/Q3/Q4 должен быть на срезе С выраженной сцен-структурой + реальными кросс-граничными зависимостями** (маркированный, вебновелл, вне претрейна) — иначе снова неинформативный null. Выбор среза обоснуй характеризацией (шаг выше). - **Дешёвый путь (от полигона):** реюзать кривую (Q2) + A-ref-prev/both как есть; дозаказать только `A-ref-next` + translate-плечо (Q1 реюзит те же 2 T-трапа почти бесплатно); маркированный кросс-граничный + сцен-структурированный набор разблокирует Q3+Q4 разом. ## Deliverable `docs/research/19-chunking-cohesion.md`: §A (заморожена sha256, ДО чтения стека) · §B (best-practices нарезки+когезии, реализуемый Go-дизайн + фоллбеки) · §C (дизайн контракта t/e) · §D (пре-регистрированный арм-дизайн Q1–Q4 + маркированный трап-набор + methodology-guard) · §E (открытые вопросы владельцу/бэкенду). Несущие клеймы — с первоисточником; отметь общую-ногу-литературы vs независимые голоса. Оркестратор верифицирует по первоисточникам и лендит; полигон-эмпирику по §D запускаю отдельным промтом ПОСЛЕ (author≠reviewer). **Ничего не коммить.**