From 2d9f70bb841b41b0dd8d4959e5391103ec03a1ef Mon Sep 17 00:00:00 2001 From: "Claude (backend session)" Date: Mon, 13 Jul 2026 01:53:07 +0300 Subject: [PATCH] Correct a narrowing in the target-architecture and track-B prompt: add the generality invariant so the chunker stays general across any book, language, and structure --- ...ARCHER_CHUNKING_COHESION_SESSION_PROMPT.md | 9 +++--- docs/architecture/09-target-architecture.md | 29 +++++++++++++++---- 2 files changed, 28 insertions(+), 10 deletions(-) diff --git a/docs/RESEARCHER_CHUNKING_COHESION_SESSION_PROMPT.md b/docs/RESEARCHER_CHUNKING_COHESION_SESSION_PROMPT.md index 5cd2b29..3063a64 100644 --- a/docs/RESEARCHER_CHUNKING_COHESION_SESSION_PROMPT.md +++ b/docs/RESEARCHER_CHUNKING_COHESION_SESSION_PROMPT.md @@ -56,10 +56,11 @@ research/07 предписывает узкие мандаты + диффы, н 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 разом. +**СКВОЗНОЙ ВЫВОД (несущий для дизайна) — ИНВАРИАНТ ОБЩНОСТИ (`09` §0.1):** три из четырёх пробелов (Q1/Q3/Q4) — непротестированные допущения, потому что **тест-срез плоский** (ранняя арка 蛊真人: 1 предл./строка, мало сцен-маркеров) и физически не задействует рычаги. Это ограничение ДИЗАЙНА ЭКСПЕРИМЕНТА, НЕ вывод о продукте. Цель проекта — перевод **ЛЮБОЙ** книги/пары/структуры; чанкер обязан быть ОБЩИМ (адаптируется к структуре каждого входа в рантайме), а не тюнингом под одну книгу. Следствия для §D: +- **Валидируй чанкер на РАЗНООБРАЗНОМ корпусе структур+языков** (плоский CJK line-per-sentence · сцен-маркированный вебновелл · длинно-абзацный европейский роман · ja-ранобэ · …) — так, чтобы дизайн доказывал КОРРЕКТНОСТЬ+near-оптимум на всём спектре. Плоская книга — ОДНА точка спектра, который алгоритм обязан обрабатывать; **НИКОГДА не повод сузить продукт** («книга плоская → урезать нарезку» — ЗАПРЕЩЕНО). +- **Трапы Q1/Q3/Q4** — на срезах, которые РЕАЛЬНО задействуют рычаг (сцен-структура для Q1-границы; кросс-главные зависимости для Q3-когезии), маркированные, вне претрейна — иначе снова неинформативный null. В проекте есть корпус-билдеры (`gu/ja/en/jpm_corpus_build`, `webnovel_slice`) — используй для разнообразия. +- **Структурная характеризация — вход алгоритма, не приговор книге:** опиши спектр структур (в т.ч. насколько плоская 蛊真人 дальше) как **вход** для рантайм-детектора границ + для выбора репрезентативного тест-корпуса. Не «эта книга плоская → отключим логическую нарезку». +- **Дешёвый реюз (от полигона):** кривая (Q2) + A-ref-prev/both как есть; дозаказать `A-ref-next` + translate-плечо (Q1 реюзит те же 2 T-трапа почти бесплатно) + добрать структурно-разные срезы. ## 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). **Ничего не коммить.** diff --git a/docs/architecture/09-target-architecture.md b/docs/architecture/09-target-architecture.md index f9a6d68..42a544e 100644 --- a/docs/architecture/09-target-architecture.md +++ b/docs/architecture/09-target-architecture.md @@ -23,6 +23,21 @@ локальный оптимум на неверно нарезанном тексте (ровно «слабый тест» exp14). **Концерны 1, 2, 4 проектируются вместе.** +## 0.1 Инвариант общности (поправка владельца, 2026-07-13) — НЕСУЩИЙ + +**Цель — перевод ЛЮБОЙ книги, ЛЮБОЙ пары языков, написанной ПО-РАЗНОМУ.** Ни один компонент не смеет предполагать +структуру конкретной книги (蛊真人) или конкретную пару (zh→ru). Из этого: +- **Чанкер = ОБЩИЙ адаптивный модуль:** характеризует структуру КАЖДОГО входа в рантайме (плоский CJK line-per- + sentence · сцен-маркированный · длинно-абзацный европейский роман · ja-ранобэ · смешанный) → выбирает стратегию + границы → фоллбек-лестница. Он обязан работать корректно на всём спектре, а не на одной форме. +- **Разница «продукт» vs «эксперимент»** (моя ошибка, которую поправил владелец): чтобы ИЗМЕРИТЬ рычаг эмпирикой, + нужен тест-текст, который его задействует — это ограничение ДИЗАЙНА ЭКСПЕРИМЕНТА (валидируй на разнообразном + корпусе), и оно **никогда** не переносится в scope продукта («книга плоская → урежем нарезку» — ЗАПРЕЩЕНО). +- **Пер-язык (слой 2)** — та же логика: строим ОБЩИЙ сеам, контент наполняем инкрементально (zh→ru сейчас); новая + книга/пара = данные (пакет конвенций), не переделка кода. «Бэкенд только под русский/под одну книгу» = антицель. +- **Эмпирика валидирует ОБЩНОСТЬ** (корректность+near-оптимум на структуро- и языко-разнообразном корпусе), не + оптимизирует под книгу на стенде. + --- ## 1. Текущая архитектура (как есть, grounded) @@ -151,12 +166,14 @@ snapshot-дисциплина, эталонные сеамы `config→stage-lis - **Единая полигон-матрица:** `{граница: greedy|logical} × {edit-единица: чанк|глава} × {когезия: нет|summary/carryover} × {где reflow: переводчик|редактор|отдельный-пасс}` на реальном вебновелл-срезе. ⚠ **exp14 vs research/18 §A прямо конфликтуют** по размеру чанка — это ключевой вопрос, который матрица решает эмпирически, не догадкой. -- **Полигон-синк (13.07):** exp14 «пробелы» по сцен-границе/кросс-границе/translate-стадии — не отрицательные - результаты, а **непротестированные допущения на неподходящем домене** (ранняя арка 蛊真人 плоская: 1 предл./строка, - мало сцен-маркеров). → **Домен-пригодность = первый шаг эмпирики:** характеризовать структуру целевой книги; если - плоская — логическая/сцен-граница малополезна ДЛЯ НЕЁ (доминанта = внутри-чанк верность + размер edit-единицы), - и это сама по себе находка. Трапы Q1/Q3/Q4 — на срезе С сцен-структурой + кросс-граничными зависимостями. Реюз: - кривая + A-ref-prev/both как есть; дозаказать `A-ref-next` + translate-плечо. +- **Полигон-синк (13.07) — ТОЛЬКО про дизайн эксперимента, НЕ про продукт (инвариант общности §0.1):** exp14 + «пробелы» по сцен-границе/кросс-границе/translate-стадии — не отрицательные результаты, а непротестированные + допущения, потому что **тест-срез (ранняя арка 蛊真人) плоский** (1 предл./строка, мало сцен-маркеров) и физически + не задействует эти рычаги. Это чисто **экспериментальное** ограничение: чтобы ИЗМЕРИТЬ рычаг границы/когезии, нужен + текст, который его задействует. → **эмпирика валидирует чанкер на РАЗНООБРАЗНОМ корпусе** (плоский CJK line-per- + sentence · сцен-маркированный · длинно-абзацный европейский · ja-ранобэ · …), а не на одной книге. Плоская книга — + ОДНА точка спектра, который общий чанкер обязан обрабатывать, **никогда не повод сузить продукт**. Реюз: кривая + + A-ref-prev/both как есть; дозаказать `A-ref-next` + translate-плечо + добрать структурно-разные срезы. - **Интернет-best-practices** по логической/семантической нарезке крупных текстов (владелец просил явно) + фоллбеки. - **Дизайн слоя 2** (форма pair-pack, язык промпта) — под данные матрицы (§D-3 research/18: форма не разрешена). - Методика-guard D32.4 (fidelity-first, leave-one-out, катастроф-скрин — полигон трижды собирал ложную сходимость).